Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

MiniNations (plus Catena) Dev Journal

A topic by fmixolydian created Aug 25, 2025 Views: 79
Viewing posts 1 to 1
(+1)

Since in basically 90% of jams i’ve joined in the past i haven’t submitted a thing, i thought to make a journal to give me a little more motivation.

MiniNations is a game about expanding your nation and conquering territory, using armies to attack neighboring provinces.

When the game begins, you start with a 24x16 map of Europe - 8 tiles are chosen at random to be the captials of 8 randomly chosen nations - kinda like Sid Meier’s Civ V.

The goal of the game is conquering the capitals of every nation, thus achieving a war victory.

Terrain

Currently, the only terrain types are Plains. More terrains may be added in the future (mountains, hills, desert, etc, coast, etc) with different defensive/offensive/economic pros and cons.

Units

Each tile may hold up to 9 soldiers at a time - the group of soldiers on a given tile is called a unit.

Actions

You may consume up to 5 action points per turn - every action consumes a select amount of points:

  • Moving a unit: Consumes 1 action point per tiles moved if over land, 2 if over sea;
  • Splitting a unit: Consumes 1 action point;
  • Adding two units: Consumes 1 action point;
  • Recruiting soldiers: Consumes as many action points as soldiers recruited.

Catena

An additional design goal of the game is to be written in a new catlang, created specificately for this jam: Catena (the name comes from the italian word for chain).

Catena is an object-oriented catlang designed around mutation: you run commands along with arguments separated by spaces or commas to mutate the state of the stack.

0 | set x
1 | set y
1 | set z

while [z | lt 100] do
	y       | set x
	z       | set y
	x | + y | set z

	z | puts
end

I’ll eventually publish a full description of the language in the catlang discord, as well as on my website (not yet finished).