Skip to content

Instantly share code, notes, and snippets.

@max-mapper
Last active December 14, 2015 01:58
Show Gist options
  • Save max-mapper/5009821 to your computer and use it in GitHub Desktop.
Save max-mapper/5009821 to your computer and use it in GitHub Desktop.
voxel-engine to-do list

major goal: "everything is just an object and voxel-engine just deals with keeping a list of objects for collisions" via voxel-chunks

pending:

  • voxels.createChunkRadiusStream().pipe(voxels.generateChunkStream()).pipe(game.voxels) for async chunk loading
  • switched to the culled mesher so that we can implement texture atlases, which will reduce draw calls by a ton
  • implement ambient occlusion after switching to the culled mesher

investigated/completed:

@vogonistic
Copy link

Voxels needs to be more than a type if we want to record data like state (open/closed), rotation (steps, fences). If we assume most blocks will not a have a state, we could just have a hash for lookup in each chunk.

@shama
Copy link

shama commented Feb 22, 2013

Oh and an easy one, we should all start using peerDependencies to specify the version of voxel-engine each module is compatible with. http://blog.nodejs.org/2013/02/07/peer-dependencies/

@timoxley
Copy link

timoxley commented Mar 7, 2013

meshing and terrain generation is expensive. move heavy loads out to web workers. A streaming interface between webworker and main thread could be cool

@jeromeetienne
Copy link

q. is there already way to get the items ? http://www.minecraftwiki.net/wiki/Items

@max-mapper
Copy link
Author

here is what @vogonistic does to load async chunks:

1. inserts an empty chunk (I assumed this would stop additional requests for it to be made)
2. requests the chunk to be generated (socket.io connection)
3. replaces the chunk with the generated one when it is done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment