https://github.com/angelogalav/doodlejumpgl
A DoodleJump clone made in OpenGL, using procedural geometry made with Hermite Curves. Runs on both Windows and Linux.
https://github.com/angelogalav/doodlejumpgl
2d doodle-jump freeglut game glut opengl
Last synced: 3 months ago
JSON representation
A DoodleJump clone made in OpenGL, using procedural geometry made with Hermite Curves. Runs on both Windows and Linux.
- Host: GitHub
- URL: https://github.com/angelogalav/doodlejumpgl
- Owner: AngeloGalav
- Created: 2021-11-24T17:20:40.000Z (over 4 years ago)
- Default Branch: linux
- Last Pushed: 2021-11-29T01:49:36.000Z (over 4 years ago)
- Last Synced: 2025-06-19T05:38:38.385Z (about 1 year ago)
- Topics: 2d, doodle-jump, freeglut, game, glut, opengl
- Language: C++
- Homepage:
- Size: 11.9 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# doodleJumpGL
This is the code for the first project for the Computer Graphics course at the University Of Bologna. The goal was to make an interactable 2D scene in OpenGL.
I decided to make a clone of the mobile game "DoodleJump", which is the perfect example of a simple yet fun game.
Some of the features of the original are missing (such as enemies and springs) due to time and complexity constraints.
## How to compile
This branch represents the Linux version of the code (which is essentially the same aside from some minor tweaks and the compilation method). You can check the Windows version of the code [here](https://github.com/AngeloGalav/doodleJumpGL/tree/windows).
To compile and run in Linux, simply use the following commands:
```
cd doodleJumpGL
make && ./DoodleJumpGL
```
and that's pretty much it.
## Dependencies
This project uses the following libraries:
- freeGLUT - an implementation of GLUT
- GLEW
- glm - the openGL math library
Both can be easily downloaded with `pacman` or `apt-get`.
The project also uses two additional libraries: `json.hpp` and `gltext.h`, which are both included in the project.
## How to play
You simply press `a` to go left and `d` to go right. The goal is to reach the highest point possible. If you die, you can simply press `r` to restart (as prompted).
## Known issues
Here are some of the known issues with this version, which hopefully will get fixed in the next version:
- The game does NOT recognize capital 'A', 'D' or 'R' as input. Check if Caps Lock is enabled.
- The collisions with the platforms are a bit wonky.
- Some of the Hermite meshes are slightly broken.
- The code a bit rough, and could use some refactoring.
## Additional things
The game features a debug mode, which shows the main character's colliders, as well as additional info on the game on the stdout.
Also, there's a special Mesh for the character made with an Hermite curve, which is disabled by default.
Both of these features can be enabled by modifying their respective macros in `Definitions.h`.
## Screenshots
A normal gameplay session.
The special character mesh. It's disabled by default 'cause I like the first one better.