Monday, July 4, 2011

Digital Game Book, Ver0.0

Here is the link to my Code-In-Progress. Consider this Version 0.0, as it's really rough, hacky, and not all done, but it gives you a good idea what I'm aiming for.

http://cl.ly/89a0
Hosted on CloudApp, so please excuse the weird URL. If I can get a website I'll deffo host it on there instead.

Now for two rambling topics concerning this project: first, the interaction system, then I'd like to talk about possible code changes to the project to make it a better program.

In most video games, the most dynamic elements revolve around combat. And while I've nothing personally against violent games, I feel there are far too many of them - each new game I read about seems to be trying to out-do it's predecessors in terms of violence and carnage. And it's boring. But let's stop before I go off on a tangent about violent games saturating the industry and get back on topic. Combat in most games is a very dynamic affair, with lots of options, enemies, weapons, abilities, locations, etc. But most of these games also have interactions with intelligent beings that don't involve smashing open their heads with a rusty crowbar. And these are boring as well.

They're boring because they usually just involve pressing "talk" to extract information from the person and nothing else. Some games (Mass Effect, for example) have gone out of their way to make interactions with NPC's much more enjoyable, but they suffer from limited choices and the reliance on voice acting and character animations that permeates the entire industry. So, I got to thinking...

The interaction system is for any interaction with an intelligent being - be it another person, an animal, a monster, a robot, etc. If it can react to you in a non-trivial manner, then it's intelligent enough to constitute using this system. Or if it has a brain or brain-analogue. Either or.

In this system, the player has a number of actions available to him/her that fall into 4 distinct categories: Positive, Neutral, Negative, and Violent.

Positive actions include telling jokes, well-wishing, complimenting, giving gifts/bribes, and basically anything that would improve someone's mood.

Neutral actions include engaging in small-talk or rumor-mongering, asking for directions or specific information, bartering, and basically anything that wouldn't naturally upset someone's mood.

Negative actions include insulting, threatening, intimidating, goading, pushing, and basically anything that would upset someone.

Violent actions including stabbing, punching, burning, and basically anything that involves causing actual bodily harm to someone.

These actions usually require a skill check to perform - if successful, you'll typically effect the NPC's mood toward a particular state - Good, Normal, Bad, or Hostile.

An NPC in a Good Mood is one whose mood toward you is one of respect, joy, love, or other positive emotion; they're happy to see you and be in your presence, though the particulars may vary.

If the NPC is in a Normal Mood, their reaction to your presence is usually either mixed or noncommittal. They really don't care either way about you, or they've got conflicting opinions that neutralize each other.

If an NPC is in a Bad Mood they really don't want you around! They're angry with you, fearful of you, or dislike you for what you've done. Or they're just in a bad mood today.

Violent NPCs are ones that just don't like you, and they really want you dead: It could be out of self-defense; they could be hunting for food or money; maybe they've been hired to kill you; or maybe they just really hate your guts being inside your body. Be prepared to defend yourself.

By performing an action, you move the NPC towards the quadrant your action lives in: Positive actions, for instance, move an NPC's mood toward Good; Violent actions, on the other hand, move an NPC's mood toward Hostile.

So what actions do NPCs perform? Well, those are based on what mood they are in, and who they are in general. A soldier will typically Chat with you if they are happy to see you; if they are Neutral towards you, they may tell you to Move Along; if Upset with you, they'll probably Arrest you for harassing them; and if Hostile, they have orders to kill. Hopefully this illustrates the basics, but for now, I'm going to stop rambling.

No comments: