Tom Taylor - Software Engineer

Deep Down

Deep Down

Project 'Deep Down' is a 3D platforming game, also covering the subgenres of 'puzzler' and 'dungeon crawler.'

While the name is a working title, the concept is not. You start at the bottom of a large castle/cavern and must work your way to the top, discovering the mystery of why you got there in the first place.

Building this project is to me, a way to move from 2D game development into the third dimension. This includes a lot of learning about high concepts such as physics and advanced lighting/raytracing.

Technologies used

  • Engine: Godot Engine (GDScript)
  • Language: GDScript, C++
  • Graphical Systems: Advanced lighting, raytracing, shadows
  • Physics Systems: 3D movement, physics and materials, interaction and raycasting
  • Platforms: Desktop (Windows, Mac, Linux)
  • Version Control: GitHub

Godot Engine

Continuing from my work on Pocket Wars, I decided to stick with Godot Engine for this project. I absolutely love this engine and at this point would consider it for almost any future game project.

Unlike with Unity, the open source nature of Godot allows me to truly customise the engine itself to the point where it becomes my own game engine.

Like with Pocket Wars, I have deeply customised the structure of each level to be fluid and functional.

Physics

Physics are key to the mechanics of this game, both from a movement perspective and a puzzle perspective. All entities in the game world have simulated physics and this makes up the way it is played on a fundamental level.

Physics and Interactions

See from the above image, the bottles on the table have deep physics interactions which play a role in puzzles across the game. The scope of each level in the game is limited in size so that these physics interactions can be complex and meaningful without being too taxing on the end CPU.

Lighting and Graphics

Lighting is, and was a key component of this project. Much like the physics interactions detailed above, lighting actually plays a huge role in gameplay.

A level I have been working on recently uses the physics and lighting engines together to craft puzzles. There is a marking on the wall that is the exact shape of an item in the game world. The puzzle requires the player to move this item into a certain place, so that the light on the wall casts a perfect shadow of the right shape onto the wall, which unlocks the next part of the puzzle.

Lighting and Shadows

Above you can see an example of the lighting interactions. The light on the wall (though the model is not yet complete) casts a perfect shadow of the player character. This uses modern raytracing techniques which, while expensive, don't have to be when you design the world carefully to minimize the amount of moving and complex objects.

The graphical style chosen inherently is low-poly, which drastically reduces the compute needed.

Demo

Unfortunately this game targets Desktop platforms only, due to its more intensive rendering and Raytracing requirements.

It does support software raytracing however, and it is not limited to only modern RTX cards. Mileage may vary but you should be able to run this on any semi-modern machine at a decent framerate.

You can download the demo of this project here: