Skip to content

SidMalladi/8710

Repository files navigation

Caze

A WebGL maze game built with Three.js and Box2dWeb. Play it here: https://sidmalladi.github.io/8710/

Documentation: Since ancient times, maze games have captivated players with their rich history and challenging navigation and discovery. A modern twist on this beloved genre, "Caze" immerses the player in a 3D maze where they must navigate a ball to the other side. The basic goal of "Caze" is to move a ball through a sequence of progressively difficult mazes in order to reach the exit. The arrow keys on the keyboard serve as the player's primary tool; however, Vim fans will value the additional support for the 'h', 'j', 'k', and 'l' keys. After completing a level, players will encounter increasingly difficult mazes that require more skill and strategy.

The combination of cutting-edge graphical libraries and conventional web technologies forms the technological foundation of "Caze". The frontend of the game is shaped by HTML and CSS, which serve as its foundation. JavaScript is essential to the gaming experience because it adds logic and interactivity. Three.js, a well-known 3D graphics library, is responsible for the brilliant 3D graphics that players see. The game's believable ball movements and collisions are made possible by the dependable 2D physics engine Box2DWeb. Moreover, the KeyboardJS library guarantees seamless keyboard input interpretation, and the addition of jQuery enables more efficient DOM manipulation and event handling.

For user convenience, the setup and deployment of the game have been simplified. The project can be downloaded or cloned so that players can start experiencing the maze right away. The root directory contains all of the main files, such as the scripts for Box2DWeb, Three.js, keyboard.js, and jQuery, in addition to necessary textures like ball.png, concrete.png, and brick.png. With these set up, all you need to do to start the "Caze" journey is open index.html in any contemporary web browser.

This kind of project would never have been possible without the use of code and assets from third parties. With thanks to the creators of Three.js, Box2DWeb, jQuery, and KeyboardJS, the game stands on the shoulders of giants. The rich textures that grace the maze and the ball have also been sourced from talented creators, enriching the visual tapestry of "Caze".

The process of making "Caze" was both thrilling and humble. The idea was simple: create a visually stunning and difficult modern maze game. Nevertheless, there were many obstacles in the way of realization. It took many tries to achieve realistic ball dynamics and movements when implementing the physics using Box2DWeb. Another challenge was the automated maze generation, which aimed to achieve the ideal ratio of solveability to complexity.

Despite these difficulties, there were notable victories. Using Three.js for the 3D rendering turned out to be a wise choice because it provided better performance and graphics quality. Another noteworthy feature was the incorporation of KeyboardJS, which gave the game fluid and responsive controls that improved the player experience all around. However, not everything was smooth sailing. The game's heavy reliance on keyboard inputs inadvertently sidelined mobile users, revealing a missed opportunity in expanding its reach. This endeavor yielded several lessons. The most important of these was the necessity of careful planning. A detailed design that includes game mechanics, physics, and potential scalability issues can save expensive reworks in the future. An additional realization was how important user experience is. Frequent playtesting sessions revealed priceless feedback, pointing out points of friction and directing improvements. The unrelenting advancement of technology served as another reminder. New features and performance improvements can be unlocked by staying up to date with the latest developments and regularly updating libraries.

To sum up, "Caze" was an educational journey rather than merely a game. All of the highs and lows, failures and successes, came together to create a product that connected with its intended market.

In closing, "Caze" was more than just a game; it was a learning odyssey. The highs and lows, the setbacks and breakthroughs, all coalesced into a product that resonated with its target audience. As the digital realm continues to evolve, so too will the realm of gaming, and with ventures like "Caze", the future looks promising indeed.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published