https://github.com/slayhorizon/godot-2d-platformer-demo
A simple open-source 2D platformer demo built in Godot 4.x, initially designed as educational material.
https://github.com/slayhorizon/godot-2d-platformer-demo
educational educational-game godot godot4 platformer
Last synced: 6 months ago
JSON representation
A simple open-source 2D platformer demo built in Godot 4.x, initially designed as educational material.
- Host: GitHub
- URL: https://github.com/slayhorizon/godot-2d-platformer-demo
- Owner: SlayHorizon
- License: mit
- Created: 2025-02-08T22:16:13.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-03-13T23:14:35.000Z (7 months ago)
- Last Synced: 2025-03-13T23:30:11.535Z (7 months ago)
- Topics: educational, educational-game, godot, godot4, platformer
- Language: GDScript
- Homepage: https://slayhorizon.itch.io/godot-2d-platformer-demo
- Size: 3.85 MB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 2D Platformer Demo (Godot 4.4 only)
This **open-source 2D platformer demo** was originally created as an educational project for a school lesson.
It is now freely accessible for anyone to explore, learn from, and modify.
## Features & What You Could Learn
### Player
- **State Machine**:
A simple **state machine** system that controls player behavior, implemented using **callback functions**.
- **Smooth Platformer Movement**:
Implementations of **double jump**, **wall slide**, and **wall jump** mechanics.
- **Custom resources** for defining multiple playable characters with unique skins### Game Systems
- **Collectibles**
- **Moving platforms**
- **Grid-based camera**
- **HUD**:
A basic **Heads-Up Display (HUD)** showing the score, along with interactive buttons for **music control** and **level reloading**.
- **Music Player**:
A simple script to control background music within the game.
- **Shaders**:
Use of shaders for effects like **scene transitions** and **scrolling textures**.### Godot-Specific
- Use of **`@tool` scripts**:
Various use cases of **`@tool`** scripts within this project.
- **Custom addon/plugin**:
Includes a custom addon that allows you to easily place different collectibles around the map, similar to using a TileMap.
- **Event Bus (Autoload)** for centralized event handling:
Show a simple way to centralize event handling.### Bonus
- **Automated Build & Deployment**:
Automate your game builds and publish to **itch.io** with a single click, thanks to **GitHub Actions** integration.## License
Project’s source code under **MIT License**.
Asset-specific licenses and credits are listed in their respective folder.---
Let me know if you need any more refinements or feel free to contribute if you want to fix anything or extend it.