[WIP] - Arduwars


(Boti Kis) #1

Dear community,

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.

arduwars-logo

Game Features

  • 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:

:white_check_mark: 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 :slight_smile:

:black_square_button: Implement Damage logic for Units + UI
:black_square_button: Implement Damage logic for Buildings + UI
:black_square_button: Implement win condition + UI
:black_square_button: Implement Singleplayer AI (Finite state machine)
:black_square_button: Nice to have: Music & Sound - probably won’t fit. :frowning:

I really hope that I can find some volunteers because alone this will take me too much time. :frowning:

Alpha Demo


(Pharap) #2

I’ll help as much as I can, but first I’ve got to figure out how to make it compile using the Arduino IDE.

I think I’ll have to dump the Arduino utilities and MemoryFree in my libraries directory and rename src to Arduwars.


Minesweeper v2.0.0 (multiple languages available)
(Holmes) #3

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. :stuck_out_tongue:


(Scott R) #4

I’ve been waiting for this day, Advanced Wars series is one of my all time favourites. I only bought a switch for WarGroove :wink:.


(Boti Kis) #5

You definetly have to checkout TinyMetal then!


(Boti Kis) #6

Wow that is so cool! greetings from me :smiley:

Haha that would be a great idea :wink:


(Boti Kis) #8

I’m not usual people.

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


#9

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?


#10

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.


(Boti Kis) #11

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. :slight_smile:

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. :slight_smile:

There is no campaign planned. :see_no_evil:


(Boti Kis) #12

Short general update:

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. :slight_smile:


(Pharap) #13

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.


#14

Yeah, you “Is Awesome”.


(Miloslav Číž) #15

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.


(Pedro) #16

Any news about this game?


(Boti Kis) #17

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. :slight_smile: 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. :wink:

If you wanna test it, here’s a link to the working alpha without any combat and multiplay only:
https://www.dropbox.com/s/2693ingza5ztmoj/Arduwars-alpha.hex?dl=1

Or a video:


(Holmes) #18

Wow! Looking even better than I imagined it would!!!

A suggestion… For multiplayer, maybe you should have a confirmation button for when a player needs to pass the Arduboy. :heart_eyes_cat:


(Boti Kis) #19

Thaaaank you :smiley:
The source is out there on github, you could have checked it out all the time xD

That’s the purpose of the player 1/2 screens. Maybe i’ll just add the additional text. :wink: Polishing stuff for the end.


(Holmes) #20

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.


(Boti Kis) #21

Exactly! Even custom made maps with an editor are easily possible :slight_smile:

Awww now i’m hyped to finish this asap :star_struck: