SpaceTopia

CodeDay Fall 2021DC(history) ∙ 
https://codeday.sh/spacetopia
Unmute
A Space-themed remake of the popular game Polytopia, using real-life physics, multiplayer rooms, and multiple forms of colonization and attack. Built using the Three.js JavaScript framework, SpaceTopia combines real-life 3D Physics with a fun multiplayer FFA battle game!
--
The game is loosely inspired by Robin Hanson's "Grabby Aliens model" - a model that predicts the behavior of alien civilizations. We think that as the gameplay goes along, similar behaviors may emerge, and it would be interesting to see how well the behaviors corelate with the model. The game also focuses on the issue of communication - communicating with humans (or aliens!) that we do not speak a common language with. In the game, players cannot directly communicate using words, but have to instead rely on sending gifts or attacking to signify their intentions.

How much experience does your group have? Does the project use anything (art, music, starter kits) you didn't create?

None of us had prior experience using Three.js for any sort of 3D rendering, and we have very limited experience with using sockets. To successfully design and build this project, we had to learn Three.js and Socket.io from the start, along with general graphics design in websites. However, this really paid off, and we ended with a successful website game and real-life Physics, which was our initial goal.

What challenges did you encounter?

Implementing the Socket connectivity between the server and clients was very tedious, as there were many events occurring throughout the game that needed to be broadcasted to certain users. We also encountered numerous errors while setting up Sockets, due to some compatibility errors with Three.js.
--
Additionally, implementing the 3D Graphics was also a very daunting task. Simulating orbit (disabled in the demo video) and locations of user "stars" required tons of mathematical calculations for precise Physics implementations. Additionally, clicking on certain stars and colonies is very complicated when using Three.js, and therefore this required tons of manual adjustments to correct for position.
1,013
102
106
101
 
Participation Certificate

Links

View/Download

Members

Dennis Chunikhin