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.