GeometryDash Remake

About GeometryDash

School Game Lab.

Recreate the original mobile game GeometryDash!.

My GeometryDash remake is a reimagining of this classic game, built in C# to demonstrate my skills. The project replicates core mechanics.

Geometry Dash Remake is a 2D platformer game developed in Unity 3D, inspired by the popular mobile game Geometry Dash. The player controls a cube that must jump through a series of obstacles with precise timing, synchronizing with the background music.

Project info

Descrizione dell'immagine 1

8 School Game Lab

Descrizione dell'immagine 2

October 6th - November 8th, 2023, four weeks

Descrizione dell'immagine 3

Unity

Descrizione dell'immagine 4

Mobile Android

Home Release

Game Overview

Geometry Dash Remake is a 2D platformer game developed in Unity 3D, inspired by the popular mobile game Geometry Dash. The player controls a cube that must jump through a series of obstacles with precise timing, synchronizing with the background music.

Game Goal:

The main goal of the game is to complete the level by avoiding obstacles and collecting bonus points along the way. The game focuses on the player's coordination and reflexes.

Key Features:

  • Attractive graphics
  • Rhythm-based gameplay
  • Pawn controls
  • Progressively challenging levels
  • Scoring system to challenge friends

Gameplay:

The game takes place on a two-dimensional plane where the player controls a cube that moves automatically to the right. The player can make the cube jump by touching the screen or pressing a key. The objective is to avoid obstacles by jumping at the right time, synchronizing with the background music for a smooth and engaging gameplay experience.

Game Mechanics:

  • Jumping: The player can make the cube jump to avoid obstacles. The duration of the jump depends on the length of the touch.
  • Obstacles: Obstacles are strategically placed to challenge the player's coordination and reflexes.
  • Checkpoints: Some levels feature checkpoints that allow the player to resume from an intermediate point in case of failure.
  • Bonus Points: The player can collect bonus points along the way to increase the final score.
  • Graphics: The visual design is simple yet colorful, with geometric shapes and smooth animations. Each level has a unique visual theme that makes the gaming experience varied.
  • Sound: The soundtrack is an essential part of the game, with musical tracks synchronized with the gameplay to enhance immersion and rhythm.
center

Difficulties

During the development of this project, I encountered several challenges that were crucial for the game's functionality and performance. Among these, managing the physics, speed, and data for each spaceship, and utilizing ScriptableObjects to handle their unique behaviors, were particularly complex:

  • Physics Management: Each spaceship had its own unique set of physics characteristics that needed to be implemented separately. For example, the spaceship needed to move in a way that felt fluid while maintaining consistent collision detection with obstacles. Ensuring that the physics were consistent across different game states, such as gravity changes and propulsion, required precise fine-tuning.
  • Speed Adjustment: Speed control was another significant challenge. Each spaceship had different movement speeds based on its design, but I also needed to adjust its speed dynamically based on power-ups and the level progression. Ensuring that the player could control the spaceship without experiencing lag or jittering, while keeping the controls responsive, was a delicate balancing act.
  • Data Management through ScriptableObjects: I used ScriptableObjects to manage the data for each spaceship, which allowed for easy customization of each ship's attributes (such as speed, gravity, and movement patterns) in the Unity Editor. However, managing these ScriptableObjects, especially when dealing with multiple game pieces and ensuring that data changes reflected immediately in the gameplay, required careful attention to avoid inconsistencies. For example, syncing changes in data with the game's physics system sometimes led to unexpected behaviors if not managed properly.

Despite these challenges, these obstacles helped me learn a great deal about managing dynamic game elements and data-driven design, as well as fine-tuning complex interactions between physics, player input, and game state transitions.

Personal Contribution

  • Creation of all player pieces: I was responsible for designing and implementing all the player pieces in the game. Each piece was created as a ScriptableObject, allowing for unique designs, behaviors, and functionality. The player pieces I developed are:
    • Cube: The basic player piece, which can jump to avoid obstacles.
    • Spaceship: A player piece with the ability to fly, offering a different movement style.
    • Robot: A player piece with a special ability to interact with obstacles in a unique way.
    • UFO: A player piece that can levitate, providing a new gameplay experience.
    • Gear: A player piece that can rotate, adding a mechanic to navigate through challenging environments.
    • Spider: A player piece with the ability to cling to surfaces and move in an unconventional way.

    Each of these pieces was integrated into its own state in a state machine, which allowed for smooth transitions and distinct behaviors based on the player's actions. I also developed the animations and interactions specific to each player piece to enhance the overall gaming experience.

  • Input System Development: I developed the input system for the game, including touch controls. This system ensures smooth and responsive player interactions on touchscreen devices.
  • Player Death Mechanics: I implemented the mechanics for player death, ensuring proper game responses, including animations and sound effects.
  • Portal Mechanics: I created various portals, including: Change Portal, Gravity Portal, Size Portal, Speed Portal, Teleport Portal, Meteora Portal, and Jump Pads.
  • Event Management: I managed all game events, defining and handling event triggers such as collisions, achievements, and interactions.
  • Visual Effects (VFX) and Sound Management: I managed visual effects (VFX) and sound in the game, including background music integration and sound effects for various game events.
center

Let's get in touch!

Feel free to reach out! Whether you have a question, a project idea, or just want to chat about game development, I’d love to connect.

Email:

Discord: Lollo48#2497

*Based on : work illustrations @iluskaland 2024

*Thanks for the illustration: work illustrations byStoryset

*Thanks for the icons: flatart, font awesome, microsoft, chanut is indurstries, kalash on Iconfinder