Saturday, March 12, 2011
It's never to late to learn new skills
Monday, April 26, 2010
Facebook tries to implement a global nation
Thursday, March 18, 2010
Priorities and dynamics
An interesting problem for prioritizing an agile project is the relationship between what is most important and what is needed. This might seem as a paradoxical problem as the thing which is needed is the one which is important. But it is not, and in this post I will try to note down how this can be.
A crude summary of the concept of prioritization might say it is an activity which prevents you from working on the wrong thing. Commonly a set of features which makes the product reach a critical use case. This activity also takes a look at these features and breaks them down into further prioritization to make the product tighter. Then you start building it.
So far so good, to describe why this is not quite as simple as just figuring out the priorities I will fall back on my usual comparison with music production. When you are about to create a piece of music you will have references, either explicit ones that you talk about with the production team or implicit ones that you are silent about or even innovations. These references help you prioritize. This is practically done by something called music analysis and there are some models for this. The ones I use have a mix of formal and informal properties and I won’t dig into these more than describing the simplest level.
Imagine that you listen to a song, now think about which thing in this song is the loudest. *waits a little* Ok, you found an important instrument, maybe a snare drum, a base or something else. Then think about an instrument that you hear quite often. *waits a little more* Ok, you found another important instrument.
In the world of music production this analysis keeps going on for quite a long time, it keeps on going on during the production and it is also done on the finished song. You might start with the hi-hat which is relatively quiet, then a cymbal appears, then a sidestick, a kick, a ride, a cymbal fill and a snare drum. That’s a reasonable set of instruments used to bring in the drums. And you will use the same hi-hat at a few different intensity levels a lot of times before you are done.
The variation of experienced intensity or even volume is sometimes described as dynamics. A good song will have a lot of almost quiet and very subtle sounds going on which gives ambience, harmony and feeling to the whole song. Without these your music is crippled. Imagine making a song with only the loudest and most intense instruments. Some musical genres almost do this, electronic dance arrangements come to mind but these also contain subtleties which are harder to put your finger on.
Now imagine that you have very little experience with music but the company you work for has decided that it is strategically important that you manage the production of the music played in the marketing campaigns for the coming five year. It has to be about five minutes long and sound a bit like a disco song made in the 70’s, and you have a budget which affords you two people working for about a month.
This is a relatively easy mission for an experienced music producer, but it’s quite challenging to the beginner. When you meet your two musicians that will make the music for you during the coming month and you describe your mission they will start asking unpleasant questions. Maybe, so which of the 70’s disco songs should we take our influences from? Since there are vocals in 70’s disco we’ll have to figure out who will sing and what that will cost. How good of a singer do we really need? Is it ok if the singer is a bit flat? Or maybe better to remove the singer and then aim at a more instrumental arrangement? Oh, since you can’t answer these questions for us let’s just listen to this reference and prioritize the parts you think are the most important, then we’ll put them in the song one after another until we run out of money.
So now we have figured out that the base, the kick drum, the organ and the vocals are the four highest priorities. Which one should we finish first? This is a kind of question that will kill you if it happens in the music industry. In this particular example case it is a symptom of a conflict which is based in lack of understanding between the customer and the production team. The two musicians know that they can’t reach the goal of the client on budget and starts to force the client to reduce the scope. To successfully navigate out from this problem the client has to budge on something which was defined in the strategy.
If this happens in the music industry you got a decent solution, just buy the song you want from whoever made the original in the 70’s. In the world of interactive software you don’t have this luxury, your options are limited and all of them are unpleasant. The statistical solution is to start answering the questions and actually building the prioritized things until the money is spent. The market will treat your product as it deserves.
Interactive software, just as music, is riddled with challenges of a dynamic nature. I’ll pick the easy part and talk about feedback here. An example of very intense type of feedback in interactive software is a shaky camera movie. The user clicks a button and then a movie starts playing where the camera shakes and there are loud sounds. A less intense type of feedback is a slight highlight on the button which lights up when the player places the mouse cursor above it.
Imagine that you need to prioritize these two against each other. Which is more needed, which is more important? The answer to this question will depend on who you ask. From my perspective it really depends on the dynamics of the overall production and your concept but the general notion is that increased dynamic range is better than a focused one.
The other day I came upon a tactical production technique which helps with this problem but it appears to have been invented for another purpose, which was to help the team finish within budgetary restrictions. The tactical solution is to bring in items from the whole spectrum of priorities to each product iteration, aka sprint. This has to be done with some consciousness of course, pick suitable low priority items to go with the high priority ones.
This way your metaphorical “music” will end up having Drums, rather than a Snare and a hi-hat. But who is the drummer? ... that's another topic.
Tuesday, February 16, 2010
Corollary definition for design
Monday, February 15, 2010
Erlang vs. Metcalfe
Wednesday, February 10, 2010
Agile Failures
There has been a lot of almost mainstream media whining about how projects fail despite using an agile development methodology. Lots of blog posts about how agile cause trouble and how scrum fails in companies.
This post aims to start a journey which looks at my perspective of this trend. The journey begins with looking at the businesses which invest in projects and we’ll begin with separating these into two major factions.
Faction 1: Profitable business.
The profitable business has found a way to reproduce a profitable sale. Steve Blank uses the phrase “repeatable sales model”. My interpretation of this is that there is a potential market value which is reliably converted into money through the business activities. The repeatability causes a reliable equation to play out where you have a high chance of staying on top of positive revenue through conducting very low risk maneuvers until the equation changes when you have the option to adjust to maintain your profits.
Faction 2: Not yet profitable business
The not yet profitable business has bigger costs than earnings. This is quite simple and includes everything which is not yet profitable. In many cases you can see a profitable business include portions of this in the profitable equation, for example by making design improvements or product line extensions. The more common scenario is however attempts at creating a profitable business out of an idea.
Now that we have these two major factions we have a tool for understanding several ways to achieve failures which will make any methodology fail. Since everyone has learned that the typical waterfall project is going to fail by default it’s not that interesting to talk about, but we’ll try and stick to general failures which can be blamed on Agile.
To predict how you will fail you can start with asking yourself: where does the money that finances the project come from? If it is financed by an already profitable business you have a particular case. If it is financed by venture capital you have another and if it is financed by yourself, often as some type of hobby, you have a third. Among these three candidates you have one in particular which spells uncomfortable failure louder than the others. The least loud failure is when you are paying yourself. No one expects success from a hobby. If you are funded by venture capital you are expected to fail about 90% of the time. No one is surprised when investments fail to find a return. The loudest failure is when an already profitable business invests in unprofitable projects. These also seem to be the ones which plays the blame game and tries to blame agile methodologies for their failures.
If you look at an already profitable business from a capitalistic perspective you would think they should not invest in a new “not yet profitable business” and rather send that money to their investors. But for various reasons they generally don’t operate this way but attempts to reproduce profitability in new innovative manners. These become complicated matters.
A profitable business has generally spent a great lot of effort to achieve their profits. As a game designer knows you will be conditioned by expending effort at achieving a goal. So the profitable business has been conditioned by its own success. This conditioning is cultural within that company. This culture tends to have an agenda which prioritizes protecting the profitable business against risks. The practical implementation of this protection is commonly called bureaucracy.
Bureaucracy causes risky product experiments to have such a great cost that they have to be cancelled before they reach the market. It is better to send the investment immediately into the trash bin than to use it to cause a potential harm to an already profitable business. This also has the benefit of creating plenty of work for bureaucrats who thereby can be hired to handle the paperwork.
Eventually this causes polarization within the company where creative forces such as marketing eventually is urged to brute force the bureaucracy to revitalize a now aged brand. They can see their market share slowly being poached by competitors. At this point in time the culture has set really well. The creative forces rally enough of a budget to overcome the cost hurdle set by the bureaucrats and begin their project.
Since times change and you learn that using “traditional methodologies” will cause failure this project must begin to work with an Agile methodology, they usually try to work with scrum.
The root of the problem here is that scrum does not remove the cultural conditioning which practically has become embodied within the bureaucratic parts of the company. There will be plenty of reasons to interpret the new project as a risk to the profitable business and thereby justifying interference.
I don’t know if there is any particular solution to this problem but I do believe that a better understanding of this structure will reduce the costs of failure for any business which is investing in any type of projects. And this is just the beginning.
To propose a practical solution to this I will recommend making investments into new business areas at a healthy distance from currently profitable businesses. Mere proximity might increase the cost of failure.
From my experience with scrum I interpret some of the rules as engineered to refuse interference from bureaucracy. These rules cause a kind of cultural power struggle within an already profitable business when scrum is introduced. Power is usually owned by the bureaucrats and scrum becomes the loser and an embodied target for the blame game.
Thursday, November 5, 2009
The Cost of Art Forms
- Poems are cheaper than Pictures
- Pictures are cheaper than Music
- Music is cheaper than Movies
- Movies are cheaper than Games
Wednesday, October 28, 2009
A General Learning of the whole Cat Team
Saturday, October 24, 2009
The first hard Learning of the Cats

