WebHop Icon

WEBHOP

The sewers have been getting more and more dangerous, help Hoppy the spider escape the sewers for as long as possible. Try and get the highest score, the rewards are endless. Click here to see and play project in Itch.io! To GitHub Repository

YOU CAN ALSO PLAY IT HERE BELOW!

Important: Screen will be white while the game is loading, please wait
Note: If on mobile devices, you can play it at Itch.io page here: Click here

How to play:

A - Move Left
D - Move Right
Left Mouse Click - Shoot Web
Move around dodging obstacles. Shoot flies with web, and hop on them to bounce. Don't fall into water or let it get near you!

About Project

WebHop is a platform game summited as part of “MiniJam 123: Web” Game Jam. It was made under 3-days by a 3-man team.

Team Size: 3
Tools Used: Unity Engine
Languages: C#
Project Duration: 3 Days
Genre: Platformer
Platforms: WebGLv

Development:

The development of WebHop was relatively straightforward. We drew inspiration from games like Doodle Jump, where the player jumps on platforms indefinitely. In WebHop, the world is infinite, but the player is rushed due to the flooding sewage.

Technical Skills:

WebHop was a project I created for a Game Jam with a focus on producing a challenging and engaging game within a tight deadline. The most challenging, yet enjoyable, aspect of developing WebHop was the procedural level generation. One particular challenge was ensuring that the player's movement felt natural while still keeping them within certain boundaries. This was necessary due to the limitations of Unity's world dimensions. Although Unity's scene dimensions are huge (almost impossible for a player to reach the limit while playing the game), I wanted to ensure that it wouldn't be an issue if someone did actually reach that limit.

To solve this problem, I divided the level into segments. Each segment was responsible for spawning its specific contents, such as flies, spikes, or solid obstacles. There were only four segments in total. When the player was between segments 3 and 4, we would swap the segments and their contents, including the player, with segments 1 and 2. The last two segments would then reset themselves, returning their contents to the ObjectPooler and regenerating as completely new segments. Regarding the water, we calculated the distance of the water to the player when the segment swap occurred, and then moved the water to the bottom with an offset to prevent it from glitching on top of the player. This is known as Reset Floating Origin.

When a segment was reset, all objects within it were returned to the ObjectPooler class, and the segment regenerated itself. First, it would spawn all flies, then pipes, and finally spikes. For pipes and spikes, a random value was used to determine whether they would spawn at certain positions. Flies, on the other hand, always spawned the same number to ensure that gameplay remained possible. As for the game's background, it was set as a child of the camera and utilized world space coordinates to create the illusion of scrolling.

Overall, the development of WebHop involved addressing challenges such as procedural level generation and player boundary management. These technical skills were essential in creating an engaging and enjoyable game within the constraints of a Game Jam.

Feedback:

Since the game was an entry for a Game Jam, we received plenty of valuable feedback! We received a total of 18 ratings. One common piece of feedback was that the game was a bit too difficult, and some players found the controls, especially the shooting mechanics, to be challenging. They recommended using the Spacebar for shooting. Unfortunately, the team has disbanded, and we are no longer working on or supporting this game. Nevertheless, we are incredibly proud and grateful for all the fantastic feedback we received.

Takeaway

Although the team is no longer actively working on this project, it remains one of my proudest early accomplishments. I consider it the most polished game I have developed so far for a Game Jam. It holds a special place in my heart. I learned a great deal, particularly about procedural generation. It was a lot of fun, and I hope that in the future, we may find a way to reunite the team and continue working on it.