Block Engine

Home --> Programming Projects --> Block Engine
History History of this engine / past collaboration with Zach Barth
Infinifrag 2 Some more information and pictures of my collaboration with Zach Barth
Storing Blocks Method Fractal Block World uses to store the blocks in a chunk
Block Merger Simple program that merges individual blocks into boxes of blocks
Quad Algorithm One of the fundamental algorithms for rendering "Block Worlds"
Int and Ext Squares Internal and external squares of a chunk
Meshes Technical issues involving meshes and texture coordinates
Map Exterior Hiding Algorithm to make exterior of an indoor map invisible
Ray Algorithm Shooting a ray into a block world
Cylinder Col Det Cylinder-block collision detection
Lighting Some lighting techniques
Videos Some videos

By a "block engine", I mean an engine used for a Block Based Game (Infiniminer, Minecraft, etc). As a hobby, I have been working on code for a first person shooter block based game, now called "Block Arena", sporadically ever since 2007. The code goes way back to the early days of these block games (some of it is the engine stuff I wrote for Infinifrag 2, a predecessor of Infiniminer intended to be a first person shooter with the block building mechanic that never saw the light of day). I have written up various ideas that are involved with these sorts of engines which will hopefully be of use to anyone on the great and noble quest to make a block based game.

An example of a block level being rendered, showing the quad decomposition, can be seen below: