Town Alight

My first game jam submission

About

Town Alight, conceived during PirateSoftware's Game Jam 14 in January 2024, is a dynamic real-time strategy game that thrusts players into the heart of a spreading forest fire. As the town faces imminent danger, players control up to 6 villagers armed with buckets, tasked with extinguishing fires and preventing the town's destruction.



Info

Link to Game

Role: Programmer

Team size: 3

State: Completed

Time frame: 2 weeks

Introduction
Town Alight is a gripping real-time strategy game that emerged from PirateSoftware's Game Jam 14, held in January 2024. With a thematic focus on 'It's Spreading,' the game plunges players into the heart of a forest fire crisis, challenging them to lead a group of villagers in a battle against spreading flames. Time is of the essence as players must strategically manage resources and navigate the ever-growing challenges to safeguard their town from the relentless advance of the wildfire.

In this 2D adventure, players control up to 6 villagers equipped with buckets, tasked with fetching water from rivers to douse the flames. With 10 diverse levels, each presenting unique obstacles, players must adapt their approach to combat the spreading inferno. Whether surviving for a set duration or extinguishing all fires, the stakes are high – let the flames run rampant, and the town succumbs to destruction.
Development Insights...
Technology Stack

Town Alight presented unique challenges in its development, especially within the constraints of a game jam. Here's a glimpse into the technology behind the scenes:

Godot Engine

Town Alight harnessed the power of the Godot Engine, an open-source game engine known for its flexibility and ease of use.

  • Godot Engine provided a versatile framework for the development of the 2D real-time strategy game.
  • The engine's node system facilitated efficient scene management, allowing for dynamic level design and interactive gameplay elements.
  • Godot's GDScript language offered an intuitive scripting environment for rapid game prototyping and development.
  • Spreading Fire Algorithm

    The dynamic spreading fire in Town Alight introduces a complex algorithm, adding layers of strategy and challenge to the gameplay.

  • Fire in Town Alight evolves through three stages, each larger than the last, with varying durations based on the tile being burnt.
  • During stages 1 and 2, the fire expands within its own tile. In stage 3, there's a probability of burning adjacent tiles each frame, intensifying the challenge.
  • Fire spreading velocity is tile-dependent, with different tiles burning at different rates, adding strategic depth to the gameplay.
  • Some tiles exhibit directional burning characteristics, such as tree leaves burning only from the trunk and not adjacent grass tiles.
  • Putting out behavior is tied to fire health points, determined by the time the fire has been burning. Longer-burning fires take more time to extinguish.
  • As fires are being put out, they can regress to a smaller stage. Stage 1 fires, when the time reaches zero, are extinguished, scorching the tile.
  • UI/UX Design

    Crafting an intuitive and engaging user interface was essential for Town Alight's success. As a real-time strategy game, the UI/UX played a crucial role in ensuring players could effectively manage their resources and respond to the dynamic challenges of the spreading wildfire.

    User Interface (UI)

    Streamlining the user interface contributed significantly to the overall player experience:

    • Mouse Controls: The game utilizes mouse controls for seamless navigation and interaction.
    • Informative Tutorial: A comprehensive tutorial in the main menu and pause menu guides players through the mechanics, ensuring a smooth learning curve.
    User Experience (UX)

    Enhancing the overall player experience was a top priority in Town Alight's development:

    • Accessible Launch: Originally planned as a Windows executable, a last-minute decision to release a browser version expanded accessibility and player reach.
    • Responsive Controls: The mouse-controlled gameplay offers responsive and intuitive interactions, essential for effective micromanagement.
    • Tutorial Integration: To aid player understanding, a tutorial is available both in the main menu and pause menu, offering guidance on gameplay mechanics.