Skip to content

prabuddha34/Game-Engine-

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

Retro 2D Java Game Engine 🎮

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.


🚀 Features

🎨 Custom Software Renderer

  • Pixel-based rendering engine
  • Direct framebuffer manipulation
  • Alpha blending support
  • Rectangle rendering
  • Filled rectangle rendering
  • Image rendering
  • Tile rendering

💡 Dynamic Lighting System

  • Real-time 2D lighting
  • Darkness overlay system
  • Circular light rendering
  • Retro flashlight effect
  • Player-following light source

🕹️ Input System

  • Keyboard input handling
  • Mouse input handling
  • Mouse motion tracking
  • Mouse wheel support
  • Key press / release detection

🧱 Tile Engine

  • Tilemap support
  • Grid-based rendering
  • Tile collision detection
  • Maze rendering system

🔊 Audio System

  • WAV sound support
  • Lightweight audio playback system

🖼️ Graphics Features

  • Image loading
  • Sprite sheet support
  • Tile sheet rendering
  • Transparency support
  • Retro grid backgrounds

🔤 Custom Text Rendering

  • Bitmap font rendering
  • Retro-style UI text
  • In-engine text drawing

🎮 Included Demo Game

retro.mp4

Retro Maze Escape

A retro maze game built using the engine.

Gameplay Features

  • WASD movement
  • Maze collision system
  • Dynamic lighting
  • Darkness survival mechanic
  • Win system
  • Retro visuals
  • Pixel-art style rendering

🛠️ Technologies Used

  • Java
  • Java AWT
  • BufferedImage
  • Custom Rendering Pipeline
  • Software Rendering Techniques

📸 Engine Highlights

✅ Software Renderer
✅ Dynamic Lighting
✅ Retro Graphics
✅ Maze Collision
✅ Audio Playback
✅ Custom Input System
✅ Tile Engine
✅ Sprite Rendering
✅ Pixel Rendering


📂 Project Structure

src/
 ├── engine/
 │    ├── Renderer.java
 │    ├── Input.java
 │    ├── Window.java
 │    ├── gamecontainer.java
 │
 ├── gfx/
 │    ├── Image.java
 │    ├── Fonts.java
 │
 ├── audio/
 │    ├── SoundClip.java
 │
 ├── game/
 │    ├── gamemanager.java

About

A game engine that I have built from scratch and a maze game on it

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages