VS 2005′s Installer Creator Sucks

I have the nice fancy Visual Studio 2005 Professional, so when I wanted to make an installer, I figured it’d be trivial. I created a new Setup project, and then I figured out how to drag files into it and make registry keys, but then I got stuck. I couldn’t change even the most basic things like the Company Name! It always installed to “Default Company Name.” I knew there had to be a way to edit this, so I searched and searched. For hours! Now I will add this knowledge to my blog so that Google catches it and helps other lost souls.

The Company Name, etc., shows up in the Properties tabbed window. To view it, choose View->Other Windows->Properties Window from the menu. (It’s NOT the button along the top that says Properties, nor the menu option that says “Properties Manager”, nor the dialog that pops up when you right click an item and choose “Properties…”. Those are DIFFERENT properties in there. Brilliant.)

The secret is that you can’t just go to the Properties tab any old time. The Properties tab is context sensitive, so if you click on something in the User Interface window, the Properties tab shows properties for THAT window instead. The trick is to remember that the Properties tab only shows data for the last thing you clicked on.

So, to edit the basic setup properties:

  1. Go to the Solution Explorer tab and click on the base node of the project’s tree. (Such as “MyApp_Setup” or whatever you called it.)
  2. IMMEDIATELY click on the Properties tab (or use Alt+Enter to jump to it). Don’t click on anything else in the mean time!

Like so much of Visual Studio, it seems obvious once you’ve figured it out. But only after you’ve figured it out! Maybe if I wrote lots of Visual Basic apps this would have been trivial for me. But I don’t, and it wasn’t.

Having other troubles with VS 2005 Setup? If you want to do anything besides install some files, you’re going to need help from the Microsoft Knowledge Base. I needed to add a shortcut to the Start Menu to uninstall my program, and there’s no chance I’d have EVER figured out how to do this on my own. It involved creating a fake project and configuring the fake project’s files in weird ways. Good luck!

Instead of VS 2005… I gave up on VS2005′s setup process. It’s too inflexible and way too hard to figure out. Instead, I switched to Inno Setup. It’s free and very powerful. The “newbie” download bundle comes with an alternate front-end called ISTool. Make sure to get that! When you create a new project in ISTool, a wizard guides you through the steps of making an installer. I had a near-perfect installer in 5 minutes. I was incredibly impressed.

The only down side is that Inno Setup doesn’t create .MSI files, but for casual game installers, that’s not an issue.

Analyze your game for $20

You may have noticed that I don’t put up a lot of Game Analyses. I love to analyze games, but the write-ups take a few hours of time, and I always feel like I should be working on something that pays the bills instead. I still play lots of casual games, but I only jot down a few notes on each one, and never write up a web page for them.

But I do love doing the write-ups. So I was thinking, what if instead of making write-ups of published games, I wrote up analyses of almost-finished games, just for the author? So here’s my pitch: if you have a mostly-finished casual game and would like a second opinion on it, I’d be happy to provide one. I’ll play your game for an hour or so, write up all my notes (three or four pages worth), and send them back to you — all for $20.

This will include:

  • a mini-QA session (I’ll try to crash your game),
  • checking for common oversights (for instance, do you support lefty mouse button swap?),
  • notes on the intuitiveness of your control scheme
  • notes on your game’s presentation.

I’m not a super expert, but I do have years of experience as a professional game developer crafting user interfaces, which means my comments will at least be somewhat relevant. Think of me as a very attentive beta tester who will give you copious notes on my experience.

The results will be sent privately to you, unless you’d like them added to the Game Analyses section of my website, which I’d be happy to do too.

Anyway, drop me a line if you’d like to try it. I’ll do the first one for $10, as a Getting Started offer :) There are crazier schemes on the internet, right?

The quality of an endorsement

I love Pac Man Championship Edition on the XBox 360. It’s an amazingly crafted game with tons of polish and perfect level design. You should buy it.

