Take This “How Good Customer Are You” Test (How Many Non-Played Steam Games You Have Bought)

Here’s a little exercise for you to do.

  • Calculate the amount of games you’ve bought and played less than twice in your Steam library (for example, I have 8)
  • That’s it. That’s your customer score, now proceed to check from the following “chart” to see how good customer you are

Score 0: cheapskate
You are either a very cheap or pulling on some other shenanigans. Shame on you.

Score 1-2: poor start (you’ve bought 1 or 2 games that you haven’t really played yet)
You are not a very good customer. You should try improve your rating by buying loads of more games. After all, game developers need money. And you certainly have some (since you have time to buy games that you don’t play), so go ahead tiger and buy some games.

Score 3-5: good!
Now we are onto something. Clearly you are not only buying games, but you are also not consuming them. That’s a good sign: it means less support & maintenance for game developers. We are all proud of you. Keep up the good work.

Score 6-10: amazing!
Whoa. You certainly like bargain deals, don’t you? Awesome job. Keep on buying games, and don’t forget to visit the game developer’s own sites every now and then. After all, they all are eager to get your money. In fact, I know just the perfect game for you to buy right now – and don’t worry if you bought it earlier, the more licenses you get the better.

Score 11+: whoa!!
Either you are cheating, loaded or something… but this result is amazing. If the rest of the planet would act like you, game devs would not be bitching so much. The world needs more people like you: the people who buy games like you – without touching them. You have earned the collectors badge. Keep on buying. After all, game development is not about money. It’s about the money in your pockets.

[poll id=41]

Goal Based Dialogue System

I did some quick research on dialogue & storytelling systems and listed some links too (check comments on that previous blog post).

I started thinking that currently the “choose which line to say” leads to some sort of immersion break and the conversation might not flow optimally. I started thinking that since “micromanaging” is generally a bad thing in game projects, and since “pick the words you say” is somewhat about “micromanaging the conversation”, could the be better approach?

In project work, the approach is “result oriented”. Instead of telling coders how the name the functions and where to move the mouse, you tell ‘em what you want (and perhaps give some restrictions that affect how to do it).

How would a dialogue system work if it was like this? Instead of choosing line A, which leads to choise B which leads to choice C which leads to situation N, you’d simply choose that “I want to get to N”. Then, depending your skills/tone/attributes/actions-you-done/state-of-world you might watch different dialogue, have automatic responses, and get to situation N.

I think this is slightly difficult to describe, and right now this is merely an idea, and I don’t know if some or many games are already using something like this.

I just feel that since sometimes the purpose of dialogue is to get from situation N to situation M, then perhaps it might provide more smooth and (perhaps even more immersive flow of discussion) when you need to select what you plan to do. If for example you are working on to complete Quest X (and need to get information regarding that), your discussions will be different when you are focusing on “Just fooling around”.

This system won’t solve the issue of “how much content needs to be written”, but is perhaps just a different take on commonly used dialogue tree.

What you think?

There’s No Silver Bullet to Interactive Storytelling

After getting feedback about my mini game thing with even no name (people thanking “intro”), I got curious about building a somewhat dynamic story. I asked some help (thanks vruz and black_golem for helpful pointers) and after tens of skimmed articles, book reviews, blog posts, discussion threads and more, I’m thinking that procedural storytelling is something that game devs desperately want to work – but that there’s no breakthroughs in how to build them.

After my search is over (aka, most likely within few hours – at least for now), and if I have some sensible links to share, I shall give some resources to check. Meanwhile, it was interesting notion that storytelling & dialogue gets tricky when player character is discussing with human characters in the game. The dialogue just breaks the illusion at some point. One guy pointed out that interaction with a dog was much more natural. I started pondering that interactive dialogue could indeed work better if there’s no common language or if language is limited. For example, I could imagine that a game that takes place in caveman era might very well pull procedural stories & dialogues well together: there’s just few words to use (as everybody knows that cavemen used words such as “big”, “pointy”, “thing”). Similarly, “dialogue” between a player character and an alien might work, because you don’t get stuck on using English.

Just some food for thought.

My quick research hints to me that procedural/interactive storytelling/dialogue is still something that will evolve a lot, and that it just might change quite a bit on how future games will work.

P.S. And random does not equal procedural.

Tested iPad: Hate & Love It

