Candy for your eyeballs…

February 9th, 2010

Yeah, I’m well beyond apologizing for not updating the website as much as it should be- priorities, people! But I figured it was time to blog and show off some screenshots of what’s going on in the development of Epic Frontiers…

For starters, a demo was hosted in November and December, to generally positive feedback from the interested parties who participated. Being conservative with a team that is new, they’re holding off for a larger slice of the world to play in, which we’re happy to oblige with. This is normal business stuff, and I can’t go into any more detail than that, but in the meantime, there are plenty of other details we can go into:

Early demo tent city inside Ris'Hebbik

Early demo tent city inside Ris'Hebbik

As you can see, our art style is coming along very nicely, and even in this older shot you can see a few of the new style icons replacing my own stick-figure placeholders. The scene is an early layout for the caravan tents that occupy several corners of the old city of Ris’Hebbik, holding items for sale from all over the planet of Chi’Hamak, not to mention elsewhere.

Ris'Hebbik

Early layout for Ris'Hebbik

With the demo, we created not only a small portion of the game, but we chose an area that would be very hard on our team- one of the cities. Development-wise, this is a baptism by fire, a stress test of our team’s ability to accomplish big things. Because, let’s face it, an MMO is a big thing!

We hit some crunch, as evidenced in my last blog, and that lasted for a few weeks, along with intensive meetings and work, and we were able to host the small zone for play, resulting in the second paragraph of this here blog. While we awaited that feedback, we relaxed a bit, since the holidays were upon us, and we applied lessons learned from that battle so that our asset pipeline was easier on us moving forward. Off the top of my head, we had close to a dozen changes to the way we approached the art pipeline across every discipline, from concept, modeling, texturing, animation, all the way through to placing those assets in the game. There were also loads of lessons learned on the development end in regards to database work, the server, coordinating meetings and people, and so on, etc.

But in the end, it was worth it and we had a demo that, while not as great as we could have ever hoped (I think every developer has that moment when putting something out the door for a deadline: “wish I had enough time to do more with XYZ”), was enough to get noticed and let us know that we’re not the only ones that think we’re on to something.

So, where are we now? Here’s a quick shot of some terrain painting for the Ris’Hebbik zone:

Ris'Hebbik in the distance

The city of Ris'Hebbik in the distance...

The zones are approximately 2km x 2km each, which makes for a huge amount of terrain to cover in the game- not to mention populate, but those are some of the lessons we’ve learned during the demo. The areas pictured above are mossy, rocky hills surrounding Ris’Hebbik used by local farmers to graze their shank goats (when not being run off by the larger and less mild-mannered Bony Chargers).

The next Epic Frontiers blog will cover our particular zoning functionality and show off the new Ris’Hebbik layout, as well as some development shots of the neighboring zones. Stay tuned!

Crunchy demos

October 30th, 2009

It’s been a long time- I don’t even know where to start, so we’ll do this in a categorized rather than chronological order…

The Demo: My last blog was posted a day before my birthday, on September 19th, and during that time, I’ve accrued a team of very talented and dedicated guys and girls who are putting equally nice artwork into the game. Using contacts that I made at Austin GDC, I’m also able to bring motion-capture animation into the game through Mixamo. Having met a really good concept artist in Austin, I was also able to create and distribute a thousand fliers at VGXPO in Philly three weeks ago, bringing in a modest bump in web traffic. This effort will be replicated for the various Comic Cons that roll through New York next year, each one bringing in thousands of people (as opposed to VGXPO which brought in maybe one or two thousand in total).

At the same time, I’ve moved the database to a test server- an XP machine that sits on my desktop and does nothing else, except maybe drip liquid coolant onto the RAID array now and then (that reminds me, I need a CPU fan). We’ve had team members from as far away as Ireland log into the game and test while, ironically, one of our guys just 50 blocks south of me in Brooklyn wasn’t able to get on. This allowed me to crush a bunch of bugs that popped up only under online conditions.

Next, we’ve started moving the behavioral AI into the game and testing that, which continues today. We have the beginnings of a rotating overhead mini-map (not ready as a resource yet), and we’ve almost solved the mouselook-and-select-objects issues that dog many people (that is also not yet ready as a resource- it’s kind of spongy right now). Drag and drop functionality is back in and we’ll be adding some crafting recipes and materials this week coming up, and mission generation is also coming online.

And finally… Outsourcing. Because of the time-crunch and the failure to get as many 3D artists as I would have liked, I’ve resorted to outsourcing some tasks. It’s not because I have deep pockets, but because the demo tasks need to get done. In any event, I have some advice for would-be outsourcing/contracting people reading this: Don’t promise anything you don’t know how to deliver. I’m not about to mention names, because mistakes become past mistakes quickly and though I wound up canning the contractor, it doesn’t mean their work doesn’t get better. In fact, the modeling and texturing was done very well, but the client doesn’t need to hear about your internal problems. Be a black box for me, would you? Thanks.

So, we’re in the final two-week-stretch here, and I’m starting to work from about 9am to about 1am every night, with a few hours dedicated to my girlfriend most nights, but otherwise huddled over the laptop beating my head against walls until they crumble. And far from technical, I need to work on budgets and project timelines for the prospective publisher as well- they do like to know how much money and time a project will cost them. If any of you wannabe MMO creators out there hate business, then you better learn to love it, and fast, too.

AI: What can I say? Interrogative is no more. In fact, it is more. Having started to morph from a feature for the MMO into something that can be used generically for games, into something that I’m intending to throw at the Turing Test competition, and even beyond (shhhh), the name Interrogative is no longer proper. Hierarchical opinion-based knowledge representation systems using generalized pre-compiled dialog along with dynamically-created dialog with interrogative and natural language processing front-ends is no longer what Interrogative is or was. It’s not even tested yet, but the theories are there, and having run it past a number of industry heavies, I can confidently say that I’m on the right track with my experiments.

At the lower level of things, Interrogative is alive and well in Epic Frontiers, and we have about a dozen new conversation keywords and dialog sets to throw into the system for testing. After that, proper changes will be made to support the Infidel opinion-based architecture we want to implement, which will allow the game to support the players changing the minds of AI, as well as AI reactions to players and other AI who do not share their own opinions (hence the name Infidel, which means “non-believer” and can be applied to anyone who does not share your belief in whatever subject you feel passionately about).

With all this AI tech springing to mind, I’m thinking about spinning off a company to hold all that technology, so that I can continue to develop it without interference from video game contracts and such…

GameX Summit: Well, the last conference I attended for the year was just great! Met up with Dave Mark, Mike Worth, and many others and had a great time. For a first-time summit, the mistakes were minor, and the recovery from them pretty swift.

Unfortunately for me, the students that showed up were almost all design students, and not artists, as I was hoping, for recruitment sake. That said, I also met a lot more people interested in AI, and attended a couple of mind-blowing sessions by people such as Clint Hocking, Dave Mark and Kevin Dill, Damian Isla, and Mike Worth, whose audio session simply rocked.

The only real downside to the conference was getting lost. I don’t know what it is about the Pennsylvania hillside, but I’ll be damned if I didn’t wind up in the Valley Forge National Park at 11:30pm one night staring at over twenty deer in my headlights. And it wasn’t that “ZOMG what kind of car is that” stare, but the “dude, this park belongs to us after dark” stare… Interesting area. But the food out there is pretty good.

That’s about it for the blog for now. The next blog will have more eye-candy ;)

, , , , , , , , , , , , , , , ,

Killing Noob

August 14th, 2009

Michael Hartman just wrote up a fantastic blog about MMO elitism among communities. It was so good that a few rather “special” individuals showed up to trash him just for suggesting that the tired DikuMUD framework is, well… tired. I feel a bit of solidarity with him regarding this subject, since Epic Frontiers is trying to break out of the DikuMUD mold with features such as NPC conversation which requires a more delicate touch than just bashing an NPC or MOB over the head until gold and loot come flying out of its ass (oh come on, did you really think the bear had a coin purse it kept that money in?)…

So the subject of this blog, inspired by Muckbeast, is how Epic Frontiers may differ from other MMOs such as WoW and social features we’re working on in order to further improve the signal-to-noise ratio in our community…

In brief, the problem with MMO elitism is that it’s based on the fact that the design of the game segregates players from each other by level, in effect giving communities little choice but to reflect their gameplay in their social interactions. And because a high-level player is impacted by interacting with new players with stagnation, the communities of these games becomes stratified and negative towards players that attempt interacting with them and inducing “drag”.

Starting at Level 1, a new player can never hope to accompany a veteran Level 80 player on an adventure. But isn’t that the problem? Adventure means being in over your head

The standard response is that those veteran Level 80 players don’t bother playing with noobs because they’re busy playing “End Game” content. But, why is there “End Game” content anyway? Could it be because the levelling system designed into present-day MMOs is insufficient to accurately represent a player over the intended lifespand of the game? These days, it takes a few weeks to level your character up to the max level in World of Warcraft, if you’re inclined to read through the many levelling guides posted on teh interwebs.

But then, if that is part of the problem, then how can Epic Frontiers try to minimize it? Glad you asked. There’s a few things we’ve done with the design to keep players interesting in the gameworld that will most likely help the community stay fresh (imagine sheets on a clothesline in a summer breeze):

  • Firstly, we have no classes or levels, and all skills are raised upon use. And while the skills themselves have levels, the granularity of “skills” is such that characters can be highly specialized and varied.
  • Owing to the skill-based nature of the game outlined above, we found that procedural content was a good tool to use in order to provide content that matches the kind of player you are. Or, put another way, it is simply impossible to handwrite quests for every combination of character you have, but we are putting technology in place that can deliver the same quality of questing across a broader spectrum of character types.
  • In addition, we’ve deepend the crafting features and added a fast and unique NPC conversation system that also lends itself to the quest generation technology in a way that not only gives the player vast amounts of fresh content, but also delivers a much broader spetrum of gameplay. Now we can have quests of a social nature that involve NPCs at a level you haven’t seen before. This kind of thing naturally allows the player to slide into character and out of the temptation to act out (after all, the NPCs will remember your general personality at a more detailed level than just reputation).
  • We’ve improved AI for the NPCs and based it on personality traits. Extending that, the NPCs will also be looking at the players in like fashion, and if the player acts like a moron, he will likely be remembered and treated as such. The NPC will remember what you’ve talked about, how it made them feel, and that influences further help or hinderance you receive from them. The world is much more consequential than the usual MMO, and we think that the players will more naturally align their attitudes with that kind of gameplay (that said, we know it’s not a perfect answer, because there is no perfect answer for the problem).
  • Beyond game features themselves, we’re keen on integrating social features into the MMO that bring social networking tools into the hands of the players. This doesn’t mean tweens with MySpace pages invading the game, but character pages with social functions that help the players to play together, bond, communicate, and have fun without taking the focus away from the gameworld. These features of course come with the standard reporting tools on both the web-facing part of the game and extending into the game world itself, to help curb inappropriate behavior (racial/sexual harrassment, etc).

Again, this design is not foolproof, and the “funness” of the game comes first, but the design as we have it should enable high-level and low-level players as well as social- and combat-oriented players to not only coexist, but mingle freely. Because crafters can concentrate on crafting rather than grinding combat quests to gain XP, they can more easily fulfill their role in the world while those who wish to be pure combat are not required to choose a profession or secondary class (or even primary class, for that matter). And likewise, the skill-based system supports the Jack Of All Trades types that will inevitably emerge.

Mixed parties of veteran/new players with combat, crafting, and mixed characters are encouraged by the varied gameplay requirements, making a more adventurous and tolerant environment, and less of a game where high-level players are impacted negatively by interacting with new players and thus act negatively (or neutrally) to them.

Hopefully, our feature set will result in a better community than has been exhibited by other games at certain times (and the asshats who have inspired these blogs are certainly not representative of everyone who plays MMOs, or else we wouldn’t be bothering to develop them!), and I think that Mike is right on target with his blog. The subject of communities needs much more attention as more gamers migrate onto internet-based games, and frank exploration of the game designs that influence behavior is long overdue.

, , , , ,

Website updated!

June 23rd, 2009

Okay, I lied in my last blog… But you can’t blame me :P

There are now some maps showing the positions of factions on the world of Chi’Hamak, as well as more details on those factions. There is a new gallery with concept art (and soon screenshots), and a more detailed overview of the game’s features.

And now that we’ve gone over what’s new with the website, I’m sure people want to know what’s new with the game itself. Well, have a look at the state of the game:

Shiny, happy, GUI…

We’ve completely refactored the GUI, and this represents our “Beta” interface. Things may move here and there but, by and large, this is the interface that you will see when you play Epic Frontiers. It’s a short video and doesn’t show all of the changes (the bars on the top have changed to give more room for the map, and 3D portraits are working now), but we’re going to release more videos shortly, showing off more of the interface.

Stay tuned!

Update imminent…

April 30th, 2009

Oh, have I been remiss in writing a blog since the one right after GDC- but it doesn’t mean that the team hasn’t been active.

I’m planning a website update for this coming week that will flesh out a lot of written content for the game, as well as adding some additional concept art, and maybe a thing or two more. Even though I like to say that the game project itself has priority, I would like the site to get more love than what I usually give it.

That said, here’s a taste of some of the information that will start coming up on the site:

  • More detailed information on the factions.
  • Maps of Chi’Hamak, including the names of significant areas, and political boundaries.
  • More concept art.
  • More details on the features of the game.
  • More. Because I don’t think I’ve said that word enough yet :P

As a matter of full disclosure, we have a good amount of lore written, but since one of the big mechanics of the game for explorers is to allow for discovery of information, we have to sort through everything that we write so that we don’t inadvertently reveal something that screws up our own lore-revealing plans.

In any event, I just wanted to keep this short and make sure everyone knew that the quiet is for a good reason, and the next blog should be talking about gameplay rather than developing the gameplay, which I’m sure everyone is wanting to hear about as well!

Post GDC blog…

March 31st, 2009

What a week…

First off, GDC was completely awesome. Thousands of game developers milling about a huge convention center and among them some of the biggest names out there. And little-ole-me in the Garage Games booth showing off the feature technology of Epic Frontiers. Of course, the fact that I was showing off features with programmer and stock art and the fact that I received, in the middle of a sea of bling and eye-candy, kudos from those who had seen it, says a lot about our confidence in our features.

Interrogative isn’t just a feature: It’s a system. And Epic Frontiers isn’t just an MMORPG: It’s a world.

There are differences. A feature is a single piece of tech that is easily separated from the whole and dropped into many other applications as many pieces of reusable code are wont to do. An MMORPG ranges from Atlantica Online and World of Warcraft to Fusion Fall and Maple Story.

Epic Frontiers uses Interrogative’s functionality as an extension to an underlying philosophy of interaction between the player and the world. It’s just the manifestation of that philosophy in the context of Player-NPC conversation. In the context of combat, our action system is exposed in a more raw form, but not much different in the way that Interrogative works, and they share several base functions with each other as well as with the crafting, AI, and soft skill system. It’s a system…

So in Epic Frontiers if, as a player, you would like to talk to an NPC, you affect the state of things. And if you fight, you have an affect, too. Soft skills are no different, and crafting is no different from that. NPCs have access to the same functions, so that as we upgrade the AI over the life of the game, they can better play the game against (or with) you. And the world will have access to the information in order to be affected by it, while also affecting you and the NPC alike. It’s a world…

Epic Frontiers is not going to be a sandbox game. Others can work on those, and while they have their merits, we prefer to provide a loose yet powerful set of rules for our world. Interrogative is just a symptom of the disease that Epic Frontiers is infected with. There are other symptoms as well, and they will be getting shown as they are developed, though to whet everyone’s appetite, we’re going to be seeing a demo of some cooperative gameplay mechanics probably by IMGDC in 2.5 weeks. The main functionality is close to being done, and it should work just as we intend it to.

But enough talk, I’ve been away from coding and scripting for a week, and now it’s time to get back to doing just that so I can post some more gameplay demos for you…

A little something to see before heading to GDC next week…

March 17th, 2009

So, before I go out to San Francisco to meet up with the folks at Garage Games for the Expo portion of GDC and show off Interrogative to hordes of game development professionals, I thought I would take the chance to show a bit leg for you guys and girls as well…

Everyone who has followed my blogs has heard about the Interrogative system, and even seen a screenshot of an early test version of it. Well, time has passed and Interrogative is getting bigger and stronger every day, just like a well-fed feature should. With Garage Games being so kind as to let me have an Expo pass for GDC, I’ll have the chance to show this feature off to whoever comes by the Garage Games booth.

But many of you who read these blogs aren’t able to go to GDC. And of course, I can’t leave you hanging, so after I worked out a number of bugs to support a cute (or rather: so-dumb-you’ll-laugh) little chat “minigame” inside of Interrogative for GDC, I got a video clip of it uploaded to YouTube (the YouTube version is a bit sharper looking):

What you’re looking at is, first, the player selecting the NPC and opening a conversation with it, and then prompting it about a context (subject) named “Trivia”. The NPC asks if we want to play- and of course we do!

After that, we’re prompted with a series of questions that are true/false, or looking for specific answers. I got one wrong on purpose just to show how there are hooks connected to the dialogs that can both affect variables inside the NPC (in this case the one tracking the score), as well as check variables attached to the NPC (score, again). These are handy for both mini-games as well as AI.

Once I received the results of the quiz, I changed topics to Pandemic, which is going to be a rather huge piece of conversation pie once the game is launched (you can find a little bit about it on the Epic Frontiers site right now, but it’s slated to be greatly expanded). Right now, it has about 15 lines of dialog in it, so you see a bit of me navigating the answers from the NPC to try and dig for more information before reaching the (current) bottom, and then clicking the open/close conversation button in the middle to end the conversation. When it’s done, Pandemic, as a subject, should have hundreds, if not close to a thousand lines of dialog.

What I haven’t shown are some of the features that do work which I’ve talked previously about, but which I have no content created for, such as selecting NPC’s as contexts themselves, logging information (though that list on the far right shows what I have logged in past tests), gaining or removing contexts, or some of the other spiffy gizmos that are in there. I’ll try to do what I can to get more content in there and upload at least one more video for GDC, but bugs like to breed in the nooks and crannies between lines of code, and I squashed far more than I thought I had to in order to make the features for that mini-game work like I wanted, so no promises. In the end, it will be more about the stability of what I have than moving the development as far as it can go (but we’ll see about trying to get a bit advancement done anyway).

For those interested, I’ll be at the Garage Games booth during the GDC Expo, and I will also be attending (and sponsoring) IMGDC in Las Vegas in April. If you’re going to be in Vegas for that, I’ll most likely be demoing in a common area (booths are expensive).

The (game)world is ending? Sweet!

March 3rd, 2009

I blame Brian Green’s blog for this one :-P He wrote yesterday about the event that Tabula Rasa held as part of its shutdown, and how he sees it as “a sign of people giving up hope”. But there’s another way of looking at this, and not that bad of a perspective at all…

Tabula Rasa was kind of doomed from the start- to me at least. When one of the marketing points for your game is who worked on it, then your game may be running a bit thin, but that’s just my personal opinion. But marketing and branding aside, I think the shutdown was handled really well.

It’s true, the TR team didn’t really give players a day to get together and bask in the nostalgia the game gives you about all those raids and fun escapades you had with your fields. And it’s not like what you feel when actors take the stage during the final episode of your favorite show on TV and bow for the audience and share some laughs half-in, half-out of character (again, nostalgia from remembering all the fun and drama you shared by following their characters’ stories over the years). But they did something else…

They stuck with the story to the bitter end…

Well, that’s got to count for something. No matter what anyone says about the game features or how the development went, none of that mattered in the gameworld. In the gameworld, the humans faced an onslaught that, in the end, they could not overcome. The players did not get a chance to get out of character, because they were too busy getting mowed down by endless waves of aliens. Of course, that doesn’t lend itself to the feelings of nostalgia that you would have from other game shutdowns, but it does bring closure to the gameworld within its own context.

So now, the question for designers should become: Okay, so I admit to myself that my MMO is not immortal (zomg nooooo!) and will eventually shut down- but how do I both bring closure to the gameworld and allow players a way to bask in that nostalgia at the same time?

Now there’s a doosey of a question- luckily with a ready answer. What designers need here is a full-spectrum view of their gameworld, from begining to end. I think that there is plenty of room for endings that both resolve the gameworld’s major story lines as well as give players time and opportunity to celebrate the time they had. And to use an example from movies, I submit:

