Inspiration
Missile Wars was an old game for iOS where you could shoot missiles at your friends' real locations. This game takes that premise and makes it specific to University of Bath campus.
What it does
Users must first authenticate and sign in via Bath SSO, using their university credientials.
This gives them access to the map of campus, where theirs and everyone else's locations are shown.
Walking around generates points, which can be used to buy missiles that are fired at the map.
Missiles have a blast radius and a countdown until they arrive - anyone within the zone when the missile hits is eliminated!
How we built it
The app is built using a React frontend and Go backend. SQLite is used as the database, storing player locations and currently active missiles. The location of each player is polled every second. An API is provided so that the client can request player and missile locations, which are then rendered onto the map. Similarly, the API is used by the clients to post location information, as well as any missiles that are sent. The API is hosted on an Ubuntu VPS and cloudflared is used to tunnel Internet traffic to it.
Challenges we ran into
The Bath Uni campus map (https://www.bath.ac.uk/publications/claverton-down-campus-map/attachments/university-campus-map.pdf) has a contradictory North to Google, Apple, etc. This initially made translating players latitude/longitudes into map coordinates tricky!
As currently set up, each client has to poll the server every second - this is not scalable! With more time, a web socket approach would be much more efficient and help solve this issue.
What's next for Bath-Bomber
Adding other university maps to the game would allow for rivalies and cross-campus gameplay. Pickups on the map that give incentive for players to move would add another layer of complexity to the game.
Built With
- api
- cloudflare
- go
- javascript
- mspaint
- react
- reverse-proxy
- sqlite
- ubuntu
Log in or sign up for Devpost to join the conversation.