Monthly Archives: September 2008

Dead Wake Version 0.5.51 Out Now (Lessons Learned)

I’m so proud to present the Dead Wake zombie game version 0.5.51. Before I say anything more, I’ll give you guys video to check out:

You can find out what has changed and what’s happening from the Dead Wake community forums, but there’s some things I consider pretty meaningful in terms of development.

What is ‘Beta’?
I decided to drop the word ‘beta’, since it was giving headache for some developers (didn’t hear any players complaining about this by the way) who were pointing out that ‘betas’ are considered more finished products than what Dead Wake version suggests.

Some guys suggested using ‘pre-alpha’ or ‘alpha’, but to me this also gives a bit bad impression. By the definition, betas are considered very ‘ready’ versions while ‘alphas’ are perhaps for internal testing only. Since the core idea of Dead Wake development was to provide monthly updates, it kind of escapes the definition. It’s not beta, but it’s not alpha either. It’s something in between.

This made me drop the word ‘alpha’ or ‘beta’ totally. I just call them versions. And that’s what they are: new versions. If somebody wants to categorize them… so be it. It doesn’t really matter what you call them. To me they are new versions, and that’s it.

(By the way, a comprehensive article about development stages can be found at Wikipedia – for those who are interested.)

Back to good old Blitz3D engine
When I started to develop the version 0.5, I made the decision to drop the NeoAxis engine development. That development started out fine, but the NeoAxis engine wasn’t simply ready enough for what we really would have needed, and having a programmer to code month after month costs something. We weren’t progressing the pace I had hoped, so after weeks of research and testing, I finally switched back to the engine that’s tested and I know well.

This switch meant that I needed to port some features (not all are done yet), and leave some away, but it also meant that we got some new benefits (such as no need for .NET or DX9) and of course this also meant that the much wanted multiplayer will be in the game.

In terms of gameplay things did same to some extent: the old FPS view is gone, but the current isometric view looks good I think. The idea about barricading and survival hasn’t gone anywhere, and we can get easier tools to use.

The most important element is that: now I feel I’m in control. I have the necessary resources and skills, and no 3rd party dependencies on any critical components. When doing Edoiki, there were 3rd party ‘variables’ in terms of art (such as animations). When doing Dead Wake using NeoAxis I was referring to 3rd party ‘variables’ in terms of programming. (Don’t get me wrong: 3rd parties are good, but you gotta be absolutely certain you have the budget). Now, with Dead Wake 0.5 (and future) the risks are minimized since I’m relying on content packs (although replacing some art by hiring if necessary) and mainly my own development skills (although I shall outsource some parts of the code). I’m getting help, but since I don’t have the budget to hire full time team members, I’m only outsourcing certain aspect of development.

Object oriented… kind of
During this year I’ve really got into object oriented programming, and switching back to Blitz3D to get things finished meant challenges: Blitz3D is not object oriented (well, not much anyway) engine, so it meant doing some creative thinking to get things working in (bit like) object oriented way.

I am quite pleased with the results (even though my main game object ‘class’ is huge!) and think that I can survive with Blitz3D until they get a better version. BlitzMax seems excellent, and when they get DX9 support there it might be the path I’m heading. Or perhaps it’s Xors3D, or perhaps Leadwerks engine (this one is an amazing game engine: I’m going to make a review about this one in the nearly future). But that’s a new decision to make in year 2009, not now.

What I value now is the engine I know inside out. I could have taken the path to try to learn these new engines, but right now my goal is to finish the game. Spending months and months learning new engines is not going to happen now. Maybe after 6 months, but right now I’m sticking with the engine I know well.

Anyway, I’m now really happy with the choice and feels like I’m getting a very nice progress using the tool I’m really familiar with.

With that being said, check out Dead Wake website.

Some Ways to Get Dog to Sit (Lessons In Game Producer Team Leadership)

If you are a game producer leading a team, then I believe some of these things might be useful in your situation.

There’s several different ways to get dog to sit. Here’s some of them.

The not so easy way (or at least very lasting way)
By the use of force (The Star Wars method), doing physical corrections and yelling “SIT!” (not to forget harsh words), it’s possible to get dog to sit. It will be stressful (for you, the dog and everybody who sees the situation). The dog might sit in weird position, and do it badly. And… as soon as you step away and don’t watch the dog, he stops sitting. In fact, he will be running crazy and barking to other dogs after you leave.

Might even grin to you behind your back.

The easier way
The easier way to get dog to sit is to show him what he needs to do, and helping him to do what he is naturally capable of doing. It’s natural for dogs to sit, so by giving him a treat when he does a good job is an easy way to get the dog to sit.

Sometimes it might happen, that the dog is not interested to sit. It might be that the surrounding is not helping doing the task of sitting. It might be that his leg just broke and he needs a break. Or, it might be that he has just been running around like crazy and simply can’t bothered today. In those days, you gotta be patient and accept the fact that everybody can have bad days in life.