But wait, should you listen to my endorsement? The fact is, I’m really, really good at Pac Man CE. My score puts me in the top 150 overall, and the top 10 weekly. Naturally, I play a lot more than I should — hours a day. I’m completely addicted.

So does my being good at the game make my endorsement less valuable? Well, if we take it to the logical extreme, let’s suppose that I was the #1 Pac Man CE player, and I told you, “You should play this game, I’m the world’s best at it!” Yes, of course you would find that endorsement a lot less valuable than an endorsement from a friend who is only so-so at it, but who loves it anyway.

But professional game reviewers tend to be really good at games — very often to the detriment of their review. No review I saw mentioned that God of War 2 had tough bosses even on normal mode. That’s because the reviewers didn’t find them tough at all.

But it’s not like I endorse every game I like, even if I’m good at it. I like SOE’s Everquest 2 a lot, but I won’t recommend it to people because SOE has made too many rookie game-balance mistakes — I have no faith in their ability to maintain the game. (And trust me, I know rookie MMO game balance mistakes. I made all of them when I rebalanced Asheron’s Call 2. And, like the SOE game balancers now, I didn’t even realize many of them were mistakes until years after the fact.) But even though I only endorse a game I truly want you to play, my idea of “you” the audience is naturally tempered by my own abilities.

In the end I much prefer demos, but I can’t afford to play all the demos that exist out there — I need to use reviews to narrow my search. Hmm, if only Rottentomatoes.com did casual games!

“Sculpted” content versus “freeform” content

Another useful way to categorize game designs is by their approach to content. Some types of games (such as adventure games) are completely “sculpted” by the designer: every bit of the content has been planned out beforehand. The traditional match-3 game, on the other hand, is “freeform” — a large portion of the gameplay comes from randomness. That doesn’t mean the designer didn’t work hard on the balance — they likely spent a long time making sure the randomness felt fun — but in general it’s still a lot easier than making sculpted content.

As casual games get ever more elaborate, we’re seeing sculpting become a requirement rather than a choice. These days, even match-3 games have pretty significant “sculpted” aspects: it’s not unusual to have unique board layouts for each and every level of the game. You might call this “mini-sculpting” because that the designer still relies heavily on randomness, but they limit the randomness to ensure a fun and constantly-changing experience.

What are the advantages of sculpted content?

  • The pace is exactly as the designer wants it
  • The designer can create obstacles for the player to overcome; these are often much more fun than just playing randomly-generated levels
  • If the game has story, it can be tied intricately into the sculpted gameplay.

But what about the disadvantages?

  • Even the longest sculpted game is shorter than an infinitely-long random game. The user has less content.
  • A game that’s unfettered by tight sculpting can adjust its difficulty upwards or downwards to better match the user’s ability. (Sculpted games can do that, too, but of course that means you have to sculpt an easy mode and a hard mode and so on.)
  • If the user gets stuck, they are stuck forever. They can’t try again and hope that the board is different.

More and more games are going the sculpted route, or else combining sculpting with some randomness, even though this shortens the game. Not really surprising. Sculpted content feels more “polished”, and polish is much more important to a casual game than play duration!

WiiWare

You’ve probably heard the news about about WiiWare. (Newsweek broke the story here.) In a nutshell, developers can buy a Wii SDK, create games for the Wii, and get them sold online through the Wii’s downloadable interface. Nintendo says that there will not be any screening of game ideas, and gave the impression that the Wii will soon have an exciting free-for-all of downloadable games for sale.

This is huge news for casual game developers, because the Wii audience should contain a very large percentage of people who are looking for short, engaging games, rather than long challenging games. In other words, they might buy our casual games!

The bad news:

  • Although Nintendo calls their SDK “virtually free”, the actual cost of a development kit for one developer seems to be around $2500. And that’s not including any middleware you might need to buy.
  • Your game must pass Nintendo’s QA process to be allowed to go live. You better believe that the developer will be footing the bill for this (much as developers foot the bill for Microsoft’s Arcade QA pass now).
  • Developers are required to get the game rated by the ESRB before it can go live. I can’t find the cost for this online, but if I recall correctly from my days working on brick and mortar games, I’d say you should put aside $1000 for it.

