Solaris_screenshot.png
solaris.png

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 Contribution

The Boss

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.

1st Stage

boss_1.gif

In the first stage the player goes against a heavy melee oriented version of the boss - capable of dealing major damage in one hit.

boss_3.gif
boss_2.gif

2nd Stage

In the second stage, you are faced with a ranged caster who relies on minions to attack the player.

3rd Stage

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!

shadows.gif
animation.gif

Animations

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.

Debug Drawer

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!

debuglines.png

Sprites

sprites.gif

I implemented sprites - both for use as billboards as well as in screen space. We used these for all UI in the game.

Thoughts

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.

solaris_env.gif

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.

solaris_exporting.gif