Or, maybe he is such an old dog that he just smiles when he sees a youngster like you trying to train him to sit. Old dogs might do things in their ways. It’s not easy to get them to sit if you try to make them to follow you. You gotta let them follow you… in their pace.

The easiest way
Dogs have natural tendency to sit. Sometimes they sit even without you needing to say anything. This is the easiest method to get dogs to sit: they do it voluntarily by themselves (even when you aren’t watching their back).

With all the dogs, this level might not always be possible to reach. It’s something that happens when you’ve got the right dog.

The famous bottom line
Asking status reports about the dog’s performance in sitting, isn’t necessarily going to help much to get the dog to sit. Trying to force dogs to sit works… to some extent, but pretty much requires you to be there all the time (as long as your health can bear the increased stress level) and isn’t fun. Plus, it might scare the dog so that in some day he’ll bite you or escapes from you. And then you might need hire, uh, get a new dog.

It’s easier if you get dogs to sit on their own will, and if you can find the treats and methods that are most rewarding to them. It requires perhaps bit more work in the beginning, but is most rewarding in the end.

That way they stay healthy and look forward to sit. That way you stay healthy and feel good when see the dogs working.

I mean, sitting.

Security by ‘Messing Up Your Chat Messages’

I was chatting with two friends of mine and I was giving them a download link (www.myfancylink.com/folder/file.exe) via messenger.

Here’s how the conversation went after I had given the link to my friend…

I waited for some time and then asked, “downloaded it?”

Got response from friend: “Uh… downloaded what?”

Me confused: “The link I just gave you.”

Friend: “I got no link.”

Me: “I just wrote it? Hmm… what about now www.myfancylink.com/folder/file . exe”

Friend: “Okay, now I see it! Must be Vista/Messenger blocking it…”

I needed to put spaces to get that link to the other person.

www.myfancylink.com/folder/file.exe was not acceptable, but writing www.myfancylink.com/folder/file . exe (notice the spaces in file.exe) was.

Argh!

How Not to Comment Your Game Code

I was changing my existing network code, and was examining a piece of code that was looping through all the character objects. In that loop there was a section that started like this:

; loop again
For …

“loop again?”

I had a comment that said “loop again”. I wonder what the heck I was thinking when I was writing that. It certainly ain’t helping anybody to write such comment. It’s pretty obvious that ‘for’ begins a loop, so there’s not much point writing “loop again” there. If I saw the need to comment something, then why not write something that could actually have a meaningful purpose?

Oh well. We live and learn.

How to Use Wikipedia In Game Design

I was googling for information about “character class” and happened to visit this wikipedia’s page about character classes. Here’s something that was mentioned in the bottom of the page:

Typical “Classes” for tactical shooters include:

* Heavy Infantry (High power weapons, slower),
* Sniper (very long range rifles, weak close fighting ability, typically very difficult to use),
* Engineer (weaker than average firepower, but abilities such as repairing vehicles, creating automated turrets or planting mines or bombs),
* Medic (weaker than average firepower, but can heal others),
* Anti-vehicle (Slow, can destroy vehicles, weaker firepower against infantry)
* Typical infantry (average firepower, possibly faster than support classes, few or no special abilities, however, ideal for taking down more specialised classes such as engineers or anti-vehicles)
* Auxiliary (weaker than average firepower, can give ammunition to other players)
* Spy (Can disguise/cloak himself, plant cameras for remote surveillance and stab foes in the back for one-hit kills; sometimes combined with the sniper to make a “Covert Ops” class)
* Flamethrower Infantry (Slow or average speed, high power at close range, little or no long range capabilities, best at harassment tactics. Sometimes combined with the standard infantry class as a selectable weapon)
* Ninja (Fast or normal speed, high power at close range, limited long range capabilities. Is usually used against snipers or long range infantry, can also be used against specialized classes. )

Some nice ideas there.

Of course one can come up with different class ideas by simply spending time on design, testing other games, brainstorming with others, reading gaming magazines but I’m open to get all the help possible. Wikipedia has articles that can give ideas for game design, so I see no reason not to use this resource.

Witty Way to Get Publicity For Your Game: Screenshot Contest

Developers of the World of Kung Fu game have announced a screenshot contest. The players of the game need to take screenshots, and the best shots win prizes.

World of Kung Fu is free-to-play 3D MMO/MMORPG game that offers something for all different types of gamers, from social gamers to hard-core gamers. World of Kung Fu is a virtual world set in ancient China (one of my personal favorite themes by the way). Originally, World of Kung Fu is made for Chinese audience, but recently the development team launched an English version.

The screenshot contest uses several elements worth mentioning (and learning):

  • Partnership: They are partnering with other organization to do the contest. Getting help is a nice idea and can help with prizes and publicity.
  • Press release: They created a press release to promote the event. Contest alone does little good if nobody hears about it.
  • Players (and the game) involved: I like how they tied the contest around their game. People need to actually play the game and use the game’s functionality to participate.
  • Easy for players: Taking screenshots can be (relatively) easy! Everybody who is capable of playing the game, can most likely take screenshots (if there’s a button that takes screenshots). This means it’s more likely to get people to participate.
  • Prizes: every contest needs them. In World of Kung Fu, the prizes are mainly about getting new specialties in the game (that’s quite interesting way to give prizes I think) rather than some giving away other games or gadgets or something (which can also be good)

I suggest checking out the World of Kung Fu and learning more about the game and the contest (I’m benchmarking their efforts in order to “borrow” this marketing idea for marketing my own game).

I don’t use this word often, but the artwork is breathtaking (the below video is quite blurry, you should check out the screenshots or try the game on your own to get a better picture).

More videos, screenshots and a free playable game at the World of Kung Fu website.

There so many opportunities to learn about marketing by simply watching what kind of stuff other people are doing.

Offline Product Help Files and Manuals Are Useless

Offline help files and manuals can be close to useless for many programs. I tried to figure out how the darn mail program grouping works, and I opened the Windows Mail help file. From there I tried to search for help… just to end up reading something useless that ended with a question “was this helpful?”.

Then I stopped, searched went to Google and searched again. It was there right away (pointing to Microsoft’s web page by the way), and now I know how to use the mail groups (tip: “options” & “read” tab). It was easier to search from the Internet than search from the product manual.

It strike to me that this wasn’t the first case when I simply ignore the product manual and use Google to find out quickly how stuff works. Only perhaps some programming software I use have help files and manuals that I actually read every now and then. I know some people won’t do that either: they’ll choose to use the online help files to find “function reference of software X”.

There is some need for offline manuals, but I’m using 95% of the time the manuals I find from the Internet, and perhaps only in 5% of the time I rely on the actual offline product manuals.

Is this is also the case for you?

Could we perhaps learn something from this when writing manuals for games? (Such things like: when writing a manual, make sure you have online version too)

I Admit It, I’m One Evil Guy… (And Enjoy Every Moment)

Every now and then I see a spammer such as “abc123″ or “mjk8009″ registering to one of the forums I’m operating. Every single user that has got an username like this has spammed the forums I’ve set up. I don’t know if at some point there’s going to be a guy behind one weird username that wouldn’t be a spammer, but I’ve learned to think that these guys are spammers. Sometimes I happen to use the “who’s online” functionality to check out what different users are doing. It’s easy to see how “mjk8009 is registering an account”.

Then I just go to the admin panel and ban the user (especially when I see it coming from the same country like the previous two spammers I banned – yes, I have prejudices) before he gets the chance to set some spammy links in his signature.

I watch how it says that “mjk8009 is reading ‘permission denied’ note”.

I know, I know. It’s evil. It’s possibly paranoid. It’s not a real solution, and it might be a real user who just has a weird name (yeh, right).

But at least sometimes I get to ban those spammers before they get to harass our forums… and it’s fun.

Maybe at the point when I see that there’s actually some user with a weird username like “080910k” (check out that nick in google by the way, and you’ll find some link spam after a few clicks) and (1) actually contributes something useful, (2) doesn’t fill his signature with spam links and (3) doesn’t spam! Maybe, maybe if that happens I might believe that all hope is not lost yet.

Meanwhile, I keep banning spammers as fast as possible.

Playing Board Games Is a Must For Any Game Designer

Blue Moon board (card) game just arrived to via snail mail and made me think how useful it has been to play and research different board games. In the last summer I’ve bought and played more board games than ever in my life (well, at least bought…). During the summer I read about board games, I studied rules, checked out reviews, bought games and played them.

Board games are good for video game makers because board games grasp the essentials of gameplay in a nice way. In board games, the core mechanism is very visible and can help provide information on why the game is fun (yes, there’s loads of stuff besides the core mechanism that can help make game fun).

In video games the essentials might sometimes be lost under elements that are not necessarily so important (like how the shadows look, or what kind of shaders you use, or what kind of animation one guy should have). Don’t get me wrong: a good video game is sum of its parts and a well done video game has most of the elements done well, but one greatly done character animation isn’t (probably) going to the main reason why players play the game (okay, I admit it’s bloody fun to see characters World of Warcraft of doing stupid dance animations, but I’m sure you see what I mean). Well done gameplay on the other hand might be crucial determining how fun the game is.

The point is: if you are into game design, and if you are into figuring out what makes a game fun, playing and studying board games is a must thing to do. Who knows, maybe you even find some good idea that you can steal borrow from the board games you test.