Things I love about it:

  • Accessability: it’s fast to turn on and start using. Just press one button and you can start working on it.
  • Noise: lack of it to be exact. It’s silent as my laptop isn’t. It’s a huge difference.
  • Battery life: if I compare this to any laptop pc I know, the difference is like between a man and a zombie. One is living, another one is very dead.
  • There’s one button that takes you to home screen. And there you see all your apps and can use them. It’s not like “you can setup that with -c dumb in console using params /s”. Oh, and now as you have 371 folders, you really should defragment them. Oh and indexing is good to turn off in the service. Oh… and seven billion other factors I’ve seen in Windows/Linux machines.
  • Missus likes it: always a good sign.
  • Weight: it’s very lightweight compared to laptops
  • Screen: very nice screenie. And you can touch it. Ooh…

Things I hate about it:

  • Name: seriously. iPad. It’s… gross.
  • Virtual keyboard: well, I don’t hate it. It’s “somewhat decent”. Maybe my couple hours of usage was not enough to test this properly, but somehow I like the Nokia style when it comes to keyboard: physical ones beat virtual ones. It’s the contact & feedback you get when pressing buttons.
  • Cannot upload images/files to web: I tried uploading an image. It said no can do. I have one 3 letter word to describe my feelings: “wtf”?
  • Weight: while it’s very lightweight, it’s also too heavy to be used to read books. I couldn’t find a good position nor could read stuff. So, for now I just grab my Terry Pratchett in physical format thank you.
  • Neck pains: the next morning I woke up, my neck was hurting. It’s because I have to rotate my neck more than when on a laptop. Maybe I just couldn’t find a good position or something, but anyway.
  • Battery charging: I have no Mac. When I plugged on the “universal iphone to usb port” cord (“universal”… *sigh*…) and iPad kept saying “won’t recharge”. I tried with PC windows, PC unix… even with PS3. It required me to turn off iPad and then it would recharge (of course it would not *tell* me that battery was charging). When the thing is on synced iTunes account (or as I guess: Mac machine) it charges okay.
  • “Apple standard”: why oh why you cannot have simple USB port. Why have “apple standard”. Oh wait. I know. Because you guys hate me. I wee on your tent to retaliate.
  • Price: 500-800 eur is quite big price for this thing. The 500 price (16 GB, no 3G, wlan) is somewhat acceptable, but I wouldn’t pay 800 euros for this thing.

…but it will be a success. Big success.

The main reason that while there’s some things that are not so good (at least right now), but this machine is designed for human beings. It’s not for geeks. The usability is great. It’s simple to use. It has tons of software.

I can imagine iPad to be a really popular device, and when it comes to “surfing in web” or “reading some twitter stuff” or “checking emails”, I’m like tons of more interested in doing that using iPad compared to using Ubuntu powered laptop.

I was positively surprised. And this comes from the mouth of a alltime-Windows man who has tested Linux and hated Mac so much that I’ve never drunk apple cider in my life.

So, the device cannot be that bad.

Oh, and you can also make games to it…

I Hope I Nailed The Design Milestone Now

I still need to categorize and clean up my writings, but for the last few days my mind is been on doing the design for The Infected. Good news are that this board/card game type of game might work just fine.

I’ve streamlined the design. I’ve put some stuff out. I’ve fixed some issues I know this thing had. It’s simple as hell, but not simpler (Einstein logic). And expandable.


Now the heavy duty of writing is ahead of me.

You know. It’s the difference between “writing code” and “documenting it”. We all know which one is the fun part.

Bad news is I have no clue* on how to sell it. (Since it’s “realtime” browser based game).

* by “no clue” I mean that I have one idea which is somewhere in the middle ground of physical and non-physical world. (Aka selling game both as a physical card game via a publisher, but also so that purchasers get access to online server. If I manage to make it so that it stays online due heavy AJAX-calls)

Actual Coding = Only “Real Work” There Is?

I’ve been talking with one fellow newbie game developer who is eager to “start the actual work” (aka “coding”). I tried to hint him that “designing what to code” is as much as real work as “actual coding”. There’s nothing wrong to plan the work a bit, and then work the plan.

I haven’t coded much during the couple of weeks, but I have been working on design. Sometimes – depends on the game – there is no point trying to keep on coding… if you have no idea what to code. Sure, you can try just start putting something somewhere, but that can be bit like running blindfolded.

What you think? Is coding only “real work” there is in game development? What about design or everything else?

I Wonder If I Should Press Enter

I wrote a tweet.

Didn’t publish it just yet.

I’m thinking if I should press enter.

I have this dilemma about “where do I draw the line”. Humor is a tricky beast and one might wanna consider different cultures.

