Howdy y'all, hope you've been doing well!
Lots of fun stuff to talk about today, starting off with an awesome announcement: my good friend, Alvaro De Abreu Ortega, has graciously agreed to join me in developing Woodbound, focusing on AI programming. Alvaro brings a wealth of programming knowledge, and shares my enthusiasm for stylized art & emergent, exploratory gameplay & development. I couldn't be happier to have him on board.
On to the blog, most recently I've stepped back from art development to focus more on gameplay elements.
I've added controller mapping to a handful of functions in-game. Things like movement & interaction can now be handled with a gamepad. I'll continue expanding the available input options to match what can be done with a keyboard and mouse, albeit tweaking things as necessary to work with a controller.
Several changes have been made to the character movement system, most notably the addition of animations, with some little bells and whistles like physical cloth, turn lean & simulated momentum.
Physical Object Interaction
A main point I'd really like to hit with the survival mechanics in Woodbound is object physicality & impact. When you go to place a campfire, you'll need to have the items needed to form it, like rocks, sticks and logs. These things won't just be tiled instances in a grid inventory, they're physical objects in the worldspace around you that you have to carry over to where you'd like your campfire to be. Lighting the campfire isn't as simple and walking up and pressing a button, you'll need to time strikes with rocks properly, accounting for the surrounding area, weather and wetness.
Even trees that you cut down provide their own physical challenges; you can't just chop down a tree and put the logs into some "pocket," you have to figure out a way to get the wood from where it is and what shape it is to where you want it to be and in what form to be used in. Building a house should present a serious challenge to a player who plays it solo, as cutting down a tree takes time, as does sectioning the logs, moving them to where the house is, crafting them into boards, and placing the boards individually. In tandem with time costs, hunger, thirst & sleep costs present themselves, and must be managed accordingly.
Stats & UI
I added a base pass to some UI elements, which include Health, Hunger, Thirst, and Sleep. I really dig smart UI that hides itself when it's not needed, so I added some steps to show/hide UI based on the camera zoom-in distance, as well as criticality of particular stats:
I know a lot of people don't really care for procedural generation, and I understand why, to some degree, but I think it's really neat and fun as hell to develop methods for, so I've been exploring it and testing how it could be used in Woodbound. The extent to which things will be made procedurally in the final product is obviously still very unclear, and will only be put forward if it's functional, looks nice, and doesn't mess up gameplay. I've already been doing some procedural stuff with tree spawning. I've expanded on it a bit to include volume identifiers for Alvaro's AI to look for when searching for things like forests, water sources and even animal herds, and I've added a couple basic spawn patterns for trees: cube, & sphere.
I've also been looking into generating NPC house layouts, which work hand in hand with village generation, for both architecture...
...and AI spawn & stat caching:
And most recently, I added a little module that spawns in sticks & rocks that can be picked up & moved, for things like campfire crafting. It procedurally places the objects around the player, removing instances that are a certain distance from the player and replacing them with new ones within a spawn bound.
Alvaro and I have had a lot of very long, very productive and exciting talks about AI, which is crucial to expand Woodbound's emergent gameplay & experience. Alvaro has been hard at work putting together the framework for an incredible AI system, and while I don't have any media for it just yet, I'm very excited for what he's cooking up. Be sure to follow Alvaro on Twitter if you haven't already.
I'm not stoked on the span of time that went by between this devlog and the last, so I'm going to resolve to stick to a monthly devlog schedule going forward. I've gotten back into the groove I had before, and I've been streaming development on Twitch every day for the past 12 days, and I intend to continue streaming as often as I can. If you're interested in how some of these things are built, what we're working on in between devlogs, or you just wanna say hi, stop on by, I typically stream from around 10pm to 2am PST. You can also see all of our source control commits by following @woodboundbot on Twitter.
Thank you to everyone who's been supportive and kind to me since I started sharing junk on Twitter. I'm really excited for what's ahead, and to showcase more of Woodbound as things progress. As always, if you have any questions or comments, you can use the comment section below, or email me using the contact form, or directly on Twitter.
Also, I just wanted to share, my friends made me this incredible gift, completely by hand: