Runtime terrain generation is fully functional now. This includes structures that span multiple chunks (in this video for example, there are towers that cross over 1 chunk boundary into another chunk boundary). Terrain chunks are 20x20x20, drawing chunks are 5x5x5. Terrain chunks are generated as your character moves into them, with a 2 chunk buffer around the character. So if you’re at coordinate 30,30,30, then the chunk you are in (1,1,1) is generated, and 2 chunks around it (chunks 0,0,0 to 3,3,3 inclusive) are also generated.
World is not infinite, but is 10,000 x 10,000 x 200 squares big. The only limitation on how large the world is is how small the drawing chunks are. The smaller the drawing chunk size, the larger the initial array has to be (currently, generating the 2000x2000x40 draw chunks takes 2 seconds upon starting the app). Increasing the drawing chunk size allows faster initialization or larger world, however, slightly decreases fps (5x5x5 seems optimal at this clutter density).
Also added wire drawing mode (press / to toggle between normal, wire only, and normal + wire).
Next steps is to make it slightly prettier (Any suggestions how to do so are very welcome). Some ideas I have are to draw borders/edges (like cell shading except not shading, just the edges), some ambient sky, some ambient music, some particles when you shoot the grappling hook.
jar (v4): http://www.java-gaming.org/user-generated-content/members/244457/kami4.jar
d–bDxh8Org
Xs7kDuIcpno