Ocean’s Eleven

At the end of this movie, the heist is pulled off, the bad guys thwarted (by guys still bad- but not as bad as the bad-bad-guys), and the “honest criminals” get the money (and the girl, in Clooney’s case). And that’s just half the point. That’s the closure of the story arc of the movie- the TR-like end-game event. But, instead of just ending right there and letting them ride off into the sunset immediate afterwards, a is shot of the group at the Bellagio fountains celebrating not only their victory, but also their friendships, indicating that their own stories move on. And people who watch the movie get to bask in that sense of nostalgia that the characters are basking in, because they did share in one of their escapades, after all.

As a game developer- and as a world designer, it is your responsibility to look at the possible ending of your world. Or, more precisely, endings. The time of MMOs being static entities is quickly passing, and world designers will soon be incorporating features that will allow players to drive the path of their worlds in directions that they never envisioned. Really good world designers will also incorporate ways to use that path to extrapolate “end states”, or at least states in which the gameworld can be seen in a kind of “Dramatic Pose”. Dramatic Pose being the universal equivalent to epiphany or milestone, a realization, a point where the population of the gameworld can stop and look and say “whoa”, reflect on that point in time- and then keep on keeping on. Or maybe just making your game engine do an embarrasing drunken vogue-dance for the player. Whatever floats your boat…

From a literary perspective, the Lord of the Rings trilogy had multiple points where the characters were able to celebrate the major points of the story at places such as the rest in Rivendell, the celebration after Helm’s Deep and Orthanc, after the battle at the Black Gate, and again after the battle in the Shire. The story even goes further and delves into the future when Frodo leaves, and follows Sam back again to bask in the nostalgia by telling his children stories of his adventures.

Anyway, the point is: You really can have it both ways.

Interrogative: A new old way of interaction

February 21st, 2009

I just got back from Nick Fortugno’s presentation on narrative and games in Manhattan. Besides the fact that I’m thrilled to have found a parking space that I not only did not have to pay for, but also did not have to assume I was getting a ticket for, I found his presentation to be a very good description of where games fit as an artform, as well as very good at talking about the potential of games for interaction.

And I would like to talk about just that sort of thing…

One of the features I’m touting is the ability to have conversations (actual two-way conversations) with NPCs in Epic Frontiers. It’s not a new thing, and games like Zork have made deep interaction a priority from well over twenty years ago. Unfortunately, with the AAA game market leaning heavily on cutting-edge graphics, they have lost this ability to interact with NPCs outside of combat, and their ability to fund R&D into this realm has become stunted. Of course, being an indie without a real budget to stay within, I have the advantage of not having anyone breath down my neck about addressing it by a specific date.

To this end, I spent a few years working on a technology to do just that without using Natural Language Processing (NLP), which the early games used, due to the fact that when put in an MMO situation, the heavy processor load from it might just melt my servers. What I found in my research was that a lot of what people said was made up of the same things, and of that global set of language, you can narrow down what people would want to talk to NPCs about within a game, and then further generalize that subset of language until you had a set of language operations that, when combined, could act like language parsing “lite”, requiring less variables and parsing time in order for the server to return a response. I gave the system the code-name Interrogative.

I came upon the code-name Interrogative while watching Generation Kill on HBO (awesome show). It was a part of the radio chatter that whenever a Marine would need to ask something that did not fit into the formulaic way to talk on a radio (something more akin to conversation, in order to find out more details) they would prepend the question with the word “interrogative”. It wasn’t a word I was familiar with, and I looked it up, completely aside from any game development, but happened upon the third definition of it from www.dictionary.com:

“Grammar. an interrogative word, element, or construction, as who? and what?”

And that, my friends, is the basis of what Interrogative is, as a gameplay feature:

Asking an NPC about Rare Book 1

Asking an NPC about "Rare Book 1"

What you see above is the latest incarnation of the test GUI, which is really, really, hideous (it’s for testing, and thus, is not allowed to look good). On the left is the output, detailed in second-person narrative style, as a GM/DM would detail it during a pen-and-paper game. The list in the middle is a list of “contexts” or subjects that you can talk to the NPC about, and depending on their knowledge level, get varying amounts of information before you get “<NPC> doesn’t know”. At the top-right: The ability to save snippets of conversation dialog from the left-hand side of the GUI for use later. And finally at the bottom, one of the most important parts of the whole thing: Buttons.

Those buttons are “Dialog Actions” which represent interrogatives, and are much like clicking on the Punch or Kick “Combat Actions” in the combat GUI in the game, except that these actions are generalized ways of working with dialog. For instance, asking the NPC to talk requires selecting a Context and then clicking the Prompt action. As you can see on the left from the next line, the NPC knows a thing or two about the subject in question. So you click on the Elaborate button… Apparently, the NPC isn’t into broad questions like that, so with the Context still selected, you try asking What (equal to What -> Rarebook1), gaining insight from the NPC that the book is about crystals. Now you ask the NPC to Elaborate, and the NPC tells you… Something that was cut off because I ran out of screen real estate. But by now you get the picture.

What you may also be thinking is “why can’t the NPC just tell me what I want to know? All the other MMO’s do that”. Okay, yeah, we can throw walls of text at you if you like, and the system does allow for it, but the point of the system is to support a broader range of gameplay, such as trying to get to information that the NPC may have, but does not want to tell you for a particular reason. If the reason is a lack of “Familiarity” with you, then maybe you should talk to the NPC about “Current Events” in his/her area, or maybe engageĀ  them in a joke or two to try and gain familiarity. Doing that may make them more apt to talk to you. You could also select an object in the area and talk about that (a good way to gain familiarity with an NPC who works in a particular trade- it’s “shop talk”). Or maybe you need to use some of those Soft Skills I’ve blogged about previously, and use Intimidate to get the information out of them. Get the picture now? Almost? Good.

You should know that the system at this point is okay, but not as good as it could be. After all, if you going to do things like this, you should have an AI system to match, shouldn’t you? In my previous blog, I talked a bit more about a Personality Trait based AI system which was tailored to a “literary” type of NPC. It may have puzzled you before, but you can see the connection now: Your Soft Skills can modify personality, which can, in turn, be hooked rather easily into Interrogative to modify how your conversations go. And conversations can go well and give you information, become difficult as the NPC changes the subject on you, or even end if the NPC decides you went too far. The NPC can also go upside your head if you hurl an insult, but in the realm of role-playing, starting a fight with an insult has its uses, doesn’t it?

An earlier test where the NPC tries to end the conversation...

An earlier test where the NPC tries to end the conversation...

The above is an early test of the system, and while it didn’t operate as efficiently as the new system (hence why you don’t see the done-away-with GUI), it does show the ending of the conversation working. I don’t seem to have shots of the subject-changing, but I did manage to show this early version off at IMGDC last April in Minneapolis. This year’s demo should be a bit more interesting…

Epic Frontiers site goes live, and AI systems in more detail…

February 15th, 2009

So the Epic Frontiers site is now live. I managed to fit a huge amount of character concepts into the banner for the site, and the development test videos formerly hosted on Vimeo are now in the Media section and hosted by YouTube (which does not hassle me about the fact that it’s a gameplay video). I still need to skin the forums and maybe try to fit them into the site, or maybe make the site wide enough to fit the forums without horizontal scroll bars, but that’s small potatos compared to other tasks on my plate.

And speaking of which. I’ve been working on AI the last few days since I uploaded the website, so I’d like to talk a bit about where I’m trying to take the whole AI system…

In Brief, the AI system is being designed to work and behave like NPCs from pen-and-paper games. For those who have not really experienced pen-and-paper games, you would notice that NPCs are run by the GM, who provides rudamentary conversational skills (depending on how deeply the GM wants to play the NPC and how much the NPC has to say on a given subject), and provides AI. Usually a GM has a module and plenty of source material to base their decisions on, and the more experienced players have a sense of how to deal with the NPCs in question (Orcs usually behave much differently than humans when it comes to negotiations, barganing, and getting killed). For all of that material, many of the “soft skills” a player uses comes down to rolling that skill versus a trait within the NPC. In Call of Cthulhu, for example, it can work the other way around by a particularly gruesome event or monster would cause a player to roll for Sanity (a failed roll having an effect of temporary insanity, whose effect can also be rolled for from a pre-defined table to see if you start chanting, curl up into a ball, or begin acting like Woody Woodpecker on a bad LSD trip). In Dungeons and Dragons, you would roll Bluff versus a standard check, and if your roll passes that threshold, your bluff works and the NPC belives whatever you’re bluffing. Rolling Sense Motive in the same way allows you to tell if the NPC is lying.

