Archive for the ‘ Games ’ Category

To celebrate the Season of Giving, I have decided to release a novella I wrote some time ago, in the hope that you might enjoy the eBook.

I originally conceptualized this short story, Magic of the Glass Moon, as a supplement for a computer role-playing game I had been involved with some time ago. As part of the process, I had created an entire game world, conjured up the world’s history and lore, along with civilizations, languages, maps, locations and other content to fill that world with. All of it was carefully fashioned to realize a believable world the player would enter, where people had a past, where historic events had shaped migration and population patterns, and where geologic events had formed the landscapes, among other things.

Even though the player would never actually experience many of the events I designed and described in my original documentation, the content was always understood to serve as glue. To create a sense of depth and history that players could relate to and that would allow them to explore in the form of myths, legends, records, artifacts, locales, and characters. I wanted the world to be believable and in order to achieve that, it had to be alive. That was the reason for months and months of painstaking detail work on the backdrop.

I wrote this short story to give prospective players a very first glimpse at this world. It was supposed to be used as a teaser of sorts, something they would read and that would hopefully kickstart their imagination. Short enough for people to get through quickly, fast-paced and exciting enough to keep them engaged and make them curious. As a direct result, the story was never designed to offer a whole lot of universal background information or narrative depth. Quite the opposite, in fact. It was meant to raise questions about the world. It was merely scratching the surface. A first impression of things to come.

My plan was to provide a series of additional short stories over time that would either cover entirely different aspects of the world or that would more deeply delve into particular details. My involvement with the project ended some time ago and for that reason, I decided to offer “Magic of the Glass Moon” to the public. No need for it to languish on my hard drive. With its focus on the Dwarven culture I had designed for the game, it offers a rare glimpse into the world I had originally envisioned, where a massive meteor strike laid waste to the world in a cataclysmic event. It brought forth dark creatures from the depths of the earth and gave rise to an oppressive religious cult that enslaved entire nations. Led by zealots wielding the darkest of magic, vast swaths of the world fell under the Cruciati yoke.

With that in mind, I hope you enjoy Magic of the Glass Moon, even if it may be no more than a singular—and, admittedly, limited—glimpse at things that were meant to come.

Download a copy for Amazon’s Kindle here

Download a copy in ePub format here

If you do not yet have an eBook reader or need the software to display the books, you can easily download Amazon’s free Kindle software for virtually any device and computer right here.


Atari STWhen I started making computer games in 1983, an immense sense of wonder and exploration surrounded the discipline. It wasn’t a science, the way it is today, where entire college majors are dedicated to even specific disciplines within software and game development. We were mostly on our own, with a piece of hardware before us and very little documentation to show how it worked, what it could do and how to tackle certain problems. As a result, ingenuity and tenacity were as important traits in game developers as programming skills.

Squeezing more colors out of the Atari ST

The Atari ST, which used to be one of my favorite platforms in the late 80s, offered a palette of 512 colors. However, in its low-resolution mode, only 16 of these colors could be displayed at any one time. In medium-resolution, only four colors could be selected. Not a whole lot when you consider that we can see about 7 million colors.

While working on my text adventure “Ooze,” I discovered a way to actually manipulate the hardware of the Atari ST in such a way that it became possible to circumvent these limitations and display many more colors. It was an approach that was unsuited for actual in-game graphics, though, because it brought the computer to a crawl—literally. For something like a static title screen, however, it was perfect and allowed the game to make a strong first impression on players with a title screen that was unusually vivid for the ST.

So, how did it work?

The first thing to understand is that on computers like the Atari ST, we were looking at a fixed hardware platform. Unlike PCs where users could have hundreds of different configurations of graphics cards, soundboards, processors, etc., every Atari ST was internally identical to the next, with the exception of available memory. This, of course, meant that if something worked on my Atari ST, it would also work on all other Atari ST computers, making this kind of experimental programming possible—and very exciting.

The Atari ST had a programmable video chip called Shifter. Through hardware registers, it allowed you to switch the screen mode from low resolution to medium resolution and to a monochrome mode, to adjust the position of the screen on the monitor, etc. However, Shifter and its associated Glue chip also contained a few more obscure registers that went further under the hood and affected things, such as the scanline timing, video synchronization, and so forth.

The key to displaying an image with more than 16 colors, was to, essentially, switch the color palette for every scanline, as the image is displayed. Assembly programming was imperative for these kinds of tasks because the timing was crucial. Oftentimes, with tricky tasks like these, you actually had to count CPU cycles and match it up with the sync signals for the monitor.

The process dissected

Let me break the process down for you in a bit more detail, taking the title screen from “Drachen von Laas,” a text adventure I wrote in 1988, as an example.

It all started with a full-color color scan of Larry Elmore’s beautiful cover artwork for the game. I should perhaps also note that scanners were not household items in those days and cost many thousands of dollars, so the scan was created for me by a professional reprography studio from the original transparency I had received from Larry. I no longer have the transparency or the original file, but just as a reminder, here is what the artwork looked like.

After scaling the image to the 320×200 pixel resolution of the Atari ST, the image would have looked something like this. As you can see, because of the low resolution, a lot of detail has been lost, but it still looks pretty good. (Note: I have doubled the image size on this page so it’s easier to see but left the actual pixel resolution as in the original.)

If we had simply taken this image and converted it to a 16 color palette, the result might have been something like this.

I am merely approximating here, but you will notice that there is a lot of pixeling in the image, as smooth color gradients are being replaced by dithering. Some of this could have been avoided to a degree by giving it a once-over by an artist, but you can see already, that the quality is nowhere near the original beauty, particularly when you imagine how this image would fill your entire computer monitor. There simply aren’t enough colors in the palette to create tones necessary to smooth out subtleties.

Since the Atari ST’s display resolution was 320×200 pixels, what I did instead was to take the full-color image and cut it into 200 individual lines. After doing this, I could now convert each of these lines and create an individual palette for each line. (No, I did not do this manually. I wrote a tool that did all the tedious work for me.)

The advantage for having a separate palette for each scan line was that this palette could be highly optimized for that particular line, whereas a general 16-color conversion would have optimized the palette across the entire image.

How does that benefit the image quality? Well, if you take the top-most line, for example, it contains mostly blue tones for the sky with a bit of gold for the dragon wings. Nothing else. There’s no snow and its many shades to consider, there is no need to worry about the shadows on the orc’s armor or the landscape, etc. The palette requirements for that one line are extremely localized and therefore allow me to reproduce more hues of blue, which improves the overall appearance of the sky, in this case. Let me show you this difference in an enlargement.

At the top, you see the line from the image in which the palette was calculated across the entire image, whereas the bottom one features the palette optimized for that one line only. It is clearly evident that the optimized palette creates a much smoother impression, reproducing the subtle color shifts, whereas the other one is horribly nervous.

With this knowledge in mind, the trick was then to tell the Atari ST to use a separate color palette for each image line. Easier said than done, but after a few days of experimenting, I had the problem solved.

Raster programming makes it possible

At first, the program would wait for a vertical sync, which occurred whenever the cathode ray of the monitor would reach the bottom of the screen and jumped back to the top. The program would set the color palette for the first image line at this time, by writing the respective color values into the respective hardware registers.

The program would then wait for a special hardware interrupt to occur that was triggered whenever the cathode ray reached the end of a line. As soon as that happened, the program would write the color palette for the next line to the hardware and then repeat the same steps over and over again for each line of the display until the bottom was reached and a vertical sync interrupt would trigger the process to start from the top again.

In the end, it was really that simple, but actually figuring it all out took some effort and creative thinking.

An even better trick

I used a comparable trick to create the cool effect in the text adventure games to add graphics. The approach was essentially identical to the title screen raster interrupts. At the top of the screen, I would switch the resolution to the medium resolution to display the game’s status line. After 10 lines I would then switch the screen to the low-resolution mode which gave me 16 colors for the graphics. Below the image, I would then switch back to the more text-friendly 640-pixel medium resolution mode for the gameplay parts of the game screen.

In theory, this sounds quite simple, but in practice, there were a number of hitches to consider. Timing. Interrupts have a certain latency, as the computer prioritizes its internal workings, and things like the horizontal interrupt would generally mark the end of the line, but only roughly. So, sometimes, the display would already be a few pixels into the next scan line before the interrupt actually occurred. Switching the resolution and color palette at this point resulted in nasty flickering effects that were completely unacceptable.

As the image data are sequentially fed to the monitor, the hardware keeps track, of course, which pixel is being drawn at any given time. In the end, the trick to stabilizing the resolution switch was actually fairly straight-forward. Once the raster interrupt was issued, the program would simply poll the hardware until the right-most edge of the current line was reached and then make the switch. So, I set it up that the interrupt was triggered in the line before I wanted the actual switch and then simply wait for the right moment.

Voilà! Just like that, my raster line interrupt became rock solid. There was no flickering, no visible artifacts, just a screen that used multiple resolutions at the same time. It was simply a thing of beauty.

The entire process required a lot of hardware interrupt management and masking because certain interrupts needed to be disabled to increase the overall stability, but had to be reactivated as soon as possible to prevent other tasks in the computer to fail, such as the keyboard, disc loading, and so forth. I figured out a good deal of this along the way by trying to visualize exactly what is going on inside the hardware and occasionally through simple trial and error.

Why didn’t the title screen flicker?

Observant readers may ask at this point, why didn’t the title screen flicker, when the color palette was switched on every scan line? Truth be told, it did, but it was not visible. Because the title screen was in a portrait format, it contained a large black border to the left and the right of the actual image. The flickering occurred in that area but since every pixel that was drawn was black, it became invisible. As long as I ensured that the palette for every line contained black as the first color, everything looked good. By the time the electron beam reached the actual image area, the new palette was safely in place.

I hope you enjoyed this little excursion into the history of down-to-the-wire programming we did in the ole days and I hope it offers a glimpse at the challenges we faced and how we overcame them by pushing the hardware to where it was never actually supposed to go.


This article is a repost of a featured blog post I wrote for

The extinction of computer roleplaying games seemed inevitable by the mid-1990s, a time when publishers almost uniformly dropped the genre. High development costs and long development cycles made them risky propositions, especially since they catered to a niche audience and therefore never generated the same shareholder-pleasing profits as the industry darlings, first-person shooters.

But things have changed. Despite the doomsaying, the genre survived through adaptation, by streamlining gameplay features. Computer roleplaying games (CRPGs) became more accessible and began to appeal to a larger audience and as a result, it is safe to say that today’s CRPGs are mainstream titles that have very little in common with their ancestors from the 80s and 90s. In fact, one could argue that they have very little in common with roleplaying games, period. (Please note that this excursion does not take into consideration the games stemming from the resurgence of retro RPGs in recent years, of course, as they are an intentional throwback to classic design paradigms.)

Despite their mass appeal, to say that contemporary CRPGs lack feature-depth and are too shallow would be a manifest oversimplification of the game mechanics at work, and truly a misrepresentation of the state of CRPGs. Quite on the contrary, these games do, in fact, have a lot of depth and they do have a lot of features. It is the way they are presented and employ these features, that generates the impression of overly shallow gameplay.

Limitations have changed

The early CRPGs the industry produced were all severely limited by technology. Slow computers, sparse memory, expensive storage and low screen resolutions all held back the full potential of these games. As a result, CRPGs were forced to focus on certain aspects of the roleplaying experience and drop others entirely. But hardware improved over the years.

Roleplaying Game: Realms of ArkaniaRealms of Arkania 1 – Blade of Destiny

Technology is no longer truly a limiting factor, and yet, computer roleplaying games have moved farther away from their pen&paper origins than ever.

When we started development of the Realms of Arkania games in 1989, it was our goal to duplicate the experience of a pen&paper roleplaying session as best as we could. While we may have gone overboard in terms of detail and overwhelmed players with depth in the process, the games offered unsurpassed flexibility in many ways. It is the reason why they are still so popular today and have fan communities dedicated to and re-playing them even 25 years after their release. But make no mistake, even those games were severely hampered.

In today’s world, technology is no longer truly a limiting factor, and yet, computer roleplaying games have moved farther away from their pen&paper origins than ever. Perhaps it is time for the CRPG genre to re-examine itself—a necessary step if we want to take the computer roleplaying genre to its next evolutionary rung.

Virtually all triple-A computer roleplaying games have been reduced to a very simple formula.

Virtually all triple-A computer roleplaying games have been reduced to a very simple formula. You run around, you fight opponents, you talk to friendly NPCs and you follow fairly static quest lines. In most cases, the player will feel fairly detached from the actual experience because the in-game auto pilot makes sure you never have to invest any of your own thinking prowess or imagination, or read a single line of dialogue for that matter—though you will have to click mindlessly through them. You’ll never get lost either because the mapping features will always let you find your way from quest point A to point B without deviation, and if you are lucky, once in a blue moon, you may actually be allowed to make a decision that has some sort of consequence. Puzzles are exceedingly rare and when you stumble across them, typically at the end of a dungeon, they have the solution already built-in or are of a rather mundane arranging or do-something-in-the-correct-order kind of sort. Anything, really, to make sure the player never gets stuck or even held up for more than a few seconds.

Real roleplaying is about choices

Roleplaying Game: The Bard's TaleNot that this isn’t fun, but a real roleplaying game is a much different affair than that. What we are looking at here is a mere skeleton of the original genre, boiled down to its bare essentials, and then some. Alternative solutions to problems and paths are usually not available.

But what if you don’t wish to fight an opponent? Why should you feel a need to attack every single breathing being in the wilderness, just because they appear unfriendly? What if you want to barter with a troll instead of gutting him with a spectacular finishing move? What if you’d rather charm your way out of a situation? What if you would prefer to sneak up to and steal any quest artifact without having to kill the enemy? Very few games will offer you any of these options unless they are specifically part of the desired solution path.

The illusion of freedom

Most everything in these games is running on a track, fixed in place and predetermined with very little effect in the grand scheme of things. The open world design of today’s CRPGs will give you the illusion that you can do whatever you want but the freedom of an open world is really all in the exploration. (That, in itself, is actually quite impressive and something old-school games could never replicate.)

Alternative solutions to problems and paths are usually not available.

Sure, you can tackle many quests out of order, but only because they are of no relevance and don’t tie into the world narrative as a whole, leaving the game universe still somewhat anemic.

Occasionally, certain storyline events and quests do change over time, though for the most part, they are encapsulated, pre-scripted and limited to key events in the game, not the gameplay experience as a whole. So when it comes to actual roleplaying, how much freedom of choice is really left?

In fact, most modern CRPGs play like MMOs in some sort of single-player mode, filled with repetitive and often banal quests that turn the experience into a level grind rather than an adventure.

Stop killing the play part in games

Originally, it was a boon to let the computer take over some of the menial tasks for players. Drawing and annotating level maps on grid paper were not everyone’s interpretation of fun, so very quickly, CRPGs added auto-mapping features and journals to keep track of quest assignments. But have we gone overboard with it?

We have created games that no longer necessitate players to think for themselves.

Today, with the computer tracking and mapping very quest destination, every crafting resource, blacksmith, bandit camp, grindstone, and store, along with every important NPC, every dungeon entrance, and every campsite, some games will even conveniently plot a path to your next quest destination for you. Where is the play left in this sort of roleplaying? We have created games that no longer necessitate players to think for themselves. It requires no imagination and moreover, the game is robbing the player of many of the exciting details that made classic roleplaying games so memorable. How many people got lost in the Snare in The Bard’s Tale 2 and still remember it today? I know, I do.

Dialogues as filler material

Interestingly, even after all these years and with all the advancements in technology, dialogues are still one of the weakest spots in CRPGs—though clearly, some games fare better in that department than others. In Witcher 3: Wild Hunt, for example, dialogues are really just window dressing to get players to click on a certain response to advance the conversation or plot and, predictably enough, it is usually the first entry in the dialogue selections. Dragon Age: Inquisition, on the other hand, has a more complex approach that is less predictable and does at least create the impression that different selections will generate vastly different outcomes, even if that is truly the case only on occasion.

Roleplaying Game: Dragon Agi: InquisitionDragon Age: Inquisition

As a result, dialogues and the accompanying cinematic sequences often feel like tedious roadblocks and filler material instead of an actual development in the overall world narrative.

CRPG gameplay revolves around exploration, while that of a traditional roleplaying game revolves mostly around problem-solving.

Traditionally, roleplaying games were not that simple, mostly because they feature a living, breathing, human game master, of course, but also because of the way these games were designed. A maximum of freedom was the key, to enable players, while, at the same time, forcing them to make decisions almost constantly. As I mentioned before, much of a CRPG’s gameplay revolves around exploration, while that of a traditional roleplaying game revolves mostly around problem-solving. These are very different fundamentals shaping the overall experience and the resulting approach to game design. One is leading the player, the other is challenging him. 

You will be hard pressed to find a contemporary CRPGs that is not leading the player from beginning to end. From one quest point to the next. You don’t even have to explore the beautiful open world to find them. They are plain to see on the map and much of the gameplay is reduced to a walk (or ride) from point A to point B where you will be confronted by either a monster or an NPC, stringing you through a dialog, which in turn will inevitably take you on a detour to the next quest point.

Let players use their imagination for a change

When roleplaying games went through their streamlining process in the early 2000s, a process which took them to their current mainstream formula, the focus has always been to make them more accessible, easier to manage and learn. The computer auto-pilot I mentioned before was a significant part of that process, stripping away a lot of the nerdy data work. Interestingly enough, however, today’s roleplaying games often still carry a lot of statistics with them. Not so much in terms of character attributes, dice rules and advancement exceptions, the way classic CRPGs did, but instead in the form of skill trees. Skill trees have become such a trope in computer games that you can find them everywhere these days, even in pure first-person shooters. In a roleplaying game, however, they do miss the point of the actual game when employed incorrectly.

Unused skill trees are nothing but clutter.

As I mentioned, traditional pen&paper roleplaying is all about problem-solving and as a result, it involves a lot of trying things out. The player brings the imagination and the skills of the game character are used to overcome precarious situations and challenges. In return, these skills are improved over time through their usage. Learning by doing. Too many CRPGs completely ignore this aspect of character development. Instead, they simply weigh down every character with all possible skills relating to his class and profession, all neatly laid out in an array of skill trees. It is a way to impress players, creating the impression of roleplaying depth and versatility. While keeping it manageable, one skill advancement at a time, the reality of it is, if your Level 5 warrior has never once wielded an ax, there really is no need to burden the player with all the excess baggage that goes along with the skill trees relating to axe-wielders. At this point, it is nothing but bloat. 

Unique character growth is key

The progression of a character is important, the ability to grow and distinguish the character, make him unique. Most games directly tie distributable skill points to level advancement. No real growth of the character through learning takes place. You killed enough monsters or solved enough quests to gain a level? Here is a skill point. Do with it what you wish. It works from a technical standpoint, but as a true roleplaying feature it is too disjointed and simplistic. When a game goes so far as to allow the player to accumulate so many skill points that he can unlock virtually every branch in every skill tree, the aspiration of unique characters has been lost entirely.

An approach that is much more in line with roleplaying sentiments is that found in The Elder Scrolls: Skyrim, where the character has (invisible) attributes that increase through usage and translates them into potential skill advancements. You still have to deal with the clutter of twenty unrelated skill trees, but at the very least, the game really invites you to use skills and grow them through play. (In fact, Skyrim is the game that has, perhaps, created the most roleplaying-like experience in any CRPG to date on numerous levels.)

From a story design perspective, contemporary CRPGs are richer than they have ever been. Main story plots, legendary storylines, subplots, class quests and the like weave a dense world that is brimming with content, no doubt. It is truly staggering, the amount of content found in games like Skyrim, Dragon Age: Inquisition, Fallout 4, Final Fantasy XV or Witcher 3, to name just a few. Yet at the same time, they all tend to share one weakness. Believability.

Make me believe in your world

Here you are, a tough-as-nails adventurer, long time teacher, and master to acolytes, taken down by a Level 1 rat. Nothing says world-saving hero quite like getting killed by a rodent the size of your fist. Surely, we as an industry can do better than reiterating these same old clichés. If your story centers around a character that is experienced and represents a master in what he does, then the in-game character should properly reflect that. He may still start at Level 1, as it relates to the game, for all I care, but at the very least the opponents he faces should be properly matched, as should the quests and the respect the character receives within the game world.

Nothing says world-saving hero quite like getting killed by a rodent the size of your fist.

Despite their wealth of world content—or perhaps, because of it—virtually all contemporary CRPGs are completely lacking social awareness. When thinking of AI in games, we typically associate it with smart pathfinding, and overall movement and state behavior of (enemy) entities, but never really with social behavior. As a result, in 2013, I crafted the template for a design called the Psycho Engine and published an outline of it as part of my Deathfire roleplaying game that I tried to fund on Kickstarter. It describes the building blocks of an artificial intelligence system that can be used to make characters in a game aware of any number of factors, namely other characters, their strengths and weaknesses, peccadillos, history, achievements… virtually anything.

During GDC 2014, Bioshock creator Ken Levine explored a similar concept that he called “Narrative Legos,” which essentially serves the same purpose—to track and provide information to in-game entities in order to affect the narrative flow of a game. Later that year, Shadow of Mordor was released, and with it the Nemesis system, which, for all intents and purposes, is a lite version of my Psycho Engine design.

Richer games through NEW technology

For some reason, no other game has since made use of similar technologies, which is disappointing because it would allow for incredibly rich narratives that directly adapt to the player’s actions and achievements. In current games, you play a hero… an unsung hero, one that no one knows and no one recognizes. All the hard work the player puts into the game remains mostly unappreciated by its inhabitants. Things at the Jorrvaskr in Skyrim never change, for example, not at the start of the game, not during the lengthy adventure and not after you’ve completed all the storylines and DLCs. It, like almost everything else in these game worlds, feels static. It appears as if simply having enough having NPCs walk around the premises is mistaken for actual depth in most games. Without the mesh of an in-game society and culture, they are nothing but gameplay noise.

Without social awareness, nothing you do inside the game will feel like you truly made a difference.

After completing your favorite CRPG and beating the ultimate bad guy, do you feel like you really made a difference? You closed rifts, killed evil warlocks, killed their dragons, but do you feel that you truly made that world a better place? That you have actually achieved anything of value? 

I usually do not. I feel unfulfilled because there is no social awareness of my achievements in the game universe. Dragon Age: Inquisition is a game that touches upon it to some degree. The Inquisitor (player character) is recognized and respected—or disrespected—throughout the game world, but it is no real social awareness based on individual achievements. It is rather built into the character and the main storyline. The player ALWAYS plays the Inquisitor—from the very beginning. He doesn’t become him or her!

Real social awareness would recognize the player’s deeds and the world around him would react to it. People would talk about it, ask him about his experiences, tell other people about it in taverns, actually creating an in-game reputation for the character based on his actual achievements rather than sporadically, along predetermined lines.

Roleplaying Game: SkyrimThe Elder Scrolls V: Skyrim

Out of all the game mechanics, this kind of social awareness and world response to that awareness is probably going to be the landmark that will take CRPGs to their next generation. The excitement created by the Nemesis system, regardless of how shallow it actually was, is a clear indication that players are looking for this kind of in-game feedback. When properly implemented, it can create a completely new sense of gratification for players that does not require the constant slaying of anything that moves. It will take the roleplaying aspects of these games back into finely delineated facets and allow computer games to much more accurately resemble real life roleplaying sessions. 

Real worlds wanted!

Over the past 20 years, the design of computer roleplaying games has evolved very little.

It has been almost 20 years since Baldur’s Gate steered the RPG genre away from the abyss of oblivion and took it to a more mainstream audience. It has been almost equally long since Everquest popularized true open-world design in the genre. However, in the long years since, the design of computer roleplaying games has evolved very little. The visuals may be more dazzling, the storylines ever more complex, and the worlds ever larger, waiting to be explored with their rich tapestry of flora, fauna, and denizenry but at the core what they have always been truly missing is a beating heart.

As I play through the current fare of CRPGs I can’t help but feel the genre has stagnated and has become utterly formulaic. I strongly feel that it is time for the next step in the evolution of the genre. Let us make use of the technologies and incredible processing power at our disposal for more than stunning visuals. Let us turn the computer into a real Dungeon Master, a storyteller who weaves a narrative fabric as we play along, who is sensitive to the way individual players behave and tackle the game, who challenges the player in accordance with his unique strengths, weaknesses, achievements and playing style. Someone who knows how to force the player to make decisions of consequence.

These are just some of the ideas and design paradigms I have been accumulating over the many years that I’ve been involved in the development of computer roleplaying games. But even these glimmers should give you an inkling of the kind of brand new experience one could create if applying them to a new roleplaying game. Are you up to the challenge? I'd love to help.


To Build a Better Game

For 30-odd years I have been developing computer games. Over that period of time, I have seen many changes, both in technology as well as in general game design.

As I look back, however, I find that things are not always just moving forward, as we blindly assume. It pays to look back on occasion, to learn from the lessons of the past. Many of the challenges game developers face today are not altogether new, and close examination may reveal that vintage methodologies may still do the job.

Let’s take the subject of load times, for example, one of my pet peeves with many modern computer games.

On my Commodore VIC-20, the first computer I owned, programs were loaded using a datasette, a tape cassette recorder that was slower than a slug crossing a puddle of ice. What was worse was that datasettes were prone to loading errors, which meant that there was always the possibility that the last 10-minutes worth of loading were wasted because the program had not loaded correctly and you’d have to redo it all over again—after adjusting the tape head with a screwdriver. (Strange that we all look back so fondly on those days, as we reminisce about the good old days, isn’t it?)

The arrival of floppy disks improved things a bit, but as the data throughput became faster, the amount of data we needed to load grew exponentially along with it. In the end, loading times remained long and disk swaps became insufferably tedious.

Hard drives arrived and made things a whole lot easier, and faster, but alas, following Moore’s Law, once again, the hunger for data outgrew performance exponentially, despite the fact that drives became faster and faster. Today, even a solid state SSD-drive seems too slow to handle your everyday office software appropriately.

In today’s games, it is common that gigabytes of data have to be transferred from a storage medium into the computer. High-resolution textures, light maps, dirt maps, geometry, audio files and other data create a bottleneck that very quickly slows down the load times of any game.

When we first encountered this problem in the 80s, the most common approach to reducing load times was to encode data. “Know your data” was a key mantra at the time. If you have set of data and you know it’s entirely binary, why waste 8-bits on it when one will do? In this fashion, data could oftentimes be reduced to a fraction of their original size, thus reducing load times.

As processors became more powerful, the next step was usually compression. Here, more intelligent and powerful algorithms were put to use that were able to compress all sorts of data without any loss of information, especially when datasets were optimized by packing together clusters of the same type. Text files compress very differently, for example, than image files, and compressing each type separately would yield much better results.

But decompression takes time and space, so programmers are always trying to carefully evaluate the trade-offs. When decompressing data becomes more expensive and slower than loading it, it loses its purpose—unless obfuscation is your goal.

We reached that point around the time that large hard drives became commonplace and storage space became seemingly of no real consequence. Not surprisingly, it went hand in hand with the emergence of object-oriented programming. Almost all game developers moved from C to C++ at the time, as the language of choice. As a consequence of encapsulation, and private object implementations, the mantra “know your data” became frowned upon. You were not supposed to know how a method implements its workings or what its internal data looks like. Just assume it works!

When it came to loading and storing data for these objects, programmers would oftentimes simply serialize the object and dump it straight onto the hard drive. Simple, fast, not much can go wrong.

As games grew in size, the widespread use of game engines like Unity, Gamebryo or Unreal and others further compounded to the problem. No longer interested in internal workings, developers would use the built-in functionality without giving data storage much thought.

As a result, load times for games increased again, dramatically. Some developers tried to counter with compression, but as I mentioned before, better compression comes at a cost and as you sit there and stare at the loading bar on your screen, you’re not actually experiencing disk transfer times, but rather decompression taking the limelight.

To me, it is simply unacceptable that I have to wait for 2 or more minutes to get back into the game after my character dies, as is the case in many games these days.

So how can we solve this problem and rein in load times? A multi-pronged approach is definitely necessary.

Developers have to WANT to bring load times down!

The first and most important thing we need is goodwill. As developers, we have to WANT to bring load times down. Only then will we spend the necessary time to analyze the issue and try to find solutions for it. Since every game is unique, optimizing load times is a custom process, just like optimizing a rendering pipeline is. But first, we have to see it as a problem that requires fixing before we can do something about it.

In the case of a save game re-load, as described above, a number of methods instantly come to mind, and instantly the vintage mantra “know your data” becomes relevant again. If you don’t know what you’re dealing with, you simply cannot optimize it.

Know your data!

Assume, if you wish, that you load a game, stand there, and one second later, without ever moving, your character dies from the effects of a poison. What happened? Nothing!

At least nothing that should warrant a 2-minute data load in an age where disk data throughput is in the hundreds of megabytes per second. We did not destroy any geometry. Did nothing that affected any of the textures or light maps. No items were touched. We did not move around either, requiring no additional geometry or texture pre-caching. No new opponents were spawned. Everything that happened was limited to a small subset of data, such as opponents moving around, perhaps, the character’s stats themselves, perhaps some raindrops falling—stuff like that.

With a bit of effort on the developer’s side, all of that could be reloaded or even reset within a fraction of a second. With the right technology and methodologies in place. So, why not develop a core system that flags data as dirty when it has been modified? Why not develop loaders that are intelligent enough to reload only the data that need to be reloaded?

In practice, it would require grouping various types of data together—hence the return of the “know your data” mantra. If you keep all positional information in a storage pool together, you can elect to load only these positional data. If you group geometry together, you can selectively load only geometry, if it has been affected. If the player has not even moved and there is no need to reload gigabytes worth of textures, why do it? I suppose you get the idea.

The key is to identify what has changed and to find ways that allow you to access and reload only those portions of data that are necessary. Your reload times will very quickly go through the roof in many instances.

If you can cut down the loading time of your game by one minute for a million game sessions, you have freed up almost two years worth of time!

The same is true for the basic game load when you start it up for the first time. If data is properly organized, it can be treated in a way that is specific to the dataset. Instead of compressing certain types of data, they could be encoded instead, since decoding is typically faster by a significant factor. Other types of data may lend themselves to compression using one type of algorithm, whereas others would benefit from a different type, which may decompress much faster. The key is to take the time to explore, analyze and evaluate your data and your needs and then build an optimized strategy around it.

Is this a trivial task? No, by no means. It requires very careful analysis and structuring of data layouts, as well as the implementation of logic that flags, identifies, isolates and manages data loads, but it is important work. Loaders may become quite a bit more complex but it is a fair, one-time price to pay for an improved user experience. Even a very basic system using different layers of data and loading them selectively will result in shorter load times right off the bat.

To put it in perspective for you, if you can cut down the loading time of your game by one minute for a million game sessions, you have effectively freed up almost two years worth of time. Your players will thank you for it!


This post is part of a three-part series. Directly access each installment here

Part IPart IIPart III


Now that we know how to create a grammar context and how to reference different GrammarAttr objects in our parameter list, as shown in last week’s simple example sentences, let’s take a look at more complex scenarios.

The nazgûl draws his sword and plunges it deep into Frodo’s shoulder.

This is a reasonably complex sentence, I think, that can occur anywhere in any role-playing game. Without a proper dynamic text system, it is hard to fully take control of it, and it would require a lot of a special coding to catch all possible cases, however. For us, its challenges are solved in a breeze.

Let’s look at the structure of this sentence first and break it down, like this.

[Definite article] [subject] [verb] [possessive pronoun] [object] and [verb] [personal pronoun] deep into [definite article] [secondary object] shoulder.

A lot going on here, wouldn’t you say? Using my Grammar engine, however, this entire structure is easily represented in this way.

[The-name] draw[s] [his-her] [] and plunge[s] [he-she] deep into [3.the-name][‘s] shoulder.

Once again you will notice the elegance of the implementation because Grammar always makes sure that the source sentence remains readable and understandable. This will be especially important once you try to localize your text. In those instances, cryptic implementations will instantly cause trouble and create translation errors that are time-consuming to catch and handle.

To further illustrate the power of the Grammar module, here are more possible, dynamically created output sentences stemming from that one template. As you will see, none of them feels like a cheap cop-out that attempts to circumvent grammar issues the way all-too many games do.

Assuming that all nine ring wraiths descend upon the poor hobbit in our previous example, we would get this result.

