« November 2005 | Main | January 2006 »

December 22, 2005

Tiny Little Things of Value

Does anybody have any advice on how to *not* lose memory sticks and Nintendo DS games?  I've lost a couple of both.

December 11, 2005

Guess I'm Slow

Just found out about the Firefox "Live Bookmark" feature, and combined it with del.icio.us so my bookmarks will match on all my machines.  I suppose everybody else knew about this for years.

December 07, 2005

The Book List

So Colm wants to know what list of books I'd recommend for new game-programming hires.  So here's a first-draft list:

On coding:

Writing Solid Code, by Steve Maguire

Code Complete, by Steve McConnell (there are just a few chapters that I really like, but I don't have a copy on hand so I can't tell you which ones)

Effective C++, by Scott Meyers

Effective STL, also by Meyers (although I'd argue you could stop reading when you get to the algorithm stuff, as I mentioned in an earlier post)

I'm tempted to say The Pragmatic Programmer - at the time I read it, it wasn't as much of a revalation as the other books were for me, it was more of a crystallization of my thoughts, but it might be good to get new guys up to speed.

Also tempted to say Large Scale C++ Design, by Lakos - it's a good no-nonsense C++ architecture book...other books on patterns and idioms and whatnot get a little too, I don't know, cute.  Clever.  But it's so damn big!  I'd pick and choose parts of it that make for good required reading, but not sure which parts.

The C++ ARM - not to read, just to have on hand for reference.

So, a notable absence of "game programming" books.   Game Coding Complete is good but I'm not sure I'd make it required reading - generally you'd want articles and books targeted to the problem at hand.  AI for AI coders, graphics for graphics coders, etc.  And if they're gameplay programmers, or programmer/designers, I think Richard Rouse's book is the best fit for a good design book.

Even though these are management oboks, I'd want team members to have read 'em, partly so they know why we run things the way we do, and partly to help push management outward to the employees, so those employees feel empowered to make decisions (and we need fewer managers.)

Debugging The Development Process, by Steve Maguire

Dynamics of Software Development, by Jim McCarthy

Rapid Development, by Steve McConnell

(Which might confuse the poor people because McConnell likes to say "schedule conservatively" whereas Maguire and McCarthy say to "schedule aggressively".)

Good To Great, by Jim Collins

Some book on people skills would be good...something like Crucial Conversations or How To Win Friends And Influence People, stressing the importance of soft approaches when interacting with others...but I hate the writing style in those books so much I'm not sure I could force someone to read them...is there a book out there like this that isn't obnoxious to read?

This slideshow on the Cerny method.

And these Joel Spolsky articles:

http://www.joelonsoftware.com/articles/fog0000000245.html
http://www.joelonsoftware.com/articles/fog0000000022.html
http://www.joelonsoftware.com/articles/fog0000000072.html
http://www.joelonsoftware.com/articles/fog0000000069.html
http://www.joelonsoftware.com/articles/fog0000000067.html
http://www.joelonsoftware.com/articles/fog0000000053.html
http://www.joelonsoftware.com/articles/fog0000000043.html
http://www.joelonsoftware.com/articles/fog0000000029.html
http://www.joelonsoftware.com/articles/fog0000000014.html
http://www.joelonsoftware.com/articles/fog0000000007.html

Hmm...that's a lot, maybe they should just read the whole book.

And my Gama articles.  (I didn't list them all.  Honest.)

http://www.gamasutra.com/resource_guide/20030714/fristrom_01.shtml
http://www.gamasutra.com/features/20031031/fristrom_01.shtml
http://www.gamasutra.com/features/20031128/fristrom_01.shtml
http://www.gamasutra.com/features/20031205/fristrom_01.shtml
http://www.gamasutra.com/features/20031212/fristrom_01.shtml
http://www.gamasutra.com/features/20031226/fristrom_01.shtml
http://www.gamasutra.com/features/20040103/fristrom_01.shtml
http://www.gamasutra.com/features/20040206/fristrom_01.shtml
http://www.gamasutra.com/features/20040109/fristrom_01.shtml
http://www.gamasutra.com/features/20040123/fristrom_01.shtml [I don't totally agree with this one anymore - in particular the "everybody crunches" bit, which doesn't seem workable on a big team - I'd have to write an amended version of it]
http://www.gamasutra.com/columns/fristrom/20040312/fristrom_01.shtml
http://www.gamasutra.com/features/20040827/fristrom_01.shtml
http://www.gamasutra.com/features/20041013/fristrom_01.shtml
http://www.gamasutra.com/features/20041129/fristrom_01.shtml

Whew.  Quite a list.  I better get on that condensed version.

Some books I used to love dropped off my list:  Advanced Styles and Idioms was one,  Object Oriented Analysis and Design was another; these have been supplanted by Lakos...because, like I said.  Too cute / clever.

What do you guys think?  Am I missing anything?  Could you replace these with better ones?  There's a noteable absence of books on Agile or XP...to be honest, I haven't read that many of them...and lately I've been hearing good things about The Art of Project Management but I haven't read it yet.

December 06, 2005

Notes on Aardvark'd

I bought this.  Disappointed;  didn't really get a good look at their allegedly brilliantly designed office space - the programmers seemed to work in a bullpen rather in the single offices with "light coming in from both sides."  And it was almost all "look at how quirky these guys are;  they grow tomatoes and put aluminum foil on their windows and argue about whether they could jump to the roof of the next building" (left me wondering when they actually find time to code) and very little "here's how we develop projects at Fog Creek."  So I couldn't recommend it.

One little detail I liked - one of the first things they did was hand each intern a stack of books.  It looked like maybe $200 worth of books per person.  Why didn't I think of that?  I suppose I've always assumed that if I did do something like that with new hires, the books would never get read anyhow. 

What I'd really like to do is digest that material;  take the chapters and paragraphs I thought were truly important and combine them into one "this is how I'd like to see us do things here" document.  Ideally under 100 pages total.  And then I wouldn't feel too bad about forcing everyone to read it.

Of course, some people learn better from hearing than reading.  I'm not one of them, but I can see the need for some way to reach the others.

December 05, 2005

Notes on Capitalism 2

All this thinking about Acquire reminded me that I never got around to trying Capitalism 2, a game that I once bought for Mark Nau's birthday because of the title alone.  (He used to have a "I love Capitalism" sign in his office.)  Anyhow, he said it was pretty cool.

So I'm playing the downloadable demo this weekend, and it's one of those so-addictive-that-I-start-neglecting-my-family-and-pissing-off-my-wife-and-staying-up-too-late games, like A-Train or SimCity.  I ran out of demo version missions and replayed the last mission over and over trying differen stragies.  The sheer scope is huge:  you can run a retailer, a manufacturer, a farm, an oil well, or all of the above;  you can speculate in the stock of your competitors;  you can invest in real-estate, drive up land values by building there, and then sell.  You can buy television stations.  For armchair CEO's like myself, it's awesome - it really taps into the fantasy - and it goes hand-in-hand with the stuff I've been learning reading books like these.

I get to try different strategies.  Compete in an unestablished market - blue ocean - or try to take market share from an already succesful company - sort of like, say, Blizzard did with WarCraft and World of Warcraft.  You can choose branding strategies:  individual brands like Proctor & Gamble or use "range brands" and line-extend.   You can compete on price or quality or brand recognition.  You can be all Jack Welch and decide that you'll eliminate any products that aren't market leaders.  I'm dying to play it multiplayer (and hope I can find someone to play it with.) You can't do everything - there doesn't seem to be a way to be Wal*Mart, and use your retail power to drive down supplier prices - and you can't do mail-order, so you can't be Dell, either.

According to the Enlight website, it's been used in some MBA classes at prestigious schools, and I can see why.

Looking at it more as a game designer and less as a capitalist wannabe, I'm impressed by the abstraction, how any link on the chain from mining natural resources to retail can be described by a "layout" of connections between supply units, manufacturing units, sales units, etc.

I don't have access to PC sales data but I imagine this game didn't sell all that well.  I don't know if it was protiftable or not.  The barrier to entry is high - you can see from the first review on Amazon.com that at least one person was stymied, even though they clearly put a lot of work into the tutorial. I met Rob Pardo (check out the name dropping!) the other day and he said one of the philosophies at Blizzard was to make a game that appeals to the hardcore and then make it accessible to everybody.  Could this complex game be made more accessible?  Or would it have to be fundamentally simplified?  And is there a way to simplify it without compromising it?

December 04, 2005

Nuts & Bolts

Since Gregg's throwing down in the comments section of the last post:  I've read so many management books I can find a management aphorism for any position I care to take.  So, I could, for example, say that trying to save $500 per employee is an example of Jim Collins' "Rinsing The Cottage Cheese" from Good To Great.

But well, actually, as much as I like Jim Collins, I 99% agree with Gregg.  $500 per employee is nearly immaterial;  it's a fraction of a percent of your total budget, a fraction of a percent that will probably be earned back because the team is familiar with Microsoft, it's a known quantity, and it supports that one bullet point I need.  The only reason OpenOffice is crossing my mind right now is because A) I use it at home - if it's good enough for the home why isn't it good enough for work? and B) bootstrapping mentality - we're starting a company, and therefore cash is like oxygen, and therefore if we can save $500 * x in those first few months without a reduction of our team's efficiency we're going to do it. 

