GeoMechanic is an open-world sandbox game where the user can modify the world and create arbitrary constructions. It was the flagship project of Upvoid, a startup specializing in smooth 3D voxel technology that I co-founded.
Overview
GeoMechanic is a sandbox game that can best be summarized as a hybrid between Garry’s Mod and Minecraft. The player is placed in an infinitely large world with fully destructible terrain. He can dig into the terrain and reshape the terrain into new structures like buildings. Additionally, the player can combine mechanic components to create machines, vehicles, and all kinds of contraptions. The video below gives an overview of the game’s features.
GeoMechanic Alpha Trailer
The code consists of more than 2,000,000 lines of code, created in about 7,000 commits. My work on this project includes many different topics. I was especially involved in the rendering, the interface between the engine (C++) and the game logic (.NET), and the procedural world generation. Additionally, I was responsible for a large portion of the administrative tasks, i.e. project management, financial planning, negotiations with customers, communication with officials, marketing, et cetera.
UpvoidMiner
On the project website, you can download UpvoidMiner, a tech demo that is based on the same engine. We released this tech demo for free about one year before the first release of GeoMechanic to get some first feedback from players.
UpvoidMiner Trailer
Technical Details
The game and the engine were both developed completely on our own. The project contains dozens of interesting features. Some of the most notable are:
- A solid engine architecture designed to squeeze as much performance out of multi-core systems as possible, including a clever scheduling system that allows parallel processing of different tasks without locking memory or resources.
- Smooth destructible voxel terrain technology that is still not matched by the quality of competitive software
- Top-notch 3d rendering with physically-based rendering and an intelligent, self-optimizing post-processing pipeline.
- A world-generation that simulates tectonics and weather effects to create a convincing virtual world.
Project History
Upvoid was founded with the goal of creating an open-world game with smooth destructible voxel terrain. Starting in 2013, we began development of a game engine which would provide us with the required features. At the time, there was no competitive software providing this kind of technology. Writing the engine required a huge amount of experience in geometry processing and general software engineering skills in order to process the huge amounts of data that were necessary to render a smooth voxel terrain surface in real-time.
After a few months of development, we released a free alpha version of our tech demo UpvoidMiner that caught some attention in the German press (for example, on golem.de or PC-Games). This alpha version was downloaded more than 10,000 times on the first weekend and left us with an optimistic view on the future of the overall project.
The development of the engine and GeoMechanic as the flagship project took until early 2015. At that time we released a first playable alpha that we tried to sell. Unfortunately (for us), by then there were already lots of other sandbox games (for example, Medieval Engineers or Everquest Landmark). Our goal was to license our technology to other developers, but competitive engines had already entered the market, providing a smooth voxel technology similar to the one we were developing.
After the second alpha release in May 2015, the sales were not looking good and the general interest from customers and press was declining. Given the bad outlooks of the future of the project, we decided to cancel the project.
This is one of the most challenging projects I have worked on. I invested thousands of work hours in the project. The abandonment of the development left a bitter taste, but I am convinced that stopping the development was the right decision and am happy about the incredibly valuable experience I gained during the development, which ranged from obvious things like project and team management to the organizational aspects of running a company and negotiations with employees, customers, financial investors and contractors.