Inspiration
We were inspired by the low-poly art style for space, and how awesome procedurally generated planets would look with little astronauts running over them. Incredibly driven, we sought out to create a beautiful 3d game to bring our low poly space world to life.
What it does
We have achieved a lot of what we set out to achieve. We have successfully created a world to which players can join. Our servers handle all the players and waiting rooms while people join their respective worlds using uniquely generated game codes. We have got items for the players to collect upon crash landing in order to fix their ship. We have created our own a physics model to implement gravity and move around the sphere, for which delved into quaternions.
How we built it
We pioneered a novel server architecture in order to support extremely large player counts. We created a "Server Meshing" system that spins up new servers for different areas in space, and seamlessly links the servers together for planet traversal.
We implemented client side prediction to make the networking experience smooth, even on slower connections.
We built a custom physics engine to fit the requirements of small, spherical planets with gravitational forces.
We used Blender to create custom models and animations for the game, and used a three.js-based rendering system to bring them to life, including animated state machines for the characters.
Challenges we ran into
We have encountered more challenges than we could have ever expected in the process of creating our beautiful game. From spending 3 hours going down the rabbit hole of spherical coordinates and tactically abandoning the idea for time reasons to the countless server issues we had along the way, the entire team has persevered and has worked tremendously well to overcome these and create an incredible game.
What's next for Worlds Apart
We envision Worlds Apart becoming a hub for space enthusiasts to experience our version of low-poly space. Engaging with in game flight mechanics in open space alongside the current storyline of being initially abandoned on an alien planet.
Built With
- 3js
- blender
- github
- glsl
- nextjs
- partykit
- react3fibre
- typescript
- vercel
Log in or sign up for Devpost to join the conversation.