Raygen
Raygen is a performant and extensible 2D raycasting engine built in Java, designed for rendering dynamic environments with a classic pseudo-3D perspective. Utilizing the JFrame library for graphical output, Raygen implements an efficient raycasting algorithm to simulate depth perception, making it ideal for games, simulations, and educational projects.
Key Features
- Real-Time Rendering – Uses a raycasting technique to generate a first-person perspective view.
- Smooth Player Movement – Supports full 2D motion, and rotational movement via mouse movement.
- Custom Input Handling – Implements an InputHandler class for responsive user interaction.
- Scalable and Modular – Easily extendable for new gameplay mechanics, textures, and enhancements.
- Dynamic Collision Detection – Utilizes a CollisionManager to prevent player movement through walls.
- Customizable Settings – Allows adjustment of FOV, render distance, player speed, and collision tolerance via an in-game settings menu.
- Easy Map Generation – Fully customizable map generation data provided by SVG files, provided by Maze Generator.