Skip to content

A replay analysis, note-taker, and studying tool for block stacker games.

License

Notifications You must be signed in to change notification settings

PrecisionRender/Blockaid

Repository files navigation

Blockaid

A replay analysis, note-taker, and studying tool for block stacker games.

About

Blockaid is a tool that allows you to extract, store, and analyze board states and player actions from block stacker replays. Blockaid can help you improve your block stacker skills by helping you study how the best players stack and by helping you learn from your own mistakes and see how you can improve your strategy and technique.

Blockaid is not meant as a replacement to four-tris, but rather as a complimentary tool designed to be used with it.

Downloading

To download the latest version of Blockaid, check out the Releases page.

What platforms does Blockaid support?

Theoretically, it should support all 3 desktop platforms. However, as a Windows user, I am unable to build and test for the other platforms at the moment. If you want to use Blockaid on macOS or Linux, you'll have to build it yourself (see below). Please report any platform-specific issues you encounter!

Custom skins

Blockaid supports the use of custom skins. Skin images should:

  • Be 270 x 30 exactly
  • Be .png, .jpg, .jpeg, or .bmp files
  • Follow a Z-L-O-S-I-J-T-Garbage-Empty pattern

To use a custom skin, Go to Options > Custom skin > Choose skin and select a skin image.

When creating a custom skin, you can use this image as a reference:

skin

Building

Blockaid is developed using Godot Engine version 4.2.1 stable. You can download it here.

After you download Godot, clone this repository: git clone https://github.com/PrecisionRender/Blockaid.git

Once cloned, you should be able to open the project in Godot. To build Blockaid using Godot, see the offical documentation.

Contributing

First off, if you want to contribute to Blockaid, thanks!

Before opening a pull request, you should generally do the following:

  • Open an issue or feature suggestion regarding the functionality you want changed. That way, we can discuss if and how it should be implemented.
  • Make sure you have a basic understanding of the code you are changing
  • Follows the project's style guide and coding conventions (see below)

Even if your pull request meets all of these recommendations, there is no guarantee it'll get merged. If I feel like your PR doesn't add any significant value to the project, it may be dismissed or given new requirements before we take it further.

Coding conventions

In order to maintain clean, readable, and maintainable code, all pull requests should follow these conventions. Spending a little extra effort to keep code clean in the short term saves hours of work in the future.

  • The code should always follow the official GDScript Style Guide, with the only exception being line length (still try to follow it, though)
  • Always use static typing when possible
  • The code should follow the the recommended best practices set out by the Godot Engine team
  • The code should follow the the GDQuest guide on code cleanliness
  • Avoid creating unnecessary Autoloads. In Godot, they normally act as singletons, which are infamous for creating messy code.
  • Application code should only be written in GDScript. The use of GDExtension is allowed when using third-party libraries.
  • If you want to go the extra mile, document your code using #comments if necessary.

Pull requests that follow these guidelines are much more likely to be accepted.

License

Blockaid is available under the Apache 2.0 license. Copyright © 2023 PrecsionRender.