Now, these are rather simple mechanics for “soft” interactions with NPCs, and most pen-and-paper RPGs have rules to handle these kinds of interactions. It sort of goes without saying that the vast majority MMOs out there ignore these interactions, so I’m not going to get into that, but I will get into how I intend to handle these situations, and a bit of what I’m testing.

I had tried out a good variety of AI systems both on paper and in testing to see what was a good fit, and what was not. I’ve tried neural networks, finite state machines, fuzzy cognitive maps, and combinations of those things. What I’ve settled on, and what may bring out some better situation AI, is a combination of finite state machine and the principle of “rolled AI” described when discussing NPCs in pen-and-paper games two paragraphs above.

Basically, what you start out with is an NPC with a set of Personality Traits, like the set below:

  • Dominance
  • Sensitivity
  • Altruism
  • Stability
  • Trust
  • Discipline
  • Patience
  • Confidence
  • Extroversion
  • Openness

While not exactly a “true” set of traits for a real human personality, we’re using this as a set of traits that we think will help represent the interactions that our NPCs will have with players. These traits, when assigned “levels”, can serve several purposes within the AI framework. The first purpose is to have a variable to roll against for Soft Skills, such as jokes and insults used in the NPC Conversation system (flattering or goading an NPC into a certain state can be beneficial- or detrimental- to the player’s goals). Also in this realm are Soft Skills such as Bluff, Empathize, Plea, or other skills that try to manipulate another character’s state of mind to be receptive to an offer or to accomplish a goal on behalf of the player.

The second purpose of the trait levels is similar to the first, with the exception that it is handled internally, towards the end of influencing the state machine that runs, using states that are not part of the list of traits, but are influenced by the traits. For example, an NPC who is somewhat…”unhinged”… needs to be portrayed as a character who suffers from wild mood swings. To do this, you would want to have the internal AI roll against the Stability trait, and if the level is sufficiently sensitive to trigger a state change, then the AI would adjust it’s emotional state, which can lead to changes in how it filters AI input such as from the NPC Conversation system. Some state changes can be small and fall well within normal human parameters and thus go unnoticed by the player, while others can turn a normal conversation into a confrontation with a bewildered player (“Dude, WTF? All I said was ‘nice shoes’- why are you coming after me?!”). Obviously, these kinds of encounters would be pretty rare, but it serves as an illustration of what I’m hoping this system can accomplish.

Another neat thing with these traits is that they lend themselves towards describing the different kinds of NPC “archetypes” we’re looking at portraying in the game. With the procedural content generation system, we can generate and deploy NPCs tailored to their needs. If we need to generate a Charkritian nomad who treks through the deep desert, we’ll want to raise the Confidence, Patience, and Discipline levels, as well as lower Openness, Extroversion, Trust, and Altruism. What those things tell us about the NPC is that they are used to a hard existence with lower levels of contact with others, and so tends to be quieter, more of a loner, and slightly distrustful of strangers, which tends to reduce Altruism, which is the willingness to help others (different real-life cultures actually make the case toward an increase of Altruism in harsh environments, but it’s not always more interesting to reflect real cultures within games unless that’s your goal, just like it’s not always as interesting to reflect the real world in MMO gameplay in general).

Using procedural content generation methods, we can create templates for cultures, regions, professions, and personality types, and then combine them to create an immense range different personalities that reflect their environment and “past”. From here, you can go further and even implement a set of mechanics where you can permanently or temporarily change the Personality Trait Levels of the NPC for a variety of reasons. While I’m not yet to the point of testing that sort of mechanic, it may yet be deployed into the AI system.

What I have tested now, however, are a number of smaller “rolled AI” actions that the player can take. Things like “scaring” the NPC, “pleas for help” which result in the AI coming running to my aid. Simple things. But these simple things have shown me that sometimes, an NPC will hear your plea and just stand there, much like people can do in real life.