Pages

Showing posts with label robot. Show all posts
Showing posts with label robot. Show all posts

Friday, July 30, 2010

Back from the Black

I know it has been some time since my last post. In fact, it has been far too long. Whenever I have a spare moment from the busies of life and work on my side projects I see 2 options: I can either blog about what I am doing or I can get more of what I am doing done. Unfortunately, I typically see the latter as being the more productive action.

That said, Robot is still going strong. Justin is diligently working on the script and hopes to have it completed within the next couple weeks. I am attempting to channel all of the mothers of the world and guilt Trevor into sketching the concepts for the characters. I recruited 3D artist to build those fantastic sketches and turn them into a virtual reality. ...And as for me, well...I still need to get a computer that can handle the new Chat Mapper. It doesn't completely freeze my computer. No. I just can't open the application. But of course, and I just realized this, I don't need to open the Chat Mapper to update the exporter. Just to test it.

Ghost is going along quite well. I have yet another buddy of mine, Karl, working on 2D images of the various ghosts. It was crazy. I asked him to create a set of ghosts for the game. I gave him the their various powers and toughnesses (Yes, I play Magic: The Gathering) and the next day he came back with names for all of them and several drafts of the first ghost. It's hard not to love this guy's passion.

(I really do have a lot of really creative and talented friends.)

And with all my various trips back and forth between Chicago and Minneapolis in the past few months, I have had plenty of time to think. And because I am thinking without the specific implementation of either of these 2 games, I came up with yet another game. I call it Martyr. It's based off of a thought experiment in recalled from my "Moral Theory and Practice" course in college. Nearly ten years later, one would think that I would eventually forget those lectures.

Initial iterations would be a zero-player "game" that plays as such:

Initially, a set of characters are created. Each character is defined by a personality. A personality is defined by the Five Factor Model. Each of the five factors is either POSITIVE, NEUTRAL, or NEGATIVE. For each factor, one of its dimensions is randomly selected. This dimension has the same value as its factor. This defines the character's personality. Each dimension carries with it positive and negative weights toward 8 basic emotions. The greatest 2 values in the character's emotional dyad, such as "Love" or "Morbidness". This dyad determines what action the character will perform towards another character. If the dyad is composed of 2 opposing emotions, then cognitive dissonance occurs resulting in no action.

Each character has 3 POSITIVE, NEUTRAL, or NEGATIVE "feelings" toward each character (including himself). This relationship is defined using the Triangular Theory of Love. Now whenever a character acts upon by another character, he has the possibility of influencing the target character's emotional dyad. The intensity and longevity is determined by the target character's relationship toward the acting character. For example, if Character A has an emotional dyad is "Love" and Character B has a consummate love relation toward A, then B's JOY and TRUST values increase permanently and SADNESS and DISGUST values decrease. However, if B were to have a consummate hate relation toward A, the opposite would occur. If B were to have a NEUTRAL commitment toward A, then the influence would last for 1 round. If B were to have a NEGATIVE commitment toward A, then the influence would last for 1 turn.

Each basic emotion has an opposite and resulting emotion. JOY results in more JOY. However, SURPRISE results in ANTICIPATION. This allows for "Dominate" personalities to create "Submissive" personalities, and "Curious" personalities to create "Fatalistic" personalities.

This would be the simulation. The "game" portion returns to the Trolley Problem and also why I call it Martyr. There would be X number of dying characters in play. The player would have Y amount of health (Y is less than X). The player can walk up to the various characters and few their personalities and relationships. Now the player can heal a character and return him to life. Doing so, causes the player to lose 1 point of life. Once the player has expended all of his life, he dies and the simulation occurs for a set number of rounds.

While this "game" may appear evil, we (you and me) as individuals do this sort of thing everyday of our lives. We chose to interact and influence certain people, while ignoring others. This project just brings that unpleasant reality to surface. It begs the question, or at least I hope it does: "How do you spend your life?"

Alright. Back to work on either Robot or Ghost.

Note: There is a certain emotional dyad that will heal other characters. And of course, there is also a dyad that will kill others.

Wednesday, June 16, 2010

The Writer of Things

I never know how to write introductory posts that aren't lame, so let me try to keep this short:

I am the Writer of Things. I've been brought onboard here at Groundling Games to script Robot.

Although I've done some spec dialogue work here and there, my primary background as a freelancer writer lies in the tabletop roleplaying industry. (You can check out my online Bibliography.)

If you're looking for a quick primer on how I think about interactive narrative structures, check out:

The Three Clue Rule
Don't Prep Plots
Getting the Players to Care
Remixing Keep on the Shadowfell

These essays were written for pen 'n paper gaming, so the methods of execution may be radically different when it comes to computer games. But I think the underlying philosophy remains fairly constant.

