Interrogative: A new old way of interaction...
by Ted Southard · 02/21/2009 (5:27 pm) · 15 comments
The following is a blog I posted over on the Epic Froniers Dev Blog...
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:

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?

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…
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:
Quote:“Grammar. an interrogative word, element, or construction, as who? and what?”

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?

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…
About the author
#2
Your work is looking good, nice to see some "organic" conversation in games.
I'd had a brief think about something like this recently (not that I'd use it for my current project, it just crossed my mind because it seemed an interesting thing to work on).
One thing I did think was that the player might get annoyed/bored if he's constantly asking NPCs about things they don't know. So I figured some sort of system which automatically "faded out" unknown topics to prevent the repetitive "I don't know anything about that answer".
However I thought that a downside to that would be that it'd make the conversation a simple and rather mechanical walkthrough list of topics to hit one after another until they were all exhausted and the player knew that they had garnered all possible info.
I guess you'd have to try and strike some sort of balance between "I don't know" repetivity and a checklist of topics to go down one by one.
02/21/2009 (7:50 pm)
Quote:Unfortunately, with the AAA game market leaning heavily on cutting-edge graphics, they have lost this ability to interact with NPCs outside of combatTell me about it! Everything of substance (dialogue, plot, interactions - anything which can be classified as being vaguely cerebral infact) seems to get cut out of the budget of AAA games for more Dx27 shininess.
Your work is looking good, nice to see some "organic" conversation in games.
I'd had a brief think about something like this recently (not that I'd use it for my current project, it just crossed my mind because it seemed an interesting thing to work on).
One thing I did think was that the player might get annoyed/bored if he's constantly asking NPCs about things they don't know. So I figured some sort of system which automatically "faded out" unknown topics to prevent the repetitive "I don't know anything about that answer".
However I thought that a downside to that would be that it'd make the conversation a simple and rather mechanical walkthrough list of topics to hit one after another until they were all exhausted and the player knew that they had garnered all possible info.
I guess you'd have to try and strike some sort of balance between "I don't know" repetivity and a checklist of topics to go down one by one.
#3
@Steve:
That was actually the original configuration, where you would select an NPC and see what subjects they knew. The problems that presents are:
A) The NPC may know a thousand subjects and spam the player's list, not to mention that the Player has to pick their way through that. A potential solution would be to maybe just show the matching subjects, and then do the "adds" as normal (Something I didn't cover in the blog, but if a dialog is mentioned with keywords linking to other subjects, the system automatically adds those subjects to the player's list if they are not already there so the player can migrate to that subject).
B) The NPC may know about subjects that the player shouldn't know about yet. If there is some super-rare content in conversation somewhere, then the players know all about it, and can catalog it for the strategy websites instead of allowing it to be revealed in a super-rare way.
C) It won't cut down so much on the NPC not knowing the answers. One thing I didn't cover so much in the blog was that of "Knowledge Levels". Basically, just because you know how to use a car doesn't mean you know how to fix a car, and every NPC gets a level of knowledge assigned to them for each subject to reflect things like that in simplicity (there's a "2D" version of that as well, so you can have an NPC "know things about what they know").
It's sort of a double-edged sword, but we also try to do things like implement personality traits that can grow frustrated with question spamming (Patience). There's a good amount of testing to do, and the thing about that is that numbers are less important than the abstract user experience for this feature, and thus just capturing the numbers for anomalous dialog output.
True, and one thing I'm investigating for that is that Patience trait, where you can wear down an NPC's Patience by quizzing them like a 5-year-old. They can then say something like "look, I'm busy, and I don't know what you're asking about, so you gotta go" or something along those lines. It's a natural solution to the problem, and makes the player start to think about NPCs as more than just walking wiki's ;)
02/21/2009 (8:56 pm)
@Micheal: Thanks! I actually wanted to license the Verbot stuff when it first came out, but then it sort of went away as well as my needs changing, and I really didn't hit on this until last year. Once I fix a little bug I introduced to it a few weeks back, I want to get some more content into it and be able to do a conversation demo at IMGDC. Eight weeks never seemed so short a time...@Steve:
Quote:So I figured some sort of system which automatically "faded out" unknown topics to prevent the repetitive "I don't know anything about that answer".
That was actually the original configuration, where you would select an NPC and see what subjects they knew. The problems that presents are:
A) The NPC may know a thousand subjects and spam the player's list, not to mention that the Player has to pick their way through that. A potential solution would be to maybe just show the matching subjects, and then do the "adds" as normal (Something I didn't cover in the blog, but if a dialog is mentioned with keywords linking to other subjects, the system automatically adds those subjects to the player's list if they are not already there so the player can migrate to that subject).
B) The NPC may know about subjects that the player shouldn't know about yet. If there is some super-rare content in conversation somewhere, then the players know all about it, and can catalog it for the strategy websites instead of allowing it to be revealed in a super-rare way.
C) It won't cut down so much on the NPC not knowing the answers. One thing I didn't cover so much in the blog was that of "Knowledge Levels". Basically, just because you know how to use a car doesn't mean you know how to fix a car, and every NPC gets a level of knowledge assigned to them for each subject to reflect things like that in simplicity (there's a "2D" version of that as well, so you can have an NPC "know things about what they know").
It's sort of a double-edged sword, but we also try to do things like implement personality traits that can grow frustrated with question spamming (Patience). There's a good amount of testing to do, and the thing about that is that numbers are less important than the abstract user experience for this feature, and thus just capturing the numbers for anomalous dialog output.
Quote:I guess you'd have to try and strike some sort of balance between "I don't know" repetivity and a checklist of topics to go down one by one.
True, and one thing I'm investigating for that is that Patience trait, where you can wear down an NPC's Patience by quizzing them like a 5-year-old. They can then say something like "look, I'm busy, and I don't know what you're asking about, so you gotta go" or something along those lines. It's a natural solution to the problem, and makes the player start to think about NPCs as more than just walking wiki's ;)
#4
02/21/2009 (9:08 pm)
Very similar to what we're doing with <i>Vespers</i>, although we're basically just replicating the type of dialog system used in interactive fiction games. So you can interact with NPCs with just a TALK command, but you can also ASK them about various topics. It forces players to think a little more about what information they want to get from the NPCs, and it also provides a means of better characterization.
#5
Sorry, the title just made me think of that great quote from GRAW ;).
Really interesting blog - I'm loving hearing about this project. I agree that in the industry, gameplay elements like this tend to get lost amid the bloom and explosions... hey, that's why indie development is so great (talking out of my hat there, developing a shooter :P).
02/21/2009 (11:22 pm)
"Whiskey tango foxtrot, interrogative."Sorry, the title just made me think of that great quote from GRAW ;).
Really interesting blog - I'm loving hearing about this project. I agree that in the industry, gameplay elements like this tend to get lost amid the bloom and explosions... hey, that's why indie development is so great (talking out of my hat there, developing a shooter :P).
#6
I really see this getting to the point where:
1. There are emotional state variables. An NPC's behavior and responses are based on a variable and non-variable set of mood forces. You pissed him off before... Or he just woke up with a bad case of man-pms. This affects your ability, your approach... You actually have to read the NPC and figure out how best to meet your goals.
2. It's capable of deciphering microphone input. Beyond command input and finite vocabulary stuff. But a conversation that seems so natural that you wonder if there's actually someone on the other end. Scary.
Conversation is such unexplored territory and it's a huge missing component of making games more amenable to humans. We've got great visuals, we've got great physics... But those are relatively empty visual traits. AI is the next ridge in my opinion. With great AI and conversation, I'd venture that folks could totally forgive stick figures and bad physics. It's a new frontier.
02/22/2009 (6:42 am)
That's really cool! I've often wondered why after 25+ years we haven't perfected and taken this type of model to the next level. Anyone remember playing Oregon Trail? I really see this getting to the point where:
1. There are emotional state variables. An NPC's behavior and responses are based on a variable and non-variable set of mood forces. You pissed him off before... Or he just woke up with a bad case of man-pms. This affects your ability, your approach... You actually have to read the NPC and figure out how best to meet your goals.
2. It's capable of deciphering microphone input. Beyond command input and finite vocabulary stuff. But a conversation that seems so natural that you wonder if there's actually someone on the other end. Scary.
Conversation is such unexplored territory and it's a huge missing component of making games more amenable to humans. We've got great visuals, we've got great physics... But those are relatively empty visual traits. AI is the next ridge in my opinion. With great AI and conversation, I'd venture that folks could totally forgive stick figures and bad physics. It's a new frontier.
#7
#2... I've thought about a number of things to extend this system to, most of which will probably make it into a demo down the line instead of the game:
1) NLP: It's hard to replace someone typing dialog into the system, or wanting to, so one of the things on my wishlist is to implement, client side, a way to parse text, wrap it up in the format that I use for this system, and send it off. You'll get a lot of "I don't knows" here, but that's where some other features come in.
2) Expanded KLevels: I have two or three ideas on how to expand the Knowledge Level system with everything from 3D arrays to custom databases of NPC knowledge. The goal here is to more get a more granular control over what's known.
3) Knowledge Expansion: This is related to feature #1. If you're going to have people typing, they're going to be transmitting info to the NPC. Now, while I do have a case for this aimed at being handled for the game (see the "Xm" button in the screenshot?), it doesn't go nearly as far as this. Imagine how an NPC with this system can have an input layer for their AI that translates interactions in their environment into the format of the dialog and is able to correctly identify where to put that information. Conversely, you can create an output system that looks at the dialog and deciphers what it means in an interactive sense. It's a dialog-centric memory/rule system. And I say memory/rule because the system already has room to encode AI information into each dialog snippet (that's how the NPC will know how to say something phrased like he's angry, sad, happy, etc...)
People have an inner dialog that goes on, and probably has gone on even before the first languages (sounds being associated with objects, emotions, or actions based on a personal level instead of a cultural level). This can be used as a sort of AI system when combined with personality traits, some emotion variables, and a planning system. Possibly also a paperclip, pine cone, and some duct tape as well, but testing will have to decide that ;)
02/22/2009 (7:21 am)
@Steve: #1 is one of the places I'm aiming to go with this (hence the AI laid out in the previous dev blog). It's trying to give the player a new dimension to play in, and not just a hoop to jump through for information.#2... I've thought about a number of things to extend this system to, most of which will probably make it into a demo down the line instead of the game:
1) NLP: It's hard to replace someone typing dialog into the system, or wanting to, so one of the things on my wishlist is to implement, client side, a way to parse text, wrap it up in the format that I use for this system, and send it off. You'll get a lot of "I don't knows" here, but that's where some other features come in.
2) Expanded KLevels: I have two or three ideas on how to expand the Knowledge Level system with everything from 3D arrays to custom databases of NPC knowledge. The goal here is to more get a more granular control over what's known.
3) Knowledge Expansion: This is related to feature #1. If you're going to have people typing, they're going to be transmitting info to the NPC. Now, while I do have a case for this aimed at being handled for the game (see the "Xm" button in the screenshot?), it doesn't go nearly as far as this. Imagine how an NPC with this system can have an input layer for their AI that translates interactions in their environment into the format of the dialog and is able to correctly identify where to put that information. Conversely, you can create an output system that looks at the dialog and deciphers what it means in an interactive sense. It's a dialog-centric memory/rule system. And I say memory/rule because the system already has room to encode AI information into each dialog snippet (that's how the NPC will know how to say something phrased like he's angry, sad, happy, etc...)
People have an inner dialog that goes on, and probably has gone on even before the first languages (sounds being associated with objects, emotions, or actions based on a personal level instead of a cultural level). This can be used as a sort of AI system when combined with personality traits, some emotion variables, and a planning system. Possibly also a paperclip, pine cone, and some duct tape as well, but testing will have to decide that ;)
#8
02/22/2009 (7:22 am)
This is quite interesting. I haven't thought much about npc interaction in quite a few years. I did do some tests a long time ago using the alice tech, but it was so expensive at the time, I never got past the testing faze. I like how you are building this. Keep going. It'll will be interesting to see the final outcome.
#9
Yeah, I like where you guys are headed with Vespers. IF is underrated as a medium, and bringing it back into the mainstream from the cult-genre is a good move.
A few things about the architecture here:
Interrogative is not a dialog tree. Dialog is database-based, and a player can hop around the dialog snippets or subjects at will. There is parsing involved as to which dialog action the player is using against which subject/dialog/object (because you can select objects or dialog snippets as temporary subjects, but I need a video to show that), and then the function that navigates the information comes up with the best possible match, based on what the NPC knows/what the NPC will share.
IF usually uses parsing and then handles rules for what winds up as the noun or adjective, etc. Interrogative looks at it more like how you would handle a combat system: Actions taken against objects.
A greeting wouldn't necessarily have a "Why" attached to it- if you encountered that, you'd probably cock your head to a side and say "huh? what do you mean?". So when a greeting is recorded into the Interrogative system, something like that gets recorded for a Why/Elaborate/Prompt/etc directed at the greeting. So the dialog structure is more flat, yet linked to other dialog snippets. This becomes a problem if you have a lot of dialog (and I'm estimating easily tens of thousands of snippets).
However, since we're doing an MMO here, we can utilize a database, whose ability at using logic to search for data has been refined and optimized for decades. So it's not a matter so much of AI searching for the appropriate response- the examples above are done with almost zero AI involved. Most of it is sorting in the database for what's being talked about and a few checks against what the NPC knows about the subject!
There are empty hooks in the database that are checked for, for the day that I start throwing AI into the system. Now that I have an AI system being tested, those hooks will have to be populated with things such as actions that roll vs personality traits (for things like insults, jokes, touchy subjects, etc) and then what you say will have a subtle effect of changing the rules of your conversation on the fly.
02/22/2009 (7:36 am)
@Rubes:Quote:Very similar to what we're doing with <i>Vespers</i>, although we're basically just replicating the type of dialog system used in interactive fiction games.
Yeah, I like where you guys are headed with Vespers. IF is underrated as a medium, and bringing it back into the mainstream from the cult-genre is a good move.
A few things about the architecture here:
Interrogative is not a dialog tree. Dialog is database-based, and a player can hop around the dialog snippets or subjects at will. There is parsing involved as to which dialog action the player is using against which subject/dialog/object (because you can select objects or dialog snippets as temporary subjects, but I need a video to show that), and then the function that navigates the information comes up with the best possible match, based on what the NPC knows/what the NPC will share.
IF usually uses parsing and then handles rules for what winds up as the noun or adjective, etc. Interrogative looks at it more like how you would handle a combat system: Actions taken against objects.
A greeting wouldn't necessarily have a "Why" attached to it- if you encountered that, you'd probably cock your head to a side and say "huh? what do you mean?". So when a greeting is recorded into the Interrogative system, something like that gets recorded for a Why/Elaborate/Prompt/etc directed at the greeting. So the dialog structure is more flat, yet linked to other dialog snippets. This becomes a problem if you have a lot of dialog (and I'm estimating easily tens of thousands of snippets).
However, since we're doing an MMO here, we can utilize a database, whose ability at using logic to search for data has been refined and optimized for decades. So it's not a matter so much of AI searching for the appropriate response- the examples above are done with almost zero AI involved. Most of it is sorting in the database for what's being talked about and a few checks against what the NPC knows about the subject!
There are empty hooks in the database that are checked for, for the day that I start throwing AI into the system. Now that I have an AI system being tested, those hooks will have to be populated with things such as actions that roll vs personality traits (for things like insults, jokes, touchy subjects, etc) and then what you say will have a subtle effect of changing the rules of your conversation on the fly.
#10
Real Estate is an issue, and so is scaling the GUI, which is something that TGE tortures me on whenever I try to make it more dynamic. What I'll wind up doing with that is making some sort of switch statement relating to the Wake() function and adjust as necessary through that. Otherwise, I have a hell of a time figuring out how to make everything scale properly (it's not all along the edges of the screen).
Or, maybe I'll see if I can hire a coder to put a vector-based GUI system in, like flash or something. A shiny UI is a happy UI ;)
02/22/2009 (7:40 am)
@Mike: Hopefully we'll have some videos within a month or so- before IMGDC, for press purposes. All those buttons are slated to get shoved into a cool-looking menu system, possibly looking a bit like Mass Effect- but with greater functionality...Real Estate is an issue, and so is scaling the GUI, which is something that TGE tortures me on whenever I try to make it more dynamic. What I'll wind up doing with that is making some sort of switch statement relating to the Wake() function and adjust as necessary through that. Otherwise, I have a hell of a time figuring out how to make everything scale properly (it's not all along the edges of the screen).
Or, maybe I'll see if I can hire a coder to put a vector-based GUI system in, like flash or something. A shiny UI is a happy UI ;)
#11
I think this is part of the reason that World of Warcraft has been so successful. It contains nearly zero reallistic physics and graphic technology that isn't using any fancy tricks to make you think you are there. The game has connective elements - the people parts.
If we can make characters behave more like real people... wow. People will play because they can connect. Hehe... imagine how unhealthy THAT will be for real relationships.
02/22/2009 (11:15 am)
It's all a brilliant direction. I think we are nearing the completion of our growth through the phase where we anticipate pushing the boundaries of graphics technology as the peak of the experience. That stuff is all fine and good, but those immersive elements are made of shiny plastic. What people don't reallize that what they really crave is a connection to the experience. I think this is part of the reason that World of Warcraft has been so successful. It contains nearly zero reallistic physics and graphic technology that isn't using any fancy tricks to make you think you are there. The game has connective elements - the people parts.
If we can make characters behave more like real people... wow. People will play because they can connect. Hehe... imagine how unhealthy THAT will be for real relationships.
#12
It would be sweat-equity (accrued hours at market rate for the position) deferred pay until the game is launched. Yes, it's a step above royalties, but I think those reading the blog see what this game can potentially do. I want people who have a bit of experience with the TGEA, since there are some significant source code modifications needed (network optimizations, physics modifications, translation of script to code, vector math), and yes, it's understood that we all have day-jobs and lives besides. If anyone has interest, please email me and we'll talk. Thanks.
02/22/2009 (6:03 pm)
Anyone looking to do a bit of coding work for this project? Figured I'd post in my blog before doing the main job posting. Basically, some of the vector stuff I'm not good at, as well as other tasks that take time away from these tasks need to get done, and I'd like to be able to dedicate more time to gameplay features while having a coder to do some of the math for certain functions and implement other core tasks.It would be sweat-equity (accrued hours at market rate for the position) deferred pay until the game is launched. Yes, it's a step above royalties, but I think those reading the blog see what this game can potentially do. I want people who have a bit of experience with the TGEA, since there are some significant source code modifications needed (network optimizations, physics modifications, translation of script to code, vector math), and yes, it's understood that we all have day-jobs and lives besides. If anyone has interest, please email me and we'll talk. Thanks.
#13
I think I'll be designing 2-D games for the forseeable future though...
02/22/2009 (8:45 pm)
I always enjoy reading your posts, Ted :) It's good to see people pushing the boundaries of what can be done. It's one thing to have ideas (as most everyone does) but another to actually do it. I still havent even gotten to mastering any languages yet (barely have scratched C,C++, Python) so I wouldnt be able to take ya up on that offer -- but it's the type of system I always thought was worth trying. NPCs with emotions, desires, goals.... a true cause and effect system with consequences down the line based on player action. We're probably a ways away from real-time NPC calcs due to computing power, but could you imagine a city with 20,000 NPCs in it? I imagine alot of the stuff would have to be "fudged" to keep the CPU from melting. I would love to see NPC interaction with other NPCs even when the player isnt around...I think I'll be designing 2-D games for the forseeable future though...
#14
02/23/2009 (9:36 am)
It sounds very cool, and actually there are a few IF authors that are trying similar approaches with dialog. The ones I've seen are technically not database-driven, but they do access multiple snippets for various situations and keep track of which ones have been used already. It makes for dialog that appears to be dynamic and adaptive, although it's not quite that sophisticated.
#15
02/23/2009 (9:42 am)
@Rubes: Exactly. It's just all smoke and mirrors, but as long as it looks like a duck and walks like a duck and sounds like a duck, people will treat it like a duck ;)
Employee Michael Perry
GarageGames