Google Slides Presentation

link

Inspiration

We wanted to create a game that focused on self-growth. The player would initially be on a quest to find a soulmate, but find other valuable things along the way, such as seeds, books, candy, and insightful NPC interactions.

What it does

Within a web browser, the player can choose a name and color for their orb character. They can then start the game and move around the world. They can also pick up objects, which affects their stats.

How we built it

This project is a CSS, HTML, and JavaScript website. It uses Node.js to import and manage packages, including Vite to run the server and Three.js to build graphics. All graphics are made using Three.js.

Challenges we ran into

We had a late start to the project due to technical difficulties installing Node.js on two of the computers. It was also our first time trying game development, so everything was a learning process.

Accomplishments that we're proud of

The source code features modular design that will make it easy to expand the scene in future development. We were able to do collision detection with certain objects, which can be expanded to all objects later on. The initial/ loading screen has the basic aspects for functionality, and there are basic motion controls.

What we learned

We learned that we need to prioritize functionality over looks in the initial part of the game. Collision detection for single objects is trivial, but creating efficient and accurate detection for all elements of a scene is a bigger challenge. Also, having in-game text elements is much harder than it seems.

What's next for Soul Blossoms - Game Dev

If we were to continue working on this project, we would need to create a more elaborate world and then add textures to it. Right now, it is not appealing to the eye and appears clunky. Custom object textures and more attention to light/shadow would make the game feel more polished and alive. As for functionality, having collision detection working 100% of the time and having the camera rotate to face the direction of movement are necessary next steps.

Share this project:

Updates