There’s about to be a boom of indie games that take the voxel-based building we love in Minecraft to space—opening up the ability to build shuttles, explore planets, and soar through the galaxy. Notch, himself, is working on one such game, 0x10c, and there are others with different takes on similar concepts, such as Rodina.
StarMade, is among these titles, but with a different approach. The focus of this one is on space combat, and its current alpha version is the product of years spent creating indie games.
The story starts about eight years ago, when StarMade’s Germany-based developer Robin Promesberger was trying to run Command & Conquer on his computer. “It kept crashing, so I though naively, that ‘Well, I can just make that game myself in a few weeks.’”
“I was never more wrong in my life, and I had to find out the hard way, how hard it is to make complex games,” he said.
He didn’t give up though. He turned from 2D sprites to an OpenGL engine that let him load higher quality 3D images into the game. “I always loved the Idea of letting the player create his own world within a game. So my game drifted from a C&C remake to it’s own idea, where the player could compose his own units and buildings,” Promesberger said.
“But as StarCraft 2 was announced, I realized that I would never be able to provide enough content to make such a game work on my own. So I put the game to rest,” he said.
He moved away from making indie games for a bit, but this didn’t last. “After seeing that most modern games feel kind of small and linear, my urge to create real freedom in a game grew again.”
“I finally had the Idea to make a space exploration game, where you could visit infinite worlds,” he said.
His goal was simple: “Create a system where players can build their ships without any restrictions and let them be able to fight each other.”
How to do this was a different point in itself, though. Originally, he was looking at using procedurally generated planets and systems, but he was also toying with a concept to use LEGO-like pieces that let players create their own ships and buildings.
“This was about 6 month before I first heard of Minecraft,” he said. “I was shocked, that the Idea of just using blocks was so simple and yet so much more elegant than using pre-made complex building parts. I didn’t even play Minecraft once before I started adapting this idea to my project.”
From the start though, he wanted StarMade to revolve around multiplayer, and he notes, “My experience from past projects showed, that if you make a multiplayer game, it has to be designed for multiplayer from the start.”
He started by implementing his own Network protocol, which he optimized to fit what was needed, “but versatile enough to transfer a highly complex game logic,” he said.
“Then, after countless hours of implementing and optimizing cube structures, I started to integrate real physics in the game,” he said. “There was always the cheap way, where you just would make an invisible bubble around each structure to simulate physics.”
“I always approach my game from the player’s position, and I would have been disappointed playing such a game and not being able to fly through or crash into other structures.”
Since he wanted players to have fun with the in-game destruction, he looked to the jBullet engine, but even this needed some work. “There were no other information of games that actually pulled of a full cube-structure collision capability. So I took the physics, and went deep into it’s core to eventually ‘hack’ together a system, where the outer engine still worked as it was, but cube-on-anything collisions were fast and reliable,” he said.
The initial development is done, and the game is currently playable. But there’s still a long road ahead.
Promesberger said his next goals are to add more modules players can build ships with, and refine the gameplay.
“I always try to give each module a function. ‘Decoration’ modules will always have less priority, since it’s just content that doesn’t influence the game,” he said. “On the other hand I will make the universe bigger—adding more systems and structures, so the player can explore an endless world.”
He added, “My next immediate goal is towards a LoL/DOTA like system, where there are two systems, where two teams spawn, with lots of systems in between and AI mobs (which are already in the game) that help the team to conquer all the systems to eventually destroy the enemy base.”