uStrat is a proof of concept strategy game developed primarily for mobile phones (a little diversion and strategy while you wait in line, for example). It is inspired by games like uCity, Fire Emblem, and Super Robot Wars. uStrat is written in Javascript using HTML5 Canvas and a whole lotta elbow grease.


The map is randomly generated at the beginning of the game. P1 and CPU headquarters are spawned in opposite quadrants of the map. The goal is to build your headquarters up with power generation, factories, and armories (Structures), and build an army of mecha soldiers (Units) equipped to defend the Cities and destroy the enemy’s HQ. The CPU team will be doing the same, but aiming to destroy the Cities.

Resource management is centered around Energy. Each power generation Structure adds a certain amount of Energy to your team’s pool, up to a maximum defined by the sum of the power generation Structures. Building Units, Structures, and Equipment costs energy.

Each Unit has its own strengths and weaknesses; Same goes for the equipment. You can mix and match units and equipment to come up with an arsenal that best matches your strategy.

The game ends when too many cities (or forests!) are destroyed or either HQ is destroyed.


  • Equipment can be stacked: re-equipping the same equipment on a Uit will increase its attack power until its maximum.
  • If your total attack power is less than a Unit’s defense plus the defense bonus of the map tile it’s on, your attack will have no effect.
  • Units can defend Structures by occupying the same map tile as them. The Unit will take all the damage dealt to that map tile.
  • Refresh the page until you get an interesting map! More mountains, cities, and water is more interesting tactically and gives you more options for your base’s power generation.


uStrat can be controlled by keyboard (desktop/laptop) or touch (mobile). The game will automatically detect a mobile platform and render the touch controls when necessary. The controls are as follows:


  • d-Pad (left cross): movement
  • pause (center button): show/hide mini-map
  • face buttons (right cross):
    • Y (right button): select tile/menu option
    • X (bottom button): cancel selection or operation
    • Z (top button): reset movement path; change cycle class; rotate attack pattern
    • W (left button): cycle through current cycle class; rotate attack pattern


  • arrow keys: movement
  • spacebar: show/hide mini-map
  • x: select tile/menu option
  • z: cancel selection or operation
  • s: reset movement path; change cycle class; rotate attack pattern
  • a: cycle through current cycle class; rotate attack pattern

Development and License

The AI sucks and some of the menu mechanics could be refined. Other than critical bugfixes, no further improvements will be made to uStrat in this incarnation, as I have other projects demanding my attention. The code/game itself is licensed under a 2-clause BSD license and the assets, excluding the fonts, are licensed under a creative-commons non-commercial-attributive license (v 4.0). See the LICENSE file for details.