top of page
Logo.png
itch_32_white.png
logo_github white.png

Production Date

Winter 2021

Production Duration

04 months

Project genre

2.5D, FPS, Roguelike, Boomer Shooter

Team size

02

TBDoom is a doomlike with a pinch of Binding of Isaac thrown in there.

For this project, I mainly worked on a base implementation of the three Cs, the HUB, the enemy AI, and the enemy sprites.

Project details

Programming

A handmade behaviour tree for the enemy AI

My main goal with this project was to try and find a way to create a drag and drop type of finite state machine for the enemies.

Although it worked to the extent of which we needed it, the system failed in many ways. One of which being its rigid design that did not allow for more than two different combat actions per enemies.

I later transitioned the system into a handmade behaviour tree which used Unity's UIToolkit for tree creation and management.

Retrospective

Ultimately, with all that I've learned, there are a lot of things that I would do differently now regarding the tool structure, but this was a very instructive endeavour regarding tool making and behaviour tree structuring.

An AI token system to prevent overwhelming the player

A token system was implemented to limit the number of enemies that are allowed to attack the player.

An enemy without a token roam around until a token is free to take.

This gives breathing space for the player, and it adds life to the background enemies, instead of having them idle around.

An AI preferential placement system

Three node sections are available around the player: far, close, behind.

A designer can set the desired ranged of nodes that an enemy is to choose from when it decide where to move next.

This gives the designer a control over where a type of enemy will try to be at any time and, in return, how clustered the player's vision can become at all times.

This system was inspired by a similar design from God of War 2018.

A practice ring for the player

A practice ring exists in the HUB for the player to try out weapons.

Whenever the player quits the ring, the enemies change into punching bag type of entities take their place.

The ring can be manually tweaked in size by a designer.

The enemy placement is randomized based on the width and the height of the grid.

A bell can be hit by the player to "re-roll" the enemy placement on the ring.

A diegetic weapon pedestal for the HUB

A pedestal containing multiple weapons and other items can be placed in the game environment.

The player can change the item shown by interacting with arrow popups on both sides of the pedestal.

 

The item will either be added to the player's inventory, or it will change the player's current weapon if his or her inventory is full.

This allows the player to test out any aspect of the gameplay.

Design

An AI design that aims for a greater perceived behaviour complexity

Both the token system and the AI preferential placement were created with the intention of adding a greater perceived intelligence for the enemy AI.

Although the AI behaviours remain very simplistic, I think that, given my inexperience in designing AI systems, I was successful in achieving a minimal acceptable dynamism regarding the fight flow.

A diegetic interaction oriented gameplay

It was decided that all interactions with the game world would be in a diegetic format.

This design choice was made to push forward a more engaging gameplay loop.

It also helps in distracting the player from the limited number of features of the game.

Credits

Visuals

  • All sprites were made by Sébastien (Ludwell).

Audio

Misc

Who did what

  • Sébastien (Ludwell)

    • Three Cs

    • AI

    • HUB Shooting range

    • Shooting range pedestal

    • Misc

  • René (Foolbox)

    • Three Cs (screen shake, weapon mouvement)

    • Dynamic creation of map layout

    • Room templates

    • Weapon inventory & Weapon Manager

    • Weapon Pedestal

    • Option Menu

    • Sound

    • Misc

bottom of page