This Month in Zone of Control


This Month in ZoC - 2016.08.22

Hi, comrades! Welcome to the first issue of ZoC’s monthly report!

ZoC is a turn-based hexagonal strategy game written in Rust.

Core game features are:

  • advanced fog of war
  • slot system (multiple units per tile)
  • reaction fire (xcom-like)
  • morale and suppression

Zgl/stb_truetype were finally replaced with GFX and rusttype, YAY :smiley: !!1 - #183

ZoC is now build with cargo-apk.

There are still some problems with android version though: :frowning:


Sectors, victory points and game results screen:

Basic smoke screens:

Water tiles:

GUI updates:

  • Replaced unit ids with unit type names
  • Added hit chances
  • Added basic unit info to the upper-left corner of the screen

Fixed switching between normal and wireframe mode for buildings:

Other notable changes:

Bonus 1: ZoC on android:

Bonus 2: memoir44-mockup of smoke demo map:

Weekly links: 1, 2, 3, 4., @ozkriff


This Month in ZoC - 2017.01.24

Hi, everyone :smiley:

It has been four months since the first post, sorry. I’m struggling to find enough time for the project plus I was busy with porting glutin to winit for about a month around October.


  • Helicopters can fly above any terrain or ground units, but can’t capture sectors

  • Most units can’t attack helicopters - WeaponType got max_air_distance: Option<i32> field

  • Helicopters can be seen by enemies even in non-visible tiles

  • Helicopters have a different field of view rules - their FoV have no ‘obstacle shadows’:

IDLE animation:

It’s not easy for ground units to catch up with a helicopter :slight_smile: :

Haven’t got around to implement AA-guns and Manpads yet so the main AA-defence for now is just jeep’s machinegun.


Players have no starting forces now - everything is bought in reinforcement sectors for reinforcement points.

The upper-left corner displays the amount of reinforcement points that current player has and their per-turn increment:

Reinforcement sectors are marked by two circles in player’s color:

There’s an additional “reinforcements” item in the context menu: when clicked it opens a list of available units:

This opens a list of available units:

There must be enough reinforcement points and enough room for the unit. Units have no move or attack points at their first turn.

And, by the way, AI has been taught to buy units too.

Map selection

After the implementation of reinforcements it became possible to add map selection.

You can change map by clicking on the current map’s name in the main menu screen:

It was mostly needed for testing/debugging purposes so most of the maps look like this for now:

Tests however are in early prototype phase and are not in the repo yet. Right now they use special maps but I intend to implement some ASCII-DSL like the following:

let map = "
	... ... ... ...
	  ... ... ... ...
	... ... t.. r..
	  t.. t.. r.. ..B
	r.A r.. r.. ..C
	  ... t.. ... ...

where ‘t’ is a ‘trees’, ‘r’ is a road and ‘ABC’ are positions.

Tests work by sending hardcoded commands and waiting for specified events in response.
I can’t test anything that depends on RNG (attacks mostly) but the movements, FoW, etc are more or less testable. It can’t help with errors in visualizer but it makes it easier for me to refactor the Core.

Auto-deploy to github releases

@Gordon-F has implemented auto-deploy of releases for travis and appveyor.

Now you can download windows, linux and osx builds for tagged releases here from the github releases page.

Android is totally different story with all its SDKs/NDKs and is still built and uploaded manually.


Now destroyed vehicles leave wreckages.

They only obstruct movement for now. Later they’ll be used by infantry as protective covering.

When particle system will be implemented wreckages will emit smoke and fire.


There’re two new items in context menu: “attach” and “detach”.

You can’t chain attachments or attach WholeTile-sized units.

Towing system is mostly important for quick reposition of field guns but it can also help with clearing roads from wrecked vehicles. The latter reason will become more important w hen partial damage for vehicles gets implemented.

Smoothly fading to alpha Fog of War

Opening FoW is a very common action so it deserves to be a little more pretty :slight_smile:

It was easy though I had to rework the FoW rendering code to make it use a lot of independently colored scene nodes instead of a single big mesh.

Fixed an old error with units moving into invisible enemies

This change caused some refactorings in the codebase:

Other changes

Gameplay screenshots

I’ll try to release next issue of TMIZ by the end of February.



Great update. Thank you for taking the time to make the screenshots.


Looks really amazing! Congratulations!


Keep up the great work!


Sorry, friends. ZoC is discontinued :frowning: