A couple of months ago I’ve started porting Advance Wars to the Arduboy.
About 200 commits later I’m nearly done and I have reached the famous last 20%.
Hereby I officially announce Arduwars officially for the Arduboy.
- Turn Based Strategy Game for the Arduboy
- Single player against AI
- Multiplayer with passing the device
- 3 Maps with land, air and sea battles
- Custom maps with a map editor
You can take a look at the current state in the repo on github.
The Game does not work yet, but you can pull the project, build it for the Arduboy and test around. Currently only the multiplayer part is showing something. You can take turns and build and move units. There is no attacking or occupying yet.
It is made with platformio and you have to reorganize some directories to build it with Arduino IDE.
When it’s done there will be a .hex file and a cleaned up sourcecode buildable with Arduino IDE.
Why am I posting this?
This game took me a lot of my free time, i’ve put in a lot of energy and I’m not yet done. I had a week off and worked a couple of days straight on this and I am exhausted. This game is far more complex than I expected. There are several open tasks on the todo list and I am starting to hit the
progmem limit (currently 94%).
I know, that there are several ways to minimize size like some redundant code, mapdata compression, optimize sprites, etc.
And because it is still a longer road I ask you for help so I can focus on the game features.
What has to be done:
progmem usage by:
- unite reduntand code
- compress mapdata (only 5 bits of a Byte is actually used so it can be compressed at least by 40%). That also means we need a compression tool.
- find other ways to optimize
- Possible but I wish won’t happen: reduce Sprites/animations - didn’t happen
Implement Damage logic for Units + UI
Implement Damage logic for Buildings + UI
Implement win condition + UI
Implement Singleplayer AI (Finite state machine)
Nice to have: Music & Sound - probably won’t fit.
I really hope that I can find some volunteers because alone this will take me too much time.