6th Game Project
Engine: Silvertejp (our own)
Timeframe: 14 weeks (half time)
Team size: 11
Genre: Dungeon Crawler
The dead have risen and it is up to you to stop them! Unleash your inner fire and face the endless army of undead lurking in the ruins of an old civilization.
My main responsibility in the creation of Solaris was the technical implementation of the boss fight. This includes all three individual stages of the encounter at the end of the game, which I also helped plan for with a taskforce.
Functionally, the stages are quite different from each other, with different mechanics to watch out for.
Because the stages are so different from each other, the whole boss fight was a lot of fun to work on, as there was quite a lot to create. With different visuals and mechanics for each stage, this became the task I spent the most time with throughout the project.
In the first stage the player goes against a heavy melee oriented version of the boss - capable of dealing major damage in one hit.
In the second stage, you are faced with a ranged caster who relies on minions to attack the player.
In the third stage, you fight the giant, true form of the boss, in an encounter that combines both melee and ranged mechanics.
The Graphics Engine
This was our first game created in our own game engine - Silvertejp - with DirectX11 as the base for rendering. Everything in the engine is made from scratch, with the development of it starting out in our graphics programming course. During the production of Solaris, the engine was in constant development as well. I was responsible to implement most of the graphics-related parts in the game. Some of them are listed below.
Shadows / Soft Shadows
Shadows is for sure one task I spent a lot time on - trying to create soft shadows - which eventually worked!
I worked with the implementation of an animation system in the engine. This meant I had to setup a way to load animation-files and to play them in game.
The ability to draw simple lines to visualize and debug something you're working with is really valuable - therefore I implemented a debug drawer in the engine!
I implemented sprites - both for use as billboards as well as in screen space. We used these for all UI in the game.
Working on the engine has been a completely new experience for me, as I hadn't tried anything similar before. Doing this has helped me understand more closely how a game engine could work and what happens behind the scenes of a game.
Level Creation in Unity
Our level editor this time around was Unity. This meant that we had to create a solution to re-create our levels built in Unity, in Silvertejp. I spent a majority of time in the beginning of the project to setup a pipeline for our level building, so that our level designers could start building and exporting levels right away. With a button click, the scene would get exported to JSON in a format of our own choice that we then parsed in our own engine, re-creating the level for the game.