screenshot1
screenshot2
screenshot3
screenshot4
screenshot5
screenshot6
screenshot7
Team Award Photo 1
Team Award Photo 2

Entombed

  • Made with: C++, PS5 SDK
  • Created:: January 2024 - April 2024

About

Winner of Awards at the 2024 Games Republic Student Showcase for Level Design (2nd) and Game Tech (3rd).

Entombed is an FPS horror game set in the depths of an ancient tomb, based around the Viking mythos of the Draugr.

The player takes the shoes of a sceptic treasure hunter, who isn't afraid of the 'ghost stories' and goes in search of valuable goods in old historical sites, however as the game progresses you soon realize, that maybe those stories had more truth to them than expected.

The Team

Entombed Was created by a team of 5: 3 programmers Including myself, as well as an Artist & Designer Based on a brief of making a game related to Folklore.

Features

  • Heavily stylized aesthetic akin to Ps1 era visuals through intentional design and shader techniques.
  • Unity Level exporter for easy & remote level editing for designers.
  • GJK Collision Detection / EPA generated Resolution implementation.
  • Several Pre and Post-shaded Fx for unique visual style.
  • Fully playable, completable game demo made in 3 months.

My Role

Collision Detection/Response

To keep the player within the bounds of the level, a collision resolver was needed to detect and react to player movement about objects in the game world. My implementation made use of custom bounding volumes ( In this case OBBs & AABBs), GJK distance detection & Expanding Polytope Algorithms for detecting & resolving collisions respectively.

Sound Engine

Due to using Sony's libraries for our engine, much of the functionality implemented had to be using their systems which required lots of technical understanding and plenty of research & testing on the limited documentation available. Because of this a robust system was needed to suit our game as many of the horror aspects rely heavily on visual/audio queues. The Audio Manager system implemented is a Singleton class that manages a pool structure of audio sources allowing for dynamic allocation of voices and rendering/parsing of sound files from anywhere in code it was needed. It takes into account the sound and player position to emulate 3D Audio further increasing immersion as well as supporting up to 64 simultaneous voice playbacks at any one time.

ImGui Scene Editor

For rudimentary level editing and debugging the dear ImGui library was used to implement an easy-to-use debug menu that allowed for lots of under-the-hood editing of different gameplay variables. As well as providing lots of visual information useful for debugging, it also allowed for Objects to be spawned, manipulated, deleted, have components like the hitbox edited and more. Sound effects & In-Game Events could be called on demand & Realtime editing of shader variables was accessible to adjust the look of the game on the fly.

Data-Driven JSON Serializer & Parser

Entombed was developed with a Data-Driven philosophy and due to the large number of assets used in the game, a suitable way to manage scenes, asset paths and many other data variables in the game was necessary Making use of the rapidJson library to serialize data and read from JSON files for large sets of data. This was used for many things from scene loading, hitbox bounds, Model, Texture & Sound file paths and info.

PSX/PS1 Shader Effects

Fitting in with Entombed's unique aesthetic, we wanted to bring out that retro horror feel with extra character, We achieved this by using low-poly and simplistic assets focusing heavily on post-processing and shader effects to create the visual style A large player in the visuals of Entombed is the Vertex warping & Affine texture mapping akin to the PlayStation 1's similar visual artefacts found in many titles. Which are emulated in the forward render pass to achieve that Silent-Hill Vibe.