Some Things Dead Wake Development Has Taught Me

I’ve been working on my zombie game project for quite a while now (it actually started in November 2007). Recently (last month or two), I’ve kept pretty quiet about the upcoming release (it needs “some more work” and when I get it out I’ll blast you guys with some more stuff about the project), but here’s some thoughts about the project.

#1 – It’s good to have a vision (and it doesn’t harm to harm some plans on paper too)
Since the very early, I’ve got this certain vision about how the gameplay should function: the barricading, the zombie attacks. I’ve added and tweaked some things but even now as I look at the very first video I see that the same core stuff is there. I think having core values for your game can be an important asset and help you in the project.

I have used pen & paper to “schedule” my work, meaning – I’ve listed tasks & features on paper and then got rid of some notes, and also written more notes and prioritized notes. For me, it has worked pretty well and I suppose it’s quite important to have some sort of big picture about what’s going on and where your project is heading.

#2 – Technology juggling is no good (stick with what you are good at)
I know that jumping into a new technology can cause headache. Dead Wake was started with Ogre, then switched to NeoAxis (works “on top of Ogre”). This was better idea than using Ogre for rendering and coding everything from scratch. Then at one point I decided to get rid of NeoAxis (my C# skills were just too poor to get anything done, and needed to rely on external programmer) in hopes to get the game out. We considered Unreal Modding, but it too seemed bad choice (and didn’t really last for more than couple of weeks). Eventually I switched to Blitz3D (the tool I knew inside out) and released some version for this, but Blitz3D was not helping us with things like shadows (nor it had no object oriented support to say a few reasons why the search continued). From Blitz3D I eventually landed to BlitzMax and Leadwerks (which basically had Blitz3D like syntax and some object oriented stuff). This proved out to be the best choice so far (even though there’s still some compatibility problems), and now the project started moving faster.

It’s easy to be smart after seeing what’s happened. I know there was technology switches and I spent money & time for many things. In retrospect, it’s true that at some point I thought “I wasted months and months time and quite a bit of money”, but now as I look back I’m not so sure if I’d change anything. I made some good friends. I got help in object oriented programming – a crash course so to speak, and got some more first hand experience on what the cost of changes can really be.

#3 – Pick an engine that’s ready
Hint: loads of stuff in this lesson – read only the “bottom line of point #3″ in the end of this part and skip the rest if you wanna just get the “important stuff”

Some time ago I mentioned that we had compatibility problems. The Leadwerks engine’s physics had changed in one release (meaning, the player controller was acting totally differently – and my barricading feature couldn’t work anymore). This change also meant that I needed to go through every single texture file and manually save them and make them to DDS format (I still haven’t finished, but it’s pretty good now). The big thing was, that this new version introduced compatibility fixed for ATI cards.

Basically, now I had 2 choices: (1) use old version, and ATI cards won’t work. (2) Use the new version, and my game won’t work. As an additional option, I also looked (3) to see if I could continue with 2D.

Thanks to support from you readers (and after pondering this dilemman a bit) I decided to proceed with the option #2. Number 1 would mean the game sales would be harmed. Number #3 would have meant quite a bit of work. Number #2 meant that there was additional unexpected work and serious changes to the barricading system ahead, but it seemed the optimal way.

In retrospect, if I had known (or perhaps found out) more about the compatibility issues (I just assumed it worked since there was nothing mentioned about ATI cards, only that Shader Model 3.0 is required) I might not have trusted what the forums said (“next versions will fix this and that”). At one point I got a hint when there was Leadwerks forum talk about freeze problem saying “ATI’s fault – I cannot do anything about it” – but later “fixed ATI problem, it was error in my code”, it kind of made me think that more responsibility should be taken and not blame ATI.

Same goes for engine changes: I wouldn’t have expected such big changes, but one just has to accept these. The fact is that Leadwerks is now really nice tool and is evolving with nice speed. There’s lots of good stuff and if your game is okay with the Shader Model 3.0 minimum requirement, and can bear with some changes then it could be tool for you. My opinion is that I’d perhaps wait 6 months or a year or so before starting to using the engine (to ensure better compatibility, and more finished engine) but that’s just my feeling about the Leadwerks. I think anyone into making 3D prototypes could immediately start using it.

I realize that I’m also here suggesting that there’s “problems in Leadwerks engine”. I realize that these have been my choices and engine makers cannot cater for everybody, but in this situation I think making such drastic changes (“no more PNG whatnot support, DDS only support” and “player physics controller now works totally different”) are such things that affect only other projects, and I think it’s fair for me to say this. Of course now the situation is better: now it’s more ATI compatible, and creating DDS files isn’t too difficult so things are pretty okay. I realize that all tools have “problems” (or challenges) but to me Leadwerks is still at least partially “in development” and cannot be considered “finished engine” – but again, that’s just my feeling about the software.

Bottom line for #3: If you wanna make game and sell it, then I recommend picking up an engine that’s not the newest technology. Pick something that works with 5 year old computers. I also don’t recommend taking an engine that’s getting upgrades every month or two. Instead, pick an engine/framework/lib that’s proven (has finished & published games) and use the version that’s currently out. I don’t believe in “hoping to see some feature in the engine in the future”. You gotta take what’s available now.

#4 – Do you really need 3D? (Pay attention to the art pipe, animated stuff requires work)
In this project, I must say that I’ve spent quite a much time fiddling with the art stuff. I’ve been hunting down art packs. I’ve been working with an artist and an animator. I’ve been working with some particles and getting animations and shadows to work.

All this is of course important for the game (creating feeling), but has quite little meaning for the actual gameplay (shadows being somewhat an exception). In my opinion, one thing developers should really think is that “do I need animations in my project? Do I need 3D?”. I think animating stuff is really time consuming (especially 3D), and this decision should be really thought about. Of course animations can be eye candy… but I think it’s something that can become very expensive too.

I was doing fine with my Highpiled game, since I had a reliable & trustworthy & skilled artist who kept doing the art stuff, and I didn’t need to do much. I simply told him what to do, and he got me art. If you can get in such situation, then fine… but even then it means you might possibly need to deal with timing, changing some animations and pay attention to resources and so on.

If an alternative is: “no animations” (or “minimal animations”) then you might be getting work done much, much faster. Creating 3D game with good looking animations versus creating non-animated 2D game can have tremendous gap in how much time is needed. If you want to do 3D, then I really think people should considering modding existing games. That’s probably much faster way to go forward.

I think developers should really consider their own capabilities and resources: how much time you want to spend on your project? I’m glad that I’ve gone so far with my Dead Wake (3D project) and I’m taking the last steps to finalize it, but I think a pretty suitable deadline for any (indie) game could be around 6-12 months. Spending anything more than 1 year, and then it probably should be split to smaller parts (or episodes or something). I must say that all developers should really, really think whether they really need that 3D – and whether they’d be better of with a non-animated game project.

#5 – Listen to others (but don’t care what they think about you)
I’m such a person who listens to everybody and everything (well, almost everything). I try to learn from people, and suck the information like a sponge. I also ponder the stuff I hear. It’s not “Monkey see, monkey do”. It’s more like “Monkey hear, monkey think, monkey does – or doesn’t”.

For me, one good way to learn and get some good opinions is to: (1) not to give a rats ass what others think about me (or my product) and (2) pay really close attention to what others say to me. If other people think and say that “you and your product is the shittiest piece of shit they can think of… because it has fault A and B and especially C” then that’s their problem. I just ignore everything before the word “because” and pay close attention to the words after it (the reasons) in case there’s something useful there. Of course I try to remember thank people for taking time to give their opinion – I think it’s really important to thank these guys for taking time to help you out.

I don’t aim to get everybody to like my game. There’s 6 billion people on this planet. How could I? My primary goal is to have fun while working on my game (and of course sell bunch of copies…) – and I aim to get some people to comment to me “I like your game, this is awesome!” – then I know I’ve done a good job (my bank account is also a pretty good financial metric).

That’s it folks
This of course is just my 2 cents, but I’ve spent quite a bit of time, energy & money to come to these conclusions. Hopefully there’s something in this article you can take and benefit from.

BAT Files Rock (Info For Beginners)

I’ve been working on my Dead Wake zombie game and things are going really nicely. I think I need “bit more time” to finish things up, but so far all the new stuff is coming together pretty nicely.

While I was messing with the assets, I accidentally thought a nice way to automate copying & zipping stuff. (I know this is pretty beginner stuff, but you gotta start somewhere.) By using BAT files, one can do pretty neat stuff such as ZIP stuff (7zip), then REN (rename .zip to .pak), then use xcopy… and suddenly you can have asset upgrading all done automatically.

Explained this same stuff in this video: (after finding this awesome grain filter I just had to create this)

(That facial expression was purely accidental – nicely picked YouTube!)

BAT files are good for automating stuff.

Uh… Is This Like… Normal?

I had this conversation (very witty dVyper, very witty :) online chat today. It went somewhat like this:

He: “Hi, how’s it going? lol”

Me: “heh :)”

