This shows the version from July 2014.
- basic camera controls
- basic player movement (no climbing)
- networking (bolt)
- random infinite world (only 3 blocks high for performance reasons)
20. September 2015 |
Here we are. New blog – first post.
Let’s use this to sum up what has happened up till now.
The very first version of the voxel engine was created at the end of 2012 by a group of colleges of mine in unity. I guess we started with Unity 3.something. At this time I wasn’t involved into any programming yet. The world had a fixed size and only one layer of blocks. The engine was used for a mobile game which sadly didn’t made it out to the public yet. You’ll find most infos still on
this page (edit: sorry, no longer there).
I guess my first real contribution was a system to combine all level meshes to one object to save drawcalls. I called it MeshCombin0r and it soon became a rich source of new tasks. At that time every peace of code was running on the main thread and you could notice when blocks changed by the annoying hiccup every time the mesh had to be recombined. The newest iteration of that system is just a few weeks old and I doubt that even a single line of code has survived from the first version I wrote over the Christmas holidays 2013. It runs now on multiple threads (like most of the heavy work of other systems) and works 1000 times faster.
At the beginning of 2013 we split our engine into two sub engines. A more generalized, higher level abstraction which was able to handle blocks and the other part for gameplay mechanics for Octolab what Dwarf Digger eventually became. The higher level “block-engine” became the seed of Dwarf Mines.
The production itself started in mid 2014 after a tough phase of network engine research and development. I developed a system which was capable of state replication but in the end I couldn’t overcome Unitys shortcomings (at that time) to build a real authorative solution. After all I decided not to build low level solutions for the game myself (like GUI or networking). So I choose bolt instead.
I’m still glad I did.
The game is now able to produce randomly created worlds based on specific rules you can visually setup in the unity editor. It’s possible to place and destroy structures. There is an inventory system capable of all the usual stuff and even the exchange of bags with content like the ArmA games use it. You have a gta3 like camera navigation expanded with some tricks to work even under ground in close quarters.
What’s up next?
Now comes the fun but difficult task of implementing all the gameplay mechanics. Also the interface needs to be made even though it’s already working from the technical side. And a few core features which are still bit tough to get right (I just say “global pathfinding”).
Over the next weeks and month I’ll outline some of the components which are already on duty and of course talk about new concepts and developments.