Just as an FYI, I've kind of taken a detour down the rabbit hole, and I felt I should explain this a bit. As has been noted in the release notes, I'm doing a lot of work on making enemy behavior better:
http://arcengames.com/mediawiki/index.php?title=AVWW_-_Beta_Series_3_Release_Notes#Enemy_Behavior_UpgradesThat's been a really positive thing already, but basically I've had a wishlist of things to change internally to reduce bugs and increase sanity of this particular part of the codebase for months. The enemy AI section was, strangely enough, one of the crustier pieces of code in AVWW. There were a few things that hadn't been touched since the game was a top-down game, and which only sort of made sense lately. And we've been building ever-more-complex AI on top of that crusty foundation, which has mostly worked out well but which has caused us to be a lot slower with the more-complex AI because we're constantly fighting the crusty underlayer. Yuck.
So what I'm doing is really ripping this apart and putting it back together, minus the crusty underlayer. You wouldn't
believe how many bugs this has caused. At the same time, I'm making some changes in the physics engine that were frankly needed in order to give enemies more of a tactile sense -- and since the AI has to be adjusted to handle this, now seems as good a time as any for that.
This is kind of the end-all update for enemy AI/behavior for a while, with enemies now:
- Colliding with one another (and you) so they don't stack up like crazy.
- Being susceptible to water or lava depending on their type, and avoiding it.
- Not walking off cliffs.
- Behaving more sanely if they are a flying enemy (there is basically a "schizophrenia" bug that has crept in for these in the last months, and it's only become extra noticeable lately.
- Fixing some incredibly performance problems with some of the pathing flying enemies, like fairies, etc.
- Fixing some of the other physics issues like stuff stacking unnaturally, no longer being able to ride up crates, vents (and now buildings, in the latest internal builds) being underwater, etc.
This is a pretty painful transition, but my hope is to get this done by the end of Sunday at the latest, and then we still have plenty of time to iron out the kinks as we move into the last two weeks prior to 1.0. We also have three new mission types that are like 90% completed thanks to Keith, but I'm not sure if I'll have time to get those last 10% done by Monday or not. Fingers crossed there. But the premise of all this work is that by refactoring some key bits of code I hope to dramatically reduce a lot of bugs all throughout the game, and bring enemy AI to a new level at the same time. The AI is actually mostly there already, in my internal builds, but the amount of bugs this has caused has been dramatic, as I said. So right now I'm cleaning up that, plus more crustiness.
Some of the more hilarious bugs from recent internal builds (some already fixed, some not):
- Entire farmhouses seeding at the bottom of a pond.
- Rhinos riding on top of other rhinos.
- Rhinos "dancing" where they face each other and leap gleefully up in the air in time with one another (both wanting to pass the other but being unable to).
- Espers landing on rhinos and trapping them, where the rhino then spazzes out.
- Rhinos taking revenge on the espers (in a later build), and meleeing them (and other rhinos) to death.
- Skelebot dwarves leaping onto my head and standing there attacking me while standing on my shoulders. Or just leaping over me in a small hallway and going on with their business, circle-of-firing me as they go.
- Espers and amoebas changing their mind on where to go every second or so, leading to their ponderously slow wandering that doesn't take them very far (this affects a number of enemies in the current public build of the game, too, and is the "schizophrenia" I was referring to -- also related to the performance problems with pathing on the fairies).
Anyway, that's not a complete list of bugs that have been found and/or fixed, but those are just the funny ones. This set of changes has really been a source of those funny ones.
TLDR: My goal between now and the end of the weekend is to finish all this AI/physics rework, get things sparkling clean in that regard in solo and multiplayer, and then release a new version that solve a ton of longstanding requests and bugs all in one fell swoop. And which probably introduces a few new ones, which will hopefully be quicker to fix. And if I have time, finish the last bits of the three new mission types and get those in (one is a meteor shower mission, another one has to do with anachronisms, and another is called "perfect journey.").
After this batch of work is done, I'll have a lot more mental bandwidth to discuss other things, but right now this is pretty much consuming all my mental energy!