We’re incredibly pressed for time today, so sadly this final daily post may not be the detailed and frankly hilarious post you’ve come to expect. If you’re just tuning into this blogstravaganza, here are some links you might want to check out.
Yesterday we provided some insight into the other things we like to spend our time doing, such as getting crafty, and subtly implied that we’d be returning to the dev-related today. If you guessed that today’s much anticipated topic is Robotology, you totally get 28 points.
We generally tend to vacillate between supreme confidence and terrifying anxiety about this game. Despite months and months of work, it’s still nowhere near complete, but at the same time we’ve managed to get most of the vital parts figured out. Many of these systems are currently up and running, and we’ve learned a lot in the process.
Our roadmap for the next few months is basically “crunch crunch crunch” (mmm! sounds so delicious.) trying to get something complete for the IGF deadline, and then crunch some more trying to get something finished for the end of the year (our hard deadline with the sincerely wonderful OMDC). We also need to wrap up the Office Yeti prototype.
In order to meet these deadlines, we’ve spent the past week getting organized so that we can properly apply some sort of triage to the remaining tasks (we are getting so good at triage). Previously we simply had lists of tasks in no particular order, broken up only by topic (i.e graphics, editor, bugs, etc) which we would trawl through randomly to find the next problem to work on; now we have a nice hierarchical series of tasks which has been sorted according to priority vis-a-vis our deadlines.
This was a somewhat depressing process, since it required cutting features entirely, and postponing others for the foreseeable future; still, it was ultimately worthwhile since we now know exactly what we have to do in the immediate future, and moreover we know we can get it all done.
So what specifically are we working on now? We’ve been stuck on control and animation for a while; basically we have a great simulator which lets us model motorized contraptions, but we now need to add AI/logic which drives the motors in order to accomplish things. From the high-level AI architecture to the low-level motor control, this is a problem which isn’t very well documented — most people seem to be content to have dynamics-based animation systems which amount to ragdolls following keyframe animation data, and leave it at that.
This is itself is far from trivial to get working, but even harder is figuring out some way to add feedback to the system, so that the ragdoll isn’t being dragged forward blindly by animation playback, but is instead controlled by a system which takes the current state of the ragdoll into account.
Of course, once we do find a working strategy, the real challenge will be to develop it into a flexible solution that can be applied to the various types of mechanisms we want to control — we don’t want to have to hand-code control systems from the ground up for each type of robot or moving object! Yikes. Ideally we’ll be able to plug together pre-existing control components to create each robot’s control system; barring that, we’ll have a set of common control functionality/utilities and then we’ll write each controller by hand using this “toolbox” rather than from scratch. Still better than nothing!
Aside from control, our other immediate task is getting a proper graphics system up and running. We have various prototypes which demonstrate that our basic ideas work, but we need to take these and create a proper rendering pipeline. This would be a relatively straightforward problem, except for our complete ignorance of how graphics systems are typically organized — we’re used to having this problem already taken care of by the Flash runtime, so we have no idea where to even begin.
Anyway, that’s about all we have time to get into right now, unfortunately! We really can’t wait to write up some tutorials on everything we’ve learned, but of course that will be a while since we need to get the actual game done first 😀
And so ends the legendary blogathon. We accomplished pretty much what we set out to, namely to get you readers up to date on where we’re at, and to give our abysmal blog posting statistics a much-needed kick in the ass. We’ll be back in the not-too-distant future with more news about Robotology, hopefully with some more video or screenshots so you can see how things are progressing along with the explanation.
That’s it for now! Thanks for reading, and for all your comments — we really appreciate it.