You can take a look at our initial research at the Milestone 1 page, but here is the updated research and planning.
Voxels will be stored in chucks. Chucks is an area consisting of voxels, pre-calculated what will be rendered from those voxels. When a voxel is added or removed the chuck, which the voxel is contained, will re rebuilt with the correct information for rendering. That information is saved so it do not need to be updated again.
Many of other voxel projects have problems with it running slowly on most systems, so while we don’t prioritize optimization early on, we decided we would have our code data oriented rather than object oriented. Changing it later would only make it a hassle. We will use our own custom arrays to store the voxels and chucks.
Otherwise it seams there is no more research needed, unless we encounter a problem further in the project.
Planning phase is over. You can check the results over at milestones page.
There has been slight modofications to our original idea, but nothing that will have any major impact on the project.
We will gradually update the work so far page so you can see actual work on our project in the form of screenshots.
Welcome to our blog!
The first stage of planning has begun. A new blog post will come in a few days. with the details of our plans.
Project plans so far:
We will create a voxeliezed graphics engine. The said engine will render a terrain with voxels. The level editor can create and modify the terrain and later to be saved and loaded.
An exporter to export our level to a polygonal wavefront obj file. The obj file should be able to be opened with Blender and Maya.
The graphics engine should handle lightning, shadows and textures.
The voxels should be smoothed to avoid making it look so blocky.
Level editor features:
Add light position.
A paintbrush with different size that can add and remove voxels, and apply textures to voxels.