- MMORPG's
- Next Gen AAA Console Games
- Flash Games
- Web based community Games
- Facebook Games
- Marketing Campaign Games
- Indie Console Games
- Indie PC Games
- Oldskool Games
- etc
Wednesday, October 21, 2009
Efficiency by Forced Iteration
Tuesday, October 20, 2009
The Symptom of Repeated Success
- The production is going on rails and creating fully tested and reliable user value with every backlog item which is started. The Product Owner is a domain expert in the field, has incredible insights in design and production techniques and is well connected with the market.
- The testing of user value does not inform the team about how much value they have been producing and they are developing features blindly.
Thursday, October 15, 2009
The complete cat strategy guide for game production

Monday, September 28, 2009
Hypothesis - Bartle types as network agents
An information network is any system which relays information through links to nodes. For the case of a an online game, which is where the Bartle types come from, this information is typically in the form of text, number, items, levels and so on. We can summarize it as everything any player does which can be observed by any other player either directly or indirectly as a piece of information in the network. The nice thing is that we don’t have to care about the details here.
If you want a good background for understanding the following arguments I recommend reading the publication linked at the beginning of this post. Otherwise maybe you might be interested in it for some other reason.
Quick and dirty Information Network theory background
Nodes are positions and actors in the system, for the case of this particular perspective they are players.
Links are connections between players which transfer information. A Chat conversation is a link, group membership, trade, spatial proximity and so on. We can categorize links as a kind of relationship between players. Links are commonly measured as a relative strength. Measuring links in a binary fashion as used in this text implicates that there is some threshold under which the relationship is too weak to warrant representation in the model. For example between two players who briefly saw each other or had a brief conversation. If you have a project where this type of detail is of relevance feel welcome to extend the model to fit the data which you can understand.
An important piece of background for understanding this text is that links are attracted to nodes which has and communicates information.
Some poorly formulated theory follows:
Bartle types can be detected within a game by tracking changes to the information network. How you would do this practically is not going to be part of this post. Each player can be considered as a node, or we can group players together if you like, but on this very abstract level it does not matter, at least not to me.
The Achiever is a node which generate information through its activities. The Achiever activities are typically focused on explicit goals within the system, such as obtaining things of value. The information gathered by the Achiever is primarily about the Achiever as a relationship to these goals. Such information will spread out from its source to other nodes in the system.
The Explorer determines the value and priority of information in the network. The values found by the Explorer are relevant as meta information and attract links just as any information does. By careful examination and comparisons of available information the explorer is the node which labels information as more or less relevant within the system. If you have played some WoW you might argue that this is done by the auction house, I would argue that there are other things which are information, such as raid tactics, rare spawns, cute little pets, fun quests, interesting situations, chat conventions and about everything else.
The Socializer is a node which relays information by attaching links to available nodes. Information and the priority of information attract attention from the Socializer. Once the Socializer node has obtained information it will use the information to attract new links.
The Killer is a node which cut the network by removing links and nodes. The Killer is unpredictable and will at random select a piece of the network and cut it. We can make a guess which says that the Killer will cut the network at about 2 degrees separation, or more, from its own position.
Saturday, September 26, 2009
Feedback pipelines
Now to the point of the argument, the investment made in the feedback pipeline is most likely much smaller for most game projects. This is not well motivated and I believe it surfaces as a tremendous cost, for successful project it means your staff needs to be incredibly competent and able to manage implicit iteration without excessive waste. For failed projects it is the one major cause for failure.
I knowingly use very strong words here because I want the notion challenged so I learn something useful from it.
Dangers of iterative production techniques, part 1 of n
Risk 1: Feedback conditioning
This is a risk which occurs whenever you keep getting similar feedback through a series of iterations. The shape it takes is much like what happens to us humans when we get accustomed to living close to a paper manufacturing plant which stinks of sulfurous chemicals. Our brains get used to the initially nasty experience and we get used to it. A game development team which gets familiar with some feedback and determine that it is part of reality will make a worse product than they could.
Risk 2: Reliance on implicit feedback loops
When the measurement is implicit as with the case for how the subjective components of the product are experienced it is quite likely that the team will fail to understand when they reach the top of the value s-curve and keep on investing in things which are done. For us who spend our time with the modern art form of game design this is horribly difficult to communicate. I also believe it is more difficult for the other art forms in game development as well than what it is for the older more established media. How do you know when you should make a new animation rather than keep on iterating the current one?
Risk 3: Lack of direction
This is the most often mentioned risk which comes from a combination of lacking vision or the communication of a vision which is hard for the team and business to understand. As a consequence of a poorly communicated vision the team lacks a foundation for understanding even explicit feedback loops and will progress erratically.
Risk 4: Going in circles
When the team has too little room to maneuver they rick failure to understand how to change the next experiment in the iterative process to improve the feedback state of a production. This comes appear to often come as a consequence to another failure which cascades down as an unmanageable cost of an effective cycle time. If changes to the product reach a certain volume the next change will be driven by risk aversion, risk elimination is likely to continuously surface with the same solution over and over.
Do you think this list should be extended, feel welcome to add your own risks and I’ll try bake them into part 2. ^^
Friday, September 18, 2009
How. A sub-atomic structure
How Things Happen
Games are composed of “things”. At this point we don’t need to dig into what these things are, that is going to be covered later. What we need to concern ourselves with at this point is the matter of how.
When you create a game you have the option to determine how things happen in the game. A lot of your options are going to appear as hard wired in the technology or genre which practically is a matter of cost efficiency. Since we are not concerned with cost for this particular topic we can ignore things such as genres and technology and purify the idea of how.
How, for the purpose of this text, is a matter of matching sensory requirements of the user with events in the product. We humans have sensory systems which have been developed through a long time within an environment which honed our DNA through analogue API’s. These are often referred to as nature. Our senses are developed to detect things in nature and it appears as if things in nature come to our attention through some natural properties. A suitable example of the way nature works to catch our attention is perhaps how a branch of a tree breaks when you are climbing on it.
You are standing on a branch in a tree and feel it sway slightly beneath your feet. Suddenly you hear a crackling sound of wood fibers breaking, the branch bends swiftly and you fall. This is a simple model of a natural “how”. We can plot it over time and get a little sequence.
Swaying –> Crackling –> The Break –> Falling –> Ouch!
For the purpose of fully detailed analysis we can consider the crackling as an individual how. How does the branch crackle in nature?
The crackling is going on for a short time and begins with the first crackle, the first fiber that breaks signifies the moment when the branch starts crackling. When the branch crackles its most intsenively we definitely can tell there is some breaking going on. The last fiber that breaks signifies the moment when the branch has finished crackling. We can plot the sequence of crackling over time and get another graph. We can assume the time is short, maybe about one second.
First Crackle – Peak Crackle – Last Crackle
Us humans have developed a in a world where branches crackle as they break. The crackling is an integral part of how we learn climbing in trees, something which probably was more important to us a few million years ago but anyhow, our brain uses the crackling to learn about trees. Since games are much about learning things (which is a topic we will return to later) it is important that the way things happen in games match the criteria for how the brain organize sensory stimulation.
Someone who tweaks synthesizers will be quite familiar with the concept of envelope which sometimes is called ADSR. Envelope primarily defines how the sound signal changes over time. It is commonly connected to how the amplitude, or volume, changes over time, but can also be connected to other things such as filters, phase, pitch and everything else you might want to involve in the note. Since it is easier to understand what happens with amplitude than the other things we will use that as a reference.
When a note begins, the A in ADSR which stands for Attack is set to fits between two extremes. These extremes are instant and very slow respectively. No natural instruments really has an instant attack although some instruments which would appear to be close to instant would be a small bell, a pluck on a guitar or the pressing of a key on an electric organ. An instrument with a very slow attack is also tricky to imagine but rubbing a gong with a brush until it howls would be an example, a singer who makes a very quiet noise and slowly increase the volume until it is loud or an orchestra which slowly builds a crescendo from silence. The real point is that the shape of the attack matters a great lot to the listener of the music.
The remaining parameters of the ADSR will get a bit shorter descriptions.
The D stands for Decay. Decay defines how the note changes after the Attack has player through but while the instrument still is “alive”. For example how the note from a piano sits there while the piano key is pressed.
The S stands for Sustain and defines how the instrument behaves while it is continuously stimulated. For example how a violin sounds while the bow is acting on its string, or how the organ sounds while the key is kept pressed.
The R stands for Release and defines how the instrument behaves when it is told to stop. How the string stops making sound after you release the key and the dampener interfere with the movement of the string.
When building a game we choose how the envelopes for feedback systems are set. The shapes of the envelopes give the feedback fit within the overall experience. Chances are that a very successful game has more variation in its envelopes than less successful ones. It can be argued that feedback is a fractal concept which exists within all levels of the design and that there is an envelope on the feedback from managing a guild in an mmorpg as well.
Figuring out how your particular game should structure its envelopes is an iterative process within the development cycle. Making conscious design decisions for how each component operates from the direct to the abstract will likely help make you understand your product better.
Feedback envelopes are from the perspective of a structure or “grammar” for game design at the sub-atomic level. You can feel them, test them and evaluate them as individual contributions to the overall experience without needing to worry very much about their dependencies on the higher up structures such as skill atoms or story for a good long while. An important thing to keep in mind here is that it is a relatively hefty task to iterate feedback envelopes and you are likely to benefit from determining your level of ambition before you get started spending time on a very ambitious scope in this matter.
Example of mechanics which has an envelope you can test in some isolation.
An attack, accelerating a car, steering a boat, jumping, killing an enemy, selecting a puzzle piece, completing a puzzle, becoming a friend, using the manual, starting the game, etc. There should be no end to which things in a game has a how.
From here we can go back and look at the envelope for the full story of the breaking branch in the tree.
It begins with swaying, converts to crackling, breaks, sends the person falling, from where the next envelope takes over and defines some kind of ouch! A very big part of the learning in games comes from the envelope of the ouch. Learning in games is also something which has been well explored by many experienced designers the last few years so I won’t have to write much about it when I get there.
Friday, August 21, 2009
Protons, chairs and art
Opera > Act > Instrument > Key > Bar > Note
I don’t really know anything about opera so don’t think this is correct in detail, however the point is that the full experience consist of a significant hierarchy of information regulated by some grammatical rules.
Another example of a thing which breaks down into some kind of grammar could be a chair.
Chair > Material > Structure > Molecules > Atoms
Again I don’t know anything real about physics but again the point is the same.
It appears as nothing is exempt from the property of existing within a greater whole. The chair might exist within a room, which exists within a house in a town and so forth. The value of the chair might be linked to the town in which it is and what the local trends and cultures happen to be around there. Also atoms break down into smaller particles and forces if you desire to extend the model even further.
Now I’ll try get to the point of this little post.
In the case of music you can individually analyze each level of the breakdown for value and defects. If there are too many notes in a bar of music the music is defect which will make the whole opera sound foul. If you don’t know that the cause for the foul sounding opera is the existence of too many notes in one bar for a particular instrument you might attempt to repair the problem by adjusting everything else to fit the broken piece.
Much of the game design theory which I find on the internet contains the concept of how to break down games into their hierarchies. I find many of them exciting, especially the skill atom concept by Daniel Cook at http://lostgarden.com/.
However there is something which nags at me as feeling insufficient with all the models I have seen so far. I suspect the cause is that the breakdown into a “grammatical” type of structure is limited to present only a portion of the piece. In the world of music the missing pieces might be covered by two additional components.
1 – The instruments and their properties
2 – The musician
These two properties can be seen as extending the breakdown of music into even finer components which define the properties of a note.
.. > Key > Bar > Note > character > harmonics > dynamics > phase > modulation > etc
Or you can turn it around and describe the waveform which is the end product of the Opera as math... a suitable task for a clever programmer with a big computer perhaps.
It might seem unlikely but there are several pieces of music which has its user value linked to the interaction between phase and dynamics within a single note. Two types that come to mind are electronic music and classical soloists who both expend great energy at refining these subtle parts of the product.
Now It might be about time to make an attempt at breaking down games into their relevant areas or materials. That will be another post.