March 20, 2020
Here’s what I’ve been up to this week:
Enemy Variant: Brute
I used the base enemy that I created last week as a template for creating a ‘brute’ enemy variant. It has similar behaviour to the base version, but is a lone agent that attacks targets - both players and also other enemies/NPCs - by charging at them and knocking them flying. If it collides with the world while charging then it will destroy a bunch of voxels on impact and also has the possibility of being temporarily stunned. Here’s a quick vid of the brute in action:
As you can see from the gif above, voxels are being destroyed by collisions and some block types - if they are flagged to do so - can collapse as well. I also created a projectile that destroys/damages voxels within a certain radius on impact. You can see a video of that here:
Another thing that I’ve been working on is improving the base biome to feel a bit more natural and interesting to look at. Voxel terrain can sometimes feel repetitive/noisy etc. and feel too random as a result. It’s a bit like the difference between using a filter to pixelate a photo vs. painting pixel art of a landscape.
Image credit: David Byttow
So, I’m trying to break up the procedural landscape with handmade terrain assets. These are a mixture of screenshots and paintovers of the process:
I constructed these pine tree models using an external voxel editor and custom mesh parts for the trunk and leaf components. The trunks are generated using randomized pieces so when they get populated in the world, the placement of branches looks varied and natural. They populate as a forest within the environment, but you can also build trees yourself using these random trunk pieces:
I’m planning to work on aspects of the ‘supply and demand’ design elements next week. I want to create some simple crafting recipes and go through the process of gathering materials, crafting items and then placing them in storage/a player’s shop.