The bottom line: you’ll likely need to be able to pony up $10k to $15k to get your game on the Wii. That’s in addition to the $5k to $6k needed to buy art and sound assets. This is chump change for a small studio, but it certainly keeps the riff-raff (like me) out of the running until we’re really confident that we have a money-maker on our hands, or we can convince a publisher that we’re a sure thing.

I’m still excited about the possibility, though. If I had a less-expensive way to take a shot at it, I’d love to port Starcrossed to the Wii.

Responsiveness, or the lack thereof

If you’ve installed the new “Windows Live Messenger,” have you noticed how terrible it is? It’s unresponsive. I often click on its icon in the tray and then wait and wait … sometimes I have to wait as long as five seconds before I get any indication that it noticed my clicks. In the meantime I’ve usually clicked like mad on the thing in case the first click didn’t work. It’s frustrating. I’m a long-time Microsoft IM user, and this lagginess has driven me away from the product. I’m looking into alternative IM clients like Trillian. And the only reason is that I hate having to wait to see if it’s working.

I feel the same way when playing a game. I hate it when nothing happens!

  • When the game starts, does it do nothing while it’s loading? Does it display a big black screen for five seconds, leaving me to wonder if the game blew up my monitor?
  • When I click a button in the game, does the button graphic change so that it actually looks like it’s been pressed? Or is it just a static unresponsive bitmap?
  • When changing the volume slider knob, does the game not play a sound to help me judge whether I’ve got the volume at the right spot?
  • Does the game not care that I have my mouse buttons reversed because I’m left handed? If so, it interprets my left clicks as right clicks, and right clicks don’t make buttons work. So what I get is this: click, click, click, “Hmm, it’s not working. Is it broken, or just laggy?” Either way, the game sure didn’t impress!

The number one rule of thumb when designing anything for the computer, be it games or anything else, is that it has to feel responsive! In fact, if your program is responsive at all times, we’ll assume it’s fast. The sad truth is that a program can be slow as hell behind the scenes, as long as it reacts swiftly to our input.

Making Games with a Casual Mindset

So earlier blog posts attempted to nail down what we mean when we say “casual gamer”. My conclusion is that the casual games we find on portal sites have two things in common:

  • They are engaging rather than outright challenging
  • They can be played in short bursts (20 minutes or less)

This is probably not surprising news if you’ve played a few casual games. :) But let’s look at a few ways to actually take these guidelines to heart:

The “Retry” option

Several games now have a “Retry” option whenever you lose. This lets you immediately restart your game right where you left off. This feels “cheaty” to people who are looking for a challenge — because it removes a lot of the challenge! But that’s the whole point: engage, don’t challenge. Here’s what Elemental’s retry screen looks like. Extremely simple: it’s just the normal background with a couple of buttons stuck on it. Luxor 2 has a similar screen, if I recall correctly.

I added a Retry screen to my upcoming game, Starcrossed. I added it at the last minute, though — for some reason, it didn’t occur to me to add one, even though I’d seen it elsewhere. One of the beta players mentioned that they wished they had a Retry option, so I hacked it in. Next time, I’ll plan on having a Retry option right from the get-go.

The “Short Session” Metaphor

Most casual games can be played in short bursts, but it isn’t always obvious to users how to stop playing when they want to. This is something I wish I’d done a better job of in Starcrossed.

The traditional approach is to bring up an “End of Level” screen that shows statistics, and lets the user save and quit at a nice stopping point. This is good, but games like Galapago take it a step further. The main menu of Galapago is also a level-selector screen. (Here’s a screenshot. Only one level is unlocked in this shot, but as you unlock more, additional little squares light up all across the island.) Each time the user beats a level, they are returned to the main menu, where they can now select a new level. This also gives them a great opportunity to stop playing, should they want to. It’s very intuitive. I wish I’d done this for Starcrossed! I’ll likely use the idea in the next game.

