Dream Bright
Description
Dream Bright is a third-person single-player experience that combines three different genres into a single game. Each game phase has its own genre. While exploring the day you will have every freedom to investigate every available nook and cranny. After entering the dream, the game turns into a 3D platformer and finally, in the night it turns into a stealth game.
If you want to learn a little bit more about the game, you can always check out our itch.io page.
Dream Bright is also available on Steam!
The project was conducted over the duration of 3 phases, over a timespan of 11 weeks in total.
- Prototyping (3 Weeks)
- Production (6 weeks)
- Polish (2 weeks)
Our team existed out of 3 programmers, 3 artists, a sound designer and a music composer.
I listed all of us at the bottom of this page.
Engine: Unreal Engine 5.0.3
Gameplay Trailer
My Contributions
I was also responsible for everything AI-related.
(extremely) Briefly, this is what the enemies did:
- The table is the more aggressive enemy, that will wander around and chase you when you stay in vision for too long.
- The roomba enemy follows the “floor is lava” principle, with some extra behaviour when he just spots you, or when you go out of his sight.
- The vacuum cleaner is very similar to the table, however the vacuum is tied to a plug and thus has a maximum range.
Enemy AI Behaviours
Next to these systems I was also held responsible for more specifiek features such as the blinding mechanic, interactibles and their interfaces, etc.
Extra Gameplay Features
One of the things I wasn’t quite familiar with yet is the use of level streaming. When developing a game that re-uses most of the level in different scenarios, you want to prevent having to copy over everything from one level to another. Unreal has an amazing system set in place to prevent this: level streaming!
I was responsible for setting up the level streaming system to make sure our artists had to copy-paste as little as possible, whilst keeping performance up to par!
Level Streaming
During the dream phase everything feels a little more floaty and laid-back. Because of this we didn’t want to implement a ‘death’ mechanic. Instead, we wanted to go for a solution where the player doesn’t feel as if they died, but more as a slight version of negative player feedback.
To do this, we are simply letting the player fall, and spawning the level again underneath them. Because we use checkpoints, we position the instanced level to make sure the player lands on this checkpoint.
Respawn Falling Loop
Most Interesting CodeSnippets
Team
Programmer - Ruben Frans
Programmer - Gillian Assi
Programmer - Sasha Vigneron
Artist - Noa Plinke
Artist - Sander Casier
Artist - Sarah Feldmann
Sound Designer - Ken Redant
Music Composer - Bart Delvaux