Main game area


Civitas is an empire-building game written in Javascript with the help of the jQuery library.


  • Over 35 types of buildings, each intertwined in the chain of production.
  • Custom climate zone, each with specific buildings.
  • Global market, player can trade goods with other settlements.
  • Army! Navy! Soldiers! Ships!
  • Fame system that allows your city to level up via trades, conquers and special buildings.
  • Prestige system that affects diplomacy.
  • Each city in the game world is linked via a influence system that needs to be maintained for diplomacy to work.
  • Random events that can change your diplomacy status with the other cities, give you coins or random resources.
  • Espionage, subvert cities, destroy buildings, sabotage.
  • Ranking screen, where cities get ranked according to their status in the world.
  • Declare war, propose alliances and pacts, ask other settlements to join your city, propose cease fire.



Intro game

Main game area

Buildings screen

Storage space

Game Menu

World Map

Tavern, heroes and their items

Various buildings, costs, prerequisites

World Market trades

City Council

Diplomacy, caravans, spies, armies and war

Battles, more battles

Tavern, heroes and their items


In development, Civitas is using several assets that are copyrighted by Bluebyte, so I cannot redistribute them with the game. You can find a link to the said assets in this issue. All the other game resources are freely distributed under the MIT license, same as the code.

1. With Docker

$ docker build -t civitas .

$ docker run --name civitas-dev -d -p 10082:80 civitas

And point your browser to http://localhost:10082.

2. Local

Choose an archive format from the Releases section, download and uncompress it. Point your browser to index.html, you don’t need a game server to play.



Civitas is written by sizeof(cat) and distributed under the MIT license.


Pull requests are always welcome!

I am always thrilled to receive pull requests, and do my best to process them as fast as possible. Not sure if that typo is worth a pull request? Do it! I will probably appreciate it.

If your pull request is not accepted on the first try, don’t be discouraged! If there’s a problem with the implementation, hopefully you received feedback on what to improve.

Always sign your commits and make sure you read the coding style.

World Map and City Council

Source code

Civitas is written using Javascript, has ~15000 lines of code, ~250Kb minified and can be downloaded from or by using git to clone the repository:

git clone



The music/track1.mp3 song is named ‘Glandula Pinealis’ by Shatifax.