A 2D platformer game built with Godot 4.3 featuring unique time rewind mechanics and spacetime manipulation.
Project768 is an innovative 2D platformer that allows players to rewind time and manipulate the flow of gameplay. The game features multiple worlds, complex enemy AI, interactive objects, and a sophisticated save/load system. Players can reverse time to undo mistakes, solve puzzles, and explore temporal mechanics.
- Real-time rewind: Hold Tab to rewind the game state
- Variable speed: Use Up/Down arrows during rewind to adjust speed
- Audio synchronization: Music plays forward and backward matching the time direction
- State preservation: All game objects maintain their historical states
- Directional gameplay: Some elements behave differently when time flows backward
- Spacetime entities: Special enemies and objects with unique temporal behaviors
- Dynamic audio: Background music adapts to the current time flow direction
- Multiple worlds: Explore different levels with unique challenges
- Interactive objects: Keys, locked doors, switches, boxes, and platforms
- Enemy variety: Regular enemies, spacetime enemies, and jumping enemies
- Collectible system: Items persist across game sessions
- Environmental puzzles: Use time manipulation to solve complex challenges
- Save/Load functionality: Progress automatically saves
- Cross-session persistence: Collected items remain across play sessions
- Scene-based saves: Each level maintains independent progress
| Action | Key | Description |
|---|---|---|
| Move | Arrow Keys | Move left/right, climb ladders |
| Jump | Space/Enter | Jump and interact |
| Rewind | Tab | Hold to rewind time |
| Speed Up | Up Arrow (during rewind) | Increase rewind speed |
| Slow Down | Down Arrow (during rewind) | Decrease rewind speed |
| Reload Scene | F5 | Restart current level |
| Quit | Escape | Exit the game |
| Interact | Space | Interact with objects |
- Godot 4.3 or later
- .NET 6.0 runtime
- OpenGL Compatibility renderer
- OS: Windows, macOS, Linux
- RAM: 512 MB minimum
- Storage: 100 MB available space
- Graphics: OpenGL 3.3 compatible
- Install Godot 4.3 or later
- Install .NET 6.0 SDK or later
-
Clone the repository:
git clone https://github.com/nayutalienx/project768.git cd project768 -
Open the project in Godot:
- Launch Godot
- Click "Import"
- Navigate to the project folder
- Select
project.godot
-
Build the C# solution:
- In Godot, go to Project → Tools → C# → Create C# solution
- Or use command line:
dotnet build project768.sln
-
Run the game:
- Press F5 in Godot editor
- Or export to your target platform
project768/
├── scenes/ # Godot scene files
│ ├── level/ # Game levels and worlds
│ ├── ui/ # User interface scenes
│ ├── common/ # Shared scene components
│ └── npc/ # Non-player character scenes
├── scripts/ # C# source code
│ ├── common/ # Shared game systems
│ ├── game_entity/ # Entity-specific logic
│ └── rewind/ # Time rewind system
├── sprites/ # Game artwork and assets
├── music/ # Audio files
├── shaders/ # Custom shader programs
└── tile_sets/ # Tilemap resources
- RewindPlayer: Main controller for time manipulation
- SpacetimeRewindPlayer: Enhanced rewind with spacetime mechanics
- IRewindable Interface: Contract for objects that can be rewound
- RewindDataSource: Manages all rewindable entities in the scene
- State Machine Pattern: Used for complex entity behaviors
- Save System: Handles game progress persistence
- Scene Management: Smooth transitions between levels
- RewindAudioPlayer: Synchronizes music with time flow
- SpacetimeAudioPlayer: Directional audio for spacetime mechanics
- Dynamic Playback: Forward and backward audio playback
All game entities implement relevant interfaces:
IRewindable: For time manipulationIStateMachineEntity: For complex behaviorsIPersistentEntity: For save/load functionalityIInteractableEntity: For player interactions
The game features multiple worlds, each with unique challenges:
- World 0: Tutorial and basic mechanics introduction
- World 1: Core platforming with rewind puzzles
- World 2: Advanced spacetime mechanics
- World 3: Complex multi-layered temporal challenges
- Implement the
IRewindableinterface - Add the object to the appropriate group in scene
- Register in
RewindDataSource.cs
- Create scene in
scenes/level/game/ - Add spawn points for player
- Configure rewind system components
- Set up save/load persistence
- Fork the repository
- Create a feature branch
- Follow the existing code style and architecture
- Test thoroughly with the rewind system
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- Engine: Godot 4.3
- Programming: C# with .NET 6.0
- Architecture: State machine and entity-component patterns
- Special Thanks: To the Godot community for excellent documentation and support
Project768 - Where time is just another dimension to explore.