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.
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:
Shrink 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.
Oh, wow!! I can’t wait to try it when it’s closer to completion! I have never tried a Advanced Wars game, but I have a co-workers who worked on one of them and told me it’s a fun series. I think this would be a good fit for the Arduboy. Would be cool to load levels based off the savedata from Micro City.
Shrink map by the means of compression: yes, desired.
Shrink map by the means of size: Yes that a possible solution but not desired.
Shrink map by make fewer mountains: doesn’t work that way.
Based on your input I think you haven’t read the games description since all is desired by the games design. I gladly invite you to look at It and at the games code on github under: github.com/yinkou/Arduwars
This seems like a good candidate to be broken up into multiple files like lode runner. Is the goal just challenge maps like the war room mode or do you plan to have a story campaign?
I think the current one involves a two player, which is a single map mode.
I don’t think he was thinking of a story campaign yet.
It IS a good idea, though.
Currently I am planning to ship it with 3 maps. It is possible to omit them, but they don’t take up a huge space (approx. 624b) with proper compression it is easily possible to shrink it down to 500. So it’s not really a bottleneck here.
It’s also the idea that the maps are replaceable with custom maps made and shared with a mapeditor so no need to break it up.
With @Pharap’s help (big thanks to him) we were able to already save around 2k and there is still things we can do. It might be already possible to finish the multiplayer with that.
It might be possible to make a converter to convert microcity levels to maps, but the sprites would be different so I’m not sure how well it would work.
That might have to be a separate version/branch/fork or something.
I’m loving this, but one problem I see is that it’s an exact copy of AdvanceWars – it would probably be found to be infringing copyright. Are the sprites final? They could be modified a bit to still look similar but be different.
I haven’t continued working on this for about a month. @Pharap and I Managed to squeeze out a couple of kb for more space which will be sufficient to finish the multiplayer. And we had a good idea which means a bigger rework of some code.
My job is taking a lot of time right now but i’m planning to change that before the holidays.
Ooh, after you finish the game, reskinning it for different time zones or themes would be easy as heck. You could even tweak the units so each version of the game is unique. This is so exciting to think about. Surely one of the most anticipated games.