A final introductory thought: If I could only eliminate one flaw in modern game design it would be the presence of narrative dead space. Pauses of faux-poignancy. Droning repetition. Facile time-wasting. A lot of modern games are the narrative equivalent of a tight two-hour movie blown out into a six-hour waste of time -- they're artificially pumping up their play time by watering down the experience.

Robot is going to be pretty much the opposite of that. Expect intensity.

Saturday, June 12, 2010

Trusting Talent

While I continue my implementation of Ghost, Justin (a extremely talented writer) continues his work with Robot, using the newly released Chat Mapper. Because of its new features, I will need to make time and modify the Yack Pack exporter *.DLL. I know, I know. If I were to focus on one project at a time, I could get that project do that much quicker. But by having multiple projects in different areas of development (in this case, pre-production and production), I am allowed to trust the talented people I surround myself. Besides, other than resolving the exporter issue, I would just impatiently annoying that talent.

Ghost is going well. Using a modified maze generation algorithm, I randomly create a path through a 5x5 tiled board (board size is arbitrary until tested completely). Along the sides of these floor tiles, there are wall tiles that are properly layered to create an illusion of depth. When character-tokens move across the board, their layer position moves up and down to add to that illusion. Ghosts spawn, die, and activate their powers at appropriate phases. Shrines and gates (teleporters) trigger, and appear and disappear based upon ghost population. Bosses spawn and die. The challenge I am running into now is restarting the level once the game has concluded without forcing the players to exit the application altogether. ...At least the game is winnable.

Friday, February 26, 2010

A play within a play

From an aesthetic viewpoint, building a theatrical set that depicts one fictional world, and placing that set within a theater that depicts a totally different fictional world presents a couple of challenges. Most importantly, each world must maintain its own unique identity without clashing with the other.

As Chad mentioned below, the play itself is set in a world that is somewhat less than cheery despite an impressive technological sheen. Layers of ethically questionable dictates have piled up and walled-in the society they were designed to liberate. Atmosphere: think Maltese Falcon with robots, most of which are little more than a subsidized source of bipedal horsepower. A smaller portion fill in as metallic playthings that for all of their bells and whistles are no less vacant than the stuffed animals and "Inflatable Ingrids" they replaced. But a handful, like Addison, have been bestowed with or otherwise acquired emotional awareness.

Addison's birthplace--Eva's lab--is nestled somewhere in the shadow of a vertical metropolis. My original concept was a single-level set with two exits, plenty of contraptions to keep the player amused, and far too much ambient light. Not very "film noir".

 

My second concept divided the set into two vertical levels, the second of which is accessed via a hidden stair. More light sources but less light create a more contemplative atmosphere, and multiple micro-environments--a balcony featuring a city vista, vertical windows overlooking a tiny alley garden, and a dedicated workstation area for Eva--help break up the action and create the potential for multiple distinct moods within a single set.


After having the layout approved, I drew a more detailed version to work out architectural motifs and other specifics.



We have since decided to move away from the rather pointy Victorian style and towards something closer resembling the massive, imposing Art Deco look realized in buildings of the 1920s-40s. Combine this with the muted colors, exaggerated fins, and sleek-blockish look of vacuum cleaners and Fords from the 1950s and you have a bizarre aesthetic.

Thursday, February 25, 2010

Manifested by the Binary

I have successfully integrated Game Mechanics Kit into Torque3D. While playing around with my success, I realized that in order for players to know what objects are interactive, they must be physically near an object. If the interaction icon appears, then the object is interactive; if not, then it is not. This requirement seems to be unnecessary and cumbersome to the experience. Granted, the stage is a relatively confined play space, so looking at every object may not take a great deal of time. But having the player wander the stage looking at every object would interrupt the flow. To remedy this problem, I further added a Silhouette Shader to denote interactive objects. While a button (currently the right mouse button), all interactive objects are highlighted with a red outline, similar to how VATS worked in Fallout 3.

After integrated Yack Pack, I started implementing the Reputation System. When I completed it, I became acutely aware that my architecture was horrid. There was no sense of loading and saving values. There was no structure for character A to have reputation toward character B without character B having that same reputation toward character A. With all of that said, I rewrote it to resolve these flaws. And it shiny XML no less.

...Now I need to figure out how to lock levels until the previous level has been played.

Wednesday, February 17, 2010

Believe and Act

Because I have neither time nor talent - nor desire - to create my own game engine, and also knowing that a graphics engine is not equivalent to one, I'm using Torque3D to build Robot. Why Torque? Why not Unity or Unreal? For two very simple reasons: (1) Because I am familiar with Torque and TorqueScript, and (2) because the Torque community has built up an impressive set of middleware, minimizing my need to reinvent the wheel.

