Picowars is an 8bit homage to one of the greatest Nintendo games of all time. Advance Wars. That may just me by opinion but it's the right one.
Picowars is a turn-based strategy game where the objective is to build up an army out of your bases in order to capture more properties on the map and eventually capture the opposing player's headquarters.
New to the franchise?
Move your cursor with the arrow keys, select with Z and deselect with X
This is your target. You want to move your infantry and mechs onto this property and capture it. You do that, and you win.
And this is your HQ. Keep the opposing player away from it. If they capture it, it's game over.
This is one of your bases. This is where you build your army, and it's the first thing you want to select when the game begins. Move your cursor over it and click Z to open up the build menu. There you can build any unit that you can afford with your current gold.
This is a neutral city. Right now it's not doing anything for anyone, but if you move an infantry or mech onto this tile and capture it, it'll change to your team's colors and provide 1 gold for you per turn. Every property you own, including bases and your HQ generate 1 gold per turn, so the more you have the better.
A property has 20 capture points. Each turn you can capture once, and the amount of capture points that is deducted is equal to the amount of hp the capturing unit has. Each unit starts out with 10hp, so optimally it'll take 2 turns to capture a property. If a unit has 1hp, it'll take 20 turns. Yeesh.
Cities also heal any unit standing on them for 2hp per turn. In fact, all properties heal by 2hp, so keep that in mind when a unit is damaged and needs to retreat.
Infantry and Mechs
And these guys? These are the most basic units of your army. Infantry and Mechs. They don't always do as much damage as the bigger boys, but they have the special ability of being the only units that can capture properties.
The Info Bar
This is where you can see information about the selected tile. Each tile has a defense rating that you can see by the number of stars next to the tile. This base has 3 stars next to it so it's a pretty beefy defensive posture. If your unit is attacked from this tile, they'll take less damage.
Of note, only infantry and mechs can traverse rivers and mountains, and they're slowed quite a bit from it! All terrain types affect units differently. It's up to you to figure out which units are affected by terrain and by how much.
These units are special. Rockets and Artillery. They can't attack up close, as they're ranged units. They attack from multiple tiles away from their target. They also cannot move and attack in the same turn, so place them strategically where you expect the enemy to walk into their range.
You can check their range by holding down X while your cursor is over them.
Planned features to come
I've hit the token limit with this demo, however I have plans and code in place to expand this into a multicart game that won't be suitable for splore or the BBS, but will be hosted on itch.io and other places.
I plan to have
- Multiple nations
- More units (like the APC)
- Up to 12 unique unlockable commanders, each with different unit stats and specialties
- Dialogue based story
- And networked multiplayer via GPIO pins.
I never played the original games, and now I can see I missed out! This was a lot of fun!
It took me a while to understand how the capture rules worked. I kept moving my units away from the cities before they were properly captured. Maybe some kind of additional feedback would help there?
I'm impressed you managed to include a decent AI in the game!
I was looking at your memory management for unit data, but I don't really understand what the reload(loader.p8) part does?
Hey @jeb! thanks a lot!
About the memory management. This is actually a not-fully-baked concoction put together exclusively for Splore, so the full game isn't all here yet. The full version will have multiple carts talking to each other, which is not allowed in Splore/bbs as far as I know.
In the full yet-to-be-released version there's a second cart called "loader.p8". For the splore version I ripped out most references in the code to loader.p8 but lazily missed one. In the full non-splore version loader.p8 loads first and passes in all unit data, commander data, dialogue, and some map data to picowars.p8. However in this version the map, commander, and unit data is instead loaded from a section of the spritesheet's memory starting at 0x1000
The line of code you saw was a leftover where the loader will let picowars.p8 know if it should load map data from an external source(from the loader.p8 file).
I hope that makes sense!
[Please log in to post a comment]