Attack On Fort Ticonderoga

Engine | Godot

Team Size | Two

Duration | 1 Week

The player getting overwhelmed by redcoats

Attack on Fort Ticonderoga is a 2D, top down reverse tower defense game, meaning you spawn enemies to attack and are stopped while going to that destination. The goal of this game is to send units toward the fort, defeating redcoats.

There are two different types of units, militia who will attack redcoats along the way, and cannons which will head straight towards the fort. Reinforcements are scarce, however when they come, you will be able to place more troops on the map.


Game Jam

Fort Ticonderoga was my first attempt at making a game for a Game Jam. The Jam that I participated in was the Historically Accurate Game Jam 5.

  • Working on games with my day-to-day life
  • Balancing my time working on my game and my job
  • Keeping to a theme
  • Avoiding scope creep

And many other important qualities. Overall the game placed 36th out of 116 entries, which I feel is quite good for a first Jam.


AI

There are three different types of units in the game, each with their own AI script. All three AI are similar, however have something unique enough to set them apart.

  • Redcoat AI
    1. Finds closets colonial to itself
    2. Starts walking to it to get in range
    3. When in range
      • Shoots at colonial, unless it is dead
      • Otherwise finds new target
  • Colonial Militia AI
    1. Walks toward fort
    2. If a redcoat gets in range
      • Turn and fire
      • If redcoat is dead, go back to walking
    3. If in range of fort
      • Shoot at fort
  • Colonial Cannon AI
    • Moves toward fort, ignoring everything
    • If in range of fort
      • Fire at fort

All the types of AI determine if they should shoot by using Godot’s built in Area 2D. By using the Area 2D node, we could made a circle around each entity and run a check each time something came into the radius. If this entity is targetable by the unit, then the unit would rotate to look at it using a smooth turn function.

One major problem we faced when making this game was getting units to be destroyed at the right time, and without crashing the game.

When units would lose all of their health, they would instantly be set to be destroyed, which caused problems for other units. Those units would try to access something that wasn’t there anymore.

To fix this, we added the dead object to a new group called “Dead”. The other units would check if their target was in that group, and if the target was, then they pick a new target. After that, the dead object would then be destroyed.


Endgame Scenarios

This game has both a win and lose screen that can be seen. The win screen is seen if you successfully kill all the redcoats. The lose screen is seen if you run out of supplies, there are no more reinforcements, and there are no more friendly units on the screen. Each end screen shows different text, and has a button to send the player back to the main menu.