Project #07

The Legend Of Lamp

open in editor ↗

Description

The lamp needs to get to the portal to get to the next room. As it is a lamp, it can shed light into dark rooms, but be aware, the cable length is limited! Can you help it to find the right way?

Space Toggle the light of the lamp
/// Move
Return Start / Skip story

The Game

Inspiration

The Legend Of Zelda is my favorite game series of all time. So of course I decided to build my game as an homage to this series. Especially the SNES game, “A Link to the Past” (see below ↓) as well as the original “The Legend of Zelda” for NES, inspired me for the intro, storytelling, and gameplay. My game therefore should be seen from a top view, controlling a character in 4 axes, going through a “dungeon” of some sort, and solving puzzles.

Background

Over the past years, I have lived in a couple of cities, often also just for a couple of months. I wanted to display this journey, showing the different places I have lived in, up until the next step, which hopefully will happen soon, but is delayed due to the currently ongoing pandemic: New York City.

Initially, I intended to have myself as the playable character, however, I do not feel comfortable to put myself into the protagonist role, so I decided on the only companion that has followed me along with all the steps, my lamp.

Story

Title: The title is super close to the one from “The Legend of Zelda” underlining the homage.

Intro: Also here, I wanted to include the famous sentence “It’s dangerous to go alone. Take this.” from the first Zelda game. Instead of a sword, the lamp is given to me, in this case, marking the beginning of a long-lasting relationship.

Levels: Each level represents a room in which I have lived. So far I am considering:

Outro: The Outro is a still image of the lamp sticking out of a moving box. A little label on the box is indicating that it will be on its way to NYC.

Mechanics

What the lamp can do:

Enemies

Grayboxing

open in editor ↗

Cable Calculations

When building the gray boxed version of the game, I had problems with the cable management *badumm-tss*. For every step the lamp is taking, the program is first calculating if this is actually possible, given the length of the cable at the new position. It basically is a little prediction that is happening before a step is taken, making sure that every eventual collision is thought through.

I heavily relied on the examples and codes from Jeffrey Thompson. His collision detection codes for lines and rectangles were the foundation. The biggest issue has been to prevent the cable from "slipping" if the rare occasion happened that the last current position of the lamp, as well as the point before the last point, had no obstacle in between. This all seems quite abstract, so please find the sketch with visualized detection edges below. Try moving around to understand where collision detection is happening for the cable.

Styling the game

Level Design

For the levels, I tried to abstractly recreate the rooms fairly accurately, but also played around with different cable lengths and positions of the objects to make them a little harder. The objects are placed separately, allowing them to also potentially behave differently in future iterations.

Also, I realized that if the lamp is continuously turned on there is no reason to turn it off again. So I decided to add a timer of two seconds to the light (see the bar in the top left corner) to increase the complexity again. It needs some time to recharge, requiring the player to remember the sudden next path to go.

Having designed the levels, it was of course very easy for me to go through them. I had the feeling that they were too simple to solve. After sending it to a couple of friends and my roommates and watching them either in person or via zoom, I realized that they struggled a little bit to find the right path, assuring me that this seems like the right complexity for such a short game.

Images

Being a huge fan of The Legend Of Zelda, as mentioned before, I naturally wanted to make the game in a modern 8bit style. Inspired by the visuals of A Link To The Past but also the Pokémon franchise, I created all my furniture elements in a slightly tilted 3d style, as this helps the most to get a feeling for the objects.

I created all of them in Adobe Photoshop drawing the elements pixel by pixel. To get the pixel look right, I drew the images only with half the resolution, then exporting them again but even with the double resolution to guarantee sharp edges also on retina displays. So, an image asset that needs 40px ✕ 40px is drawn in a 20px ✕ 20px canvas to then get exported with 80px ✕ 80px.

My roommate Nikolas mentioned that he would appreciate seeing more of the rooms, so I took his feedback into consideration, adding a transition, displaying the rooms briefly.

Music and Sounds

For the sound effects, I used the sounds from A Link To The Past from this library . The music is done by my friends Hans and Fabian, who I am really grateful for this contribution! (Also I just want to mention that I totally can recommend their music projects Poly Poly and C.O.W.牛!)

Next Steps

I might continue to develop this game further. Here are some points I am currently thinking about to evolve: