Just good things...
by Ted Southard · 04/10/2009 (2:44 am) · 5 comments
It feels like forever since I blogged last, even though it was really last week. In any event, I guess I should throw out a little bit of an update of the things I've been working on since returning from GDC.
The first thing, of course, is building out Interrogative, which is a large piece of the gaming infrastructure of Epic Frontiers:
What you see above is an interesting little part of conversation where the NPC has basically had enough of your queries to just end things and turn their back to you. Unfortunately I've tied that to clearing the output screen (easier for my debugging, harder for your viewing- I win, ha!), but there will eventually be added the message that the NPC has stopped talking to you, meaning that you would have to reinitialize conversation.
Some of the things that you don't see in there is that if you successfully complete a conversation, then the details of it are a little more granular than the old familiarity scoring that has been used. Now, I've got a small conversation memory built in that remembers the subjects you've talked about and to what depth of knowledge. This will help later on with repeat conversations so the NPC can say things like "I already told you all I know about that subject", which can help players not run around in circles looking for information so much.
Additionally, and I don't have video of it, but the pickpocketing function is working for the most part. I made it so that you grabbed a random item out of the NPC's inventory, or raised their threat level on failure. After a dev meeting on Wednesday with the crew, they easily convinced me to go back and change it so that it will bring up the inventory of the NPC for a limited time, during which the player can take one item, which closes it immediately. If you want to rummage around in there, then you need to take more risks, which sounds fair.
So, progress on the game is moving steadily forward. Next week I will post some of the newer concepts we're coming up with for the cultures and the world in general.
Going back to Interrogative, and feature design in general, I've hit upon a few interesting ideas...
1) Interrogative has disappointed me up to now. Basically, I've been racking my brain on how to get a statement-based approach to conversation in the same way as we get a interrogative-based approach. Well, tonight I hit upon an answer that works the same way, and though it will probably take a day or two for me to hash out the functions for that, the blog before IMGDC has a good chance of showing some of it in action. That's one of the things about building an underlying system for extensibility: It just makes things much easier in the long run.
2) I hate my GUIs. I really do, and I can say that because since I'm the one who makes them, all the fault lays with me. It's both the graphics and the layout, honestly. But about the same time I figured out the new features for Interrogative, those sketches led me to sketch out some 3D GUIs based on RTS, FPS, and flight simulation games that may solve some of the issues (both with the GUI and with one of Interrogative's short-comings).
The problem is that with Epic Frontiers, we're exposing a huge amount of interactivity to the player, and so there is probably too much going on with the GUI at once. What we need is a context-based system that allows the player to both access everything, but not have everything shoved in their face. Having used trueSpace for about 10 years, I naturally gravitate towards icon-driven interfaces, and those concepts are not foreign to gamers.
The sketching I was doing originally involved a way to know when more than one NPC was involved in a conversation so that Interrogative could grow from just a player-NPC system to a group (multiple-multiple) system. The way that I hit on were the ground effect symbols being used as a way to show when players and NPCs were in range of each other for conversation, like the screenshot from an RTS game below:

What this shows are the ground-effect circles for individual units merging. For this to happen, you need to know when those circles touch. If you know that, then you can use it as a simple way of being able to do things like get into a default conversation group (walk up and merge your circle with theirs, and you get access to the conversation), or skill linking (if someone has made it available and you consent), or even group combat/crafting/magic. The possibilities are pretty good with this little circle thing.
The second part of the GUI I actually have partially working, and that is a reticle with the entity name and icons. You can see the reticle in the video, which is much nicer than the ugly healthbars at the top, and implementing small buttons and healthbars aligned with the reticle should not be any harder than doing collision and merging of ground-effect circles.
Yeah, it'll be a pain in the ass. But then again, when was I known for shying away from things that get in the way of me and Epic Frontiers?
It just gets crazier and crazier...
The first thing, of course, is building out Interrogative, which is a large piece of the gaming infrastructure of Epic Frontiers:
What you see above is an interesting little part of conversation where the NPC has basically had enough of your queries to just end things and turn their back to you. Unfortunately I've tied that to clearing the output screen (easier for my debugging, harder for your viewing- I win, ha!), but there will eventually be added the message that the NPC has stopped talking to you, meaning that you would have to reinitialize conversation.
Some of the things that you don't see in there is that if you successfully complete a conversation, then the details of it are a little more granular than the old familiarity scoring that has been used. Now, I've got a small conversation memory built in that remembers the subjects you've talked about and to what depth of knowledge. This will help later on with repeat conversations so the NPC can say things like "I already told you all I know about that subject", which can help players not run around in circles looking for information so much.
Additionally, and I don't have video of it, but the pickpocketing function is working for the most part. I made it so that you grabbed a random item out of the NPC's inventory, or raised their threat level on failure. After a dev meeting on Wednesday with the crew, they easily convinced me to go back and change it so that it will bring up the inventory of the NPC for a limited time, during which the player can take one item, which closes it immediately. If you want to rummage around in there, then you need to take more risks, which sounds fair.
So, progress on the game is moving steadily forward. Next week I will post some of the newer concepts we're coming up with for the cultures and the world in general.
Going back to Interrogative, and feature design in general, I've hit upon a few interesting ideas...
1) Interrogative has disappointed me up to now. Basically, I've been racking my brain on how to get a statement-based approach to conversation in the same way as we get a interrogative-based approach. Well, tonight I hit upon an answer that works the same way, and though it will probably take a day or two for me to hash out the functions for that, the blog before IMGDC has a good chance of showing some of it in action. That's one of the things about building an underlying system for extensibility: It just makes things much easier in the long run.
2) I hate my GUIs. I really do, and I can say that because since I'm the one who makes them, all the fault lays with me. It's both the graphics and the layout, honestly. But about the same time I figured out the new features for Interrogative, those sketches led me to sketch out some 3D GUIs based on RTS, FPS, and flight simulation games that may solve some of the issues (both with the GUI and with one of Interrogative's short-comings).
The problem is that with Epic Frontiers, we're exposing a huge amount of interactivity to the player, and so there is probably too much going on with the GUI at once. What we need is a context-based system that allows the player to both access everything, but not have everything shoved in their face. Having used trueSpace for about 10 years, I naturally gravitate towards icon-driven interfaces, and those concepts are not foreign to gamers.
The sketching I was doing originally involved a way to know when more than one NPC was involved in a conversation so that Interrogative could grow from just a player-NPC system to a group (multiple-multiple) system. The way that I hit on were the ground effect symbols being used as a way to show when players and NPCs were in range of each other for conversation, like the screenshot from an RTS game below:

What this shows are the ground-effect circles for individual units merging. For this to happen, you need to know when those circles touch. If you know that, then you can use it as a simple way of being able to do things like get into a default conversation group (walk up and merge your circle with theirs, and you get access to the conversation), or skill linking (if someone has made it available and you consent), or even group combat/crafting/magic. The possibilities are pretty good with this little circle thing.
The second part of the GUI I actually have partially working, and that is a reticle with the entity name and icons. You can see the reticle in the video, which is much nicer than the ugly healthbars at the top, and implementing small buttons and healthbars aligned with the reticle should not be any harder than doing collision and merging of ground-effect circles.
Yeah, it'll be a pain in the ass. But then again, when was I known for shying away from things that get in the way of me and Epic Frontiers?
It just gets crazier and crazier...
About the author
Recent Blogs
• Last push...• Crunchy demos
• Accruing Interest at GDC Austin
• Vacation, Demos, and Help Wanted
• Killing Noob
#2
Yes. I had shown my design journal to a few people regarding that at GDC, as a matter of fact. The smiley idea was the first to pop into my head, because emoticons are accepted across most cultures as a reliable emotional "highlighter".
Another idea I had was to create a ball that changed color, sort of like a mood ring. Color associations with emotions are also very cross-cultural in many cases, and green (envy), blue (sad), red (angry), gray (neutral), etc are also good indicators and provide variants in the way of color saturation that are intuitive to the gamer.
There were also thoughts on body-language cues, but as an Indie I don't think that's affordable right now :( Tone of voice coming through the text is also something we're looking at more actively, since it's relatively simple to create dialog such as:
Neutral: "NPC greets you"
Angry: "NPC's eyes narrow and he growls a curt greeting"
Happy: "NPC smiles and cheerfully greets you"
Things like that would need to be created for the dialog in the game anyway, if you want to make it a game mechanic that is affected by AI and personality, so it was a must, but how far that can go remains to be seen. Text coloring, bold, italics, underlining, and maybe even emotion "tags" before the dialog lines like (voice trembles), (angrier), (sad), etc, can help.
As development goes on, Interrogative becomes more the system that everything revolves around rather than a side-show feature, which I'm glad for. Unfortunately, that makes not just that feature, but the whole system, a middleware product, and that makes it a harder sell I think.
04/10/2009 (3:14 pm)
Quote:have you considered having a running commentary of NPC emotions available for player feedback?
Yes. I had shown my design journal to a few people regarding that at GDC, as a matter of fact. The smiley idea was the first to pop into my head, because emoticons are accepted across most cultures as a reliable emotional "highlighter".
Another idea I had was to create a ball that changed color, sort of like a mood ring. Color associations with emotions are also very cross-cultural in many cases, and green (envy), blue (sad), red (angry), gray (neutral), etc are also good indicators and provide variants in the way of color saturation that are intuitive to the gamer.
There were also thoughts on body-language cues, but as an Indie I don't think that's affordable right now :( Tone of voice coming through the text is also something we're looking at more actively, since it's relatively simple to create dialog such as:
Neutral: "NPC greets you"
Angry: "NPC's eyes narrow and he growls a curt greeting"
Happy: "NPC smiles and cheerfully greets you"
Things like that would need to be created for the dialog in the game anyway, if you want to make it a game mechanic that is affected by AI and personality, so it was a must, but how far that can go remains to be seen. Text coloring, bold, italics, underlining, and maybe even emotion "tags" before the dialog lines like (voice trembles), (angrier), (sad), etc, can help.
As development goes on, Interrogative becomes more the system that everything revolves around rather than a side-show feature, which I'm glad for. Unfortunately, that makes not just that feature, but the whole system, a middleware product, and that makes it a harder sell I think.
#3
Yeah, I instantly dismissed the idea of in-game animations for dialog/story/plot events due to the absurdly large number of animations that I would require (I'm not the world's greatest animator either). My player/AI move animations are passable, and going beyond that is probably asking for trouble.
Plus voiceovers are a no-no for me. There's nothing worse than crap voice-overs (and jeez, enough big budget games have awful voice-overs).
So, I'll be sticking to comicbook style cut-scenes, play to my strengths.
04/10/2009 (4:45 pm)
I do like the "mood ring" idea - especially if animated slightly (pulsing etc). Though you'd probably also want a mouse-over which gave you the emotion in text as well, just to avoid confusion.Quote:There were also thoughts on body-language cues, but as an Indie I don't think that's affordable right now
Yeah, I instantly dismissed the idea of in-game animations for dialog/story/plot events due to the absurdly large number of animations that I would require (I'm not the world's greatest animator either). My player/AI move animations are passable, and going beyond that is probably asking for trouble.
Plus voiceovers are a no-no for me. There's nothing worse than crap voice-overs (and jeez, enough big budget games have awful voice-overs).
So, I'll be sticking to comicbook style cut-scenes, play to my strengths.
#4
Of course, that has just as much potential for looking silly as it does for being useful :P.
I love what you've done with Interrogative so far! One thing that I felt I should mention, but I'm sure you're aware of, is that the NPC shouldn't really want to talk to you again immediately if you just made them so annoyed they stopped talking to you ;P.
04/11/2009 (8:54 am)
The first thing I thought of was, admittedly, animating th character to provide feedback on its current emotion. Though in my mind, I simplified the entire emotional spectrum into the sort of 'how much does the NPC like you?' scale that you get in games like Morrowind. You'd just have one animation that shows the transition from full-like to full-dislike, and then blend that animation on top of the character depending on their actual position towards you.Of course, that has just as much potential for looking silly as it does for being useful :P.
I love what you've done with Interrogative so far! One thing that I felt I should mention, but I'm sure you're aware of, is that the NPC shouldn't really want to talk to you again immediately if you just made them so annoyed they stopped talking to you ;P.
#5
Very true. It's just in the interests of time that I don't have any timers or anything in there. It used to be that he'd stop talking, but if you changed the subject it would "reset" the system, which was equally bad...
04/11/2009 (2:00 pm)
Quote:the NPC shouldn't really want to talk to you again immediately if you just made them so annoyed they stopped talking to you ;P
Very true. It's just in the interests of time that I don't have any timers or anything in there. It used to be that he'd stop talking, but if you changed the subject it would "reset" the system, which was equally bad...
Torque 3D Owner Steve YorkshireRifles Acaster
eg NPC is friendly, NPC is bored, NPC is annoyed, NPC is going to slap player if player asks another dumb question ;) - updating as the player asks the questions, an immediate response so that the player can gauge how they are doing.
Or even a graphic GUI emoticon, like a smiley which gets progressively more irritable as the NPC loses patience.
Also I agree with your team about the player having a choice of pickpocketing object to swipe. It could be a bit annoying if the player is after a magic ring but ends up having to steal their way through the NPC's entire inventory because fate just chooses it to be the last thing a random string returns.