First Quarter Development Update

Eduard But
7 min readMar 3, 2022

Hey everyone! I wanted to give a little insight into what changed in regards to Geotastic in the first months of 2022 and what is planned for March, the last month of the first quarter. Let’s head right in!

Looking back

On the surface, not that much has changed, but January and February were really intensive months. Some of the important updates I wanted to do required to throw away quite some code and rebuild a lot without breaking already generated user data.

Map Editor

The biggest change was the way the playable geotastic maps work. The code and database was a big pile of mud and was never really refactored since I started working on it. Concepts changed though and the need for a better system was really needed. The user map editor was bare bones and I had a completely different editor for the official maps. User maps and official maps were also very different in terms of data structure and capabilities. It was a real pain. My aim was that everyone uses the same editor so there is no distinction anymore between the different map types. There’s just maps and that’s it. That’s basically what happened and it took way longer than expected. The more I changed, the more of related code crumbled which I had to fix as well. In the end, I’m happy with the results though. Everyone is now able to create any kind of map with the new map editor and it’s way more easy for me to introduce new features now.

The new and powerful geotastic map editor
The new and powerful geotastic map editor

Aside from just supporting drop groups for better control of your drops, there’s also new features in regards to move drops around, import/export and some performance improvements thanks to map marker clustering. You can also share your maps with your friends which will make it possible to let them help you improve your map directly.

Game Preset System

What was made apparent during the development of the map editor changes was that the whole “Popular Landmarks” idea was real bad. It introduced so many limitations that the only way to solve this was to throw it out. Originally “Popular Landmarks” was it’s own game mode with it’s own business logic which made absolutely no sense since it was actually just normal pinpointing. Due to this, you weren’t able to play Popular Landmark maps in different scenarios, like Country Battle for example (which was the reason why the community created a special user map with those popular landmark drops in them).

So, my idea was to completely remove the mode without leaving a trace. The only difference is how the map is composed and with a flexible system, the behavior could be applied to ANY game mode. The Problem is that people who want to play “Popular Landmarks” will be lost since it won’t be available anymore through the game mode selection. It’s always hard to change things that people got used to. On the other hand, I was flirting with a game mode preset system for quite some time already, so this issue kinda came up at just the right time. The game settings form was growing more and more and especially new players were usually overwhelmed with the amount of possible game settings. An easy preset system could help out here! Plus, I could just add a “Popular Landmarks” preset where the correct map would be pre-selected.

The new game preset system

The old more complex form can still easily be reached via a button in the bottom. New players can try out different presets and difficulties and more seasoned players will probably stick with the complex form to set up their games.

Server Performance

The monthly Geotastic Community Events are a great way to really see how well the servers behave if a lot of people play the game at the same time, especially in a single lobby. The community event in January went up in flames after the client hosting server was DDoS’d by my own community after the multiplayer server stopped behaving and everyone spammed F5 at the same time. The “meme of the week” afterwards was kinda related ;)

I promised everyone that I would try to improve the current server situation before the next event in February and that’s what I did. At least in part!

Before, the game itself only really knew ONE multiplayer server endpoint, ONE reverse geocoding endpoint and ONE backend endpoint. It was not built around a flexible solution where servers could be added in, swapped out and removed on the fly. Supporting something like this meant quite some changes to the core game logic. Matchmaking for example had to be done server independent. If multiple multiplayer servers are running, I would need to keep track of all the open games on the different servers, how many players are in there and what the current game states are. Implementing these system surely was an interesting experience and there’s still a lot to do and improve but the system itself is in place now. There is no real load balancing yet (It will just randomly choose a server from the pool), but something like that can be added without much hassle. I also moved the backend api out of it’s former home to it’s own server instance, completely separated from the hosting or the multiplayer servers, hoping this should reduce the load on the hosting and prevent any more down times.

The Community Event in February started a bit worrying though. There have been way more people than expected and the 150 player lobby limit was almost reached. The multiplayer server stayed stable enough but the hosting crashed non the less. The good thing was that we weren’t really dependent on the client hosting anymore once the game has loaded in the browser. So everyone who was already in was able to stay and we actually could play the whole event from start to finish! Not perfect but still a great success.

Federal State support

Having a federal state support in the game was requested quite some time ago. Just playing modes where you have to find the country (e.g Country Battle or Fun with Flags) was not enough anymore! I loved the idea to be able to go into more detail in a specific country and play the exact same modes just on a national level. The ground work for that was also done! Japan, Brazil and Austria already have state support and more to come in future! My aim is to support every country down to the federal state level where it makes sense. It’s quite the work load gathering all the flags, border data and other details and add them into the system. But it really is worth it!

Playing “Fun with Flags” with the Japanese Prefectures

Looking Forward

March is already cramped with potential things I want to do. The biggest talking points are as follows.

Financing Geotastic

One bigger change this month is that aside from the google api costs I also now added infrastructure costs as well as living expense to the monthly costs. Since I’m trying to work towards self sufficiency and need quite some extra money to make this work. I will also work a little more aggressively towards providing more worth for being a supporter. The base game will stay free but additional features left and right will probably be for supporters only in some way or another. Adding ads for free users is also not off the table. Dealing with Google Ad Manager and getting a good ad network partnered with geotastic is a pain though, but I started an offensive in that regard as well.

The donations numbers were a bit troubling in January and February so I had to put up some warnings a couple of times during February. Being forced to do that is not a sign of a healthy and sustainable product. Adding more incentives for people to donate and get supporter benefits is key and I will work on that.

High score Hunt

Accumulating high scores is currently not really possible, that’s why I’m planing a special area for high score hunt modes where you can try to break your own high score and compare yourself to your friends and the whole geotastic community. I already started implementing this and I plan on releasing a big chunk of it this month. This will most likely be a feature for supporters only (with a way to try it out as a non supporter)

City Battle Royale

It’s almost time! There is not much left in terms of technical dependencies to actually roll out this new matchmaking mode and I will try open it up for testing very soon™

The biggest issue was the drop variety. Since cities usually have a good coverage, it’s possible to randomly let google choose a fitting panorama to show. The map editor did not support maps like this though, so some additional work had to be put in the map editor to allow for this new kind of drop. We already tested the new drop system in the Community Event of February and it seems to work fine! It was also published for everyone to use in their own maps as well.

Improving Client Hosting

One big issue is still left in regards to server performance: The client hosting. The hosting server is easily overwhelmed by too many requests in a short amount of time. I’m currently working on a solution that will deliver the game via AWS in hopes to make it as robust as possible without me having to worry about it anymore. I’m looking forward to implement it before the next Community Event (hopefully!)

That’s it for now folks! Feel free to join our discord if you like to talk about anything regarding geotastic and it’s development. We’re a friendly bunch :)

--

--

Eduard But

I love creating stuff, which includes art, software, games and music.