A custom-built 2D Retro Game Engine made completely in Java, featuring:
- software rendering
- custom pixel renderer
- lighting system
- collision detection
- audio support
- tile rendering
- retro maze gameplay
- dynamic flashlight effects
Built completely from scratch without external game frameworks.
- Pixel-based rendering engine
- Direct framebuffer manipulation
- Alpha blending support
- Rectangle rendering
- Filled rectangle rendering
- Image rendering
- Tile rendering
- Real-time 2D lighting
- Darkness overlay system
- Circular light rendering
- Retro flashlight effect
- Player-following light source
- Keyboard input handling
- Mouse input handling
- Mouse motion tracking
- Mouse wheel support
- Key press / release detection
- Tilemap support
- Grid-based rendering
- Tile collision detection
- Maze rendering system
- WAV sound support
- Lightweight audio playback system
- Image loading
- Sprite sheet support
- Tile sheet rendering
- Transparency support
- Retro grid backgrounds
- Bitmap font rendering
- Retro-style UI text
- In-engine text drawing
retro.mp4
A retro maze game built using the engine.
- WASD movement
- Maze collision system
- Dynamic lighting
- Darkness survival mechanic
- Win system
- Retro visuals
- Pixel-art style rendering
- Java
- Java AWT
- BufferedImage
- Custom Rendering Pipeline
- Software Rendering Techniques
✅ Software Renderer
✅ Dynamic Lighting
✅ Retro Graphics
✅ Maze Collision
✅ Audio Playback
✅ Custom Input System
✅ Tile Engine
✅ Sprite Rendering
✅ Pixel Rendering
src/
├── engine/
│ ├── Renderer.java
│ ├── Input.java
│ ├── Window.java
│ ├── gamecontainer.java
│
├── gfx/
│ ├── Image.java
│ ├── Fonts.java
│
├── audio/
│ ├── SoundClip.java
│
├── game/
│ ├── gamemanager.java