i juiced up the crude carpentry table: now it drops the items you craft, and materials involved in the crafting get a little animation. also it now shows the quantities of materials when you mouse over the crafting station for convenience

next is adding more items/recipes to the table to finish it out

i'm also gonna give splitting block game development into shorter (bi)weekly threads a shot. we'll see how that goes

#EniBlockGame #GameDev #IndieDev

RE: https://mastodon.gamedev.place/@eniko/115640571595780929

you can find the previous dev post here:

small change but on-screen overlays like crafting station material quantities are now sorted properly. took a bit of work to implement

this'll be nice to have later when there's multiplayer and nameplates and such

#EniBlockGame #GameDev #IndieDev

the first crude carpentry recipe is in! time to make some crude tables. they attach to each other to form various shapes and sizes! :3

#EniBlockGame #GameDev #IndieDev

doors are complex and we ran out of budget at block game development inc so you only get half a door and it's tidally locked to a single orientation, sorry

seriously though doors went from "oh this should be pretty easy" to "omg why is this so hard" SO QUICKLY

#EniBlockGame #GameDev #IndieDev

There is one thing that's making me reconsider "door in the middle of block" and instead doing it like minecraft, and that's what effect an open door would have on mob pathing since it's halfway between blocks and blocks travel between them

But I can probably work around it

#EniBlockGame

you can collide with entities (and so the door) now. took a while to figure out how to do efficiently

at the start of each tick, for each entity that has physics, collision boxes are stored for all collidable entities nearby. this prevents ordering issues and having to calculate collision boxes multiple times, which is expensive since it requires firing an event

atm its stored per chunk but i can go more fine grained later if it becomes a performance issue

#EniBlockGame #GameDev #IndieDev

@eniko no octree for collision optimization? Gosh I remember coding 2D physics without a physics engine and having to write my own space partitioner for static geometry.
@meluzzy i mean the chunk grid effectively is an octree? just. you know. single level
@meluzzy for static geometry (blocks) it only checks the blocks the entity's bounding box intersects with
@eniko that should work out for now. Until you add something that goes too fast, like arrows.