DimensionExpander banner

DimensionExpander

2 devlogs
1h 12m 33s

Dimension Expander – A Java + LWJGL game where you switch between 1D and 2D dimensions, dodging obstacles in an endless tunnel, with smooth camera movement, particle effects, and responsive controls. Press H to expand or collapse the tunnel and te…

Dimension Expander – A Java + LWJGL game where you switch between 1D and 2D dimensions, dodging obstacles in an endless tunnel, with smooth camera movement, particle effects, and responsive controls. Press H to expand or collapse the tunnel and test your reflexes across dimensions!

This project uses AI

i used chatgpt to learn lightweight java game library like my other projects

Demo Repository

Loading README...

Copicraft

MADE THE GAME SO BUTTERY SMOOTH AND PREPARED IT FOR SHIPPING BY IMPLOMENTING SHADOW JARS

0
Copicraft

I started by creating a Java project with Gradle and set up LWJGL to use OpenGL for graphics. First, I made a window and tested that I could draw shapes. Then I added a start screen with a big green button that starts the game.

Next, I added the player and a horizontal tunnel for 1D movement. I made the camera follow the player with a deadzone and added gray particle effects to show movement.

After that, I implemented the dimension toggle: pressing H expands the tunnel to 2D so the player can move up and down, and retracts back to 1D smoothly. I made sure the player is pushed to the center when switching back to 1D.

Then I added obstacles: 1D obstacles appear often and block horizontal movement, while 2D obstacles appear rarely and cover the tunnel width. Obstacles only affect the player in their dimension. I also added smooth shrinking for 2D obstacles when going to 1D.

Finally, I made the world infinite horizontally by spawning obstacles ahead and removing old ones behind. I polished the camera, movement, collisions, and particle effects to make everything feel smooth and playable.

The game uses Java, LWJGL, and Gradle, and supports WASD and arrow keys for movement.

Attachment
0