Inspiration

We were frustrated with how economics is usually taught — abstract graphs, formulas, and theories that feel disconnected from real human decisions.

In reality, economics is not about equations — it's about trade-offs under pressure, where every choice benefits someone and hurts someone else.

We wanted to create something different:
a system where players don’t just learn economics, but experience it firsthand.

What if instead of reading about opportunity cost, inflation, or unemployment…
you had to make those decisions yourself — and live with the consequences?


What it does

Village Economy is a narrative-driven economic simulation game where players take on the role of a village leader facing a sequence of economic crises.

Across 10 major events, players make decisions that directly impact:

  • GDP, inflation (CPI), unemployment
  • population, productivity, and happiness
  • long-term economic structure

Each scenario represents a real economic concept — from scarcity and opportunity cost to monetary policy and international trade.

But more importantly, the game tracks your decisions over time and reveals the economic ideology behind your choices.

You’re not just playing a game —
you’re uncovering how you think about the economy.


How we built it

We built Village Economy as a fully custom system using:

  • Next.js (App Router) + React 19
  • TypeScript for all game logic
  • Tailwind CSS for UI and animations
  • localStorage for persistent game state

Instead of using a game engine, we implemented everything from scratch:

  • A node-based narrative system (dialogue / choice / idle states)
  • A custom economic simulation engine that recalculates GDP, CPI, unemployment, and happiness after every decision
  • A daily tick system that simulates food production, income, population changes, and crises
  • A reactive UI layer where all stats and NPC behavior update in real time

All core systems — including macroeconomics — are tightly integrated with the narrative layer.


Challenges we ran into

1. Balancing realism vs. playability
Real economic systems are complex and nonlinear. Translating them into something understandable — without oversimplifying — was extremely difficult.

2. Designing meaningful (but non-obvious) choices
We wanted every option to be valid, not “right vs wrong”. Each decision needed to reflect a different economic philosophy.

3. Integrating narrative with simulation
We had to ensure that story events, player choices, and underlying systems stayed consistent and causally connected.

4. Avoiding information overload
There are many hidden systems (GDP, CPI, unemployment), but the experience needed to remain intuitive and clean.


Accomplishments that we're proud of

  • Built a fully functional economic simulation system from scratch without any game engine
  • Successfully combined visual novel storytelling with macroeconomic modeling
  • Designed a system where player ideology emerges naturally from decisions
  • Created a learning experience disguised as a game
  • Delivered a complete experience with 10 structured economic scenarios

What we learned

  • Economics becomes much more intuitive when experienced through decisions instead of theory
  • Narrative framing can significantly influence how players interpret and choose between options
  • UI simplicity is critical when presenting complex systems
  • Building everything from scratch forces deeper understanding — but enables full creative control

What's next for Village Economy

We plan to expand Village Economy into a deeper and more scalable experience:

  • Add a final economic personality report analyzing player decisions
  • Introduce branching narratives and more dynamic events
  • Explore multiplayer or comparative modes
  • Add advanced policy tools like tax rates and interest rates
  • Improve onboarding and accessibility for a wider audience

Our long-term vision is to turn Village Economy into a platform where people can
explore economic systems, test ideas, and understand their own beliefs — through play.

Built With

Share this project:

Updates