Easter Eggs and Secret Codes

Should a casual game have easter eggs? Before we dive into that, let’s see what successful casual games have done:

  • Bejeweled 2 has a large number of codes that affect the game’s appearance. There’s also one easter-egg game mode.
  • Zuma Deluxe has a few easter egg commands.
  • Bonnie’s Bookstore has hidden interaction easter eggs.
  • Galapago has brilliant, wonderful hidden interaction easter eggs.

Most games don’t have anything resembling an easter egg, at least that I have found. (I used Google to help refresh my memory of a dozen other games.) So obviously easter eggs are not super important to a game’s success. But they don’t hurt, right? And some games do have easter eggs. So when do you include them and when not?

We struggled with this one when making Starcrossed. Here’s a list of reasons to add easter eggs:

  • Secret codes give you things to talk about. When PopCap sends out a newsletter to people who bought Bejeweled 2, they can include a few secret codes. It creates content for you (or your publisher) to parcel out later.
  • Interaction easter eggs make the game feel more polished. When you randomly click on the bell on the Bonnie’s Bookstore main menu, it makes a sound like a bell. This makes you smile. When you click on the shrunken heads in Galapago, you hear hilarious commentary. It makes you laugh.
  • Having hidden codes means having things for other sites to talk about, too. If your game has secret codes, then the various code collection websites will collect yours. Hey, any publicity is good publicity, right? Well, maybe? It can’t hurt, though we don’t have any evidence that casual game players ever look for codes on other websites.

In the end we added a few easter egg codes, but our most important easter egg, which was a hidden game mode, became unlockable content instead of secret content. We figured having it there on the menu but grayed out (until you beat other game modes and unlock it) was better than it just being hidden away. It’s better to see the cookie at the end of the trail than to have an invisible cookie that only a few players might stumble upon. Okay, that’s a weird analogy.

So to sum up (and add arbitrary subjective opinions):

  • Hidden interactions that players stumble onto are good. It makes the game feel more polished, assuming players stumble into them like they’re supposed to.
  • Minor easter eggs that are unlocked via secret codes are good if you have a newsletter. Other than that, they have dubious value-add.
  • Easter eggs that reveal hidden game modes are less effective than making those game modes into unlockables instead of easter eggs.

Defining Casual vs. Hardcore, pt 2: Time Consuming vs. Not

The other useful way to define casual vs. hardcore is by how long a game session is. A good rule of thumb is that a “casual game” can be played enjoyably in a 20 minute window or less.

So although I set out to define “casual” and “hardcore”, I’ve actually created four quadrants of game style:

Casual vs. Hardcore Categories

  • Challenging with Short Time Requirements: the most obvious example of this category is the old arcade game. Pac-Man, Galaga, Pole Position: these games require short amounts of time but are usually pretty challenging. (We often take for granted how hard these games were, back in the day.) Some games on casual portal sites fit this area, such as some Arkanoid clones. The Nintendo DS and Sony PSP also have a large number of games in this section.
  • Challenging with Long Time Requirements: many of the most popular console games fall into this category: God of War, Prince of Persia, Madden Football. These are games that have a long per-game session and are unabashedly difficult to play. They appeal to lots of people, but it should be no surprise that competitive males with lots of time on their hands tend to prefer these games.
  • Engaging with Short Time Requirement: this category contains most of the games on portal sites. Bejeweled, Diner Dash, Bonnie’s Bookstore. They are just difficult enough to be engaging without actively challenging the player’s abilities. They also have a brief time duration: you can finish a session in 15 minutes, usually.
  • Engaging with Long Time Requirement: a smaller number of casual games on portal sites fit this bill. A good example from the real world is a jigsaw puzzle. These are games that don’t actively challenge the player — they just require attentiveness. But they also require a long expenditure of time. One could argue that RPGs like Fate or Dungeon Runners also fit into this category, though then you have to quibble about “sessions”: you can play Dungeon Runners for 20 minutes, but in order to feel like you’ve actually accomplished something with your character (such as leveling up), you’ll need to invest an hour or two.

