Flammable Penguins Blog The internet home of Claire Blackshaw

5Jun/100

Query Response Format working



Sadly no pretty pictures, but loads of progress. That’s the sad truth of programming, loads of boring text before anything cool happens.

So what are you seeing

  • Query Response Format working
  • People, Locations, Objects populating with random generator
  • No Events Yet
  • Generic Time Atom System in place for storing time sensitive data

Next steps are to intelligent filter choices based on context.
Also I want to add an output to a file so conversation is visible. 

Tagged as: No Comments
4Jun/100

Query & Response format Cemented

Almost missed last bus home.
Really good progress has been made. Lots of clean up and refactoring making good headway.
Query & Response format cermented.
Basic test bed in.
Hard coded a random populator to fill values.
Unified time sensitive atom structure.
More tomorrow (^_^)

Tagged as: No Comments
1Jun/100

Tumblr Fail




Tumblr Fail

So I wrote this long article about how I switched to an Atomic data model.

How this is one possible implementation of the proposed model. Different code would be written based on language, memory and cpu restrictions. The implementation is a proof of concept. It does not define the model.

Atomic Model

The atomic model uses a damage protocal. It stores a value and the time that value was set.

  • Testing point before any atom returns unkown.
  • Testing between or at an atom returns last value change
  • Testing past last atom return last known value

Blind Spot & Discovery

This system means if a value change occurs and then is changed back before an agent observes it again then they are unaware of event. If however the observed value is different to the last known value then they agent knows an event has occurred and can inquire or investigate.

Anyway I got to run and catch the bus, sorry for short version.

Tagged as: No Comments
25May/100

Concrete Examples of Conversations

Not much progress tonight. Looking at examples and the refrence scenario, getting bogged down in detail.

Will look at a code implementation of Thursday

Tagged as: No Comments
24May/100

Dissertation: Atomic Structure

Dissertation: Atomic Structure

A sample atomic structure laid out in a document.

Query and Response forms also discussed.

Tagged as: No Comments
11Apr/100

Classic Dialogue for the Inn-Keeper

Classic Dialogue for the Inn-Keeper

Well it took much longer than I expected.

First Complete Draft of the old Style dialogue tree.
Now to replace it with my new system. 

10Apr/100

Work in Progress: Innkeep Dialogue

Work in Progress: Innkeep Dialogue

Only about 70% progress.

Still so simple, ye gods this takes forever to write.
So glad my dissertation is how to improve this. Cause I’m passionate about character interaction, but this makes you realise why you don’t see it that much. 

Now imagine localisation, audio recordings, animation…. 
Now you know why games are mostly about blowing stuff up. 

10Apr/100

Event Details



Event Details - Some Notes

Events are data blocks which are used to construct the dialogue system. The full list of blocks are as follows.

  • Events
  • Locations
  • People

Where: The location where the event occurred.

When: A fixed time, as to when the event occurred.

Actors (1..N)

An actor is a person who acted at the time. For most events this is only one person. In some cases it is multiple. For a sequence of actions, multiple events are required.

The verb the actor performed is chosen from the game dictionary. The verb carries informational data. Additional verb specific information can be included.

The adjective or manner of the action is an optional descriptor to help clarify the action.

The target is the optional focus of the verb.

Witnesses (0..N)

The audio value indicates if they listened to the event. A float is used to provide fidelity: Loud noises, next room or other audio noise.

The visual value indicates if they saw the action. A float is used to provide fidelity: poor light, no glasses or other visual impairments.

Was the witness a target of the event. This significantly improves their involvement.

Chinese Whispers

Something I have not put in the diagram is the whisper data. If a character was not directly involved in the event as an actor or witness then they have been informed of the event though some other source.

This information stores the degrees of separation, and means of passing. What people it was by conversation, or if there was physical evidence, or an announcement.

Depending on the manner of passing some mutation or noise may be applied to the event to cause the Chinese whisper effect. Also some information may not be passed on.

Example

Event Name: The Foreman & Prefect Argue

Time: Day 2 - Morning

Location: Prefect’s House - Prefect’s Study

Actor: Foreman
Verb: Talk (Missing Profits : Defending Miners)
Target: Prefect
Manner: Violently 

Actor: Prefect
Verb: Talk (Missing Profits : Accusing Miners : Secrecy)
Target: Foreman
Manner: Violently 

Witness: 2x Guards
Audio: 0.5 (Next Room) 
Visual: 0
Target: FALSE 

Witness: 4x Prefect’s Staff
Audio: 0.5 (Next Room) 
Visual: 0
Target: FALSE 

Hope that clears up some things. It helps me to explain things as the system is not complete and perfect and the more I explain it the more I can debug my own logic.

So any questions or feedback?

10Apr/100

Old Fashioned Dialogue

Today’s Plan

  1. Compile the Inn-Keepers Dialogue the old fashioned way
  2. Create the interaction in AGS
  3. Email my supervisor to bring him up to date. 

Side Note: Rave music is much better than Jazz for writing long boring scripts

Also to get an opinion on whether the Inn Keeper as a single subject is enough to extrapolate the data from to compare to the new system which will be generating the dialogue for all character.

I mean can I assume that a roughly equal amount of work is required for each character. Also that no overlap or reuse or resources is possible using the traditional system.

So thoughts on this assumption?

6Apr/100

Writing Dialogue Trees



Okay so the day has been super productive even if it required me to learn a whole new graphing system. 

So the point is this writing dialogue trees is a pain in the neck. Also what’s the correct approach for the dissertation.

  • Try match it in scope and ability of the new system (loads of work but good comparison)
  • Minimal hand-written system per character (least amount of work but very hard to compare)
  • Or some undefined space inbetween?

So once again I ask for feedback and thoughts?