He: “(:”

Me: “XD”

He: “:D”

Me: “rofl”

He: “w00t!”

Me: “We are having a nice conversation here.”

He: “lol”

Where the hell is humanity heading to?

Designing An Addictive Game Part 2/2 – Is That Ethically Wrong?

Designing Addictive Game Part 1 (Resources) gave some entry points into addictive game design. Today I’d like to ask about ethics.

Is designing addiction in games like “designing a new drug”?

Since addictions can be destructive, where do we draw the line? Is it ethically wrong to create addictive games?

Are makers of World of Warcraft doing things ethically wrong since their game is probably causing problems in marriages where spouse is playing all day/night long this MMO game? Or kids who don’t do well in schools or skip lectures because they play WoW?

What are your thoughts?

Designing An Addictive Game Part 1/2 – Resources

I’ve been discussing and studying why some games are addictive, and started compiling a list of articles. In the first part of this article, I’ll mention several articles (along with some comments), and if you happen to have suggestions for some good articles that talk about addiction in games please feel free to share them and I’ll get them here.

Here’s 2 “must read” type of resources for you to check out:

Addiction and the Structural Characteristics of Massively Multiplayer Online Games
Thesis on MMO addiction, PDF version available. I think this is 122 pages filled with very, very relevant material for anybody into addiction in games.

Proposal: Ethical Game Design Practices
Really interesting discussion about addictions (at On-Line Gamers Anonymous) – some good talk about when addictive becomes destructive. I really recommend checking out this.

Then some more resources that might be worth checking out:

Gaming Addiction: Clearing The Air, Moving Forward
In page 4 it says:

In my own research into how MMO games might influence addiction, which you can read about on this site, players who preferred goal-oriented groups, or “hardcore raid guilds” were statistically more likely to sacrifice things like food, sleep and other real-world necessities (in regression analysis — which isolated those guilds from other game elements that might have otherwise contributed).

What Is The Most Addictive Game You’ve Ever Played? (2007-2008)
(Check out the comments too, there’s some really good (and quite familiar I’d presume) stuff – from you readers)

Almost 1 in 10 Young Video Game Users ‘Addicted’
Don’t know how true this is, but was worth checking out – some good points.

90% of Compulsive Gamers are Not “Addicts”
Pretty relieving point-of-view – so from overall gamers 1% is addicted? (Found via Writer’s Cabal)

The Megatrends of Game Design, Part 3
Quote about what makes MMO’s addictive:

These games have the unique characteristic of being exceptionally addictive, for three primary reasons:

1. They take place in a persistent virtual universe — the game has no ending, per se.
2. The game system relies on the endless improvement of the player’s avatar. In other words, the game offers an inexhaustible source of challenges to motivate players.
3. Their multiplayer dimension: it is far more stimulating to chase after a dragon with a bunch of friends than on your own.

A practical definition of innovation in game design
Article worth checking out – explains some layers of game design that can affect in “addiction”. Bookmark this blog too, good stuff there.

Game Friday: When Does Addictive Play Stop Being Valueable
Worth reading: it’s about benefits & addiction.

What Makes a Video Game Addictive?
There are several “hooks” that are built into games with the intent of making them “addictive”: High score, beating the game, role playing, discovery, relationships. (Interestingly this comes from “break your addiction” type of site…)

More resources:
See also Indiegamer thread about the subject.

Share your ideas:
If you know some good articles about addictive gaming, please feel free to bring them here. Let’s build a bloody big list about designing addiction.

(Part 2: Ethically wrong?)

“Warning: Mature Audience”

Who said that casual games bright colored family fun alone? Here’s one non-kid game: Redrum ™ (interestingly trademarked… since it reminds me about the word I saw in Stephen King’s The Shining).

“Intense psychological murder mystery for mature audience”? After checking out the pics and the video, I wonder how “mature audience” it really is. For example, the other Hidden object game Hidden in Time: Mirror Mirror has human skulls (but no warnings) – isn’t that mature audience?