Chess and Unity
So the big milestone for the Data Driven Dialogue project is in and frankly it needs some time to sit on the shelf while I gather my thoughts for a fresh assault. So I set about learning Unity, something I've been interested in for a long time as a prototyping tool.
The first thing I will say, and I found this with XNA as well, is 90% of the tutorials, resources ect... are worthless to anyone with any base level knowledge. Throw them out, you just need a quick run though the UI, and some quirks pages. All of 10 mins then just use your gathered experience and the reference docs from there on out.
Now when learning new tech two of my favourite test projects are Pong and Tetris. I immediately dismissed these however as Unity made both very easy with its built in functionality, and I knew I wouldn't learn much because I wouldn't need to solve too many problems. I immediately settled on Chess as a well defined game because as anyone who has worked with high level world based tools knows.
- Using any coordiante system for game logic not directly tied to render space is a pain
- Object and Game logic conflict requiring you to split things up
- State based animations and effects can be a pain
- A simple chess AI is a nice little work-out
So yeah I'm tinkering away with that at the moment. Slowly building more layers of complexity on top of it till I'm satisfied I know Unity well enough for a real project I have in mind.
Oh and if you asked why I'm writing a boring Pong / Tetris / Chess game to learn Unity when I could be making Cool Idea #63? The answer is simple always learn new tech with a pre-defined and tested design. Otherwise you will compromise the design to avoid problems rather than be forced to overcome them. The goal is to learn the tech not to make a super awesome game.
Python Parsing Progress
Okay it doesn't look like much but there is a LOT of back-end going into this. With some good work but tonight I should be able to parse the scene script.
Still haven't solved my combination problem for the Gaussian Probability Sets. I have the question up on Math StackExchange.
So onwards to the generators!
c:\Dev\DDD-Snake>testbed.py
~~ Defined Key {SEVERAL:[ 4 : 8 ]}
~~ Done Cleaning and Building Define List
~~ Done Parsing Location data
Status [Gender] Enum : Male(50%) Female(50%)
Status [Job] Enum : Barman(25%) Miner(25%) Gaurd(25%) Functionary(25%)
Status [Height] NumRange [1.2:2.4]
Status [Nation] Enum : Red(83%) Green(8%) Blue(8%)
Status [HairColour] Enum : Red(16%) Ginger(16%) Strawberry Blond(16%) Blond(16%) Brunette(16%) Black(16%)
Status [HairStyle] Enum : Bald(12%) Shaved(12%) Short(12%) Curly(12%) Shoulder Length(12%) Long(12%) Braided(12%)
Braids(12%)
Modifier Gender[X ]
HairStyle : 20% 20% 20% 20% 20% 0% 0% 0%
Height : 1.9 ~ 0.4
Modifier Gender[ X]
Job : 0% 0% 0% 100%
HairStyle : 0% 0% 16% 16% 16% 16% 16% 16%
Height : 1.7 ~ 0.3
Modifier Job[XXX ]
Gender : 100% 0%
Modifier Job[ X ]
HairStyle : 33% 33% 33% 0% 0% 0% 0% 0%
Modifier Job[ X ]
Nation : 100% 0% 0%
Modifier Nation[X ]
HairColour : 80% 12% 3% 3% 2% 0%
Height : 1.7 ~ 0.2
Mutator "Tall"
Height : 2.1 ~ 0.2
~~ Done Parsing People data
Status [GlassFill] NumRange [0.0:1.0]
Status [DrinkType] Enum : Beer(25%) Wine(25%) Water(25%) Milk(25%)
Status [DieFace] Enum : 1(16%) 2(16%) 3(16%) 4(16%) 5(16%) 6(16%)
TODO :: Parse Prop Template --> ['Dice', ['DieFace']]
TODO :: Parse Prop Template --> ['Drink', ['DrinkType, GlassFill']]
~~ Done Parsing Prop data
______ TODO :: PARSE VERBS _______
VERB Cleaning REQUIRES PROP
VERB Dicing REQUIRES Dice
VERB Drinking REQUIRES Drink
~~ Done Parsing Verb data
Done parsing dictionary.txt
-----------------------------
Imperfect Information
I'm loving Starcraft 2 at the moment, and it got me thinking about my love of imperfect information in games design. I strongly recommend A Game of Thrones (board game) and Frozen Synapse, which also introduce blind simultaneous action which make it even more interesting.
So in a game with Perfect Information such as Chess, you know all information about the current state. Rock-Paper-Scissors is the simplest example of blind action. It's such a stupidly simple game but with practice and knowledge of your opponent you can increase you win chances. Balancing intelligence gathering and predicting other players actions are such deep interactions.
This is also what makes Poker so exciting is the reading of the little tells, something which is only possible face to face. So the meta game becomes part of the game which is so interesting. I notice this more and more watching high level Starcraft games. What I like even more is the option to use in game resources to gather information.
That balance between a blind massive push and a much small precision strike is so invaluable. It's what makes war such an interesting study.
The thing which makes games dull is when they become solvable. Introducing randomness makes the task more difficult by introducing probabilities but chance can counter skill leading to a less interesting game, in some cases. Imperfect information is a much harder solution space to map, and once the meta game interacts we go onto a whole new plane of interactions.
Currently I'm working on my Data Driven Dialogue system which at present is a perfect information system. Though there are planned and roughly sketched modules for dissemination, deception and mutation which I'm squeeing with joy about whenever I run them through my head. It's doubtful that those modules will be done by the end of the month but I plan to make them core components of a game I'm planning.
So next time your playing an imperfect information game, especially with people you know well. Stop and think how much information gathering your doing in-game and how much is on a meta level based on your opponent's psyche.
Badda Booom!
Mere-Mortals games division is now shut.
We were working late a few weeks back when the news was delivered and well the final final final letter came through today. It's all quite a process, which started with a large round of redundancies as we tried to pull through but couldn't. The company is still running but sans Games. Many good people are now out of work, some have already found new work but it's done.
There were a lot of good people doing their best. The question WHY has been thrown around and to be frank there is no way of answering it without sounding like an ass. Throwing mud gives leaves you dirty.
I will say that there were clear failings in certain keys areas, and I would love to do a post-mortem on it. Sadly our industry is small, secretive and in some cases petty. So it's very hard to dissect such a thing academically without shooting your career in the foot.
I will say that a key bad point has been removed, and is hopefully bleeding in some dark alley, and that the remaining managers are well aware of past mistakes. I wish them all the best and hope they pull through. I encourage anyone to take a second look at the company because in many ways it is now a healthier place.
Hunting for a job
Well the hunt has been on for some time now and I will say there are two opportunities I'm waiting on like a kid before Christmas. I honestly don't know which one I want more but there are both jackpot prizes.
I did have a lot of trouble with the whole Games Designer & Programmer thing. While most industry vets see the strength of that, and even the inevitable crossover well it confuses interviewers. You are a funny shaped peg they have a hard time hiring. So in the end I made two CVs and chose the most appropriate.
Podcast Problems
Noticed some trouble with the iTunes feed which is now fixed, sorry for the delays. Obviously I can no longer use the awesome sound setup at work so I'm looking into making other plans. Please let me know what you most want to see out of the cast.
All the best,
Claire
Data Driven Dialogue Schism
So the data driven dialogue project is moving along and well a simple problem arises.
The more mechanic driven and gamey your game is, Ludology focused, the easier it is to scrape and implement a data driven dialogue system. The more narrative or plot driven the game is, the more special cases you have and thus the data driven solution becomes much more difficult.
The problem is that the narrative focused game are the ones that will most benefit from it. But of course uprooting an established standard is a tricky task to undertake.
The mistake I made is at the start of the project I chose an atypical role-playing module as a reference point. This being my ultimate goal, but its sooo difficult to use as a reference. Where as recently I started using Quake as an example as it just clicks so well.
So yes I could have a post game chat and character development added to Quake but not sure how well that would appeal. I guess prove it first then move onto more difficult examples.
Cave Generator
Working on my Cave Generator.
Task List
- Trace Wall Outlines
- Smooth Lines
- Generate 3D Geometry








