top of page

A Light In The Dark

1bitjam.png

2D Platformer

Role: Solo Game Dev

Engine: Unreal Engine 5

Team size: 1

Duration: 1 Week

Submission for the 1-Bit Jam

Theme: Light and Dark

My Roles

In my role as a solo game developer, I've embraced a diverse range of responsibilities to bring my creative vision to life. Throughout the development process, I've seamlessly transitioned between various roles, including designer, artist, programmer (blueprints), and level designer.
 

Key Takeaways

This project has been a very insightful journey. Getting involved in this jam has greatly improved my blueprinting and designing skills. One big takeaway for me has been realizing just how crucial it is to match your game's scope with both the deadline and what you're capable of pulling off. If I hadn't taken the time to thoroughly plan and document my game before development, I wouldn't have been able to submit a game that meets high quality standards.

Through this experience, I've had the chance to refine how I manage my time and tackle challenges. Dealing with the curveballs that inevitably cropped up during development, I've learned how to stay adaptable and make smart decisions even during intense situations.

Description

Embark on a mysterious platformer, retrieve the key to dispel darkness, and navigate using light to reach the exit. Triumph over obstacles, and emerge victorious in this atmospheric journey.

Design Document (GDD)

Pre-Production

Due to the time constraints, I aimed to keep the Game Design Document (GDD) concise enough to fit onto a single page and to ensure easy readability. From the start, I was determined to design a 2D game with Unreal Engine. Following some brainstorming sessions, I settled on the concept of developing a dark platformer that employs light to guide the player's path.

To lay a solid foundation, I initiated the process by drafting a gameplay flowchart. This allowed me to maintain a clear focus on the intended player experience. Subsequently, I outlined all the requisite sprites and assets crucial for the project's realization. This encompassed a spectrum of elements ranging from player sprites and environmental components to various obstacles and user interface elements.

I delved into conceptualizing levels and their corresponding dynamics. With a level design that resonated with my vision in place, I seamlessly integrated obstacles and directional indicators, such as arrows, to underscore the movement of pillars post acquiring a key.

Lastly, I structured the order in which I tackled each task. My prioritization was influenced by my proficiency level in each aspect and the efficiency with which I could bring them to fruition. This approach ensured a streamlined development process that maximized both my skill set and the time available.

Gameplay

I decided to keep the rules of the game fairly simple: you need to grab a key, find your way to the exit, and repeat in the next level. Given the theme of the game jam, I needed to include a "light" element for the game.

I came up with the concept that, upon obtaining a key, your light source would significantly intensify, improving visibility along the path ahead. But, I realized there was a potential issue: increasing the light could decrease the challenge brought by the darkness. To address this, I decided to make it so that players had to take an alternative, more challenging route towards the exit once their light had been increased.

Blueprinting & Design Features

Organization

To ensure my blueprints stayed well organized, I made use of comment boxes to separate different functionalities into discrete actions. I also implemented color-coded markers for actions that repeated often, which made it much easier to quickly recognize the purpose of each action at a glance.

Blue: When a reference or built in action is set.

Red: When a true or false statement is made (booleans).

Yellow: When an animation is called.

Green: When a value is compared or calculated.

Orange: When an input is set.

Purple: When a level is referenced.

Screenshot 2023-08-22 175817.png

Player Features

My main focus was on prioritizing the features pivotal to the game's functionality, with a primary emphasis on the player movement and the light-up mechanics.

The PaperZD plugin played a vital role in accessing various sprite settings. I established the player blueprint (BP) using a PaperZD character BP as the foundation to handle a majority of the core game mechanics. Utilizing an animation BP, I meticulously defined the full spectrum of animation possibilities along with their transitions. This was achieved by evaluating whether the velocity exceeded zero on the X-axis for horizontal movement or the Y-axis for vertical movement.

To enable the character sprites to face left, I developed a function that compared the player's X velocity. If the velocity was greater than zero, the function remained inactive; conversely, if the velocity was less, it triggered a 180-degree flip of the player controller along the Z-axis.

Due to the darkness within the game, it became essential to address the issue of player visibility. After trying out various light sources, I found that a spotlight was the ideal fit. It managed to create the exact type of glow and coverage I had in mind for enhancing the player's experience.

My goal was to encourage players to move cautiously through the darkened environment. With this in mind, I made adjustments to the intensity and cone angle of the spotlight, ensuring that it provided just enough light to see what lay directly in front of them. This approach aimed to strike a balance between immersion and practical gameplay.

Key Gif.gif

Keys and Doors

 

To provide players with a better sense of direction, I decided to make important objects like keys, doors, and spikes more noticeable.

To achieve this effect for keys and doors, I added a point light to them. This gave them a subtle but distinct glow around the edges, with a more intense shine at the center. Within the key BP, I implemented a feature that comes into play when the player collides with a key. This action triggers a timeline, substantially increasing the player's spotlight cone angle and intensity. This adjustment greatly expands what the player can see. Furthermore, this action activates all the pillars and opens the relevant door, allowing the players access to the exit.

Spikes

Similar to how I handled keys and doors, I integrated a light source for the spikes as well. However, for the spikes, I went for a more delicate approach with a subtle spotlight. I wanted to ensure that players had a fair chance, so I made sure that obstacles were visible. It wouldn't be a fair experience if players were caught off guard by hidden spikes. By adding a faint glow to them, players could anticipate the spike locations ahead of time.

Inside the spike blueprint (BP), I crafted a timeline that cyclically raised and lowered the spikes. To introduce variety, I designed multiple spike child BPs, each with varying speeds and movement patterns. To enhance visibility, the spotlight moves in sync with the spikes' motion, making them even more noticeable and helping players distinguish them easily.

Spikes unlit gif.gif
Spikes lit gif.gif

Level Design

Introduction-ki.png

When it came time for level design I followed the Kishotenketsu method. This method gave me a clear and concise structure to design my levels. I tailored each structure to each individual level.

Level 1

In this introduction level, I wanted players to understand the chore mechanics: moving around, jumping, increasing their light, understanding how the key works, avoiding hazards, and learning to spot them.

I planned to keep things simple, giving players the chance to really grasp the game's mechanics and controls. When they start, players find themselves on the left side of the screen. To the right, there's a glowing door and a key, while below them, there's a soft, pulsating light that moves up and down. If they decide to move left, they'll notice a tile that's different from the rest right under their feet.

I placed the glowing key and door strategically to catch the player's attention and guide their way. Once players touch the key, they'll see the light around them brighten up, and the door will consequently open, encouraging them to turn back. But here's the twist: the path they took is now blocked by a pillar that resembles the distinctive tile from earlier on the left side.

This obstacle pushes players to push forward and explore the lower part of the level. With their increased glow, they come across their first challenge: a set of spikes. Colliding into these spikes triggers a restart, but they won't lose too much progress. Once they manage to get past these spikes, they'll notice that the unique tile from before has disappeared, creating an opening to the door.

At this point, players need to jump in order to the upper level continue their journey. from there, they need to make it to the exit, which takes them to the next level.

I designed this level to be a smooth introduction, allowing players to pick up all the necessary skills they'll need as the game progresses.

Screenshot 2023-08-31 171807.png
Screenshot 2023-09-01 092946.png
Level 2 Legend
Level 2 Unlit

Level 2

I set the second level to be the development stage.  My goal with this level was to build upon the lessons from the first stage, offering players a chance to apply what they'd learned. I achieved this by designing a maze-like level that demanded careful navigation.

I placed the first obstacle right from the start, two pits leading to spikes. I aimed to provide players with an opportunity to practice their jumping abilities while also encouraging them to spot the faint light emitting from spikes ahead of time. Placing this challenge early on meant that even if they made a mistake, their progress wouldn't be severely compromised.

Levels 3 & 4

Levels three and four presented the player with greater challenges. In level three, I introduced a twist by incorporating large gaps accompanied by spikes on small platforms, requiring well timed jumps. To maintain a fair difficulty level, I kept this level relatively short.

For the fourth and final level, I combined all the lessons learned from the previous levels, allowing the player to put their skills to the ultimate test. In this level I incorporated elements from earlier stages but heightened their difficulty, featuring a complex maze-like structure, various spike speeds, precise jumps, and strategically placed obstacles.

Sprites

Screenshot 2023-08-30 155634.png

Player Sprites

To stay true to the game's theme, I went with the idea of designing a character with ghostly qualities. This allowed me to justify the character having a soft, glowing light, which fit right in.

At first, I hadn't planned on creating an idle animation. But later on, I changed my mind. I realized that giving the character some idle movements would add a layer of life and uniqueness to them.

Tile Sets

I created the tile set to capture the essence of light and darkness in the theme. The idea was that when the player would grab a key, the room would light up, symbolizing their progress. Originally, I had planned to switch the darker tiles to lighter ones at this point for a more immersive effect. Unfortunately, due to some complications with the tile sets, I couldn't implement this feature as intended.

Additionally, I designed the door, keys, and spikes to seamlessly fit within the pixel dimensions of the player character. Making sure these elements align perfectly within a single tile was an essential aspect of the design process

Screenshot 2023-08-30 155714.png
Screenshot 2023-08-30 155733.png
Spikes.png
bottom of page