Because yes, I used to love Minecraft, a great game, but after years of intermittently playing it, I discovered I wasn't able to play it the way I want. Specifically, I only like playing vanilla multiplayer with other people, but the original game lacks any misbehavior protection: no parcel or chests protection, and very easy to cheat! Also, it is too heavy on hardware, especially on disk IO. It constantly reads and writes humongous amounts of data to the disk, making it a laggy game and causing premature wear on the storage device. This, combined with heavy CPU usage... You cannot place a little button and a torch or a redstone path in the same 1x1x1 block space, even if they logically can fit the same space. A technical limitation, hard to overcome, deeply embedded into the game code, present since the very dawn of the game...
Yes, there are mods, custom server software, and whatnot, but those hacks are not perfect and constantly break or are outright not compatible with the (frequently released) new versions. And me, being the programmer that I am, decided to fix all this. Minecraft modding was out of the question. I decided to make my own game in Unity3D, but soon after I started I found out that, while easy to use and fast to develop on, it was quite resource-heavy for the kind of game I want to make, so I discarded it in favor of making my own 3D C++ engine. I learned low-level OpenGL and begun development. I tried some C/C++ libraries to ease the task but found them limiting. Not so much like Unity, but still hard to work around their quirks to get them working the way I want. I Even discarded the idea of using a ready-to-use physics library due to network sync issues and the somewhat special way of the engine to work (namely having a different, independently-paced thread for game logic, and another one for graphics and input processing). After like a year of development I even decided to ditch C++ in favor of C. And finally, I feel like this project is on the right track!
- Survival: Wake up alone and equipped with your bare hands, get some resources, fight feral enemies, build a shelter... Later in the game, build an entire empire!
- Exploration: Infinite, procedural-generated landscape, all alive and filled with details. Also has multiple dimensions.
- Cooperation (or competition!): Play with your friends or strangers over LAN or Internet. Survive and thrive together, or go on and fight for resources!
- NPC system: Don't be too alone in single-player, and get some extra help in multiplayer. Make some NPC friends, get them to help you in your crusades, resource gathering, or building!
- Familiar game: Good and interesting for all ages.
- Lua mod support: Write highly-compatible mods without a heavy SDK or IDE, even from your phone!
- Open-source (GNU/GPL): At the heart of this game is the idea of having fun with friends for free, no matter what hardware they have. And for (not too much) more advanced players, they should not be stopped from modifying and improving the game and sharing the results with the world.
- C engine: Because this game has highly specific requirements, and any game engine inflexibility would be a hindrance. Even C++ proved to be a bit too complicated to use correctly. Good old C is the right tool for the job, it enables customizing every aspect of the game.
- Cross-platform: Available in Windows, GNU/Linux, and Android. Apple is too exclusive and limiting for a game like this
- Low hardware requirements. C language is not for the faint of heart, but it is worth it if you will be able to play with any cheap Chinese tablet or make a decent server with your dusty 10-year old laptop. And if you have the latest and greatest hardware, you will be able to display a great, beautiful voxel world in all its glory!
Currently, these are the target hardware and software requirements:
- OS: Windows Vista or later, Android 4.3 or later, any recent Linux distribution.
- CPU: For Windows and GNU/Linux: x86 or x86_64. For Android: ARMv7-a, ARM64, x86 or x86_64.
- GPU: Any supporting OpenGL 3.3 (desktop platforms) or OpenGL/ES 3.0 (mobile platforms).
- RAM: Depends on how you're going to play. Currently, it is thought, assuming a low-end scenario (no dedicated GPU memory, connected to a remote server, low render distance), somewhere around 256 MB maximum.
- Storage: Enough to store your worlds. The more the players explore, the more the requirement. It's not yet possible to give an accurate estimation.
- Input: Mouse and keyboard, generic and proprietary game controllers, all supported even in Android. Rumble is supported on game controllers and Android devices!
¶ Help me, I'm not a techie and I don't understand what all that means!
Relax, all what that means is, virtually every device a regular and modern person would want to use for playing the game is supported.
Sometime In The Future©. The game and its code are not yet ready to be released to the public. Because I feel like it's still not interesting to watch running, and the code is a mess.