Two middleware toolsets that I plan to use are LogicKing's Game Mechanics Kit (GMK) and Filament Games' Yack Pack (YP). Like any middleware, these pieces only offer me a foundation to build from. Neither GMK or YP support the desired Reputation System. But I believe with minor modifications, they can. Besides, if I were just to put a bunch of pre-built pieces...where's the fun in that?

Because YP is an architecture and not a visual tool to build conversations, another tool will need to be used. Thankfully, Chat Mapper (CM) by Urban Brain Studios is just such a tool. A few months ago, I wrote an YP exporter for CM thinking that it would be entertaining to polish my C# skills. Now, to my delight, my previous fun has become productive for my new adventure. Furthermore, Urban Brain has been extremely responsive to user feature requests, such as a wizard for localization and multiple images per actor. Can't beat that kinda tool.

...This post sounds too much like a sales pitch.

Tuesday, February 16, 2010

Domo Arigato, Mr. Roboto

The first project: Robot game.

One of the major problems - Ok, the major problem - I have experienced with game development is the design is huge. The scope is just absurd for the time and personnel. With that in mind, this project aims to keep the scale small in terms of art, narrative, and gameplay.

Robot game is an interactive drama. The art is limited to the theater and stage, including various props. The narrative is limited to 3 characters in 1 scene. The gameplay is limited to the conversations and object interaction. ...That's it. Nothing crazy. I am absolutely certain that somethings will arise from some dark recesses; but with any luck, these somethings won't have teeth.

In order to explain the project, I am going to use the dramatistic pentad. The 5 elements of the pentad are: agent, agency, act, scene, and purpose. These elements can be used to explain any narrative situation, any communicative exchange. For example, Colonel Mustard (agent) killed (act) Professor Plum in the Conservatory (scene) with the candlestick (agency) - because he slept with Miss Scarlet (purpose). ...Yes, that was just a rhetorical analysis of a game of Clue.

Scene
Literally, the game occurs on a stage - it's a performance. The theatre house is a somewhat aged, but not derelict, building that was bright and colorful, almost royal, in its heyday.

The scene, on the other hand, occurs in a cyber-punk noir universe. Pulling from the 1920s and 1950s as inspiration for architecture and character appearance, the world aims to be a little dark and plenty ironic.

Scene 1 occurs in Dr. Eva Gray's laboratory. Part research facility, part studio apartment, Eva spends the greater portion of her waking, sober life in this room.

Agent
There are 3 characters. Each character follows a life script to its tragic end.
  • Dr. Eva Gray - the No Mind script
    A brilliant scientist who privately believes she is surrounded by idiots. But publicly has no confidence to defend her logical and pessimistic perspective. Because of this outlook, she seeks the wisdom of her own solitude.

  • Addison - the No Love script
    An androgynous automaton that acts as Eva's lab assistant. Unlike other automatons, an "intervention" on Eva's part caused it to become emotionally aware. However, emotionally aware automatons are prohibited in the society, which directly conflicts with its new curiosity. Once a subject is learned, Addison is extremely threatened by change - so much so that action will follow to maintain the previous order.

  • Jacob Ward - the No Joy script
    A writer who is visibly self-destructive, commonly frequenting soma dens and pursuing emotionally vacant sex. After a night of indulgences, he awoke next to Eva. That morning was the first guiltless morning-after experienced, and since then has become infatuated with her.
For this first scene, the player plays as Eva Gray. And if I am so lucky that people enjoy Scene 1 and I'm able to continue, players eventually play as every character.

Agency
...I'll have to figure this one out.

Act
As Eva Gray, the player has 2 basic interactions: with characters and with objects.

The player interacts with characters through conversation. Conversations are not the standard dialog-trees, where the player can exhaust all options. Instead, conversations constantly push forward through the drama. Of course, the player is ocassionally prompted with a dialog options of how to respond to the NPC. But this choice carries with it a reputation value (respect, trust, adoration), which determines future dialog options being either locked or unlocked. For example, if the Eva (player) acts in such a way towards Jacob to cause him to distrust her, then he will not be willing to tell Eva his secrets in future exchanges.

Interacting with objects in the environment effect the PC's reputation toward the NPCs. This system is just being further exploited through the environment, allowing NPCs to be responsive to player actions. It's similar to the "Mental Health" mechanic in Indigo Prophecy.

Purpose
Before the scene begins, Jacob Ward learned that Addison is emotionally aware. Jacob desperate to again gain the fleeting approval of society aims to expose the emotionally stable Addison. Jacob questions Eva (player). The player must convince Jacob to not pursue his interests. How this persuasion is done - hostility, feminine wiles, denial - depends upon player choice.

The goal is to have Scene 1 completed by September 1. It will be free-to-play.