

How does my game map compare to the real world?
I saw this sign while cycling, had to take a photo and compare it to the in-game map! Pretty accurate!


I saw this sign while cycling, had to take a photo and compare it to the in-game map! Pretty accurate!
I go on X like 2 hours a day and some other websites. I'm sure there is enough interesting content on the internet to show me only what I want to see.
There is a fundamental problem with existing social media algorithms in that they're not aligned with the user. They are optimised to maximise use, where my goal is to see the most interesting content. This is why you get triggering stuff, like emotional content, people complaining about politics, engagement bait etc.
I'm sure it's possible now to create my own feed (I'm a coder), I can just vibe code something that works. It will require access to APIs, it only needs to be read only. To be honest, if it was only for X, that would be fine.
What does everyone else think of this? Does it already exist?
I'm sure it could work pretty simply by me just pressing up and down on things that I like or don't like.
Edit: I think it's possible. X API provides a candidate feed, which my algorithm then filters. Over time, it should learn what I like, no incentive misalignment.
I'll keep this interesting for the OpenStreetMap crowd!
I wanted to make a game that gets people physically out in nature and gets them appreciating wild animals. Which I think I've now achieved!
Challenges:
How to get players out of their house?
I used the OSM classifications to determine which areas you can capture animals in, as a proxy for "being in nature". I set it to grass, woods, water, sand.
As you know, OSM data is not good for areas like fields, so any unmapped areas are also populated as grass, which seems to work well and is fairly realistic to the real world.
How to have a progression system?
Most games, like Pokemon (which heavily inspired my game) have a linear system where wild pokemon levels increase as you go through the game. How would I solve this in a non-linear game? I.e. people can start from anywhere in the world.
The solution I came up with is to base animal levels based on proximity to residential, industrial etc. areas. Every few hundred meters from built-up areas, the animal level range increases by 5. (see admin picture with the coloured squares)
This maps nicely with real world difficulty increasing, i.e. you have to go far from home to find higher level animals. Outside your house, they'll be level 1-5, but in the Peak District (national park) in the UK they'll be level 31-35.
How to have points of interest in the game?
The game needs to have both Health Centres to heal / store your animals at and stores to buy items at. I had to brainstorm what would be a good proxy for health centres that is evenly distributed throughout the world, in all countries, and is also visually recognisable in the real world.
I came up with places of worship for Health Centres, e.g. churches, temples, mosques. You don't have to physically go in them, I set a radius of 5 or 10 meters. I also did a bit of research and as far as I can tell every country in the world has good distribution of places of worship!
For stores, I just set them as real world grocery stores. So, when I go to the shop to buy something to eat I actually buy nets and potions in the game as well, haha.
How to have coverage of the whole world?
It would be monetarily expensive to have the global OSM downloaded, so instead as it's not really a fast-moving game, I just do a call to Overpass API in real time and generate the in-game renders on the fly. This takes around 10 seconds, which I think is ok as the main part of the game is photo'ing animals anyway.
Cache is king - I obviously cache both the Overpass API response and my game rendering on top of it to the database, so the wait time is only for the first player who visits that location. Over time, previously visited areas get populated in the database, i.e. around your house or your local park will only have to fetch the first time you go there.
Other cool stuff:
You'll notice that the buildings have shadows (image attached). This was pretty complicated, I use the building polygons from OSM and add a height to them to generate the 3D object that the shadows are projected from. However, I didn't want buildings to have flat roofs as that's unrealistic, so I generated a centreline using PCA to get the longest length of the building and then create a triangular roof along that. The shadows are accurate to the real world, based on the time of day, time of year and Lat Long. I also added real-world weather, e.g. rain, wind, cloud cover, but that's unrelated to OSM.
I pre-generated designs for roof types and colours, then I pass the geographic region from OSM to an LLM (like ChatGPT) and get it to select the appropriate roof type and colour. E.g. Bologna, Italy has red terracotta roofs and Mayfair, London has grey slate roofs (see images).
Other Challenges:
Had to make paths invisible to the capture zone indicator, otherwise you can be in a field and walking on a path and the game will say you're in a non-capture zone.
OSM data has overlapping polygons in many places, so had to set a priority level, e.g. buildings on top, then paths/roads, then terrain etc.
Some weird quirks with rendering different polygons clockwise and anti-clockwise which caused them to cancel out when they overlapped.
Adding blurred edges to some polygons, e.g. paths, to make them look more realistic.
Link:
Link here if anyone wants to check it out (mods said ok to share): https://apps.apple.com/gb/app/animalis-game/id6762081213
It's a paid game as it has taken me hundreds of hours to build, the map isn't even the core feature of the game, haha.
Feel free to ask me any questions, happy to share my experience!
Happy to answer any questions about the process, not just trying to sell my game.
I wanted something that was like Pokemon, but using real animals and in the real world. The aim of the game is twofold: get people out into nature & get them appreciating wild animals.
I've been playing with my friends and family and it's already fulfilling my aim!
You start off with a couple nets and healing potions (for the animals) and have to physically go out into natural areas, e.g. parks, woods, lakes etc, to photo and catch real wild animals. Once photo'ed, you can throw a net to capture them and once you have your first animal you can battle the wild animals to level up your own, which increases their stats, teaches them new moves and evolves them (yes, just like Pokemon). For example, a caterpillar will evolve into a chrysalis, then butterfly. You can also catch any evolution stage directly.
I came up with a clever way to have a progression system, the further you are from human areas, e.g. residential, industrial etc, the higher level the animals are. Once you get like 1 km away from built-up areas you need to battle the animals down first before you capture them. It's not easy!
I wanted health centres and shops to be well distributed throughout the real world, so I came up with using places of worship (churches, temples, mosques etc) and using real world grocery stores as in-game stores. You have to physically walk to one to buy your items and heal your animals!
If you're going out on a walk, you need to actually stock up on nets, potions etc. So, the game is not super easy, but I think that's what makes it fun and there's not a lot you can do in game from within your home, you have to physically get out in nature.
The currency is leaves, which you get for discovering, battling and capturing animals. If you're the first person in the world to discover an animal (very likely at the moment!) you get a bonus as well. Also, I use an official endangered species list, so more endangered animals give more leaves when you capture them etc. Each animal has it's full taxonomy listed within the game, so in your "Dex" you can see all the species from the different branches of the animal kingdom that you've caught.
On top of this, where available, I have the real animal's call within the game, which I think is kinda fun.
PvP: you can add friends and either trade or battle with them. Trading helps you fill out your Animal kingdom and improve your team. Battling awards leaves from the losing player to the winner!
As well as this, other cool stuff:
- it obviously uses a map of the real world, but it also has real-time accurate building shadows based on your Lat Long and the position of the sun, time of year etc.
- has live real world weather in the game, e.g. cloudy, raining, snowing, wind.
The game is procedurally generated based off a real world map, so the first time any player visits a new location, I quickly fetch the map data and render our game world on top of it (would be too expensive to render the entire globe ahead of time).
For AI people: I generate the animal moveset, evolution chain and sprite images in real-time the first time a species is discovered by any player. This takes ~10 seconds, during which I just say "Researching" within the game. So, it is possible to generate game assets on the fly, I haven't seen anyone else do this.
It's available on Android as well, but I need your Google email as it's in closed testing until I get 12 players using it for 2 weeks.
You just buy the game once and you can play it forever, no in-app purchases, I don't sell your data or advertise anything. I just wanted a simple game that people can play.