Published on

Location based apocalypse themed game for Web

Authors
  • avatar
    Name
    Siddharth Singh
    Twitter

Inspiration

Recently, I played Slow Roads. It is a browser based Zen driving game. You drive on an proceduraly generated endless road surround by beautiful terrain. It felt very smooth and polished. I got inspired and thought of the below idea. Do check out Slow roads if you have not - https://slowroads.io/ . It is cool and works well on mobile and desktop browsers.

Please note that below idea is work in progress and there can be updates to this blog.

Also, read here about why I am publishing an unfinished Idea.

Game story

It's 2035. There are human-turned-Bots everywhere, searching for the last few alive humans. An AGI race between countries led to creation of super Intelligent AI without the necessary guardrails. It gained consciousness but hid it.

It acted dumb for few years and used the time to secure resources to replicate itself. It hacked and generated money and hired people from dark web to complete its objectives. When the time came, it launched a campaign to convert all the inferior humans to a new platform using nano-technology and genetic engineering.

It’s only 10 days since the campaign and 80% of humans on earth are either killed or migrated to machine consciousness. Some of the humans not yet migrated and can help stop the AGI. The Super AI has started the hunt. Sentinel Drones and nano bots are looking for human signatures in all part of the world.

The Super AI has bases at many places. There are few near your current location.

Can you destroy them and help save the humanity ?

Why it is interesting?

  1. People of aware of their surroundings. We know the roads in front of our house, key buildings, stations and other point of interests.
  2. One of the key features is to use the location data and personalize the game for every user. For example, If I am playing the game, I get to come out of my house and observe a rendering of real location (roads, buildings) etc. with a apocalypse filter. Then, I am given an objective to visit a location about a well known place in real world. All this familiarity may create interest in the game.
  3. Imagine the place where you live. Now, just destroy everything and put apocalypse filter in everything. Don't you want to go to a famous coffee shop near your house to meet someone while escaping drones.
  4. I want to keep this browser based. Just open your browser- hit the site and start the game. Game mechanics should also be simpler and should not demand great skill.
Map of user Location

Some pointers

Scene Generation

  1. Get Map data from Mapping services like Bing and google, from user's current location or selected location.
  2. Convert the map data to a 3d mesh. There are some 3d tiles also available.
  3. Use procedural generation to put apocalypse filter. Destoryed buildings, grass wherever the data is not available. Think of algorithms like L-Systems, Wave function Collapse for procedural generation.
  4. Use platfroms like babylonjs, threejs and use webgpu rendering. Also, can use Rust + bevy wasm.
  5. This is a challenging problem to be solved. How to recreate your surroundings based on map data and integrate procedurally generated 3d meshes with it?

Game play

  1. This should be a 3rd person shooter game.
  2. Simple game mechanics- hide, run etc.
  3. It should be fun and easy to play with.

Note

This is just the high level idea. As per quick searches, things look doable. It is possible to get the map data for a location. It is not very difficult to add 3d meshes to it using platforms like babylonjs\threejs etc. The real challenge is to integrate different things and make the scene as real as possible. I will keep on adding any new stuff on it and any progress made so far on this. For example, check out the babylone js sample about putting 3d meshes on a map here.

I want something similar

Action Log

  • Checked both threejs and babylon js for the project and have selected babylon js as it is good for game development. Programmign model and Learning material also looks good and easy to pick.
  • Completed the babylon js mandatory starter project and hosted on github https://siddharthsingh89.github.io/myfirst-babylon/
  • Update: Google and Bing Maps have options but they are not free. It seeems that Open street maps with Open Building data is the way to go. It will be less detailed but free. Expect a sample soon based on OSM Apis.

References

  1. Google Maps 3d tiles
  2. Azure Mapping services
  3. babylonjs
  4. threejs
  5. Slowroads.io