Oh Todd… why do you leave temporary rooms?
So, in the course of creating our SW:TOR bot, we’ve finally hit our major roadblock. Navigation.
While we’ve dealt with navigation in a few different ways, we’re eager to ensure our new product launches with proper navigation right off the bat. Nobody likes having to run around and create meshes, and it really hinders development when we have to spend more time creating a mesh, than actually testing things.
Over the course of about a month, we’ve made far strides into getting a proper Honorbuddy style mesh working. At the moment, we’ve got most of the terrain dumping working (there are still some really “fun” things left to do, such as figure out why certain areas are blocked off in the heightmaps, as well as room loading issues.) Long story short; we’re getting closer and closer to a full-world terrain viewer every day.
The following is a quick snapshot of the exterior to the Sith starting area’s “main hub” (the big building where you get most of your class quests, etc).
As you can see, we’ve gotten most things finished. Including seeing Todd’s little temporary room for audio! Silly Todd, why do you leave temporary rooms in released games!?
All things aside, I have to give credit where credit is due. Our two developers who have been working on this stuff for weeks (who’s names I’ll leave intentionally out, until they want to be included) have reversed basically all this info from scratch. The game engine uses a custom file format of Granny 3D which has support for more things, as well as some compatibility for the engine’s internals.
Expect to see some more images later with (hopefully) the meshes included!
Star Wars: The Old Republic… and botting
Well, people are already ranting and raving about SWTOR, and with good reason. The game is incredibly addicting, very well polished for still being in beta, and just plain fun to play. Story wise, its the most engaging of any MMO to date (holy hell are the story lines awesome).
That said, the game itself is going to be quite difficult to bot. Bioware has done one great thing to the game, which I love, and hate at the same time. They’ve removed nearly all grinding from the game. Plain and simple. As a gamer, I love it. As a bot writer, I hate it. More on that later…
First things first, we’ve put in quite a bit of time fleshing out how the game works, how we’re going to pull info, etc. So far, we can do whatever we want with the game. Literally. That said, there are a few things that need to be taken into account. With the vast numbers of things available to us, and stuff we need to “replicate”, its no small job to wrap all the stuff in a usable, bot-friendly API. (And developer friendly for that matter) We have a good bit of access to the game engine at this point, so we’re down to wrapping things that we need, finding other stuff, and the like. All the tedious, time-consuming things. (If any of you have done any API wrapping for WoW, think of game object descriptors, and how tedious they are to wrap. Then multiply that by a good 100x. Then multiply that by another 5 and you’re at roughly 1/2 of what’s required.)
So, tedious details aside. On to the actual bot part!
I won’t be going into details as far as combat goes, as we’ll likely be keeping a similar format as we have with Honorbuddy, as its really a great design. It allows us to plug-n-play combat routines, allows 3rd party developers to utilize any combat routine with a few lines of code, and also makes sure users don’t see a ton of different behaviors between different “bots”.
Combat aside, the big “issue” we’re going to have in the SWTOR bot (name yet to be revealed!) is going to be handling questing. Some people like the way Honorbuddy does it (personally, I don’t), some like the way Ryftomate does it (I absolutely hate that). So we’ll be spending some time figuring out the best way to deal with “large-scale” quest profiles. And attempt to write some tools to make creating those profiles easier (no promises). Any input here would be awesome
We’re throwing around the idea of just having all quest profiles be a giant behavior-tree of very, very, high-level logic. Again though, nothing is set in stone. We need to come up with an easy to use format, but also very flexible, and extensible.
Navigation wise, we can do Honorbuddy-style navigation (full world meshes), however we feel its a bit too “buggy” for a newer game. I won’t be going into much detail on this, but you can expect some solution in the way of user-generated meshes with some extra stuff to allow “blackspots” etc for when the bot eventually wanders off the beaten path to do something it has to.
As far as 3rd party bots, plugins, etc, go. I’m happy to announce, you’ll all be very happy.
I won’t go into more detail for right now, but stay tuned and you’ll see more API examples, and the robustness I have planned for the new bot.
Archives
- January 2012 (1)
- November 2011 (1)
