We came up with the idea of a first person immersive space game. We wanted to include some of the techniques mentioned by sponsors and came up with this game with additional features which turns out to be nicely executed and we are proud of it! :)

What it does

It's a multiplayer game that allows users to control a first person astronaut character to explore spaceship crash sites on the moon. Player can visit one of two crash sites and upon arrival they will receive a text message using Twilio API with additional information about the spaceship. In addition there is implemented simple AI that will listen to commands being said over microphone and uses voice recognition to detect speech, and based on fixed list answers the players questions. Each player can explore the game at it's own pace and trigger events simultaneously.

How we built it

The game is being rendered in JavaScript game engine named "PlayCanvas". Server side networking we used JavaScript library Node.js. Asset's were imported from open source website. We used Twilio API for text messaging. Speech recognition was implemented using Web Speech API. We also used ngrok public URL to make the multiplayer available over blocked port WIFI!

Challenges we ran into

  1. We had no artist in the team, so our biggest challange was to find appropriate assets that we could use in the game engine.
  2. We found it difficult to animate player character to look it more natural, because it's quite complex task to implement from scratch and we did not know such a technology that could ease things up.
  3. We had to manage reloading ngrok server to get a new IP address because the free version only handles 40 requests within a minute. We had way more than that because of movement refresh rate.

Accomplishments that we're proud of

Multiplayer design, Implementation of each particular feature to work together as general gave us the biggest satisfaction. Text spam out team mate was also an accomplishment!

What we learned

Creating a game, especially net code is really difficult to implement within such a sort time limit. We learned to work as a team on each particular assigned task, and that you always should save you files as often as possible!

What's next for Hackathon

We are up for a challenge! Bring it on!

Share this project: