The Only Truly Failed Project
codinghorror.com
codinghorror.com
Worthwhile read just for that snippet of knowledge!
The rest is history.
Avoid all one-shot technical elements. Anything that requires engineering work must be used in more than one spot in the game. Engineers are really slow. It takes them months to get anything done. If what they do is only used once, it’s a waste of a limited resource.
I'm not sure I 100% agree with this but it is something to keep in mind for many of us: if we're programming it, it should scale. Not scale to a hundred thousand users, that is easy. No, it should scale hilariously disproportionately to time invested.
Getting a new landing page on my site took me about an hour of programmer time. That is... well, OK, it performed well so it wasn't a waste of time, but it is something that I don't want to have to repeat for every landing page.
A little bit of Rails magic, though, and that one landing page became seven hundred. And additional ones can be created by my freelancers, whose time is very, very cheap relative to mine.
And they're heroes.
See Also: Blizzard, Apple
Valve is terrific. I'll love them forever not for Half-Life, which is great but flawed, but for Steam, which lets me buy games quickly and has incredible weekend deals. (Two weeks ago they sold 10 brilliant indie games for $30. Best game-related deal since the Orange Box, which incidentally was also Valve.)
The description he makes of how they cut the game into one level and had a team essentially scrum on it for months bis kinda agile.
I've seen GN do a talk about developing HL1 - one of the things he said was that he learned a long time ago to come up with your own design process. Because "otherwise you spend as long getting a team into someone else's groove as you do making the product"
:)
(Valve IMO are a masterclass in how you can spend years developing a game and still maintain a huge number of fans: mostly because everything that leaves the door is a quality product and so much fun).
Nice illustration of Gail's Law, from a comment [1] on HN today:
"A complex system that works is invariably found to have evolved from a simple system that worked. The inverse proposition also appears to be true: A complex system designed from scratch never works and cannot be made to work. You have to start over, beginning with a working simple system." http://en.wikipedia.org/wiki/Gall%27s_law
If the project is original or interesting, you almost have to go out of your way not to learn anything.
Not anymore.
OP overlooks the key to avoiding failure: release early and often. Customer feedback during development, not afterwards, is the rudder that keeps your project from going down the abyss. Unless you're an ocean liner. Like Microsoft.
(I've run many projects and have always been able to get some consumer feedback during development.)
Complex games take a non-trivial amount of work to get them to where they're even remotely playable.
Deleted comment
Deleted comment