Phil Hassey - game dev blog
Phil Hassey as Syndrome
"Look, stores don't sell
costumes like this to just anyone."

Archive for October, 2011

Is this a safe pattern for auto-registration?

Wednesday, October 26th, 2011

Hey,

I’m trying to have various components in my game pre-register themselves upon startup of the game. I’m using this pattern:

Here’s my registration code that is in one .cpp file. The register_init() function is available from anywhere:

std::vector &get_init() {
    static std::vector goods;
    return goods;
}
bool register_init(Init *v) {
    get_init().push_back(v);
    return true;
}

Here’s how I auto-register some init code from some other file by calling register init to initialize a variable:

int _is_levedit_init = register_init(new LeveditInit());

Is there some case where this would NOT work or is somehow a really bad idea? Or is there some pattern that is better to use?

-Phil

Freemium – my take: design for maximum enjoyment first

Friday, October 21st, 2011

There have been a ton of posts about game design and ethics lately relating to freemium.

Here’s my take. I don’t really think there is ethics so much in if you make a freemium game with random drops or checklists or whatever or not. I think those are game elements that some users REALLY LOVE and some users REALLY HATE. Some users HATE in app purchases, some users LOVE them. I think many players find random events to be FUN! Randomness is a big thing that helps make a game addictive and people like addictive games!

Here’s my “big picture” view of where game design gets unethical – when the designer’s time is spent too much on designing for maximum monetization as opposed to player enjoyment. I think the purpose of games is for people to have FUN! If you as a designer are working mostly to ensure that, you’re doing your job. If you are spending most of your time tweaking your game for maximum REVENUE then you are doing it wrong.

So, yeah, I think the reason Zynga gets a bad rap is because there’s rumors that they have huge departments of psychologists and number crunchers working non-stop to increase the addictiveness and monetization of their games. With no concern for the player beyond what they can do for the bottom line. That’s not very positive. They have lost their way as game developers and that’s unfortunate.

On the other hand there are tons of indie developers out there who are working hard to make FUN games that use checklists, random drops, grinding, and in-app-purchases as game elements who are focussing on making FUN free-to-play games. I think these guys are doing it right.

I think freemium is right now the brave new world for indies. I think some indies are doing great stuff with free-to-play and I think some are scrambling too hard to MONETIZE. I think it’s a time where some people are screwing up and making bad games, but I think it’s okay to make mistakes right now. I think right now is the opportunity for people to find out what free-to-play can offer the player. I read every single blog post and article I can find about free-to-play game design because I want to do my best as a game designer to make my stabs into this new territory to be good ones.

And again: as a game designer be sure to keep your focus on making games that people genuinely enjoy.

-Phil