Dream Warrior
"Become a holy knight and slash your way through an army of shadowy
creatures as you try to reach freedom"
Dream Warrior is a 2D Platformer / adventure game following a little boy suddenly waking up as a knight in a castle.
Now, I was more comfortable working in Tga2D and C++ but there were many systems that needed to be implemented. This game was tile based and needed better handling of physics and animations compared to the previous game - Cell Surge.
Platform: PC
Engine: Tga2D
Project Duration: 8 weeks, 50 %
Team size: 14
Genre: 2D Platformer/adventure game
Inspiration: Hollow Knight
Gameplay
Player movement
I worked on player movement: running, jumping, falling and dashing. I watched GDC-talks and read up on platformer physics which was very educational.
VFX (lighting, particle effects)
To enhance the mood of the game I added candles to our castle that illuminated the world. The candles could be destroyed like in Castlevania. The center light beam was a sprite sheet animation made by our animators.
I added a particle system that was used for improved ambiance and player feedback: candles, floor impact, blood splatters etc.
Candles created with particle effects and point light sources
Ground collision using tile collision system locators
Engine
Tile collision
Since this game was tile based I created a collision system taking advantage of that. It was cheaper compared to our conventional collision system and was used by actors to
collide with static objects using what I called locators.
Controller support, rumble
The group felt that controller support was a must have, this being a 2D platformer. I added controller support with custom dead zones and rumble using XInput.
Audio manager
I created an audio manager that wrapped Tga2D:s audio class and was used to play all sound and music in the game.
Video manager
I created a video manager that wrapped Tga2D:s video class and was used to play our cutscenes. The cutscenes could be skipped and the last cutscene had a player choice.
Lessons learned:
The challenges of scoping a game project
The importance of having the ability to playtest early in a project and iterating on your game and systems