Main menu:


Categories

  • Art (4)
  • Game design (7)
  • Games (7)
  • Personal (2)
  • Projects (14)
  • Quickies (1)
  • Travel (7)
  • Uncategorized (1)
  • Archive

  • March 2008 (2)
  • February 2008 (1)
  • January 2008 (2)
  • December 2007 (1)
  • November 2007 (2)
  • October 2007 (3)
  • September 2007 (3)
  • August 2007 (2)
  • July 2007 (4)
  • June 2007 (10)
  • Projects

    Automatic game testing

    Something that is very cumbersome (and boring) to do for every developer out there is the software testing. To combat that, you usually develop a number of methods that helps you track down bugs, for example automatic bug-reports and unit-testing.

    One of the more interesting ones is automatic testing. For games, this usually means that you have a system that simulates the player and automatically generates input for it. For my latest project Hyena I’ve had the rare opportunity to play around with an application where the controls are so basic that it was actually possible to write a system that played the whole game for me.

    For Hyena this was obviously extremely simple, since controls only require you to choose from of a number of predefined choices. The game-book I used for testing was Flight From The Dark, which has 350 pages and each page has on average about 1.6 choices, so fully testing the game was definitely possible. Some preliminary runs did prove very helpful. First of all, it pointed up some show-stopper bugs in sections like this where you ended up with all choices disabled due to a problem in the LUA-script. The other kind bug it pointed out appeared when I looked at the pages that never was displayed, and could trace that to another LUA-script bug.

    Also, doing simple analyses of such runs are also trivial and can be a great tool for game-design. You might remember hearing of such analysis from the development of the original Half-Life. Basically, they built a system that tracked stuff like the health of the player throughout the levels, and having this activated during focus-testing allowed them balance the game better. We (Starbreeze) asked Valve about that a few years ago while working on Riddick, and while they still were very enthusiastic about the idea, they also told us that it never got to the point where it was really useful. My guess is that the big problem for most games is that you still need to rely on real players for the data to be useful.

    Then again, that’s not equally true Hyena and game-books in general, since there isn’t that much of a difference between a simulate player and a real one. The only limitation my simulated player has is that it never goes to the action chart and actively uses items (healing potions for example). Of course, it also happily chooses a really stupid-sounding choice as often as a sane one. Still, the analysis gives a lot of information about how well the game-book is structured. Take a look:

    http://www.collectingsmiles.com/hyena/analysis/fftd_analyze.jpg

    This is a flowchart generated from a simulated run of 40139 playthroughs (yes, it took a few hours) and shows for example that:
    • The game is  completed  in 7.5% of the cases
    • The Gourgaz kills you in 57% of the cases
    • The most dangerous enemy are The Doomwolves, who kills you in 74% of the cases 

    It also displays a couple of “flaws”:
    • There is this really big path that takes off from near-death experience in this section that is shown in less than 0.1% of the cases.
    • A couple of sections are never displayed, either because of the problem above, or because of this one, where a fight extremely seldom lasts 4 rounds.

    I intend to expose this analysis functionality in Hyena, so this tool will hopefully be available to anyone who wants to write his own game-book.

    Hyena v1.02

    I’ve released a new version of Hyena for DS and PC at
    http://www.collectingsmiles.com/hyena

    * Scans the AudioGames/ directory for game-books, and gives a choice on which to load.
    * Detailed the .gamebook file specifications here.

    * Integrated information on how to play the games.
    * Better error messages if files are missing.
    * Removed crashes due to memory fragmentation.
    * Removed .xml format in favor for plain-text.

    Flight From The Dark fixes:
    * Fixed numerous game-logic flaws and lockups.
    * Echoes your Combat Skill whenever it has changed.
    * Echoes your amount of Gold whenever it has changed.

    There still seems to be a nasty bug on the DS where the sound-engine shuts down when you boot the game. But since it’s not that often and it doesn’t affect the game-experience I haven’t bothered to track it down. If you have no audio when you start the game, just reboot. Enjoy!

    Hyena - Audiogame Player

    It’s time for the release of another project: Hyena

    Hyena is something I call an AudioGame player. It is probably more correctly called AudioGameBook which is a combination of the words AudioBook and GameBook, which Hyena is based on. AudioBooks have had a dramatic rise in popularity the last couple of years, probably due to the rise of mp3-players, but they do provide a unique function: Being able to “read” a book while your body is busy with other things. GameBooks on the other hand is something that’s almost been forgotten, but basically it is a book where you at the end of each page were given a choice and decided by turning to one of the specified pages. I remember being fascinated by them in my youth, but they sort of died out when computer games became complex enough.

    Today GameBooks touches the core of one of the things the interests me about games: Interactive Storytelling. As you might have seen in my previous project Rorschach, I love to dig into what this really is about. While the works produced during the Interactive Fiction Competition are already of exceptional quality, GameBooks are a simpler form of interactive storytelling, and in my opinion one that hasn’t been properly explored.

    So, my take on this is to create a GameBook player for handheld platforms where you don’t need a screen, and you only have to use one button throughout the whole game. Just like AudioBooks, this makes it possible to play games while your body is occupied with other things, like when you are driving or are out running (or while sitting in Church J). This turns out to work really well on for example the Nintendo DS, where you can play the game even when the is console closed. Also, while googeling the term AudioGame, I of course found sites talking about games for visually impaired people makes the project even more interesting for me.

    Bundled together with Hyena is one of the GameBooks I played in my youth: Lone Wolf - Flight From The Dark, by Joe Dever and Gary Chalk (available through Project Aon). Since I’m not a native English speaker and I didn’t want to record the 1596 lines of dialogue needed for this game, I used a speech synthesis to generate them which gives a kind of weird feeling to it. In the future I hope there will be additional AudioGames that uses Hyena, and some that uses real narrators. I have made it as simple as I can to define the logic behind the game (which was surprisingly complex in Flight From The Dark) using an external LUA file. Information on exactly how that works will be released shortly and any writer interesting in writing a game are welcome to contact me.

    Hyena is currently available for the Nintendo DS and within short there will be a Sony PSP version as well. Also, for the people just wanting to test Hyena out, there is a reference version for PC available. You can find them all here.

    Collecting Smiles

    As you may know I’m currently on sabbatical from the games-industry and my company Starbreeze. After having the best job I can imagine for 8 years, I felt I needed a change of scenery and decided to take the money I had managed to put away and burn it on things that makes me feel wiser. You can see some of those things on this site, with small projects of different kinds; some art-projects, some game-projects and some other things that may or may not be good ideas.

    The biggest of these projects is one that I haven’t really started on. It’s the project that I’ve been hoping to do for quite some time, and it’s the project that made me create this site in the first place. It’s the Collecting Smiles project.

    The idea behind the Collecting Smiles project is to collect different smiles throughout the world. It is supposed to give me a reason to travel and force me to meet people I otherwise wouldn’t meet. In every country I visit, I will take a picture of a smiling person living in that country. I will also collect the smiles of other people traveling and while I don’t know how possible it is, I hope to collect the smile of a person inspiring the people of that country, ideally the president/prime minister. The goal is to collect all smiles in each category from every country in the world.

    I just came back from what I guess you could call a dry-run of this project, where I visited Israel, Thailand and China, and I’m starting to realize how hard this will be (surprise!). Ambitions (and pretentious) as this may be, it’s still something I need to try and hopefully things will get rolling soon. Of course, I’ll make heavy use of the internet for this project with the hopes of eventually building a community to help me with the “inspiring-smiles” part. I’ve set up a prototype site for the purpose of the project that can be found here.

    Non-stop audio diary & Memory enhancing technologies

    No one can argue that technology has changed how humans think and behave in a very fundamental way. A very simple example is how easy cell phones have made it to meet up with someone while you are out. Before the cell phone you had to carefully plan where and when you would meet while nowadays you just use the cell when it’s time. This may sound like a small thing, but it’s a big change in how you think about planning and also in required personal responsibility.

    Another area that I think will make a big impact is forms of memory enhancing technology. People have used PDAs with calendars for a while, but that’s just the beginning. I’ve recently been cleaning my e-mail archive because I’m switching computers. The e-mail data-base dates back to 1997, and basically contains most of my conversations I’ve had over the computer. This data-base together with Google Desktop is a very powerful tool to help me remember my dealings with persons around me, where I can with a quick search find out why that name seemed familiar to me, or who to contact at a specific company. I was abruptly reminded of how important this was to me when my mail client decided to ignore writing actual data to the files I exported, leaving me with a blank data-base for the period of April 2006 to yesterday. Apart from the frustration and having a hard time answering some of the mails I’ve recently received, it’s also a fundamental feeling of loss. I’ve realized that that data-base has become something I’ve relied on to help me remember things. Why write things down anywhere if you know you can access them so easily?

    It also got me thinking on the future of such memory enhancing devices. One project I’ve been planning to do but am still waiting for the technology to mature is a non-stop audio diary. Basically I want to have a digital audio recorded on my person at all times, recording everything that goes on around me. The use of that data may be limited for a while longer, but it’s not unreasonable to think that within it is possible to automatically transcribe audio to text with good quality in ten years. Suddenly you have a searchable data-base of everything you’ve said and what’s been said to you. Imagine someone telling you a telephone number and by just hearing it, you can be certain that that information will be available when you need it. A friend of mine had an even better example of how that technology could be used:
    - Just think of think of how great it would be when you are fighting with your girlfriend and she says “But you should have told me you are going to be with your friends tonight!” and I could prove to her that I did so.

    While that was mostly for fun there is a big point in there. A lot of conflict in the world is caused by miscommunication and subjective perception. That would potentially change if this technology was common-place.

    I believe the technology is almost ready for me to start my personal recording. The problem is to find a recorder that can manage to record up to 24 hours on one battery-charge, but if anyone has any suggestions about what hardware would be good for such a project, please let me know.

    Interactive storytelling & dialogue


    One of the hardest things to create in games is the interactive stories. It’s probably because that’s something that is very new for us. Before computers, the only stories you could call interactive or branching were the role-playing game-books such as Lone Wolf (which I remember foundly from my childhood). And even those stories are not much older than half a century. Even so, I wish interactive storytelling had evolved as so many other areas related to computers and computer games like graphics technology and AI has.
     
    There are some interesting things going on the subject, though. From the time back when Infocom introduced Zork to the world people have continued the fine tradition of interactive fiction. Every year people try to outperform each other in the Annual Interactive Fiction Competition by creating a short text-adventures where telling a compelling story in an interactive format is key. It’s well worth to check out.
     
    The game-industry in it-self hasn’t produced that much new the last couple of years. One of the more interesting was of course Indigo Prophecy which as one of the best attempts of a true adventure-game in a long time. Still, there wasn’t that much innovation in terms of story-telling and the same must go for the game I myself worked on, The Darkness, where the steps on interactive story-telling we did take are evolutionary and where the story should be immersive rather than have true choices.
     
    One of the bigger problems in my opinion is the lack of techniques that can be used to talk to non-player characters. Having dialogues as catalysts for story-telling is crucial for most movies and books, but they are so very hard to do believable in an interactive media. Very few games today offer anything more interesting other than multiple dialogue-choices, substituting any real interactivity for a set of predefined questions. To me, that’s a step backward from back even from 1966 when ELIZA was created. An exception is of course Façade, an experimental game where you converse with an arguing couple. It combines an advanced AI with a text-input system and it’s an noteworthy accomplishment, but still failes to convince in my opinion.
     
    For some time I’ve been experimenting with a new way to have conversations with non-player characters. The idea is to allow the player to pick up and carry conversation-topics between characters in the game. If a non-player character mentions something new, the player can pickup that topic and carry it to another character to ask him about it. By limiting the number of topics the player can carry, you force the player to decide which topics are worth keeping, instead of just asking about everything as you do in many games. This creates some interesting possibilities where information almost becomes an item that can be used for puzzles and trade.
     
    While it’s not as ambitions a system as to one used in Façade it’s instead very simple and user-friendly (once you get the hang of it). It doesn’t hide that it’s a restricted system but I believe that that isn’t necessary to make dialogues an interesting catalysts for interactive storytelling. I’ve released the prototype I made using this system for PC and today I also finished the PSP version of the game. Check it out here.
     

    Programming art

    I’ve talked a bit about games and art in the past, but something that is much harder to pinpoint is programming art. I was introduced to programming art a long time ago with the demo-scene, where people are creating beautiful applications that often try to do things with a computer that computers weren’t meant for. Another example is one of my great inspirations Karl Sims. While I’m not sure he ever claimed that his work was art, I have a hard time not calling it that while seeing his Virtual Creatures. Last January, I was introduced to another style of programming art by Miltos Manetas who created the site http://www.jacksonpollock.org/. He inspired me to create some of the things exhibited together with Rorschach at Godsmagasinet in Uppsala. One of those creations was something called Replicating Blot which you can check out here.

    As with any other trade like writing or painting, programming is an excellent material to create works of art. The difference is that it is a material that is quickly changing along with the technology it relies on, but that just makes it more interesting.

    Cosmonaut

    Having a great idea for a game is valuable. That goes without saying, but exactly how valuable is such an idea? I’ve become rather cynical on the subject after working a while in the games-industry. If 50 people work on one game for over two years, how many good ideas are thought up? And how many of those are needed for the next game? Even if you don’t have a team of 50 people or don’t plan to work on one project for that long, there is a good chance that you’ll come up with a bunch of ideas that could become great games; Ideas that never will be realized.

    Cosmonaut is such an idea. I came up with it one sleepless night thinking about how I would like to be able to watch the stars from my bed. I realized that it would never be a good fit for Starbreeze, the game-developer I work for. Nor would it be something I could realize myself, since it was too content-intensive. Still, I found the thought fascinating and couldn’t get it out of my mind. There was something special about the lonely cosmonaut staring out of the window in his stranded shuttle. I realized that I at least had to write a brief high concept about it to get it out of my system. It’s not very likely that I will ever make this game, but I can always look at the sky at night and dream that I one day will be able to play this game.

    You can find the high concept at www.collectingsmiles.com/cosmonaut

    Rorschach

    The Swedish game-magazine Level had a nice article about the relationship between art and games in their July 2007 issue. This article contained an interview with me about the game Rorschach, where I collaborated with Ida Rödén to make a small art-game. This game has been shown in a number of more “traditional” art-forums, for example at Umeå Konsthögskola and the M.A.D.E. festival. Art and games has always had a slightly weird relasionship and as usual opinions drift apart. Personally I see interactivity as the key word, and Rorschach tries to explore the interactivity of conversations; something that games in general have been pretty unsuccessful in.

    Rorschach is now available for download and can be found at http://www.collectingsmiles.com/rorschach.

    Colors! v1.06

    Colors! v1.06 is now released.

    Colors! is a simplistic digital application for Nintendo DS based on modern painting-techniques developed for drawing tablets in programs like Photoshop. By taking advantage of the pressure sensitivity of the DS touch-screen it becomes a perfect portable digital sketch-book.

    Current features
    ——————-
    Hard and soft circular brush
    Pressure-sensitivity can affect opacity and brush-size
    512×384 image resolution with 2 stage zoom
    Replay the whole painting process of an image
    Hue-circle and luminance and saturation-triangle style palette
    Load and Save to memory card
    Send painting as e-mail using Wi-Fi

    Major updates in v1.06
    ————————–
    Major precision overhaul
    Opacity slider in brush-screen
    Pressure-Controls-Size option in brush-screen
    New user-interface with graphics by madwurmz.com
    Playback controls with the option to continue painting from mid-playback
    The possibility to send your painting directly to an e-mail address
    Unlimited save slots
    One additional zoom-level

    Available at http://www.collectingsmiles.com/colors

    Enjoy!