top of page

State of Affairs

State of Affairs was developed by Top Sigma Studios, where I worked as game developer.

 

I joined the team when very early in the game's development cycle, being involved in every aspect of it, from UI to animation implementation and to back-end process.

​

As I was the most experience with the engine itself, I implemented a grand majority of the UI based elements.

​

During my time with the company, I also learnt how to use professional tools like Jira and Confluence and got accustomed to working withing an agile setting.

​

StateofAffairs.png

My Contributions

Graphs

​​

​

There are 2 types of graphs in State of Affairs:

​

  • Line Graphs

    • These graphs are made by inputting the type of variable and the time frame to  be displayed

    • It then searches through the save file (that is split by weeks) and gets all the necessary data for the time frame

    • Determines bounds of the Y axis based on the biggest and lowest values in the data

    • Creates points along the graph that match the data and time frame, and draws a line between them

​

  • Pie Charts

    • These graphs are made by inputting a group of values, each with their specific name, number and color

    • Adds all the numbers together to determine the total pie value

    • Instantiates an circular image for each value and divides it by the total value, to get the fill value for the image

Regional Unrest

 

Each country is divided into regions that are outlined in its respective JSON file.

 

Each region has its own unrest value that is tracked separately. On every turn the player do an action that affects a targeted region  

​

Pros:

  • Modular

  • Easy to change values and balance
  • Responsive and dynamic UI

​

Cons:

  • Each region increases the save file by a bit.

StateOfAffairsSituations.png

Situations

 

At points in the game situations may trigger. These have a  myriad of conditions ranging from date based, to faction loyalty and even Social Groups purchasing power.

​

Each situation is outlined in a JSON file, which holds the situations name, description, effects and conditions 

​

Pros:

  • Modular

  • Easy to change values and balance
  • Easy to create new effects and conditions

​

Cons:

  • If a top level change happens in situation class that adds or changes a variable, all existing situations in json need to be changed 

Other Contributions

 

My other contributions that are not present in the trailer include:

  • Tooltip system
  • Building production system with inputs and outputs
  • Population Growth and Decay system
  • Jira and Confluence Documentation
  • Inventory System
  • Most of the UI implementation
  • Music implementation
  • Dialogue System

Trailer

bottom of page