Engine: Unreal Engine 5
Genre: Sports, Tower Defense
Project: Game Jam, Collaborative
Job: Programmer, Lead
Description
GoalKeeper 3000 is a sports game in which the player must defend their goal using objects they can buy with in-game currency. This game was created as a submission to the ScoreJam #37, where the theme was Soccer. The time we had to create this game was from December 19th, 2025, to December 22nd, 2025. It was our first tower defense-like game, so it was a fun new experience.

Heres the link if you want to try this
https://lukewhitehouse.itch.io/goalkeeper-3000

Pillars
Soccer: As it's the theme of the game jam, we must stay within the bounds of this pillar. Anything that relates to soccer can always be added to the game.
Blocker and Attackers: The player has to defend the goal through the use of other objects and their own body. They have several resources that they can use before each wave to prepare.
Rogue Like: Most of the gameplay will consist of an increase in resources as the level difficulty increases.
Game Programming
Object Placement

Going into this project, one of the key factors in tower defense was the placement of items and their impact on the level. To accomplish this, I had to connect the User interface with different data tables. I find that the use of data tables is a very helpful and easy way to select different items in a large array, as it becomes much harder when you try to make many different items individually. I created 6 different subsections that will be taken into account when adding them to the UI: ID: The Name needed to be referenced when pulling information from the table.

Name: What the Item is called when hovering over the corresponding icon.
3D Object: Representation of what mesh will spawn in the level.
Icon Texture: The texture that will be shown on the UI, such as the soccer ball or trophy
Price: The amount of currency the player needs to buy the item.
Placement: Allows me to referance a object in the table even if it is not a placeable object.

Back to Top