Why bother categorizing games this way? The reason is that you need to know who your target audience is so that you can make a game that appeals to them. Even big companies seem to miss this simple premise a lot of the time.

This grid is just one of many ways to categorize audiences, of course, and your mileage will vary, but even if you don’t use my categorization, please, use some categorization. :) Don’t just make a game you like and assume it’ll sell to everybody.

Actual human beings don’t fit neatly into any one category; many gamers tend to slide between two or even three of these. But when they’re in the mood to play a game, it’ll be a game from a certain quadrant. If I want to play some God of War, then playing Diner Dash instead isn’t gonna cut it.

One other thing: a good game hits ONE or at most TWO of these groups. Don’t try to make a game that appeals to all four quadrants at once; we’ve yet to see anybody make anything successful that way.

Defining Casual vs. Hardcore, pt 1: Challenging vs. Engaging

The “casual or hardcore” distinction has a lot of problems. First off, nobody can agree on what “casual” and “hardcore” mean. When I was the producer of a massively-multiplayer RPG, I was often amused by players who played the game for 20 hours a week and called themselves “casual players.” These people had the equivalent of a part-time job playing a video game, but because they saw other people playing even more than they were, they assumed they were “casual”. Needless to say, this breed of “casual” player isn’t what we’re marketing to when we create a “casual game”.

So before we can use those words, we need to add some meaning to them. I think there are really two axes involved here: what challenge people want in a game, and how much time they can allot for a game. Let’s tackle each axis separately.

Casual Test #1: Do you want to be challenged by a game, or engaged?

Although many people switch back and forth between these two, it’s still a useful distinction. People who play “casual games” like to be engaged by the game. People who play “harcore” games like to be challenged by the game. An engaging game isn’t too easy or too hard. It doesn’t expect you to get dramatically better at the game, at least not at too fast a pace. A challenging game ramps up the difficulty quickly, or else it has points of extreme difficulty (such as tough boss battles), forcing pretty much any player to practice repeatedly until they’re good enough.

I have a confession to make, one that would get me kicked out of the Hardcore Gamer Guild if there was such a thing: I played most of God of War 2 on “easy mode.” I was just in the mood for something engaging — not too easy, but not too hard — that would keep me preoccupied for an hour each evening. On “normal mode”, I found that I had to repeat boss battles�many times to learn the techniques, and I just didn’t want to.

God of War 2 is a pretty challenging game: it constantly pits you against obstacles that you are probably not good enough to beat. You will be forced to repeatedly face these obstacles until you succeed. It can be played as an engaging game if you set it on easy mode, but there’s a significant stigma attached to playing a game on “easy”. This stigma is probably intentional!

If you’re playing the game on normal mode and you’re repeatedly failing, the game will ask you if you want to switch to easy mode. This is brilliant, because it makes hardcore gamers feel better about themselves. If they keep practicing, knowing that they could have chickened out at any time, their eventual victory is all the sweeter. People who don’t want to practice a video game over and over again just switch to easy mode and don’t look back.

Let’s look at other games via this lens. Grand Theft Auto 3 is somewhere in between: it’s challenging, but only when you choose to be challenged. You can also just play engaging mini-games for as long as you want. So I’d say GTA is accessible to both casual and hardcore players. This is reflected in the large number of people who played the game in unusual ways.

Bejeweled is engaging without being too challenging. However, the XBox 360 version has some very challenging aspects: it’s extremely difficult to unlock all the XBox 360 achievements in Bejeweled 2. This gives the game some hardcore appeal, at least to some players.

I often switch back and forth. I do sometimes want to be challenged by my video games; it really depends on my mood. I think games that have a mix of engaging and challenging aspects have the broadest appeal. Mixing the two elegantly, now, there’s the tricky part.

Next up: casual question #2.