Randomness in games part II

Guess what: random numbers on computers aren't random. They are generated by algorithms and math tells us that formulas are not random. Proper random number generators also take CPU time - which is negligible unless you need thousands of random numbers per second - as it is in most online games (with combat drawing most random numbers).

The problem with programming is that lazy ones simply use the supplied rand() function supplied by their compiler. But compiler writers rarely spend a lot of time creating great random number generators.

What does random mean anyway. From our viewpoint it means that I get various results for a given action. I read feedback by the game and see some randomness to create variances in the game.

Imagine I would lose due to random numbers 3 times in a row. "That sucks" is the first reaction. But can it be? Sure it can, a random number generator theoretically could create numbers which lets you lose 10 times in a row. Not great, and bad for the game - so we try to prevent it.

Yes, I will now explain how we can make sure this doesn't happen, basically making random less random.
We need to make sure that there is no win or loss streak in the numbers, so we need to distribute them evenly. We also need to make sure that its random, not sorted.

We simply take a table (let's say 10.000 entries) and we fill the table with numbers from 0-99, sequentially until the table is full. Now we start to randomly exchange numbers until the table is totally jumbled and "random". Still streaks can appear so we analyze the table for those and remove them, we make sure there is a rough even distribution of random numbers for every sample we take.

Sounds confusing? Check these links out for some table references:


So these tables guarantee that I get true random numbers but no winning streaks or losing streaks - AND they are much faster for the game as I simply take one number after the other.
AND they can be persistent as I simply save the index (the current random number I took) for each player - so the player doesn't see a repetitive behavior in the game.
So now you know how World of Warcraft generates their randomness. As I knew how they work I could even play with their randomness and increase the likelihood of epic drops. See my 7 year old blog entry which explains this:

Important: Never use these tables for gambling sites like Poker, otherwise some bright MIT students will forecast your 'random' numbers and loot your savings! (it really happened to Poker sites years ago).

So now you know how to generate the numbers - but how do we use randomness? If a game is truly random its actually very boring as random feedback doesn't create a good game.

But this is part of on of my next blog entries - coming soon.


n00b iPhone app mistakes

#1: ignore the sound switch the user set. Blare loud in the office when I start your app although I switched it mute (talking to you Skype!)

#2: save games. That's so last century. Auto save. Also cloud save so I can reuse it with re-installs or across devices. Thank you.

#3 super long intros. You know that most players don't even remember your company name and really don't care about the licenses you used. Stop doing this shit.

#4: make intros not cancellable. Yes. Let the user look through a 1 minute intro before he can play. Most users uninstalled your game faster than your intro finishes.

#5: full animated cinematic and voiced over sequences. Make your game a 1.8 GB download. Thank you. Enough said? Its a mobile device.

#6: make a mandatory registration. Yes, let me register before I can play and your registration either doesn't work or doesn't like m password or even needs a confirmation email click. Sorry. Uninstall is so much quicker and even user friendly!

#7: before I even finish your tutorial you ask me to rate your game. You know. I don't. Let me take a look at your game first. Thank you.

#8: Don't use incremental updates. Let me patch a 1.2 GB update. Thanks. Took an hour.

#9: Don't give me those updates "bug fixes". Give me a list of bug fixes. I know you just want to reset your ratings, ad placement or trackers.

#10 (Feedback from Tino): When I turn off Notifications I mean OFF. Not "maybe I can notify you again - without asking?"

Having more oddities and don#t likes of games on iOS? Let me know!


Mini Games in Games

I often get design pitches from my students which include mini games. I even got pitches in the past from professional developers with mini games playing a major role.

First I ask you: when is the last time you played a blockbuster hit which included mini games? There aren't many. You need to search for them.

Mini games in a design pitch is generally proof that the main game design sucks. The mini games were included to cover the entertainment holes of the original design. That is why mini games should never be included in a game design - mini games essentially admit fail in your main game design mechanics.

Of course IF you are a professional and know what you are doing mini games can be entertaining. In fact there are games just evolving around mini games (Mario Party, Puzzle Pirates etc.) or are just a tremendously successful mini game. But if you are a beginner designer please - please (!) forget all mini game ideas you have.


Randomness in games

Random numbers play a large role in any computer game. They are key to many game mechanics to introduce variety in feedback.

Some games however take it too far and randomize too much. If you play many rogue likes then you are used to this randomness of loot and dungeon layouts: these games randomize the dungeon floors and all loot.

The dungeon layout works in this case as its part of the global feedback: you enter a dungeon which leads to hell and if you die you have to start from scratch. Would the dungeon be identical every time you start over then you would be bored real quick. To prevent this the dungeon layout is random.

This doesn't work for all games however. People love to talk about exploration and their findings. So in World of Warcraft there are hundreds if not thousands of sites listing the maps and loot tables of the dungeons.

Lesson: if multiple of these sites exist then there is a demand. If there is a demand then the overall mechanic works nicely.

Note: you won't find any of these sites about Diablo with the exception of items.

But regarding items in Diablo here is the thing: if you look for epic items it doesn't matter which boss monsters you kill. The drip chance is random, the item in question is random. So you simply farm any monsters you find and sell your stuff in the auction house - the rewarding gold you spend on items - guess where - in the auction house. Basically the auction house becomes an item shop supplied by random drops of players.

This undermines the exploration, the reward to have killed a specific monster and finally your favorite epic drops. Worse: if the player realizes that all drops are random then the content you supply doesn't matter anymore - as items can be found anywhere. You could theoretically limit your game to one zone and boss - of course I over simplify.

Generally randomness should not give only random rewards. Randomness should introduce variety to feedback, not generate random feedback.

Next up: how to use random generators effectively in games.


Target audience(s) in online games

In the old economy we tended to focus a lot on the target audience. We specifically did things in the game design & marketing to target the player we had in mind. After years of retail experience this is done pretty accurate by the publishers.

However in online games this is different, very different.

First difference: retail games are usually fire and forget products. After they are on the shelf they get their DLC or add on and then its off to new products. Sequels reset the cycle.

So the target audience in retail games are a static entity. They don't change as the time is simply too short. They might change for the sequel due to new data, but that's it.

In online games the audience shifts a lot. We talk about games which lasts for a decade or longer. The audience of such an online game is not static. Players come and leave on a daily basis. You might have a constant number of active users but this still doesn't mean the users are identical to last months users.

This means that your target audience is a moving target. They change over time. As within a decade a lot of things happen:

- a console cycle or two passes by
- your computer is 5x as powerful
- things gets invented like the internet or smartphones
- social networks gets created and have a billion users.

So no wonder that online games need a different approach to user targeting.

Why am I writing this? As I always have to fight the notion of the "old economy" that they speak about "THE" target audience. Also what happens if we have all users targeted, is there something like saturation within an online games user acquisition? No.

Well get this: if your online games live 10 years then all former 10 year olds are 20 and represent a wonderful new audience. You have an endless supply of new users simply because we always produce new ones and even more year by year!

Image source: Wikipedia.org


The styles of free to play monetization

Yes, free to play monetization comes in various styles, even trends, they might be even fashionable so to say.

As I have the luxury to experience different companies "styles" of monetization I noticed something unusual.

Companies tend to stick to their style and also think it is the only one which works for them. So they create games and always adapt their monetization style to them - which usually worked unless the games genre or mechanics are not fitting that style. As a consequence those games usually do worse than the original.

So that said company tries a different style it saw at games of another company - and fails. It doesn't work very well as that other company worked years to optimize their "style" and that one might not fit your game at all.

So you're stuck. Either you continue making games which fit your monetization style or you learn how to create perfectly fitting monetization styles to your game. But that means you understand the fundamentals behind it - that you created a formula or schematics which can be made fit to various game styles.

Note that this is true for the inventors of the "European style" of monetization in free to play. Some of them stuck to their style and didn't grow, some of them opened up and are growing beyond their original hit games.

The reason for this "one style" style is of course that their performing games are analyzed and they know exactly what works and what doesn't.So they copy/paste those mechanics to other games and they work as well - but not as good as the original. The title isn't suited perfectly to that mechanic after all. So you create more and more "copies" of the original which deteriorate in quality or revenue over time.

Time to adapt your monetization style. Key learning: monetization works really well if it is fitted perfectly to your game design.

Just like in fashion - they only fit it to bodies (nsfw).


Bad opinion II

So it continues. It comes around every couple of years that industry professionals claim it is a good idea for Nintendo to get rid of their hardware business and write their games for all platforms. Mario on PS4, iPad etc. They think it is a good idea.

Some things they forget:

Nintendo is a Japanese company. They are patient as an elephant. They don't care if they lost one generation of consoles, hey, its just 5 years.

Nintendo is a rich company. Valued billions, having billions in cash reserve. In fact it is one of the richest companies of Japan.

Mario, Zelda, Pokemon etc are the high value IP's which cause people to buy Nintendo hardware.

Nintendo always innovated the consoles, controllers and systems with Sony & MS following their lead.

Compared to Sony and Microsoft Entertainment Nintendo had profitable console generations. MS did not. Sony did not.

Why should they bother about other platforms? Nintendo often enough stated that they do not see MS or Sony as competitors. They merely see bicycles, girls and TV as competition as they steal entertainment time from their consumers.

German article on Krawall.de mirroring my opinion:

And a video / Statement with the same position: