Portfolio: Textlines: Citizens Sanctuary

A Java school project

Textlines: Citizens Sanctuary

Textlines: Citizens Sanctuary is the product of a freely selectable school project. Only condition: It must be written in Java.


Key elements I learned during the development of Textlines: Citizens Sanctuary


UI integration

This was my first Java project including UI elements

Version control basics (GitHub)

I used GitHub to save the project during the development. A final stable build can be found on my GitHub site.

Texture and Sound design

A Java school project

Textlines: Citizens Sanctuary

I started the project with the idea of a text based building game, since console programs where the only programs we had done to far in school. However, I thought it would be interesting to try something new.

The result is a turn-based building game which includes UI graphics. You can choose from 6 different buildings including residential and industrial buildings as well as schools and emergency services.

The goal of the game is pretty simple: try to endure as many rounds as possible. This is easier said than done.

The map


With every round the chance of disasters increases. Also, every building will increase the pollution level depending on what kind of building it is. If your pollution exceeds a certain level you also increase the risks of disasters and, if it increases even more, you will destroy the natural shifting of the seasons and will therefore make it harder for you to plan your actions, as you will not know for sure when winter starts.


Winter is one of the biggest threats in the game. It will cut your production in half as well as kill every homeless citizen. This forces you to plan ahead as upgrading a house will make its residents homeless for the time of the upgrade. Similar, industrial buildings will not produce anything while being upgraded.

The winter version of the map

Losing conditions

There are three losing conditions in the game:

  • All your citizens are either dead or left the city.
  • You have debts for more than three rounds
  • you are so unpopular, that the citizens storm your palace

The „construction“ Class

The object generated from this class is responsible for increasing the level of all buildings, that are currently being constructed, by one on the beginning of every round. The starting level of buildings differs depending on the building type. Once a building reaches its maximal level, by default level 1, it’s removed from the building list and the construction is finished.