The nazgûl draw their swords and plunge them deep into Frodo’s shoulder.

Notice, among other things, how the [his-her] and [he-she] tags are correctly expanded to their and them in this case because there are now multiple monsters and swords in play. And all without a single line of extra coding!

Alternatively, we could generate this output…

Frodo draws his dagger and plunges it deep into the orc’s shoulder.

or this one, referring to his sword by name, instead of the generic description.

Frodo draws Sting and plunges it deep into the orc’s shoulder.

Let me stress it again, that all these sentences have been created from the same source template that you see above. The Grammar logic is doing all the hard work for you to match articles, pronouns, names and grammar cases in order to form a grammatically correct sentence. It’s almost like a little bit of magic. 🙂

To allow for this kind of flexibility, the Grammar module needs a certain vocabulary; tags that it can interpret and adjust, respectively. This vocabulary contains the most commonly used terms, such as pronouns, verb forms, article forms and others, and, if need be, it can be easily expanded to accommodate even the most complex situations. The system I’ve designed gives me the freedom to shuffle things around efficiently, just the way I need it.

This is, perhaps, best evident when you look at other languages, most of which are considerably more complex than English. Here, for example, is what the above example could look like when it is being translated into German—a language with highly complex grammar rules.

[Der-name] zieh[t-en] [seinen-ihr] [] und stösst [ihn-sie] tief in []s Schulter.

Despite the language’s own complexity, you can see that, outwardly, the tagging does not appear much different from the English version—except for the fact that, like the sentence, they are in German, too. The complexity is hidden under the hood, as these tags are being interpreted. The fact that these tags are actually German, takes any guesswork or awkwardness out of translating the text. The result will be translations with fewer errors and misinterpretations.

The source sentence above, when interpreted by Grammar, would result in an output somewhere down these lines…

Der Ork zieht sein Schwert und stösst es tief in Frodos Schulter.

Nice, isn’t it? Because of its complexity, the German implementation contains a much larger vocabulary to interpret, but for the writer, this is irrelevant, because the sentences are tagged in their native, natural language.

And the same approach works for Spanish or any other language. The module provides the most commonly used native Spanish tags that will allow writers and translators to easily create sentences that take the respective grammar into consideration.

If you are interested in the Grammar module, it is now available in the Unity Asset Store. It currently supports English, German and Spanish languages. It is easily expandable, both with additional tags and to support any other language. In fact, I could easily write language modules for Elvish or Klingon, if there were any demand for such a thing.

And since it’s all fully abstracted and encapsulated, it’s usage could not be simpler. And all it takes to switch to a different language is a single API call. The rest would fall into place automatically, in real time, without processing or additional data overhead.

And just like that, we solved a problem—and elegantly so, I would say—that has limited game developers for three decades. Don’t be the one to use banal sentence structures in your narratives. Grab a copy of the Grammar script package and leave your sordid, nondescript language past behind!

Now available as a script package in the Unity Asset Store



This post is part of a three-part series. Directly access each installment here

Part IPart IIPart III

In the last installment I illustrated the immediate difficulties game designers run into when they try to dynamically create text output that takes random game objects into account. Grammar gets in the way…


Today I want to show you how I approached the problem to create my Grammar script package for Unity3D. To understand the approach and its solution, it is best to a look at a sentence in a more abstract form. When we have sentence like this

The orc picks up a sword.

You can break it down into its parts.

[Definite article] [subject] [verb] [indefinite article] [object]

We can now easily create thousands of sentences, using this exact structure by simply substituting its elements. We could, for example, say

Frodo grabs a dagger.

Different sentence—same sentence structure. The definite article is dropped here because Frodo is a proper name, the verb is now to grab, and the object has become a dagger. Not a whole lot different than the previous sentence, but the fact that the proper name doesn’t need an article is worth remembering.

Another example could look like this…

The orcs grab some swords.

Same structure, but a few more rules kicked into action. Because the orcs is a plural form, the verb form changes as well. The s from grabs has been dropped to reflect the plural. In addition, because swords is also a plural form, the correct indefinite article is now the word some. (It could be omitted altogether just as well, depending on your preference.)

The easiest way to accommodate these adjustments in dynamic text is to create an engine that can generate the necessary sentence elements by itself. In order to do that, it needs some information about the objects in question.

For that purpose, I am setting up a data structure to hold the most basic grammatically-relevant attributes. This GrammarAttr data structure contains info, like the name of the object, as well as its gender, a count and plural flag, a flag to indicate whether it’s a proper name, and a few others.

The name in the structure is using a special format. Because it is not enough to simply drop in the name itself, I needed a format that allows me to generate correct singular and plural names of an object. Since no rules exist for this in any language, it needs to be hard-coded. To make it work I am using a format that consists of the word base, then the extension for the singular form and then the extension for the plural form, all separated by a period. Here are some examples.

To generate the singular form for woman, I would therefore concatenate the word base wom with the singular ending an. Whereas the plural would consist of the word base and the ending en to create women.

Identically, when creating the singular form for orc, I would take the word base orc and add the singular extension to it, which is empty, so the word remains orc. To generate the plural, we concatenate orc and s.

It is a very simple and very effective process, really, that I’ve been using unchanged for over 20 years. To make thing more convenient, my implementation also lets you drop the periods, if you have a proper name, for example, that does not have a plural form, so Frodo could be simply entered in the system as Frodo, without any periods.


With all the attributed found in the GrammarAttr data structure, we can now go about designing actual tags that we can use to mark up the source text. I decided to enclose all tags with square brackets. This keeps things readable and it allows me to parse tags in the string very easily with a simple Regular Expression.

Since I want to make sure these tags can be easily understood and will help the translation of text into other languages, I decided to use natural language for these tags. In order to dynamically generate sentences like the ones above, my source string would, therefore, look like this

[The-name] pick[s] up [a-name].

Immediately, I am sure, you grasp the elegance of this because I am certain that just by looking at it, you will instantly understand how it works. But, you may also notice some of the inherent ambiguity.

The sentence contains the tags [The-name] and [a-name]. But how does the program know, which is which? This is where the GrammarAttr data comes in. When parsing the text to generate the final output string, I will pass a list of the referenced objects into the function as a parameter. This means that I will have a GrammarAttr object for the orc, and one for the sword.

Now it becomes a simple matter of reference. In order to tell the software, which object is which, we simply extend the tag and write this instead.

[1.The-name] grab[s] [2.a-name].

As you can see, some of the tags have a prefix now—once again, separated by a period—creating a grammar context. At the beginning of the sentence, I set the context to the first object (the orc) so the software will generate the output The orc. Note how the capitalized T in The-name indicates that I want the output text to start with a capital letter as well.

The Grammar module will first read the reference, grab the attributes for the first object and extract the name. Then it will slap a definite article in front of it—provided it is not a proper name, which does not require an article—and generates the output.

Naturally, if we were to set that data attributes to indicate that we are dealing with multiple orcs through the use of the plural flag or the actual count variable, the program would generate the respective plural form of the name.

As we move on, we hit the word/tag combination grab[s]. Since we have previously set a grammatical context—we are referring to the first object in the list of GrammarAttr parameters—the program can now check to see if there is one orc or many. It will then add the letter s to the verb grab, depending on the status of that flag. This will therefore generate either the sentence fragments The orc grabs or The orcs grab.

The next tag has a prefix once again, creating a new context. We are now referring to the second GrammarAttr object in the parameter list, and we want it to print the name of that object, complete with an indefinite article.

Easy enough. Grab the attributes, generate the name, generate the correct article, depending on the name and the other attribute flags, and voilà, we have a full sentence that says

The orc grabs a sword.

As I pointed out before, by simply changing the attributes in the GrammarAttr data structure, we can now create sentences addressing thousands and thousands of different objects, if we wish, using the same source sentence, all showing up with the correct grammatical rules applied.

Granted, this is a very simple sentence and a very small example, but it illustrates the approach I am taking to generate grammar-aware text strings. If you join me next time, I will show you how other tags allow us to create much more complex sentences, and in a future post, I will also explain, how all this fits into making localization easy and safe. I’ll see you soon…

Now available as a script package in the Unity Asset Store



This post is part of a three-part series. Directly access each installment here

Part IPart IIPart III

One of the key elements in your toolbox when developing role-playing or adventure games is a smart text generation stage that allows you to intelligently create dynamic text strings on the fly so that you can embed item names, monster names, character names and other things right in the text. Simple enough, right? Well, perhaps not as you shall see.

Even in today’s world of high-end RPGs, we still frequently see text output such as this:

Sword taken!
Acquired item: Sword


I may be over-simplifying this right now for illustrative purposes, but these impersonal, one-fits-all text snippets are the result of over thirty years of trying to avoid one basic, underlying problem—grammar in text generation.

Dynamic text generation adds depth to your narrative

See, in order to keep things a bit more interesting, the designers could just as well have picked a different sentence and made it look like this

Samwise picks up the sword and gives it a quick look-over before stowing it away.

or at the very least, in the fashion of old text adventure games, add an article to the respective words.

You pick up a sword.

Naturally, the requirement for longer text changes with each game. Some clearly keep text short as not to get in the way of gameplay, but games that rely heavily on text are better served with more verbose string generation. It is much more in line with the narrative storytelling that classic role-playing games were striving for, and it would create a whole lot more depth, wouldn’t it? It would, no doubt, and it was one of the key ingredients that made the Realms of Arkania games such a rich and incredibly detailed experience. So why aren’t more developers doing it? Are they truly so afraid that people don’t like to read? Hardly. If any audience in the computer game world is willing to read voraciously, it is role-players and adventurers.


No, the reason is purely technical in nature. To illustrate my point, let’s assume for a moment that Samwise is not picking up a sword but some coins instead. In this instance, the text output would have to look like this…

Samwise picks up the coins and gives them a quick look-over before stowing them away.

As you can see, the sentence has changed. Slight as the change might be, it is significant. Because coins are plural, the sentence needs to reflect that, resulting in different pronouns (them as opposed to it).

Things get even trickier when we change the sentence to something more complex like this

Samwise watches an orc pick up a sword, as he gives it a quick look-over before stowing it away under Sam’s watchful eye.
Pronouns and articles can wreak havoc on your sentences

There is, suddenly, a whole lot more grammar we have to deal with. “An orc,” and “a sword” are nouns that require indefinite articles, and as you can see there are different versions of it—“a” and “an,” depending on the word it is referring to. “It” is a pronoun referring to the sword that can change also if we are referring to a noun in its plural form. Then there is “Sam’s,” a genitive case of a name, which can also have different forms, not to mention that we need to distinguish whether we are referencing a general object like ”the orc’s eye” that requires an article, or that of a proper named object, like “Sam’s eye,” which doesn’t.

Here’s an example, how the same sentence changes if we just change some of the nouns it refers to.

The orcs watch an Elven girl pick up some coins, as she gives them a quick look-over before stowing them away under their watchful eyes.

Barely looking like the same sentence, in a way, but if you check closer, you will see that the sentence structure still remained the same.

I am sure you are getting the general idea of what I am trying to illustrate. Any time you make an attempt to dynamically create sentences that may contain any of a number of variable noun references, things can very quickly get rather complicated. You can’t just arbitrarily drop object names in the text and hope it all turns out right.

English is a fairly simple language

Funny enough, though, in English this may actually work quite frequently, especially when you stick with definite articles, but that’s only because English is a fairly simple and straight-forward language—grammatically speaking. When you get into Germanic, Roman, Slavic or Asian languages, all bets are off, because these languages have reams of grammar rules that do not even exist in English. Some feature arrays of pronouns that depend on the referring noun as well as the referred-to noun. Without a proper plan of attack, managing this kind of variety is a futile effort and will inevitably lead to a lot of code duplication and extra programming—or, God forbid, tons of specially written/translated sentences to capture different scenarios.


That is the very reason why many developers and designers will revert to the banal, one-fits-all text version I described in my opening. They are easy and safe cop-outs. Not much can go wrong when you essentially talk in bullet points. It’s just not very inspiring and certainly doesn’t help to transport you to another world. Nothing screams Middle-Earth, Tamriel or Azeroth quite like…

Sword taken!
Acquired item: Sword
Spider: 5 damage!
Druid misses Orc

…and neither do dialogues or setups in which everything is static and every step has been predefined without any consideration for character weaknesses or traits to add personality or twists.

A world dense with monsters, characters and items begs for more than banal responses

While developing the Realms of Arkania games, many years ago, the narrative depth was crucial to us. We wanted to make sure that we could easily adapt situations, plots, subplots and sentences to fit all sorts of situations. Those of you who played the games will certainly remember this. With a personalized party of up to seven characters, a world dense with monsters and encounters, and gameplay that featured many hundreds of items, a more strategic approach was necessary, especially because we had planned, from the beginning, to translate the game in different languages.


At the time, I developed a system that allowed us to make our text output grammar-aware but in all fairness, it was a rather clumsy, academic approach that was way too convoluted to be useful to anyone without the proper technical background. But it was a first step.

As I began designing Deathfire a few years ago, an RPG I planned on making, I approached the subject matter anew because the focus of the game was on the Psycho Engine, a piece of software that would allow me to dynamically adjust gameplay and the behavior of entities in the game on the fly. Therefore, I needed a maximum of versatility and flexibility, while also making sure the game could easily be translated into as many languages as possible. With a fresh mindset and a bit of development experience in Inform under my belt, I designed a new system.

Grammar awareness also makes translation much easier and safer…

Inform, as you may know, is a programming language specifically designed for interactive fiction/text adventures, and, as you would expect, these types of games have the exact same challenges to contend with. The key difference, however, between Inform and my grammar-aware text generation is that the Inform engine actually knows what you are referring to, because everything in the game world is defined in terms of addressable objects, whereas a generic dynamic text generation system is not aware of the actual context and needs to derive the necessary information from somewhere else.

…the grammar logic is in the text, not the programming!

I had never had the opportunity to actually implement the system—it was a spec design on paper, more or less—but in recent weeks, I’ve had some spare time and decided to write a C# implementation for Unity3D. With all of the above in mind, I sat down and created a code module that enables me to easily create dynamic sentences that are grammar-aware and that allow me to use natural language to define a grammatical context. In my next blog post, I will tell you the details, how it all looks like. Join me then…

Now available as a script package in the Unity Asset Store



Alongside a new PS4 Slim model, last week Sony also announced a new PS4 Pro model to be released in November for $399. One of the key features of this mid-cycle hardware upgrade is that this new console will offer 4K ultra high definition resolution, along with the expanded colorspace of the ultra high definition format that allows for native HDR. Alas, according to Sony’s announcement, the PS4 Pro will not play 4K UHD discs.

ps4_1Now, a lot has been made of this lack of 4K UHD disc support over these past 24 hours and many fans are disappointed. Expectedly so, but… there is more to this story than you might suspect.

Before you dismiss the PS4 Pro out of hand, let me fill you in on a few things that you may not be aware of, because they have been hardly discussed in public so far.

The 4K UHD disc format is actually a standard Blu-Ray format. When the Blu-Ray specs were devised, it allowed for a large number of layers on a disc to accommodate the voracious, ever-growing storage needs of digital media. The format was designed with the future in mind. While, in practice, so far no real application has been out there, to the best of my knowledge, that used more than two or three layers, there are plenty of provisions in place to create discs with four, five, six or even more layers on a single disc. And it is this feature that is being used on 4K UHD discs. At heart, they are still only Blu-Ray discs, just with more storage, differently encoded video files on them and a slightly different menuing system that accommodates new features.

As a result, any Blu-Ray drive that properly follows the Blu-Ray specifications should theoretically be able to read these discs. (Note that I said read, not play.) Now, in the real world, because these additional layers have not been used before, there are, of course, low-cost drives out in the market that do not support the feature—a result of cost cutting measures. However, every modern Blu-Ray drive does well to integrate the capability to read additional layers. I am sure, most manufacturers have complied with those specs for some time now and I have absolutely no doubt that the drives found in the upcoming PS4 Pro will be able to read these high density Blu-Ray discs with absolutely no problem.

So, to be clear, from a technical standpoint, there is no difference between a regular Blu-Ray disc and a 4K UHD disc. In fact, they are authored the same way and they are replicated the same way. In fact, they are replicated on the exact same machines. It was one of the appeals that the 4K UHD format had for studios that existing production lines could be used to manufacture and replicate these next generation discs, making them very cheap to produce right out of the gates.


So, why doesn’t the PS4 Pro support 4K UHD discs? The answer to that may lie in Sony’s Consumer Electronics division. At this time, Sony is preparing the launch of a series of settop 4K UHD players. Naturally, the company wants these players to succeed. They want to sell them in quantities that makes the company proud. If they would add 4K UHD capabilities to the PS4 Pro, many people would simply forgo a settop player and use the PS4 Pro as their player of choice, the way they did when the PS3 first arrived, complete with Blu-Ray capabilities. Only this time they don’t have a format war to win (remember, Blu-Ray competed heavily against HD-DVD at the time and the PS3 was essentially the format’s secret weapon that decided the war), so there is no need for them to cannibalize their own divisions. When it comes right down to it, the lack of 4K UHD disc support is simply a business decision that actually makes sense for the company. Why? Because this is not the end of the story.

At this time, I have to admit that the PS3 is still my preferred Blu-Ray player of choice. The reason is simple. Unlike settop players, Sony made sure the PS3 always kept up with improvements and innovations in the Blu-Ray format. When DTS-HD Master Audio arrived, all they did was give users a firmware update and voilà, you could suddenly play DTS-HD Master Audio tracks. When Blu-Ray 3D came around, it took only a firmware upgrade for viewers to enjoy their 3D content. The list of capabilities they added via simple firmware updates was truly impressive throughout the years.

There is absolutely no doubt in my mind that we will see the same kind of commitment to unlocking features-as-you-go when it comes to the PS4 Pro and 4K UHD discs. When the company has safely shipped settop players to stores and has seen them sell through, you will find a firmware update on your PS4 that will suddenly enable 4K UHD disc playback.

Is it possible? It is not only possible. It is extremely likely. There is no technical limitation. The PS4 Pro is capable of decoding and displaying full 4K UHD video streams with HDR, and the console is capable of reading Blu-Ray discs. That is all the hardware capability you need to play 4K UHD discs. Everything else is merely software to facilitate the data transport from the disc to the display logic and to handle things such as disc menus etc, all of which follow established Blu-Ray specifications, only at a higher resolution and in an extended colorspace.

So, once again, before you dismiss the PS4 Pro as a failure and as a no-purchase because it doesn’t support 4K UHD discs, think again. This limitation will be only temporary and its solution will be a mere firmware update away.

With that in mind, perhaps it is time for you to stop over on Amazon’s website and pre-order your PS4 Pro?


Visibility. The biggest problem mobile games face in the current climate. Every game. Every publisher. The difference is that publishers like Supercell can buy their audience with excessive advertising, premier placement and Arnold Schwarzenegger. Most mobile developers do not have that luxury. Most developers have no exposure whatsoever.

Publishers like Supercell can buy their audience

If you have only one, two or three mobile games in your portfolio, you don’t even have the ability to leverage your own games against each other, because you simply do not have the necessary visibility to drive traffic, and as a result, you’re not really making any money. And don’t be fooled. The quality of a game is ultimately irrelevant. You can have the best game in the world, but if no one knows about it, it won’t make you any money. There is no such thing as “a good game will always find an audience.” It is a myth.

As I mentioned at other times, I am working with Gigataur these days, a Canadian mobile developer/publisher. In that capacity, I am looking for such undiscovered games so that we can republish them through our Playmium line and generate actual money for their developers.

As I did last month, I have compiled a list here, of some noteworthy games I came across during my voyages through the world of Google Play and the App Store.

incorruptibles1. The Incorruptibles — Bonus XP

If you are looking for a cool strategy game that has depth and an identity of its own, look no further than Bonus XP’s “The Incorruptibles.” The game is impressive and chock full of features that deepen the experience, reminding one of the golden age of strategy games. It should not come as a surprise, because you can easily tell that some of the brightest minds of the strategy game genre are behind this game, with decades of experience, building games such as “Sid Meier’s Civilization” and the “Age of Empires” series.

vikings2. Vikings: War of Clans — Plarium

While we’re on the subject of strategy games, Plarium is always doing stuff on the highest level of quality when it comes to the genre on mobile platforms. Don’t let the beautiful presentation of “Vikings” fool you, however. This game is a whole lot more than mere eye-candy. It is also a full-blown strategy game with depth on an absolutely epic scale. Be prepared to set a good amount of hours aside when you download this game, because it will hold you in its grip.

crystalblitz3. Crystal Blitz — Nika Entertainment

You can find Match-3 games like sand on the beach but the ones that are the most fun are the ones that introduce new ideas in the gameplay and shake up the stale formula a little. In this case, Ukrainian Developer Nika Entertainment has done just that, adding an actual game world to “Crystal Blitz,” that feels alive and gives the game a very distinctive feel. One that reminds me of a role-playing game, almost, without actually being one. The game is exceedingly well done and instantly grabbed my attention.

runemals4. Runemals — Jandusoft

When you see a tagline line that says “Collect them all!”, you are instantly reminded of Pokémon but as it turns out, “Runemals” has more in common with Gung-Ho’s “Puzzle & Dragons” than the Nintendo flagship. But then again, it has real turn-based RPG elements that make it unique and highly attractive. With its colorful graphics and the screen layout, it almost feels like a classic “Final Fantasy” and Match-3 mash up. Be that as it may, however, in the end, it is simply a lot of fun, and that is what really counts.

heroescastles5. Heroes and Castles — Foursaken Media

This fully fleshed-out 3D fantasy action game comes to you courtesy of Foursaken Media, and it does not mess around. With massive battle scenes, “Heroes and Castles” is a tower defense/strategy/action game that will draw you in, whether you decide to play it in single-player or in the two-player mode. Plenty of advancements and hero types keep you busy as you build and control huge armies on the battlefields. The clash of titans has never been more fun.

monsterplanet6. Monster Planet-Dragon Legends — PapaBox

The graphic style was what initially drew me to this game but I soon realized that there’s more to it than just beautiful images. All that splendor comes at a price, though, and with 230MB, the game has a pretty big footprint and takes a while to download, but it’s well worth it. Featuring almost 400 different monsters for you to battle and collect, this game makes Pokémon look like continental breakfast, while “Monster Planet” dishes out a full dinner menu. Give it a try and lose yourself in its cool, scifi-fantasy world.

schools7. Schools of Magic — Codigames

A role-playing game with a colorful, cartoony look, “Schools of Magic” focuses almost entirely on the magic users you typically find in role-playing games. Never mind the sword-fodder like goblins and orcs, in this game, you will encounter wizards, necromancers, druids, priests, mages and the like, all ready to battle you. And if the storyline and campaigns the game provides aren’t enough for you any more, try the player-vs-player battle system that allows for virtually endless challenges. The game does have a few glitches, but once you get past that, you will find a truly rewarding experience.

soulhunters8. Soul Hunters — Lilith Mobile

Lilith Mobile is a really interesting developer, and “Soul Hunters” is a great example, why. It is a classic Nintendo-style role-playing game but it has replaced the Japanese-style graphics with something that looks more like a contemporary casual game. The result is a beautiful mesh of old and new, giving “Soul Hunters” a very fast-paced and modern feel while retaining the charm of classic console RPGs. And to make things even cooler, the developer has just teamed up with Ubisoft, including Assassin Creed’s Ezio Auditore as a character in the game. Ooooh… goodie.

wardragons9. War Dragons — Pocket Gems

If you love dragons, you will love this game. This is a spectacularly-looking real-time strategy game in which you control not only your citizens as you build a kingdom, but also the dragons that serve as attack forces. Fully realized in 3D, the game is not only fun to watch, but also quite a ride to play. With over 100 different kinds of dragons, you won’t run out of variety anytime soon, and the multiplayer mode allows you to challenge players in the real world and lay waste to their domains. It is every bit as much fun as it sounds, and the spell effects alone make this game well worth checking out.

sparkle10. Sparkle 3 Genesis — Forever Entertainment

This is a fascinating game that falls somewhere between experimental and traditional arcade shooter, and the result is… well, hypnotic is probably the best way to put it. Beautiful, otherworldly graphics complement the great gameplay that will want you to just keep going and going and going. As you drift through this ocean of color and eat the particles, your own organism will grow and, depending on what you eat, it will grow into different lifeforms. It is like the opening level of “Spore”, in a way, but much, much cooler and more organic, almost as if you’re observing life through a microscope.

The well of overlooked games seems endless, and though there are way too many clones of successful games, I’ve come to realize that many of them tweak the established formulae and turn their own version into something fun and entertaining nonetheless.

But the problem remains—visibility. It is a challenge that we at Gigataur are addressing with a two-pronged approach. The first is that we convert even a limited player base into measurable revenue, something that has so far been altogether impossible. In addition, by establishing Playmium as a brand, we are able to cross-promote titles within the Playmium line of games, drive traffic to them and convert players into actual money. This is something that independent developers and publishers with small catalogs simply cannot achieve.

So, what are you playing right now? Any games I should be checking out?


If you’re a developer or publisher and you have a cool mobile game that you’d like me to consider for inclusion in our Playmium line of titles, feel free to send me an email at and I’ll be in touch with more details.


The mobile games space is tricky. Long gone are the days when mobile developers were able to work directly with carriers, get their games placed straight on phone decks and charge upwards of $5 for a game. Things like free-to-play, micro-transactions or ad-support did not exist in those days. Every game was a Premium title and once you managed to land on a carrier’s deck, money was guaranteed. Success was predictable.

High download numbers no longer guarantee actual revenues

As I said, a lot has changed. Today, there’s virtually no money to be made in the mobile market. Less than 1% of all games generate 99% of all revenue in the industry. For every “Angry Birds” or “Clash of Clans” there are—quite literally—a million games that do not even generate $5 per month. It has been disturbing for me to watch the industry implode in a matter of weeks once the iPhone launched in the summer of 2007 and Apple opened the floodgates for hobbyists to publish their own games. Nothing has been the same since and the self-destructive cycle has continued for years, eroding, what little market there had been left. Today, every mobile game is struggling to find an audience. What makes matters worse is that even with an audience, every mobile game is struggling to make money because high download numbers no longer guarantee actual revenues.

1,000 new mobile games appear in the Google Play store every week

And yet, the stream of new games seems endless. Did you know, for example, that currently 1,000 new mobile games appear in the Google Play store EVERY WEEK? With numbers such as these, and the industry essentially being forced to make games available for free, it is hardly surprising that practically no one is making money in mobile games these days. Not with micro-transactions, not with ad-support and certainly not with Premium titles.

This disturbing trend is the reason why I joined Gigataur recently, a Canadian publisher that has developed an exciting new way to monetize mobile games and put money in developers’ hands, where it belongs. As part of my assignment, I have spent the past months looking through hundreds of mobile games—mostly casual titles—evaluating them, and I thought, I’d make a short list of some of the most notable, overlooked gems I’ve discovered on that journey. Please join me and, perhaps, try out one or two of the games for yourself. Speaking of gems, let’s kick the list off with…

battlegems1. Battle Gems (AdventureQuest) — Artix Entertainment

While being a general “Puzzle & Dragons” clone on the surface, I found the game has a lot more to offer. Not only does it have an incredibly witty charm and is larded with hilarious comments and names, but it also offers solid gameplay that never gets stale. In fact, the game is so huge, I have yet to see the borders of the game’s world map. Seriously, this game is humongous… and gorgeous, and its user interface makes it possible to start playing without much of a learning curve. You jump in, start matching gems and kicking some monster butt.

throne2. Throne of Dragons — Rocket Games

Slot games have come a long way and the titles that Rocket Games is dishing out are not only some of the most beautiful ones, but also some of the most balanced ones, making them nothing but fun to play and explore. As a fan of fantasy settings, “Throne of Dragons” instantly appealed to me and kept me coming back with its awesome graphics and its fun slot play. Tall Wilds, oversized slot cards and fun mini-games keep the play interesting while unlocking new slot machines in the process. In the same vein, try their “Riches of Zeus” also, a slot game with tons of features, mini-games and a seemingly endless supply of unlockable machines. Slot games simply don’t get much better than this.

4elements3. 4 Elements — Playrix Games

This is a fascinating game that amalgamates many genres. It combines features of hidden object games, match-3 games, puzzle and trading card features, all in one game. The graphics in this game are top notch, making it look like a million bucks, and the design keeps you coming back to explore and uncover more of the rich features. Sadly, the free demo, which ends after a few short levels, only gives you a hint of the wealth of features and the breadth of diversity that “4 Elements” has under the hood.

questrun4. Quest Run — Phoenix Online Studios

While not strictly a casual game, this RPG-inspired game of tactics is so easily accessible that it would certainly qualify as casual in most aspects where it counts. The game has a few quirks and its difficulty level can be quite infuriating, but neither have really caused me to put the game down. In fact, every level that you defeat will feel like a true achievement, making you thirsty for the next one, always giving it just “one more try.”

earthcore5. Earthcore: Shattered Elements — Tequila Games

“Earthcore” is a great example that showcases how collectible card games do not have to be hardcore and do not have to overwhelm the user with options and features. Solid fun and easy to learn, the ultimate challenge of the game is mastering tactics in order to defeat your opponent in player-vs-player battle. The game has great graphics and its overall production value make it a real highlight of the genre—or at least I found myself going back playing it again and again.

CreatureQuest6. Creature Quest — VC Mobile Entertainment

From the creator of the classic “Might & Magic” RPG games comes a top tier fantasy collectible card game that will hold you spellbound. I am using the term “collectible card game” loosely here, because, at its core, this is an RPG with collectible aspects to it, centering around PvP battles. Clearly, the game was developed with the highest production values in mind and it shows in every nook and cranny. From the gorgeous art to the lovely animation details and nifty gameplay features, this game is ripe with everything genre fans love. To me, it has been one of the most fascinating discoveries of my recent mobile explorations.

trooper7. Puzzle Trooper — Gumi Inc.

Gumi is a heavyweight in the mobile space, but even in their deck, you can find games that never really became break-out hits, the way some of their blockbusters are. To me, “Puzzle Trooper” was such a game. I love the attitude of this title. It is a “Puzzle & Dragons” clone but what made it stand out for me was the fact that it looks like “Metal Slug.” It has the same awesome art style, the same quirky animations and the same cool sense of humor. While it may not be re-inventing the wheel when it comes to gameplay, it manages to create an experience that is all fun. And then some.

pirates8. Pirates Storm: Ship Battles — Gameone

If you love classic Arcade shooters, this is your baby. “Pirates Storm” is a vertical scroller with sailing ships and a modern, clean, casual look. But don’t let it fool you. The action is frenetic, to the point that frequently, the game appears to run out of screen real estate, because there are missiles flying at you from all imaginable directions. The game features everything you could ask for, cool graphics, homing rockets, cool explosions, pick-ups galore, huge explosions, gems, and whatnot. What’s there not to like? But boy, it is hard…

zeus9. Zeus Defense — Alawar Entertainment

This tower defense game gets my thumbs-up, because I love the look of it. Using a mythological Greek setting, it conjures up memories of Disney’s “Hercules” with its colorful art style and atmosphere. It features tons of mythological monsters that try to overrun your settlements and it gets incrementally harder, dishing out some serious boss battles as well, so don’t let the cute look fool you. This is a full-bodied game with plenty of specials and features as you go along.

nords10. Nords — Plarium

Ever heard of “Nords?” Probably not, but you should have. This is a cool strategy game with the look and feel of “How to Train a Dragon.” Colorful, yet ferocious, the game is actually a massively-multiplayer game in which you have to carve out your place. With cool battles, awesome world building, and beautiful characters, the game offers top-tier production values throughout. And it has depth, I tell you. Factions to choose from, a crafting system, different units and champions to chose from, make “Nords” a real heavyweight that sadly flew under almost everyone’s radar.

This is just a relatively small excerpt of some of the game highlights I stumbled across recently, but I felt that I should share some of the great games I stumble across on my journey. But now it’s your turn. What are some of your favorite mobile games that you feel have been overlooked? Let me know so I can take a look at them as well, and perhaps include them in a future list.


Also, if you are a developer with a cool mobile game, feel free to contact me at ! As I mentioned in the opening, we have exciting opportunities at that open up additional revenue streams for developers without interfering with their current business. Send me an email and I’ll be happy to tell you more about it.