So far I’ve made it a habit not to publish stuff that has politics or religion. Those topics just lead to endless debate and annoys the dragon. If you make jokes about religion, people might take these two popular stances on the subject. One opinion is that “thou shall not make jokes about religion” (that’s side #1) which is viewed as “you old farts don’t understand humor & there’s freedom of speech” (that’s side #2). Both of these might lead to some sort of conflicts.

I sort of think jokes are okay (#2) but one should consider not mocking others (#1). Which can be difficult to balance.

Maybe I just delete the tweet.

Here’s 3 Things I Don’t Do Even Though I Know I should

My precious back is killing me, yet I keep ignoring the obvious:

  1. Get a proper chair and table. These are a must thing to have for every game developer. If chair costs less than 500 euros it’s not proper. Somehow I’ve convinced me that “those chairs feel more valuable than my back”, which is not true.
  2. Back exercise. Just simple exercise where you stand, lean forward-down (try catch your toes) and then “pull” up using your back muscles will do wonders. (Consult a real pro when doing any exercises, I’m just rand(1,6000000000) blogger who writes stuff online. Anyway, the point is: it’s good to do bit of back exercise. And if you train your back, train your tummy too).
  3. Regular breaks. Like, not “every 16 hours”. The period between “going to sleep” and “waking up and going to computer” is a break indeed, but I’m talking about having couple of minute breaks every 45 minutes (or every hour or something). This would be good. I know it, I keep ignoring it.

    And now my back is in pain, and some nerves are causing some minor pain in the right leg.

    I know I could do better. Heck, I know that I could even wrote an AI that could work better:

    while (chair == "shitty")
    - buyBetterChair()
    while (working)
    - work()
    - if (timer == 45 mins)
    -- takeBreak(2 mins)
    -- resetTimer()
    for i=1 to 3
    - doBackExercise(easy)
    - doTummyExercise(easy)
    - waitOneMinute()

    I have like million billion neurons in my brain, but I keep performing worse than my AI.

    Talk about non-artificial intelligence.

Resources On AI (Neural Networks And Other)

I’ve been checking out some robots stuff (robotics, robot programming, artificial intelligence) “just for fun” for a few days and thought to share a bit of my findings. I’m mainly interested in robot programming (and artificial life) which can be useful for you to check out as well if you are planning on using AI in your game.

Here’s some online resources:

  • Generation 5 looks like a great resource. There’s tons of information about game AI, robotics, genetic algorithms, programming, artificial life, neural networks and so on. I have merely glimpsed some of the articles on their site and can warmly recommend checking out the site. Seemed good, and others have recommended it as well.
  • AI junkie is a site with some articles on genes and neural networks. It also has book recommendations and links to other sites. Good place for starters.

Books on AI:
Please notice that I haven’t read these books, these represents the books I ended up with (based on reviews by other people), and just sharing my findings.

  • Programming game AI by example – this book was recommended by many different sites and has got good amazon.com reviews. From what I’ve heard (and read using google reader) about the book, it starts with AI basics and builds from there, eventually helping reader to build a simple soccer AI.
  • AI techniques for game programming is a book that talks about genetic algorithms and neural networks in somewhat understandable language (at least based on from what I’ve read).

There’s other books (please feel free to suggest addition to the lists), but these were the ones I found and put to my wish/buylist.

P.S. Those interested in perhaps-not-so-useful-for-gaming books on robotics, might be interested to check out Robot Builders Bonanza and Getting Started with Arduino. Again, I haven’t read nor ordered these (yet), but these were getting enough recommendations for me to place these into my future-buy list.

Book recommendations?
If you have some book or other recommendations on Artificial Intelligence, feel free to share your links.

In case you know some good book about “machine learning / artificial intelligence (general) / artificial life” I’d be very pleased to hear about these.

Taking Feedback…

My dwarf game combat system is different from what you could expect. You don’t attack simultaneously. You don’t attack several times in a row. You have just 1 hitpoint (one hit by a monster and you are dead meat). It’s turn based, and actions don’t occur the moment you plan the action.

This system is coming much from the board gaming world, and so far it looks like it’s perhaps difficult to grasp.

Player feedback always gives me surprises but I didn’t expect this many comments regarding for example “hey, how many hitpoints I’ve got left?”. I guess people are “used to” seeing certain things when it comes to combat.

I do keep in mind that the game is now very difficult and probably gets all your dwarves killed… so adding bit of helpers (that help make the game more tactical if possible) might be good (before considering re-doing the combat system)

…well, I wait and see what more feedback the game gets – and then work more on it.