So, this is my second serious attempt to create my own game. The first one seemed promising at the beginning, but eventually I became somewhat disappointed with it, for different reasons, mainly because of too big scope for a first game. (Some day I might revisit it though.)
Now, I have a high-level understanding about what this new game is going to be, but I haven’t yet decided what subset of ideas that I have I want to include in that game. Will write about it later.
What I definitely know, is that I want to use a voxel engine for this game; the simplest, blocky variety of it, not Marching Cubes or something. (Don’t even mention Minecraft, you! I’m not going to implement neither mining nor crafting!)
Why voxels? Well, for a couple of reasons.
First, I like them as a programmer: it’s a good choice for randomly generated areas, which I need for my game. Heightmaps are dull and their use is very limited when creating indoor areas, caves etc. Marching Cubes are nice, I played with them a bit and managed to get a working implementation (see this great paper if you’re interested in such kind of stuff), but it’s way too much work compared with cubes, I’m not ready for that. Cubic voxels, however, are relatively easy to program, and there is a lot of useful information out there about various implementation details. For example, this thread at Unity forums has been very inspirational.
Second, I just like them. They can even be beautiful when done properly: take a look at Cube World for example, It’s amazing!
Another reason is art assets. I’m going to design areas and create all models myself, but I’m not an artist, and while I can learn how to use traditional 3D modelling tools such as Blender, it will take too much time with questionable results. On the other hand, I spent some time creating models in voxel editors (I especially liked Qubicle Constructor, I think I’m going to buy its Unity Edition) and I liked both the process of “drawing” in 3D and the results I’ve got. I could use voxel models with any kind of engine, of course, but voxel terrain is the most natural environment for them, obviously.