Wanted to create a three dimensional game from scratch and learn how basic 3d graphics worked.
What it does
Simulates 2d scene and raycasts from the player/camera over many angles in their field of view. Uses the distances from the player to determine how tall the wall should be at that x-coordinate.
How we built it
Created two iterations of the program in order to make it faster and condense multiple classes together.
Challenges we ran into
Some walls continue infinitely while others are cut short. Movement behaves unpredictably when player's coordinates are outside of the first quadrant. Finding a way to represent the map in a way that is understood by the program was difficult. The camera has a constant fish eye distortion.
Accomplishments that we're proud of
Extremely lightweight with 235 lines of code.
What we learned
Basics of raycasting. Recursive flood fill algorithms (in first iteration). Implementation of key listeners in java. Integrating many classes together (in first iteration).
What's next for Java Raycasting Engine
Fix fisheye distortion, input issues, and wall rendering issues. Add gameplay mechanics to the engine.
Log in or sign up for Devpost to join the conversation.