Speaking of lean thinking, at Treyarch we pirated a lot of the software we used to do game development.  That's one way to think lean...but it's something I'm not proud of and wouldn't do again.  That practice ended when we got bought by Activision - breaking the law is against Activision policy. 

I don't think Greg's idea of keeping the schedule spreadsheet under source control will work - it's hard enough to get people to update their estimates and actuals every day - if when they try to do it they usually discover that the spreadsheet is locked by someone else it will never get done.  And...one spreadsheet per person isn't quite an option, because even though tasks aren't fungible we do find that we're swapping them around from person to person enough for too many spreadsheets to quickly become annoying...

So I'm still in the Excel camp.  Although if Joel Spolsky releases a version of FogBugz that has his scheduling system built in I'd spend the money on that instead.

December 03, 2005

Open Office

Supposing you don't want to violate anybody's copyright - nevermind that Microsoft Office has gotten harder to steal these days with their Steam-like digital validation stuff - but you still want cheap Office software?  My last copy of Microsoft Word, which I found on Froogle, was only $30 or something, but it turned out it was an illegally sold OEM copy.  So I didn't want to go that route again.

And then someone suggested OpenOffice.  I tried it many years ago, back when open source was the big craze, and it sucked;  it was barely functional.  I tried it again recently, and, hot damn!  It's like a complete office software suite for free!  Although it saves documents in its own internal formats, you can still export to Word and Excel, to share your stuff with the rest of the money-paying world.  Every now and then there's some kind of glitch - weird things like using drop caps made it export to Word incorrectly, stuff like that - but it does almost everything I want to do.

Excpet you can't share spreadsheets the way you can with Excel.  Since Joel Spolsky's scheduling system is still my favorite way to schedule projects - although it sure has its problems - I'm not sure I could roll out OpenOffice instead of Microsoft at a game development studio.  Sure would be nice to lose that $500 per person capital expense, though.