Skip to content
All projects
In development

Mudhal Amaichar

A Tamil political-strategy game: run a party, win an election, then govern.

Role
Designer and developer
Year
2026
Illustration of a ballot box and an assembly seat chart showing a majority

What it is

Players create a party, campaign, contest election day, form a cabinet, set a budget and handle crises and news, with multiplayer planned. The title means Chief Minister.

The problem

A strategy game with elections, governance, crises and multiplayer has many interacting systems; it needs clear boundaries to grow without becoming one tangled codebase.

Architecture

Requests flow left to right. Hover a component for its role.

Mudhal Amaichar architecturegame eventsUnity 6 client: 16 scenes, UI ToolkitUnity 6 clientNGINX gatewayNGINX gateway6 Spring Boot services: player, election, governance, crisis, multiplayer, news6 Spring BootservicesKafkaKafkaPostgreSQL: Flyway per servicePostgreSQL
Solid line: synchronous callDashed line: through a queueDashed box: external or infrastructure
  • Unity 6 client client, 16 scenes, UI Toolkit
  • NGINX gateway edge
  • 6 Spring Boot services service, player, election, governance, crisis, multiplayer, news
  • Kafka queue
  • PostgreSQL data, Flyway per service

Key decisions

  • A service per game system

    Elections, governance, crises, news, players and multiplayer are separate services that each own their schema and migrations.

  • An event bus in the client too

    Unity scripts are organised by domain and talk through a central event bus, mirroring the backend.

Highlights

  • 47 C# scripts organised by game domain.
  • JWT-secured backend behind one gateway.

Stack

Unity 6C#UI ToolkitSpring BootJava 21KafkaPostgreSQLFlywayNginx