July 03, 2009

Folder Hierarchies

One of the guys on our project wanted to change the way sound folders are organized, and I realized I have fairly strong feelings about the subject.  Most of this is just curmudgeonly ranting, it is not Truth, but still:

My experience is keeping folder hierarchies flattish cuts down on minor daily annoyances, both with source control and navigating: say you’re editing the raw content data in one folder, then you go to save, so you have to click up, up, then down, down to get to the proper destination directory;  whereas scrolling through a long list of files usually just requires a keypress or three.

To make this work, when using Explorer, everyone will want to do View->Details, otherwise sure, the screenfuls of icons would be overwhelming.

Keeping the raw content separate from the cooked (content you're actually going to ship in the distribution) is important, to simplify not just the authoring/final build process but the process of giving publishers, associates, marketers builds.

One idea that occurs to people frequently is to use the directory structure to describe the files.  So instead of zombieAttack.qrx and zombieIdle.qrx you'd have a \zombie folder that contains Attack.qrx and Idle.qrx.  This is appealing at first but it's nice to know if you've accidentally dragged the zombie attack sound into the yeti folder.  And if the code can assume that every sound name is unique that can gives you an advantage - you can use the asset name as a unique ID.  (I don't believe there's any reason any more to have an asset manager that builds .h files with asset codes baked into them - maybe I'll post on how we get around that someday.)

It's not *that* hard to rearrange your hierarchy later (though source control can make it harder) so don't fix a theoretical problem now ("This might get messy");  wait for it to become an actual problem.  

When would I start subdividing a folder?  When it hits around 500 files, or when all of the files of a subcategory no longer fit in a couple of pagedowns.  That is, once you've got enough zombie_xxx files that it isn't just a keypress to find the one you want.

One last thing:  I don't use spaces in file and folder names, I use underscores or intercaps.  Using the command line to do things with files has become vanishingly rare, but typing in those quotes to find a file with a space in the name is still annoying on those rare cases where I need to do it.

Curmudgeonly ranting over.

June 07, 2009

Notes on Jesse Schell's *Art of Game Design*: fun vs. obligation

I think the thing that stuck with me most after reading Jesse Schell's book was when he defined play as stuff you do because you want to do it, not because you're obligated to.  Although it sounds tautological, I think there's something profound there.  I think we're wired such that as soon as we feel obliged to do something, fun is killed.

I notice this over and over again when I'm playing games.  "I should play this because it got a high score on gamerankings and I should try to figure out why everyone loves it so much."  "I should play this because my friend made it and I owe it to him."  "I should play this because I spent $60 to buy it and if I don't play it that money will be wasted."  When I'm in one of these moods, the littlest frustration becomes insurmountable and eventually just putting the disk in the console seems a herculean task.

This is something I've known for a while as a manager.  It depends on the person, but if you ask somebody to do something, they often put on their defensive hat and start explaining why it isn't going to work.  (Particularly if they're not getting paid.)  But if you ask them, "Hey, what do you want to work on next?" they almost always will pick something that needs to be done and then they're having fun doing it and doing what they want to do.  This is the "make them feel like it's their idea" trick, but I don't believe it's disingenuous - it really is their idea.  Sometimes it's an idea you didn't even think of.

How might it influence game design?  It argues that the cheaper we can make our games, the better.  Free to play, costs money to buff/upgrade/whatever, looks even better.  "I'm playing because I want to, not because I plunked down $x on the membership and feel obligated."  (Right now, the $20 I plunked down on Galactrix is putting me in the 'I'm obligated to play this more zone' and I am starting to build up resentment.  I am getting a lot of play out of it, though, and am starting to get colored hexagans permanently burned on my retinas...)

RPG's, with their lists of tasks you have to accomplish to get to the next...task...can easily push you over from "I'm having fun" to "I'm doing a chore."  Simply putting up that "percentage complete" number can make those optional fun sidetasks you put in your game into obligations;  there was a lot of grousing on the forums about how Spider-Man 2 forced people into mindless repetition if they wanted to 100% it.  We never really intended for people to 100% it, and were boggled that people would try if they weren't having fun doing it, but there they were.  The most fun I have when playing Spidey 2 is aimlessly swinging around Manhattan...no obligations at all...

Going back to Galactrix, they have a multiplayer mode where the further you get in single-player the better you'll be at multiplayer.  You're obligated to play single-player to play multi-player.  (There's no multiplayer community critical mass that I can tell - Schizoid has the same problem - I'll talk about that in another post.)  Same goes for Peggle XBLA - single-player unlocks the characters you use in multiplayer.  One game that stands out as being different is Spectromancer - with Spectromancer, if PvP is your thing, multiplayer acts as if you have a full deck to pull from.  You're not obligated to play single-player, and thus single-player is less of a chore, something worth playing in its own right.

May 28, 2009

Notes On Sports

Robert Yang's article in The Escapist on using outdoors games to teach game design is pretty cool.


It reminded me of something I've thought for a while but never shared:  as game simulations become more realistic, designing videogames becomes more like designing sports than designing, say, board or card games.  FPS's have more in common with Capture The Flag than with chess.

Which, for me, is a problem, because I don't like sports.  This is surely partly because I suck at them - always one of the small kids I could never hold my own in any competitive team sport.  (But hey, I'm not a total geek, I used to be an ok surfer.)

But the fact that multiplayer FPS's only engage me for a day or two before I go on to play something else - I wonder if there's something more fundamental there, some fundamental trait of sports and FPS's which drives me away.  I can hold my own in FPS's.  (Sometimes.)  In that arena size doesn't matter.

And I wonder if that fundamental trait is:  slop.  This isn't supposed to be a "sports are bad" post, I'm just rambling about my personal tastes, so maybe the word 'slop' sounds too pejorative.  My point being in these highly complex systems like NFL football and counter-strike it's really hard to get a handle on what's going on, they're unpredictable, anything can happen (there, that's not so pejorative) whereas in board and card games the systems are usually so simple that you can predict the future, sometimes determine the exact right play, know you've got "the nuts".  Board and card games are inherently more...tractable...than sports.  

Not a good or a bad thing.  Just a thing.  Some people prefer it one way, some the other.

But I would say - if you're designing an FPS, sports-design may be more important than boardgame-design.  Whereas if you're designing a turn-based strategy game or RPG, vice-versa.

It occurs to me now that Schizoid is more of a sport than a game, too, by this criteria.  Maybe.  It's a grey area.  The behavior of the enemies is completely predictable, making it fairly tractable.  Still, you could play live-action Schizoid tag:  you have your red-shirts and blue-shirts (or shirts and skins probably easier to come by) and one of each is "it".  Maybe the ones who are "it" wear crowns or something.  When red "it" tags a blue guy they're out.  When blue "it" tags a red guy they're out.  If a blue guy tags blue "it" or red tags red "it" then they get to be "it".  I wonder how it would play out...I'll have to try it some day.