Building Relationships

From EQUIS Lab Wiki

Jump to: navigation, search

This page is the project proposal. Follow this link for the Building Relationships Progress Report.

Contents

Group Name

Powerpuff Girls

Project Title

Building Relationships

Group Members

  • Sylvia
  • Julian

Project Summary

We aim to add "Sims-like" relationships between the player and computer characters. Through talking, and choosing physical interactions like hugging, slapping, and handshaking the player may build positive or negative relationships with characters in the game. These relationships will potentially affect future interactions with the characters, such as their responses when issued with orders (i.e. "chop wood").

Project Goals

Create interactions between the player and NPCs

When the player approaches a computer character, he or she is presented with a menu of possible interactions with the character, which he or she may select from. Interactions will include (but not be limited to):

Acquaintances:

  • handshaking (positive)
  • talking in friendly context (positive)

Friends:

  • flirting (positive)
  • serenading (positive)

Enemies:

  • kicking (negative)
  • insulting (negative)

Create NPC-player relationship statistics in-game (friendship, fondness, enemies etc)

The game will track the relationship between each computer character and the user's character.

The types of relationships that will be possible between the user and the computer characters include (but are restricted to):

  • Acquaintance
  • Friendship
  • Intimate Relationship/Love
  • Enemy

Allow player interactions to affect relationship statistics

Positive and negative interactions with computer characters will change their predisposition towards the user character. Interactions will be with one character at a time, with the potential to expand into multi-character interactions if we have time.

In order to gain the above relationships, we propose the following system (subject to change):

  • Acquaintance -- developed by introducing yourself to a character and shaking his/her hand
  • Friendship -- developed by chatting to the individual more than five times (in a friendly context), telling jokes, and/or hugging
  • Intimate Relationship/Love -- developed by hugging, flirting, and/or kissing a character
  • Enemy -- developed by insulting, kicking, and/or slapping a character

The status of a person's relationship will be shown when the user is engaged in a conversation with the character. This status will be represented in a bar form.


File:RelationshipBar.PNG

In the above example, the user is close friends with the character he/she is interacting with.

Overtime, this status can change (e.g. if the user interacts more with the character). In the case the user doesn't interact with the character for a certain amount of time, the relationship status will decrease. The relationship will not go below the acquaintance status unless the user does something negative to the character (in which case they may become enemies).

Player relationships affect in-game events

Character relationships with the user will affect their response to commands. For example, if the character you are asking to chop wood for you is not your friend nor acquaintance, he/she may not chop the wood for you. If the character and the user are enemies, the character may insult or kick the user (and not perform the task).

Furthermore, issuing real-time strategy commands to character (such as chop tree or fetch stone) will affect the relationship between that character and the user character. For example, if you continuously ask a character to chop wood for you without doing any favours/kind gestures in return, he/she may become annoyed at you and your chances of becoming friends with that individual is reduced. Ultimately if the character's relationship with the user is very poor, the character may refuse to perform the task that you requested for him/her to do.

Appearance to Players

When the user comes into close proximity with a character in the game, a menu system will appear. The user can then choose to perform any of the interactions with the character by selecting the command in the menu (using a standard console game controller). After the command is selected, a brief animation will be shown to display the interaction between the game character and the user.

Models Required

The following models will be REQUIRED for our project:

The below interactions with between the players in the game can be depicted as thought bubbles with small animations (e.g. flirting can be a heart that grows in size) and/or pictures related to the interaction. There is a total of 6 thought bubbles / floating objects for the interactions, which we envision as static models rotating in the air.

Acquaintances:

1. handshaking (positive) -- model of two hands shaking

Friends:

2. talking in friendly context (positive) -- speech bubbles with scribbles

Romantic Partners:

3. flirting (positive) -- speech bubble with scribbles, hearts

4. serenading (positive) -- guitar model

Enemies:

5. slapping (negative) -- hand model swishing through the air

6. insulting (negative) -- hand giving the finger / dead fish / poison

We will also be requiring an image to show the status of the player's relationship to NPCs (e.g. a mood meter). The below image illustrates what we are looking for.

File:RelationshipBar.PNG

The last model that we will be requiring is a menu system for the above interactions which will allow the user to select which interaction to perform (e.g. a list with text).


The following models are OPTIONAL:

Sound effects for all the above interactions (excluding serenading -- we will be using our own music for this)

Technological Issues

We don't anticipate any major technological hurdles in developing this add-on to the game. That being said, there will be necessary additions, such as the ability to store and retrieve NPC feelings towards the user character, and have these affect future NPC actions. These will likely require changing some of the underlying game structure.

Tools Required

The development of this add-on will not require any tools beyond the standard development and OGRE tools required for modifying LIAV.