Here you can read about what I've been working on including screenshots.
Greatly improved the overall structure and made separated out most features into distinct, optional, crates. Also added a first mob, a simple crab, you can't really interact with it for now, but that will follow soon enough. I was mainly experimenting with ways on how to animate mobs. Here I tried just using sprite sheets, which I think turned out rather well.
Not much new to see for the last couple of days since I've mostly been improving the overall architecture of the code. But now I was finally able to properly embed V8 and as a test wrote some sort of snake automaton that produces some very interesting shapes.
Now itemdrops use an actual blockmesh, which is also shown to indicate the held item instead of the placeholder grenade. Also added simple shadows and code for dropping items on the floor.
Added a simple inventory/hotbar as well as code that automatically generates icons from the block definitions.
We now have item drops that can be collected, since we don't have an inventory they basically get destroyed though. Also used a voxel bag as a placeholder and I kinda like the look of it over the bland blocks.
Now one can mine blocks as one would expect coming from other games, different blocks already take different amounts of time to mine, but since there is no inventory yet one can't equip a pickaxe.
Finally improved the lighting system so it can go across chunk boundaries, while everthing looks much nicer now, performance has taken a serious dive. Should be fixable with some careful optimizations though.
2022-11-16 - Better worldgen and better hidden surface removal
Now every tree/bush/rock is a .vox asset that gets blitted into the world, I still need to implement some filters to make them look less uniform, though it already looks quite nice as is.
Fixed a couple of graphical glitches, and apart from that added 2 new tree models.
Added functionality so that .vox assets can be used during worldgen, tried it out with a tree I modeled in goxel in a couple minutes, so far everything looks very promising. Might look into adding distortiong filters to add a bit of variance.
Improved the landscape generator a bit, mainly less artifacts and nicer mountains.
Played around with the noise
crate and made a (hopefully) slightly more appealing
world generator.
Got around to building a crude health system and UI to show the current player's health, next up: fall damage.
And now we can import voxel meshes from .vox files that can be created with tools such as goxel. Since we are using the same meshgen function that's doing the world we get ambient occlusion as well.
Finally got around to adding a simple particle system so the exploding pears look less off. The effect of course looks slightly nicer animated :)
Now we automatically recalculate lightmaps/meshes as the underlying voxel data changes. In order to test this out the pears now explode on contact, leaving behind a nice crater.
Figured out why ambient occlusion wasn't working before, now things look much nicer.
Still very much a prototype, but we're getting there, the lightmap calculation is still incorrect quite often since it doesn't look at neighboring chunks yet.
Got flat shading to work, although there currently are no lightmaps, so I'm using a XOR test pattern for now.
The state of the rewrite 2 weeks in, quite content with the overall progress, still looks quite bad, but a lot of optimizations are already included in the voxel renderer.