The best teacher will show you theory, give you both good & bad examples, explain why the bad examples don't work, then watch you try it and give you feedback. The lower the time lapse between trying something and getting feedback, the faster you'll learn.
If you don't have the spare $50k laying about to hire a personal instructor for your desired task, you're stuck searching and finding this stuff on your own.
Programmers
What if you're a programmer? The best place to go for theory is textbooks. Usually they're thick with theory but light on practice, and some of their theory will only work in the toy examples that academics are used to. But that's fine; you're here for the theory.
Good & bad examples are somewhat easy to google for. "Best practices" and "horror stories" are good keywords. Look for people that suggest bad experiences and ask them to expand on it.
Newbs tend to have bad habits, but finding out what those are and why they're bad is difficult. Books and didactic websites are again your best bets here.
The hard part is feedback. For that you need a coding buddy; someone (and I would suggest someone you don't work with) to serve as a sounding board, and will develop their own library of best practices, bad habits, and good feedback. You can give yourself feedback by (as I mentioned early) refactoring your own code shortly after you write it. Go back and rewrite the last app/utility/website you built! Might seem like "a waste," but it's amazing what you'll learn in the process.
Gamers
Game theory is woefully light. Good luck with that.
Good examples are easy to find; there's tons of videos of good players and really bad players. The hard part is figuring out why the good players succeed. Sorry. Good luck with that.
The easiest way to get better, actually, is to study mistakes. Look at people that get crushed and try to figure out what they did wrong. Fraps your own play and study it. A lot of people just hate doing that. Suck it up, cowboy. You'll learn fastest that way.
Saturday, July 10, 2010
Three Steps to Being a Better Programmer
How to Be an Awesome Programmer in three easy steps:
1) Practice
2) Study the experts
3) Learn from your mistakes
Practice is by far the easiest thing to do. As I've mentioned before, I think the great lesson of Gladwell's Outliers: The Story of Success
is that one gets better at something by practicing. In anything competitive, by practicing against better players (that's #2). But time on the field isn't enough; you actually have to learn something.
I've been thinking about playing Warcraft again, and in preparation I've watched a few Arena videos to get me motivated. That lead to watching some Quake videos, and that reminded me of my old days playing Quake. Obviously, the top players (at any online game) have played a lot. But time on the battlefield isn't enough; being smart by itself isn't enough.
I also read a number of "how to get better at Arena/Quake/Whatever" articles, and that led me back to Gladwell, a bunch of other articles and books, and eventually to the pickup community. A lot of people go to coaches for learning. This mostly gives the student a chance to find out who the masters are, so that he can study what they do. It's difficult to get better when you're around people that are as good as you; you're forced to learn everything yourself. Coaches will tell you what to practice, and they'll show you better players, too.
But learning that way is still pretty much learning by yourself. You just have better examples to teach you.
The better way to learn is to have a teacher. The teacher will look at your performance and suggest what to do different. They'll point out your mistakes.
That's the hardest part of getting better
Most people don't like to go back and revisit old work, but it's potentially the most instructive. And watching the pros at work isn't enough; a good teacher will point out what they're doing.
The the pickup community, "instructors" either "teach by example" (which is really doing what they do and then hoping that you figure it out on your own) or stick to mechanical skills (like body language).
In online games, there are no coaches; everyone learns by themselves. In this sort of community, the best thing to do is to play with the best.
In programming, the cost of practice is extreme; there's a plethora of experts; and they all say different things. About the easiest way to improve your programming is to refactor.
The best way to be a better programmer
The easiest way to improve is to try different tools, languages, and platforms. Until you try a decent interface builder, you'll probably think the one you're using is good enough. Until you try a functional language, you'll think your OO skills are all you need. Until you use a modern compiler, you might think the crap you have to do to satisfy your current compiler are acceptable.
Theory is nice. Where's the practice?
One of the things I learned while working on my other blog is just saying "try a new platform" is vague. Are there any that I could name that would be good?
Why, yes. Yes there are.
1) F#. Try building little Windows utility apps using it. Dive into the community to find better ways of doing it. Read a book or two and pick up the common wisdom.
2) iPhone dev. This is a great place to learn from other's mistakes, because the platform and tools are such utter shite. Seriously. The rest of the world is using modern compilers and tools that work. (OK, honestly, this entry is a bit of a joke, but you will learn message-passing.)
3) Find an open-source project using Perl or Python. Diving into one of these languages is the best way to learn them.
4) Website dev using C# and ASP.NET. Modern compilers & tools are an amazing thing.
I'm sure there's better examples out there; use these suggestions as a start.
1) Practice
2) Study the experts
3) Learn from your mistakes
Practice is by far the easiest thing to do. As I've mentioned before, I think the great lesson of Gladwell's Outliers: The Story of Success
I've been thinking about playing Warcraft again, and in preparation I've watched a few Arena videos to get me motivated. That lead to watching some Quake videos, and that reminded me of my old days playing Quake. Obviously, the top players (at any online game) have played a lot. But time on the battlefield isn't enough; being smart by itself isn't enough.
I also read a number of "how to get better at Arena/Quake/Whatever" articles, and that led me back to Gladwell, a bunch of other articles and books, and eventually to the pickup community. A lot of people go to coaches for learning. This mostly gives the student a chance to find out who the masters are, so that he can study what they do. It's difficult to get better when you're around people that are as good as you; you're forced to learn everything yourself. Coaches will tell you what to practice, and they'll show you better players, too.
But learning that way is still pretty much learning by yourself. You just have better examples to teach you.
The better way to learn is to have a teacher. The teacher will look at your performance and suggest what to do different. They'll point out your mistakes.
That's the hardest part of getting better
Most people don't like to go back and revisit old work, but it's potentially the most instructive. And watching the pros at work isn't enough; a good teacher will point out what they're doing.
The the pickup community, "instructors" either "teach by example" (which is really doing what they do and then hoping that you figure it out on your own) or stick to mechanical skills (like body language).
In online games, there are no coaches; everyone learns by themselves. In this sort of community, the best thing to do is to play with the best.
In programming, the cost of practice is extreme; there's a plethora of experts; and they all say different things. About the easiest way to improve your programming is to refactor.
The best way to be a better programmer
The easiest way to improve is to try different tools, languages, and platforms. Until you try a decent interface builder, you'll probably think the one you're using is good enough. Until you try a functional language, you'll think your OO skills are all you need. Until you use a modern compiler, you might think the crap you have to do to satisfy your current compiler are acceptable.
Theory is nice. Where's the practice?
One of the things I learned while working on my other blog is just saying "try a new platform" is vague. Are there any that I could name that would be good?
Why, yes. Yes there are.
1) F#. Try building little Windows utility apps using it. Dive into the community to find better ways of doing it. Read a book or two and pick up the common wisdom.
2) iPhone dev. This is a great place to learn from other's mistakes, because the platform and tools are such utter shite. Seriously. The rest of the world is using modern compilers and tools that work. (OK, honestly, this entry is a bit of a joke, but you will learn message-passing.)
3) Find an open-source project using Perl or Python. Diving into one of these languages is the best way to learn them.
4) Website dev using C# and ASP.NET. Modern compilers & tools are an amazing thing.
I'm sure there's better examples out there; use these suggestions as a start.
Wednesday, July 7, 2010
Four Things Good Programmers Do
After a five-month ski vacation I'm back in civilization job-hunting. The interview process is interesting from the interviewee side, to see what many companies think that they want. To me, a good programmer isn't someone that's spent seven years with Technology X; in that much time one learns a lot of tricks, but good programmers don't just know tricks - they're supposed to be writing code.
#1 Ship
Good programmers finish what they're working on. I think being left in a cubicle by yourself makes it easy to succumb to creeping featuritis. To get caught up in 'perfecting' a system which might have a minor role in the finished product. Good programmers ship. They get things in shape to release, and they release. The more things you release, the more you learn about what customers want. And you also learn how to release better software faster.
To me the lesson of Outliers is that everyone learns by doing. The more you do something, the better you get at it. The people that are really good at stuff - from major-league sports players, to Bill Gates, to writers and artists - are good because they have had a lot of practice.
Spinning your wheels polishing bad code is practice polishing, not practice shipping. If you want to hire a good coder, you want someone that's had practice turning a working prototype into a professional, shippable product.
#2 Working
It a similar vein, good programmers write working code. I've worked with too many coders that write buggy code that barely works - or doesn't work at all. You'd think they wouldn't still have jobs programming, but the interview process is pretty damn flawed. It's like a first date. The interview I had today was mostly feel-good; a guy on the team liked talking about Agile and I could talk the talk. Walking wasn't really part of the discussion.
I'm surprised when I see someone check stuff in that doesn't actually work. It suggests that the programmer has bad habits and doesn't test what they write. To them, programming is something you do in the editor. As soon as their code compiles, they check it in and move on. Yes, I've actually worked with coders like that. They think they're gods; they think they don't make mistakes.
The good programmers on your team, the ones you want to keep and promote, are those that actually get stuff working. When a web page is supposed to do something, when a class is supposed to commit a transaction or pull data, it should do so. Some guys get 90% of the way there, and other coders step in and turn a code checkin into a working feature.
Mr. 90% won't be able to ship software. He might write a lot of code, but the stuff he checks in doesn't actually work. Ask your coders; they'll be able to tell you who on the team is Mr 90%. Fire Mr 90%.
#3 Robust
There's a lot of work that goes into the "foundation" of a feature. Some of it is gruntwork; creating the class, getting headers & dependencies set up; building the UI using a design tool. This is mostly monkey-work, and that's why bad programmers can get to 90%. Getting stuff working is the last 10% of the code that's written, but it's an essentially important 10%.
But once a feature works doesn't mean the work is done. Debugging typically doesn't add lines of code. Refactoring to get stuff working is likely to reduce lines of code. Good coders don't just run their code to see if it works; they test it, too. And they know how to write software that passes tests, and how to write tests that go after edge cases and corner cases.
Going after those edge cases is a mindset. Some programmers have, in the back of their mind, a demon that thinks of malicious calling code. What's the worst that can happen? What if they give me bad data? What sort of bad data is there? Are there possible race conditions that could screw up this process? Good coders have that demon.
"Agile" has turned into a buzzword that many software managers think they need to have. They think writing tests will remove all bugs. But if your tests don't test the right stuff, then your product will still have bugs - it will just take live testing by a QA group to find them. There's good practices in agile testing, but TDD won't get rid of bad programmers or make them irrelevant. The guys you want on your team write robust code the first time. That doesn't mean no bugs but it does mean they, as a habit, look for edge cases.
#4 Features
I think somehow it has become verboten to discuss intelligence. Yet software is one of the few areas where intelligence has a very strong effect on productivity. Smart programmers get more done. They are good at solving problems, and they can keep track of several things at a time. If they need to keep that "what if" demon running in the back of their mind, the smarter guy will have an easier time at it.
Good programmers get features done faster. Per week, they get more features done.
It's grossly difficult to schedule software development. Agile development, in part, is a response to that. Instead of making up a list of features and then committing to a length of time to get that done, Agile commits to shipping something at a point in time. Some features are easier than others. It's hard to actually measure programmer productivity - but still true that good programmers are more productive.
Shipping Feature-Rich, Robust Software
Software development is about shipping. Guys in academia and research departments can fart around for decades and you can call it good work, but out here in the real world we need to ship software. The more features you have, the better your market position. The more robust your software, the happier your customers will be.
Good programmers make that happen. They write the code, it works when they check it in, and they know how to go after bugs. And they do it all quickly.
Hire those guys; they'll make you rich. :)
#1 Ship
Good programmers finish what they're working on. I think being left in a cubicle by yourself makes it easy to succumb to creeping featuritis. To get caught up in 'perfecting' a system which might have a minor role in the finished product. Good programmers ship. They get things in shape to release, and they release. The more things you release, the more you learn about what customers want. And you also learn how to release better software faster.
To me the lesson of Outliers is that everyone learns by doing. The more you do something, the better you get at it. The people that are really good at stuff - from major-league sports players, to Bill Gates, to writers and artists - are good because they have had a lot of practice.
Spinning your wheels polishing bad code is practice polishing, not practice shipping. If you want to hire a good coder, you want someone that's had practice turning a working prototype into a professional, shippable product.
#2 Working
It a similar vein, good programmers write working code. I've worked with too many coders that write buggy code that barely works - or doesn't work at all. You'd think they wouldn't still have jobs programming, but the interview process is pretty damn flawed. It's like a first date. The interview I had today was mostly feel-good; a guy on the team liked talking about Agile and I could talk the talk. Walking wasn't really part of the discussion.
I'm surprised when I see someone check stuff in that doesn't actually work. It suggests that the programmer has bad habits and doesn't test what they write. To them, programming is something you do in the editor. As soon as their code compiles, they check it in and move on. Yes, I've actually worked with coders like that. They think they're gods; they think they don't make mistakes.
The good programmers on your team, the ones you want to keep and promote, are those that actually get stuff working. When a web page is supposed to do something, when a class is supposed to commit a transaction or pull data, it should do so. Some guys get 90% of the way there, and other coders step in and turn a code checkin into a working feature.
Mr. 90% won't be able to ship software. He might write a lot of code, but the stuff he checks in doesn't actually work. Ask your coders; they'll be able to tell you who on the team is Mr 90%. Fire Mr 90%.
#3 Robust
There's a lot of work that goes into the "foundation" of a feature. Some of it is gruntwork; creating the class, getting headers & dependencies set up; building the UI using a design tool. This is mostly monkey-work, and that's why bad programmers can get to 90%. Getting stuff working is the last 10% of the code that's written, but it's an essentially important 10%.
But once a feature works doesn't mean the work is done. Debugging typically doesn't add lines of code. Refactoring to get stuff working is likely to reduce lines of code. Good coders don't just run their code to see if it works; they test it, too. And they know how to write software that passes tests, and how to write tests that go after edge cases and corner cases.
Going after those edge cases is a mindset. Some programmers have, in the back of their mind, a demon that thinks of malicious calling code. What's the worst that can happen? What if they give me bad data? What sort of bad data is there? Are there possible race conditions that could screw up this process? Good coders have that demon.
"Agile" has turned into a buzzword that many software managers think they need to have. They think writing tests will remove all bugs. But if your tests don't test the right stuff, then your product will still have bugs - it will just take live testing by a QA group to find them. There's good practices in agile testing, but TDD won't get rid of bad programmers or make them irrelevant. The guys you want on your team write robust code the first time. That doesn't mean no bugs but it does mean they, as a habit, look for edge cases.
#4 Features
I think somehow it has become verboten to discuss intelligence. Yet software is one of the few areas where intelligence has a very strong effect on productivity. Smart programmers get more done. They are good at solving problems, and they can keep track of several things at a time. If they need to keep that "what if" demon running in the back of their mind, the smarter guy will have an easier time at it.
Good programmers get features done faster. Per week, they get more features done.
It's grossly difficult to schedule software development. Agile development, in part, is a response to that. Instead of making up a list of features and then committing to a length of time to get that done, Agile commits to shipping something at a point in time. Some features are easier than others. It's hard to actually measure programmer productivity - but still true that good programmers are more productive.
Shipping Feature-Rich, Robust Software
Software development is about shipping. Guys in academia and research departments can fart around for decades and you can call it good work, but out here in the real world we need to ship software. The more features you have, the better your market position. The more robust your software, the happier your customers will be.
Good programmers make that happen. They write the code, it works when they check it in, and they know how to go after bugs. And they do it all quickly.
Hire those guys; they'll make you rich. :)
Friday, June 11, 2010
The Thousand-Hour Sim, Part 1
One of the ideas I mentioned yesterday was that there's only a few genres where a large number of players (10,000 or more) will be willing to spend multiple hundreds of hours playing the game. There's a lot of games were a good chunk of the audience will spend around 100 hours. Many single-player RPGs have that much content, and a lot of multiplayer games will keep players busy for 100 hours.
But take a game like WoW - there are millions of people that put in hundreds of hours every year, and probably millions that have put in over a thousand hours over the six years since the game has come out. Some of the friends that I worked with averaged six hours a day - usually spending a dozen hours on the weekends and a few during the week. That works out over 2000 hours a year. Even if they burned out in six months, that's a thousand hours right there.
Competitive games, like Starcraft and Counter-Strike, are another genre where thousands of people might spend thousands of hours.
What would you have to do to make a sim that could keep at least tens of thousands of players occupied for a thousand hours?
Summary of the FMMORPG Argument
There were eight factors I mentioned when I described Fantasy MMORPGs as the ultimate genre. They are:
The factors can be broken down into a few threads. I'll probably redo this list at some point. Obviously, this list isn't definitive; I'm building a model for game design and there are surely many other models just as suitable. Anyway, the points I'll cover today will be:
Positive Attributes
I think some of the attributes should influence the core game design. The game should be built around these principles. These are the things you should be trying to do when you design the game. The negative attributes, which I mention later, are a list of things you link at and think, is there something in this design that will drive away players? I think the negative attributes can be tweaked - that once the core game mechanics are nailed down, the next step is to go through a list of "gotchas" and make sure there's nothing there that would piss off players.
First I'll tackle the attributes core to game design.
Gameplay needs to be rich. This is the single most important attribute. Without rich gameplay, the game becomes rote quickly, and play-time becomes boring. I've talked about the essence of fun before, and my theses on boredom is that it happens when the player doesn't have to think about gameplay; if the time the player spends thinking about decisions is too small. As complex as the game might be, if the player has mastered the game rules then there's nothing more for him to learn.
Take a game like Halo. They introduce new mechanics throughout the game and, by the end, you've explored all of those mechanics. Once you've beaten a level, there's no reason to go back and play it again, except maybe to find a few hidden secrets or complete it faster. New sequels really just introduce a larger game world; they don't add new gameplay elements. Players spend 20-40 hours playing through the game, and then wait two years for the sequel, then spend another 20-40 hours.
Compare this to Grand Theft Auto. The worlds are about as large, but there's a richer variety of things to do. As a result, players can spend 100 hours in the world. There's only about 100 hours of "quests" in the game, though. If they added more quests, would you keep playing? Probably not, because without more mechanics, execution of those quests becomes easier and easier. As you play through the game, you pick up new weapons and learn new game skills - but you exhaust those skills by the time the game's done. That's what I mean by new mechanics: there'd have to not just be a new place to play (ie a larger world, such as in the expansion packs) but new ways to play.
The game world needs to be rich. I touched on this above. The world shouldn't just be large, but provide new environments. There are over sixty different zones in the world, and each one has many different sub-areas. Plus well over 100 different dungeons. The starter zones can be plowed through in under an hour, but by level 50, there's at least five hours of quests in each zone. The dungeons provide a couple hours of gameplay but can be replayed, too. Each of those zones and dungeons has its own creatures; usually dozens in each zone, and each creature type (like, say, furbolg) has several variants (such as warrior and shaman).
That means a lot of art assets, of course, but that's what "rich world" means! Players can easily spend ten hours in Stranglethorn Vale. Although the whole zone is jungle, the land ranges from the beach, to the river, to hills, to villages, to caves. Creatures include pirates, goblins, trolls, panthers, tigers, raptors, basilisks, and ... much more. Each little area has its own story (told through the quests) and there's a few greater storylines that take players through the zone.
Worlds are rich because of the variety of their assets and they stories they tell. Speaking of which...
The game has to enable strong emotional moments. Stories are a player retelling of emotional moments. The strongest emotions are fear, anger, and love. WoW doesn't really want to anger its playerbase, but anger does have a greater place competition-driven games (and therefore in the PvP aspect of WoW). Fear is the most common, but it's not often remembered as such. The most memorable moments for me in WoW were when I was running in fear from high-level enemy players, or in instances when our tank died and I was panicking trying to keep the group alive (I played a healer!), or close calls when I got attacked by several creatures and was running for my life. When these encounters ended well, that fear turned to extreme relief. I wanted to tell everyone I knew about what just happened, and the story got retold the next day at work, too.
Strong emotional moments make the game into a larger part of the players' lives. When we take those stories to work the next day, to the pub, into our dreams, its more than just a way to pass the time. Am I going to tell stories about that one time in FarmVille when I planted some corn? Ugh. We hate the boring coworkers that tell that kind of dumb story. NO. Yeah, sometimes those WoW stories are the same - but not always.
Players can feel love, or something similar, in these games, too. Probably a bit more common is respect, and dedication. Players in guilds might feel commitment to their guildmates, and want to show up on raid night not just because the raid will be fun but because they want to help their guild out. It's really cool to have a good tank in the group, or to have a great healer behind you, or an awesome DPS guy that is super-great about handling adds. I really respect those players and their skill with the game, and that generates stories that I want to tell, too. (But god I hope that raid is fun, too. See section one: gameplay should be rich.)
Curiosity can also be a strong motivator. Curiosity drives suspense novels and thriller flicks. It's usually not something that the designer would want to drag out for dozens of hours, but there are a lot of cases where a bit of curiosity keeps me playing for an hour, or to keep coming back to a quest line for an hour of play every so often. Some quest text can introduce a mystery, and either dole out new bits of story in each quest or give the player a chance to go exploring and find out the solution for themselves. This is a kind of meta-game; the game proper is combat, but if you've got a player hooked on a mystery they'll play through the combat to find out who done it! Yet another way of making gameplay richer, and in this case it works because of the emotions that the game makes players feel.
The final "core principal" is: The game should provide large goals. One of the things I've bitched about with browser games is that they don't feel like there's a larger goal. Travian actually has one, and it's a very appealing goal to me, but they did a crappy job of advertising that long goal. I played Lord of Ultima for about a week but quit mostly because I felt like I had no goals. Sure I can sit there building my city up, but who cares? Compare that to Nile Online, which I'm still playing: the goal is to get to a high enough level that you can "retire". When you do, you get a pyramid built and named after you! At that point, the game is "over" and one can leave the game, but at least it's a motivation to keep playing.
MMOs provide many large goals. To get to max level, to get into a raiding guild, to get to the hardest raid instance, to get awesome gear. Even just to complete the easiest end-game raid instances is a large goal, taking weeks of play to prepare and attempt. Single boss fights used to last a half hour or more though these days they tend to be 10-15 minutes. Each fight might take a few attempts to master, and there's around ten bosses in each raid. Throw in trash encounters (which can be tricky to master as well) and "raid night" is several hours of gameplay each week.
Accomplishing large goals tends to drive other gameplay. Preparing for raid night might mean running dailies to get cash to buy a new piece of armor, or to get enough faction to be allowed to buy a new piece of armor. Hopefully those dailies are fun and don't get too repetitive, one of the few places where I think WoW falls down. But consider this like curiosity: players will engage in hours of gameplay (hopefully fun by itself!) in order to achieve a meta-goal. They're not in combat to kill the creature, they're not killing the creature to gain rep, they're not gaining rep to buy new armor -- they're buying armor to make more progress on raid night. And they're doing that for bragging rights and to support their friends.
Non-Essential (Negative) Attributes
One can probably come up with a huge list of rules saying "don't fuck up your game by doing X". I happened to extract two from my previous post; there's dozens more that I've thought of since (another post?) but I'll cover these two in some detail to explain what I mean.
Players should be allowed to play whenever they want. If your basic game mechanic is combat, then what would keep them from playing when they want? I heard EQ basically couldn't be played solo - which meant, if you wanted to play, you've got to wait around to find a group to join. One of the things that I think made WoW wildly successful is that it doesn't have this restriction. If you log in and want to play, there's always, always some solo task you could do. You can hop into a PvP battleground, go on a solo quest, do a daily, farm some crafting resources, or find a PUG instance to run.
This principle is better expressed in the negative: don't add anything to your game that would prevent players from playing when they want to. Not being able to play is frustrating, and one of the things in browser games that piss me off. I'd enjoy them a lot more if I could play at my own leisure. Having the game say "sorry, go away, we don't want you" makes me feel bad things towards the game and that's a great way to lose players before they hit the 1000 hour mark. And it kind of means that they can't hit 1000 hours. It's basically admitting that you don't even have 1000 hours of stuff for them to do!
I'm probably going to play Nile Online til I get into the top 100 (and then retire), but there's no way I'll put 1000 hours into it - it just won't let me. It would take me years of play to get that far, and I'm far more likely to find something else to do. If I can retire after six months, what's to keep me coming back again and again? Hence:
Players should feel committed to the game. One thing that kept many players subscribed to Ultima Online was their houses. They had a lot invested in their house, and they didn't want to give it up. This is a great example because a lot of those subscribed players didn't even play! They'd log in once or twice a week to prevent their house from falling apart, but they wouldn't actually play. Imagine how many more players they could have kept around if there was something else to do?
But really my point is that commitment itself is strong enough to keep players subscribed.
Summary
So I didn't even talk about sims at all in this post, and I've been hacking away at this post for hours. In part two, I'll explore how to apply these rules to the sim genre and see what I come up with.
Meanwhile, I'm gonna go pass out... zzzz
But take a game like WoW - there are millions of people that put in hundreds of hours every year, and probably millions that have put in over a thousand hours over the six years since the game has come out. Some of the friends that I worked with averaged six hours a day - usually spending a dozen hours on the weekends and a few during the week. That works out over 2000 hours a year. Even if they burned out in six months, that's a thousand hours right there.
Competitive games, like Starcraft and Counter-Strike, are another genre where thousands of people might spend thousands of hours.
What would you have to do to make a sim that could keep at least tens of thousands of players occupied for a thousand hours?
Summary of the FMMORPG Argument
There were eight factors I mentioned when I described Fantasy MMORPGs as the ultimate genre. They are:
- environment variety
- tangible, human-scale environment
- non-trivial gameplay
- opponent complexity
- opponent personality
- solo and group gameplay
- inspiration
- open end-game
The factors can be broken down into a few threads. I'll probably redo this list at some point. Obviously, this list isn't definitive; I'm building a model for game design and there are surely many other models just as suitable. Anyway, the points I'll cover today will be:
- Gameplay needs to be rich
- The game world needs to be rich
- The game has to enable stories and emotional moments
- It should allow the player to play, and make progress, whenever they want
- The game should provide large goals, requiring time and/or teamwork
- The game should have an anchor that commits players to the game
Positive Attributes
I think some of the attributes should influence the core game design. The game should be built around these principles. These are the things you should be trying to do when you design the game. The negative attributes, which I mention later, are a list of things you link at and think, is there something in this design that will drive away players? I think the negative attributes can be tweaked - that once the core game mechanics are nailed down, the next step is to go through a list of "gotchas" and make sure there's nothing there that would piss off players.
First I'll tackle the attributes core to game design.
Gameplay needs to be rich. This is the single most important attribute. Without rich gameplay, the game becomes rote quickly, and play-time becomes boring. I've talked about the essence of fun before, and my theses on boredom is that it happens when the player doesn't have to think about gameplay; if the time the player spends thinking about decisions is too small. As complex as the game might be, if the player has mastered the game rules then there's nothing more for him to learn.
Take a game like Halo. They introduce new mechanics throughout the game and, by the end, you've explored all of those mechanics. Once you've beaten a level, there's no reason to go back and play it again, except maybe to find a few hidden secrets or complete it faster. New sequels really just introduce a larger game world; they don't add new gameplay elements. Players spend 20-40 hours playing through the game, and then wait two years for the sequel, then spend another 20-40 hours.
Compare this to Grand Theft Auto. The worlds are about as large, but there's a richer variety of things to do. As a result, players can spend 100 hours in the world. There's only about 100 hours of "quests" in the game, though. If they added more quests, would you keep playing? Probably not, because without more mechanics, execution of those quests becomes easier and easier. As you play through the game, you pick up new weapons and learn new game skills - but you exhaust those skills by the time the game's done. That's what I mean by new mechanics: there'd have to not just be a new place to play (ie a larger world, such as in the expansion packs) but new ways to play.
The game world needs to be rich. I touched on this above. The world shouldn't just be large, but provide new environments. There are over sixty different zones in the world, and each one has many different sub-areas. Plus well over 100 different dungeons. The starter zones can be plowed through in under an hour, but by level 50, there's at least five hours of quests in each zone. The dungeons provide a couple hours of gameplay but can be replayed, too. Each of those zones and dungeons has its own creatures; usually dozens in each zone, and each creature type (like, say, furbolg) has several variants (such as warrior and shaman).
That means a lot of art assets, of course, but that's what "rich world" means! Players can easily spend ten hours in Stranglethorn Vale. Although the whole zone is jungle, the land ranges from the beach, to the river, to hills, to villages, to caves. Creatures include pirates, goblins, trolls, panthers, tigers, raptors, basilisks, and ... much more. Each little area has its own story (told through the quests) and there's a few greater storylines that take players through the zone.
Worlds are rich because of the variety of their assets and they stories they tell. Speaking of which...
The game has to enable strong emotional moments. Stories are a player retelling of emotional moments. The strongest emotions are fear, anger, and love. WoW doesn't really want to anger its playerbase, but anger does have a greater place competition-driven games (and therefore in the PvP aspect of WoW). Fear is the most common, but it's not often remembered as such. The most memorable moments for me in WoW were when I was running in fear from high-level enemy players, or in instances when our tank died and I was panicking trying to keep the group alive (I played a healer!), or close calls when I got attacked by several creatures and was running for my life. When these encounters ended well, that fear turned to extreme relief. I wanted to tell everyone I knew about what just happened, and the story got retold the next day at work, too.
Strong emotional moments make the game into a larger part of the players' lives. When we take those stories to work the next day, to the pub, into our dreams, its more than just a way to pass the time. Am I going to tell stories about that one time in FarmVille when I planted some corn? Ugh. We hate the boring coworkers that tell that kind of dumb story. NO. Yeah, sometimes those WoW stories are the same - but not always.
Players can feel love, or something similar, in these games, too. Probably a bit more common is respect, and dedication. Players in guilds might feel commitment to their guildmates, and want to show up on raid night not just because the raid will be fun but because they want to help their guild out. It's really cool to have a good tank in the group, or to have a great healer behind you, or an awesome DPS guy that is super-great about handling adds. I really respect those players and their skill with the game, and that generates stories that I want to tell, too. (But god I hope that raid is fun, too. See section one: gameplay should be rich.)
Curiosity can also be a strong motivator. Curiosity drives suspense novels and thriller flicks. It's usually not something that the designer would want to drag out for dozens of hours, but there are a lot of cases where a bit of curiosity keeps me playing for an hour, or to keep coming back to a quest line for an hour of play every so often. Some quest text can introduce a mystery, and either dole out new bits of story in each quest or give the player a chance to go exploring and find out the solution for themselves. This is a kind of meta-game; the game proper is combat, but if you've got a player hooked on a mystery they'll play through the combat to find out who done it! Yet another way of making gameplay richer, and in this case it works because of the emotions that the game makes players feel.
The final "core principal" is: The game should provide large goals. One of the things I've bitched about with browser games is that they don't feel like there's a larger goal. Travian actually has one, and it's a very appealing goal to me, but they did a crappy job of advertising that long goal. I played Lord of Ultima for about a week but quit mostly because I felt like I had no goals. Sure I can sit there building my city up, but who cares? Compare that to Nile Online, which I'm still playing: the goal is to get to a high enough level that you can "retire". When you do, you get a pyramid built and named after you! At that point, the game is "over" and one can leave the game, but at least it's a motivation to keep playing.
MMOs provide many large goals. To get to max level, to get into a raiding guild, to get to the hardest raid instance, to get awesome gear. Even just to complete the easiest end-game raid instances is a large goal, taking weeks of play to prepare and attempt. Single boss fights used to last a half hour or more though these days they tend to be 10-15 minutes. Each fight might take a few attempts to master, and there's around ten bosses in each raid. Throw in trash encounters (which can be tricky to master as well) and "raid night" is several hours of gameplay each week.
Accomplishing large goals tends to drive other gameplay. Preparing for raid night might mean running dailies to get cash to buy a new piece of armor, or to get enough faction to be allowed to buy a new piece of armor. Hopefully those dailies are fun and don't get too repetitive, one of the few places where I think WoW falls down. But consider this like curiosity: players will engage in hours of gameplay (hopefully fun by itself!) in order to achieve a meta-goal. They're not in combat to kill the creature, they're not killing the creature to gain rep, they're not gaining rep to buy new armor -- they're buying armor to make more progress on raid night. And they're doing that for bragging rights and to support their friends.
Non-Essential (Negative) Attributes
One can probably come up with a huge list of rules saying "don't fuck up your game by doing X". I happened to extract two from my previous post; there's dozens more that I've thought of since (another post?) but I'll cover these two in some detail to explain what I mean.
Players should be allowed to play whenever they want. If your basic game mechanic is combat, then what would keep them from playing when they want? I heard EQ basically couldn't be played solo - which meant, if you wanted to play, you've got to wait around to find a group to join. One of the things that I think made WoW wildly successful is that it doesn't have this restriction. If you log in and want to play, there's always, always some solo task you could do. You can hop into a PvP battleground, go on a solo quest, do a daily, farm some crafting resources, or find a PUG instance to run.
This principle is better expressed in the negative: don't add anything to your game that would prevent players from playing when they want to. Not being able to play is frustrating, and one of the things in browser games that piss me off. I'd enjoy them a lot more if I could play at my own leisure. Having the game say "sorry, go away, we don't want you" makes me feel bad things towards the game and that's a great way to lose players before they hit the 1000 hour mark. And it kind of means that they can't hit 1000 hours. It's basically admitting that you don't even have 1000 hours of stuff for them to do!
I'm probably going to play Nile Online til I get into the top 100 (and then retire), but there's no way I'll put 1000 hours into it - it just won't let me. It would take me years of play to get that far, and I'm far more likely to find something else to do. If I can retire after six months, what's to keep me coming back again and again? Hence:
Players should feel committed to the game. One thing that kept many players subscribed to Ultima Online was their houses. They had a lot invested in their house, and they didn't want to give it up. This is a great example because a lot of those subscribed players didn't even play! They'd log in once or twice a week to prevent their house from falling apart, but they wouldn't actually play. Imagine how many more players they could have kept around if there was something else to do?
But really my point is that commitment itself is strong enough to keep players subscribed.
Summary
So I didn't even talk about sims at all in this post, and I've been hacking away at this post for hours. In part two, I'll explore how to apply these rules to the sim genre and see what I come up with.
Meanwhile, I'm gonna go pass out... zzzz
Labels:
complexity,
game design,
MMO,
WoW
Thursday, June 10, 2010
Gameplay Complexity and Opponents
Yesterday in my praise of the fantasy MMORPG as the ultimate genre, I touched on the notion that a game that involves human-like opponents has a lot of natural potential for rich gameplay. Today I want to expand on that a bit.
Game genres range from racing to shooters to RPGs to slot-machines to sims to platformers and on. Multiplayer games obviously pit you against other humans. Some of them have single-player variants, where the part of the enemy is played by AI that tries to act as close to human; ie, the opponents have the same range of actions and strategies as humans do. Others pit you against a puzzle, or simplified enemies with very constrained actions.
Puzzles - No Opponent
I'll start with the last. Puzzle games like Tetris don't have "opponents". It's just you against the puzzle. Simulations, including games like SimCity and Roller Coaster Tycoon, pit you against a complex puzzle. Simple puzzle games have simple mechanics; the complexity of the game is how the rules fit together. Some such games are like skill games - gameplay at the higher levels of Tetris require the player to have internalized the gameplay rules effectively to the point that it's like a sport, and where reflexes and the ability to think a few moves ahead are important.
Skill games are rarely complex. Coding their game rules is simple. Design can be difficult, however; the process of coming up with rules that are amenable to skill is tricky. Back during the golden decade of the FPS (the 1990s), many game companies tried to make competition-worthy FPS games, but most fared poorly. For a single-player game, something that's going to provide 15-40 hours of gameplay, the game mechanics don't need to be very rich. Elements that would lend themselves to longevity as a skill-based competition are hard to design in, and the economics of the game industry often mean that the people that would have experience with competition-style gameplay aren't the ones that are chosen to lead game design. It's one thing to say "we want a lively online community" and another to actually spend money and effort finding a designer that can do that well. There's a rich discussion there but I'll skip it for now.
Because my point is: the complexity of these games is usually the intricate ways in which a small set of game rules combine.
Could you turn a sim into something players would spend a thousand hours playing? How long could you play Roller Coaster Tycoon before you exhausted the whole game? Do you think you could convince a million players to each put a thousand hours into it? These games (on the PC) are lucky to sell a million copies. Most of those players might put less than a dozen hours in.
What would it take to make a sim or puzzle game that players spend that much time on? It feels silly to even think it's possible, since one hundred hours is a stretch for these games. Maybe there's some diehard fanatics that put that much time in (the Transport Tycoon community is one such example), but that's a tiny community. That's maybe a thousand players - not a million. I'd like to explore this idea further... and indeed I do in this followup post on the thousand-hour sim.
Platformers - Fake Opponents
Platformers have opponents, but they aren't anything like human players. Enemies such as the goombas in Mario follow very rigid rules. They don't even try to behave like human players. That's not the point; these are effectively puzzle games where part of the puzzle is an AI-controlled "humanoid" character with simplistic, predictable rules.
Usually there's not a lot of richness to these games. They're exploration and achievement games, with a little bit of skill thrown in. Gameplay is fun, but that's driven in part by the environments, not the opponents. The human (or sentient) appearance of the opponents just fills out the game world; makes it seem like a real place and less like an abstraction.
Recent Mario games (such as Mario Galaxy) do wind up being somewhat rich, but not too much. Most of the richness is in carefully timed execution of special moves. In other words, they are skill games. Puzzles are straightforward, the interactions of gameplay elements are rare, and the focus of the game is more on exploration than anything else.
Head-to-Head Action and Strategy Games
Whereas there's no real "opponent" in puzzle or sim games, and simplified opponents in platformers, other action games have real humans as the opponent. RTS games like Starcraft and FPS games like Counter-Strike fit this model. Even when you're playing against the AI, that AI is trying to act as human as possible.
Both you and your opponent have the same range of abilities. Chess is a simplified version of this model, where both players have exactly the same units at their disposal. FPS games are similar; often skill games (see above), but the richness in the game comes from the fact that the opponent is truly human and so not only has a huge bag of tricks but can also learn new tricks as time goes on.
RTS games rely heavily on the humanness of your opponent, but they often twist gameplay by allowing players to choose different "races." Starcraft is the standout in this model. Most Starcraft games are played by players of different races; Terran, Zerg, or Protoss. They are all basically doing the same thing - placing buildings, recruiting soldiers and ships, and sending them off to attack. Yet the units that they have are different, and their overall approach to winning is different as well.
The richness in FPS games comes primarily from the human opponent. The fine balance of rules can make the game more or less balanced; more or less random. Yet it's the humans that make them great.
RTS games, however, add much more. There's a lot more strategy to RTS games. Choices made early - not just single actions, but choices to develop in one way or another - define the game. Do you try to tech up? Rush? Expand early? Press to aerial units? Fake one build but go another way? Where FPS games often have rich tactical fights, RTS games also have strategic fights.
RPGs
RPGs are a bit like RTS games, in that you are facing human-like opponents with skills and actions similar to your own, but with a different strategic twist. In Starcraft you have Protoss vs Zerg, in WoW you'll have a Rogue against a Warlock.
Humans provide the richest opponents. Some are better than others; in RPGs, you might face someone that doesn't know their class very well at all. But most of those that engage in PvP know what they're doing. Competition ladders help great players find similar opponents, while allowing the crappy players a chance to win every know and again against other new (or... well, crappy) players.
RPGs add more to the single-player experience, however, by having a much longer stretch of new abilities. In an RTS, you'll become familiar with all of the units and buildings at your disposal over the 30 hours or so in the single-player campaign. In an MMORPG, there can be hundreds of hours of advancement before you've gotten to the top of the ability tree, learning new spells or abilities every few levels.
Instead of giving you a small set of tools with rich interactions, like chess, RPGs have a much larger set of tools, each with its own special purpose. The trick isn't to learn how the abilities interact, but usually which ability to use when; how to fight against certain types of opponents. The huge array of possible opponents is what makes the RPG rich.
Human-like Opponents with Different Tactical and Strategic Choices
My goal here was to explore the game design choices that produce a game that players could enjoy for hundreds of hours. Leaving aside the diehard fanatics that might stick to their favorite title long past when the majority of the market has gotten bored, we're left with three major avenues.
The first approach is to build a game that requires player skill, whether solo or competitive. Players spend their time getting better at those skills. Games like Counter-Strike and Tetris are the best examples, but even then they point out the weakness: although both have audiences larger than (say) Transport Tycoon, these are still relatively niche titles. Lots of people love them and (relatively) lots put in over a hundred hours playing the game, but there are bigger genres out there.
The second approach is to create simple mechanics with extremely complex interactions. Chess is the canonical example. Players have a chance to learn ever more complex interactions. Every time they play, they probably learn another new trick. The success of this genre depends on the size of the market, however. There can't be hundred of Chess-like games, because the complexity of interaction depends on the size of the market. Not everyone has the talent to be a grandmaster, and in order to even get grandmasters, you need enough people to push the curve that far.
The third approach is pitting player versus player. Whether you've got a skill-based game, one with simple rules but complex interactions, or complex rules, pitting humans against each other means that rich gameplay will evolve. You'll either need to do a whole lot of playtesting and balancing or be willing to tune the game after it ships, but with PvP, humans will figure out complex strategies.
Personally, I think the two richest game genres are the RTS and the RPG. The best, longest-lived games in both genres have PvP (sometimes simulated), complex gameplay interactions, and a measure of player skill. If you want to create a game that pulls in players for hundreds of paid hours, you'll need more than one of the approaches.
Game genres range from racing to shooters to RPGs to slot-machines to sims to platformers and on. Multiplayer games obviously pit you against other humans. Some of them have single-player variants, where the part of the enemy is played by AI that tries to act as close to human; ie, the opponents have the same range of actions and strategies as humans do. Others pit you against a puzzle, or simplified enemies with very constrained actions.
Puzzles - No Opponent
I'll start with the last. Puzzle games like Tetris don't have "opponents". It's just you against the puzzle. Simulations, including games like SimCity and Roller Coaster Tycoon, pit you against a complex puzzle. Simple puzzle games have simple mechanics; the complexity of the game is how the rules fit together. Some such games are like skill games - gameplay at the higher levels of Tetris require the player to have internalized the gameplay rules effectively to the point that it's like a sport, and where reflexes and the ability to think a few moves ahead are important.
Skill games are rarely complex. Coding their game rules is simple. Design can be difficult, however; the process of coming up with rules that are amenable to skill is tricky. Back during the golden decade of the FPS (the 1990s), many game companies tried to make competition-worthy FPS games, but most fared poorly. For a single-player game, something that's going to provide 15-40 hours of gameplay, the game mechanics don't need to be very rich. Elements that would lend themselves to longevity as a skill-based competition are hard to design in, and the economics of the game industry often mean that the people that would have experience with competition-style gameplay aren't the ones that are chosen to lead game design. It's one thing to say "we want a lively online community" and another to actually spend money and effort finding a designer that can do that well. There's a rich discussion there but I'll skip it for now.
Because my point is: the complexity of these games is usually the intricate ways in which a small set of game rules combine.
Could you turn a sim into something players would spend a thousand hours playing? How long could you play Roller Coaster Tycoon before you exhausted the whole game? Do you think you could convince a million players to each put a thousand hours into it? These games (on the PC) are lucky to sell a million copies. Most of those players might put less than a dozen hours in.
What would it take to make a sim or puzzle game that players spend that much time on? It feels silly to even think it's possible, since one hundred hours is a stretch for these games. Maybe there's some diehard fanatics that put that much time in (the Transport Tycoon community is one such example), but that's a tiny community. That's maybe a thousand players - not a million. I'd like to explore this idea further... and indeed I do in this followup post on the thousand-hour sim.
Platformers - Fake Opponents
Platformers have opponents, but they aren't anything like human players. Enemies such as the goombas in Mario follow very rigid rules. They don't even try to behave like human players. That's not the point; these are effectively puzzle games where part of the puzzle is an AI-controlled "humanoid" character with simplistic, predictable rules.
Usually there's not a lot of richness to these games. They're exploration and achievement games, with a little bit of skill thrown in. Gameplay is fun, but that's driven in part by the environments, not the opponents. The human (or sentient) appearance of the opponents just fills out the game world; makes it seem like a real place and less like an abstraction.
Recent Mario games (such as Mario Galaxy) do wind up being somewhat rich, but not too much. Most of the richness is in carefully timed execution of special moves. In other words, they are skill games. Puzzles are straightforward, the interactions of gameplay elements are rare, and the focus of the game is more on exploration than anything else.
Head-to-Head Action and Strategy Games
Whereas there's no real "opponent" in puzzle or sim games, and simplified opponents in platformers, other action games have real humans as the opponent. RTS games like Starcraft and FPS games like Counter-Strike fit this model. Even when you're playing against the AI, that AI is trying to act as human as possible.
Both you and your opponent have the same range of abilities. Chess is a simplified version of this model, where both players have exactly the same units at their disposal. FPS games are similar; often skill games (see above), but the richness in the game comes from the fact that the opponent is truly human and so not only has a huge bag of tricks but can also learn new tricks as time goes on.
RTS games rely heavily on the humanness of your opponent, but they often twist gameplay by allowing players to choose different "races." Starcraft is the standout in this model. Most Starcraft games are played by players of different races; Terran, Zerg, or Protoss. They are all basically doing the same thing - placing buildings, recruiting soldiers and ships, and sending them off to attack. Yet the units that they have are different, and their overall approach to winning is different as well.
The richness in FPS games comes primarily from the human opponent. The fine balance of rules can make the game more or less balanced; more or less random. Yet it's the humans that make them great.
RTS games, however, add much more. There's a lot more strategy to RTS games. Choices made early - not just single actions, but choices to develop in one way or another - define the game. Do you try to tech up? Rush? Expand early? Press to aerial units? Fake one build but go another way? Where FPS games often have rich tactical fights, RTS games also have strategic fights.
RPGs
RPGs are a bit like RTS games, in that you are facing human-like opponents with skills and actions similar to your own, but with a different strategic twist. In Starcraft you have Protoss vs Zerg, in WoW you'll have a Rogue against a Warlock.
Humans provide the richest opponents. Some are better than others; in RPGs, you might face someone that doesn't know their class very well at all. But most of those that engage in PvP know what they're doing. Competition ladders help great players find similar opponents, while allowing the crappy players a chance to win every know and again against other new (or... well, crappy) players.
RPGs add more to the single-player experience, however, by having a much longer stretch of new abilities. In an RTS, you'll become familiar with all of the units and buildings at your disposal over the 30 hours or so in the single-player campaign. In an MMORPG, there can be hundreds of hours of advancement before you've gotten to the top of the ability tree, learning new spells or abilities every few levels.
Instead of giving you a small set of tools with rich interactions, like chess, RPGs have a much larger set of tools, each with its own special purpose. The trick isn't to learn how the abilities interact, but usually which ability to use when; how to fight against certain types of opponents. The huge array of possible opponents is what makes the RPG rich.
Human-like Opponents with Different Tactical and Strategic Choices
My goal here was to explore the game design choices that produce a game that players could enjoy for hundreds of hours. Leaving aside the diehard fanatics that might stick to their favorite title long past when the majority of the market has gotten bored, we're left with three major avenues.
The first approach is to build a game that requires player skill, whether solo or competitive. Players spend their time getting better at those skills. Games like Counter-Strike and Tetris are the best examples, but even then they point out the weakness: although both have audiences larger than (say) Transport Tycoon, these are still relatively niche titles. Lots of people love them and (relatively) lots put in over a hundred hours playing the game, but there are bigger genres out there.
The second approach is to create simple mechanics with extremely complex interactions. Chess is the canonical example. Players have a chance to learn ever more complex interactions. Every time they play, they probably learn another new trick. The success of this genre depends on the size of the market, however. There can't be hundred of Chess-like games, because the complexity of interaction depends on the size of the market. Not everyone has the talent to be a grandmaster, and in order to even get grandmasters, you need enough people to push the curve that far.
The third approach is pitting player versus player. Whether you've got a skill-based game, one with simple rules but complex interactions, or complex rules, pitting humans against each other means that rich gameplay will evolve. You'll either need to do a whole lot of playtesting and balancing or be willing to tune the game after it ships, but with PvP, humans will figure out complex strategies.
Personally, I think the two richest game genres are the RTS and the RPG. The best, longest-lived games in both genres have PvP (sometimes simulated), complex gameplay interactions, and a measure of player skill. If you want to create a game that pulls in players for hundreds of paid hours, you'll need more than one of the approaches.
Labels:
complexity,
game design,
MMO,
WoW
Wednesday, June 9, 2010
Most Awesomest Game Genre Ever
WoW is tremendously popular, and it's easy to see why. One can play solo, so you don't have to wait for your friends to show up or get online. Your accomplishments can be witnessed by a wide variety of players, so the game's achievements are very rewarding. Team encounters give players a chance to show their team spirit & coordination. It has a ton of content and actually has an end-game, so you can play forever. It's very approachable, unlike many other MMOs.
But it's also the most awesomest game genre ever.
A friend an I were brainstorming game ideas for the iPhone, and I spent some time after that going through a bunch of game ideas, fleshing them out, and thinking about how to make the game more appealing. At the pinnacle of game development is something like an MMORGP, which requires complex technology, precision game design, and tons of content. But more than that, there are elements to the design of WoW that place, in my mind, the fantasy MMO as the ideal genre.
I tried to think of ways to design a game that was smaller than an MMO that had many of the same benefits. In the process, I came up with a whole bunch of factors that make the fantasy MMORPG genre appealing.
Environment Variety
Games like Tetris take place in one screen. It's a skill game, like many sports and first-person-shooters, and so that doesn't matter that much - but it's just one screen. Achievement and exploration games tend to have a lot of environment variety, and it's one of the driving forces behind platformer design (as I love to mention). Give the player a new environment every 15 minutes!
A Tale in the Desert (ATITD) is an interesting game for many reasons. It's an MMO but the environment is very dry. It's 99% desert. 99% boring, flat, monochromatic fucking desert. It's a great exercise to play the game and see how one can take one environment type (hint: desert) and make landmarks and environments that feel different. Yet the exercise reminds me of the pointless toy problems and artificial domains I studied in school. It might be an interesting exercise but it has little practical value.
Take a look at WoW: every zone isn't just yet another area using the same brown and desaturated green color palette; they're very different. It's not just forest, mountain, plain. The forests are hugely varied -- from the dark, Halloween-ish Darkshore to the mystical Ashenvale Forest to diseased Felwood and Plaguelands. Feralas feels kind of generic - but I had to hunt around for an exception. Elwynn Forest is an ideal example - a larger-than-life fantasy setting. You can't mistake Grizzly Hills for any of these other areas, and Silverpine, although sharing the same kind of haunted feel as Darkshore, is obviously distinct too.
Coming up with different environments is easy; making them look good is hard. Getting the art assets is expensive. But it adds a huge amount to the game. Where ATITD is able to take "desert" and vary it, WoW does the same thing -- within each zone. But then it adds another 50 zone types! Like console platformers, there's always some neat new zone to go explore.
First-person shooters like Doom have a hard time coming up with different environments; they're all variations on the "near-future industrial/research building" theme. But put people outdoors and the variety explodes.
I guess it doesn't need to be that way. You could make an FPS that takes place all indoors and still has the variety that WoW does, but you'd have to try for it. That's kind of my point with this post - I think games are better when they have these qualities. Half Life, as fun and varied as it was, was stuck with being realistic. Which means that there's not much variation between levels. City Level 1 looks just like City Level 2. You could throw Viking Village and Alien City and Native American Pueblo in there, but it loses its believability. Fantasy games like WoW have a huge variety in environments that's enabled by the willingness to say "forget realism, we want cool environments." Like Mario platformers, WoW throws away foolish adherence to realism in the name of fun.
Tangible Environment
But zones aren't just different - they're also meaningful to humans. What's space but a bunch of rocks, stars, and the occasional planet? You can make varied star backgrounds and different-looking planets, but they feel like meaningless decoration. Earth means something to us. Running around on the ground is meaningful. Even the abstract game world of 1980s arcade games took to this: Donkey Kong takes place in a factory (and/or construction site) - it feels like a place. It's not just naked gameplay, it's a part of a world.
I was thinking of bringing up games like chess here, but then I thought: Abstract games tend to be skill games. Either your game is about the gameplay mechanisms themselves, like chess or first-person shooters or sports, or it's a game that puts the player into an avatar and says, "go play in this world!" In that case, the world itself is one of your characters and it needs to be interesting!
I think that's one of the reasons why "space" and "sci-fi" are considered niche genres for games. You can make starfields and tetris blocks look different and varied, but they don't mean anything human to us. They don't resonate with everyday experience. We can perceive the subtlest changes in human faces because that's how we evolved; give us a bunch of subtly-different alien faces and the distinctions aren't noticed. The work that you put into it is wasted. They all look the same to us.
Lesson: Familiar environments can be rich. Novel, alien environments are cool because they're new, but you can't take that very far. Because they're just new; they don't make sense to us.
Gameplay
Same games have rich gameplay, some are like slot machines. I bitched a few days ago about browser games (especially the popular Facebook games) and how they're basically slot machines. What gameplay? Click click click, win a random prize! Compared to RPGs, there's no mechanism, no learning, to strategy. Strategy makes for a richer game.
Some people have addictive personalities. Give them a slot machine and sell them rolls of tokens and you can keep them occupied and make a lot of money. I don't think you're really making those sorts of people happy; you're just feeding off of their addiction. Encouraging that addiction. I think many people hate their addictions - but they're still addicted. Intellectually, they want to quit smoking, stop gambling, but they feel compelled.
To me the more interesting challenge, and the more rewarding pursuit, is making compelling games, not compelling slot machines.
If you want rich gameplay, WoW has it. The core gameplay element is combat but each class has its own take on it, and that take changes as the character levels up and specializes. The addition of mechanics like fleeing, rooting, rage, and combos add to MMORPG staples like aggro, pets, and mana burn. I'm not sure if there's any novel mechanic in WoW (one could take the Lorite approach here) but it does have the kitchen sink. Action games - including platformers - work with a far smaller set of gameplay mechanics. An MMO means hundreds (or thousands) of hours of gameplay, and that means an extremely rich set of mechanics.
Opponent Complexity
One of the things that started me thinking about this post was, how can I make a crafting-based MMO like ATITD? Crafting in WoW is "click a button and wait 20 seconds," but ATITD and Puzzle Pirates are two games that turn "crafting" into much more.
But there's no "opponent" in these games. The combat mechanism of RPGs is rich not just because of the variety of options that the player has, but because you pit those mechanisms against a parallel set - everything that the enemy can do. WoW players have to worry about enemy casters, archers, and fighters; melee opponents with quick attacks (hard to cast long spells!) and those with big, slow attacks; abilities like fleeing and calling for help; healers and high-DPS dudes. Multiple opponents. Not knowing what "class" an opponent is until you're in combat.
How do you make a crafting game like that? WoW combat isn't just a minigame - it's huge. And part of that is that it's set up like a competition; it's not just X choices versus a random-number-generator; it's your X against his X. This is definitely something I'd like to explore more, but for now I just want to throw out there:
Not only does your opponent have a range of actions he can choose, but he also has personality. Who here hates murlocs? Raise your hands!
There's casters and healers, crocs and raptors, those pesky crocolisks and the goofy owlbeasts. Evil trolls and neutral zhevras that will be happy to ignore you if you ignore them. They each have their own attacks, idle animations, and deaths. It's not "simple combat opponents 1 through 47", they have shapes & sounds & animations. They have personality.
How can you do that with, say, a blacksmithing minigame?
Many other game genres do have opponents with personality, though. Action games from platformers to first-person shooters give you different opponents. Even shoot-em-ups like Galaga give you varied opponents. So this trait - opponent personality - isn't exclusive to Fantasy MMORPGs, but it is one thing that makes it a richer game genre.
Solo & Group Gameplay
I think good browser games are team games. Travian, for example, has a good bit of solo gameplay, but it's really a team game, and I think it's all the richer for that.
Skill games have both. One typically works on their own skills but measures themself against other players, either playing directly against other players or in parallel with them. FPS games tend to be against human or human-like opponents, including team variants like Counter Strike and Rainbow Six. I think those team variants are the richest.
And that's one thing that makes Fantasy MMORPGs a great genre - solo gameplay, so players can play whenever they want, but also rich, team-based objectives that they pursue with their friends.
Inspiration
I talked about inspiration a few days ago. Many games have it, and I think it's an important component. MMOs, though, have a great built-in mechanism for adding it. They don't all do a good job of it, but the opportunity is there; a low-hanging fruit.
Open End-Game
I've talked about how good games are entertainment that's powerful enough that players are willing to pay for it. I think there's a 1:1 correlation between profit and fun. (Addiction games would be an exception to this rule.)
Open-ended games are a huge profit center. Once you get a player to try your game, you can continue drawing revenue from them for years. Any game or sport that players enjoy going back to means a huge potential revenue stream. There's tons of tennis racquets, climbing shoes, skis, and other sports gear available and tons sell each year. WoW pulls in 9 figures every month.
Compare this to a console platformer. The player spends $60 and gets fifteen hours of gameplay. Kind of expensive (hence the huge aftermarket for used games), but cheaper than going out to the movies. It definitely keeps a lot of game development studios alive.
But with a long gameplay curve and a chance for play to continue for hundreds of hours, MMOs are like sports - in that players continue investing money in playing, year after year. A customer isn't a one-of-thing; you aren't selling a one-size-fits-all product. Some players pay their $60 and leave, others pay $15 a month for years. With microtransactions, some MMOs pull in over $1000 a year from certain players. That's the sort of market depth that sporting-goods retailers have: the people that really love your game can give you more than just $5 in profit! And they're paying all that extra money because they love your product; because you have an end-game, and one that's constantly being extended and improved.
Summary
WoW is the most lucrative computer game of all time. I think a lot of that has to do with the type of game it is - a fantasy MMORPG.
Stick an MMORPG in space and the opponents and environments get dull. Sure, Eve is doing well, but it's not doing 9 figures monthly. A game like Eve has, I think, a better opportunity of pulling in more revenue via microtransaction-like addons, but ... well, space is boring.
An MMO means team gameplay, inspiration from elder players, and socialization. You don't get a community for a game like Tetris.
And RPGs bring huge amounts of possible gameplay. I didn't even get into various metagames, like loot and set collections.
I think we, as game designers, can learn to make our non-FMMORPG games richer by looking at games like this, and seeing what richness we can pull from it to put into our own projects.
But it's also the most awesomest game genre ever.
A friend an I were brainstorming game ideas for the iPhone, and I spent some time after that going through a bunch of game ideas, fleshing them out, and thinking about how to make the game more appealing. At the pinnacle of game development is something like an MMORGP, which requires complex technology, precision game design, and tons of content. But more than that, there are elements to the design of WoW that place, in my mind, the fantasy MMO as the ideal genre.
I tried to think of ways to design a game that was smaller than an MMO that had many of the same benefits. In the process, I came up with a whole bunch of factors that make the fantasy MMORPG genre appealing.
Environment Variety
Games like Tetris take place in one screen. It's a skill game, like many sports and first-person-shooters, and so that doesn't matter that much - but it's just one screen. Achievement and exploration games tend to have a lot of environment variety, and it's one of the driving forces behind platformer design (as I love to mention). Give the player a new environment every 15 minutes!
A Tale in the Desert (ATITD) is an interesting game for many reasons. It's an MMO but the environment is very dry. It's 99% desert. 99% boring, flat, monochromatic fucking desert. It's a great exercise to play the game and see how one can take one environment type (hint: desert) and make landmarks and environments that feel different. Yet the exercise reminds me of the pointless toy problems and artificial domains I studied in school. It might be an interesting exercise but it has little practical value.
Take a look at WoW: every zone isn't just yet another area using the same brown and desaturated green color palette; they're very different. It's not just forest, mountain, plain. The forests are hugely varied -- from the dark, Halloween-ish Darkshore to the mystical Ashenvale Forest to diseased Felwood and Plaguelands. Feralas feels kind of generic - but I had to hunt around for an exception. Elwynn Forest is an ideal example - a larger-than-life fantasy setting. You can't mistake Grizzly Hills for any of these other areas, and Silverpine, although sharing the same kind of haunted feel as Darkshore, is obviously distinct too.
Coming up with different environments is easy; making them look good is hard. Getting the art assets is expensive. But it adds a huge amount to the game. Where ATITD is able to take "desert" and vary it, WoW does the same thing -- within each zone. But then it adds another 50 zone types! Like console platformers, there's always some neat new zone to go explore.
First-person shooters like Doom have a hard time coming up with different environments; they're all variations on the "near-future industrial/research building" theme. But put people outdoors and the variety explodes.
I guess it doesn't need to be that way. You could make an FPS that takes place all indoors and still has the variety that WoW does, but you'd have to try for it. That's kind of my point with this post - I think games are better when they have these qualities. Half Life, as fun and varied as it was, was stuck with being realistic. Which means that there's not much variation between levels. City Level 1 looks just like City Level 2. You could throw Viking Village and Alien City and Native American Pueblo in there, but it loses its believability. Fantasy games like WoW have a huge variety in environments that's enabled by the willingness to say "forget realism, we want cool environments." Like Mario platformers, WoW throws away foolish adherence to realism in the name of fun.
Tangible Environment
But zones aren't just different - they're also meaningful to humans. What's space but a bunch of rocks, stars, and the occasional planet? You can make varied star backgrounds and different-looking planets, but they feel like meaningless decoration. Earth means something to us. Running around on the ground is meaningful. Even the abstract game world of 1980s arcade games took to this: Donkey Kong takes place in a factory (and/or construction site) - it feels like a place. It's not just naked gameplay, it's a part of a world.
I was thinking of bringing up games like chess here, but then I thought: Abstract games tend to be skill games. Either your game is about the gameplay mechanisms themselves, like chess or first-person shooters or sports, or it's a game that puts the player into an avatar and says, "go play in this world!" In that case, the world itself is one of your characters and it needs to be interesting!
I think that's one of the reasons why "space" and "sci-fi" are considered niche genres for games. You can make starfields and tetris blocks look different and varied, but they don't mean anything human to us. They don't resonate with everyday experience. We can perceive the subtlest changes in human faces because that's how we evolved; give us a bunch of subtly-different alien faces and the distinctions aren't noticed. The work that you put into it is wasted. They all look the same to us.
Lesson: Familiar environments can be rich. Novel, alien environments are cool because they're new, but you can't take that very far. Because they're just new; they don't make sense to us.
Gameplay
Same games have rich gameplay, some are like slot machines. I bitched a few days ago about browser games (especially the popular Facebook games) and how they're basically slot machines. What gameplay? Click click click, win a random prize! Compared to RPGs, there's no mechanism, no learning, to strategy. Strategy makes for a richer game.
Some people have addictive personalities. Give them a slot machine and sell them rolls of tokens and you can keep them occupied and make a lot of money. I don't think you're really making those sorts of people happy; you're just feeding off of their addiction. Encouraging that addiction. I think many people hate their addictions - but they're still addicted. Intellectually, they want to quit smoking, stop gambling, but they feel compelled.
To me the more interesting challenge, and the more rewarding pursuit, is making compelling games, not compelling slot machines.
If you want rich gameplay, WoW has it. The core gameplay element is combat but each class has its own take on it, and that take changes as the character levels up and specializes. The addition of mechanics like fleeing, rooting, rage, and combos add to MMORPG staples like aggro, pets, and mana burn. I'm not sure if there's any novel mechanic in WoW (one could take the Lorite approach here) but it does have the kitchen sink. Action games - including platformers - work with a far smaller set of gameplay mechanics. An MMO means hundreds (or thousands) of hours of gameplay, and that means an extremely rich set of mechanics.
Opponent Complexity
One of the things that started me thinking about this post was, how can I make a crafting-based MMO like ATITD? Crafting in WoW is "click a button and wait 20 seconds," but ATITD and Puzzle Pirates are two games that turn "crafting" into much more.
But there's no "opponent" in these games. The combat mechanism of RPGs is rich not just because of the variety of options that the player has, but because you pit those mechanisms against a parallel set - everything that the enemy can do. WoW players have to worry about enemy casters, archers, and fighters; melee opponents with quick attacks (hard to cast long spells!) and those with big, slow attacks; abilities like fleeing and calling for help; healers and high-DPS dudes. Multiple opponents. Not knowing what "class" an opponent is until you're in combat.
How do you make a crafting game like that? WoW combat isn't just a minigame - it's huge. And part of that is that it's set up like a competition; it's not just X choices versus a random-number-generator; it's your X against his X. This is definitely something I'd like to explore more, but for now I just want to throw out there:
- Whereas most games have X options, RPGs are X squared.
Not only does your opponent have a range of actions he can choose, but he also has personality. Who here hates murlocs? Raise your hands!
There's casters and healers, crocs and raptors, those pesky crocolisks and the goofy owlbeasts. Evil trolls and neutral zhevras that will be happy to ignore you if you ignore them. They each have their own attacks, idle animations, and deaths. It's not "simple combat opponents 1 through 47", they have shapes & sounds & animations. They have personality.
How can you do that with, say, a blacksmithing minigame?
Many other game genres do have opponents with personality, though. Action games from platformers to first-person shooters give you different opponents. Even shoot-em-ups like Galaga give you varied opponents. So this trait - opponent personality - isn't exclusive to Fantasy MMORPGs, but it is one thing that makes it a richer game genre.
Solo & Group Gameplay
I think good browser games are team games. Travian, for example, has a good bit of solo gameplay, but it's really a team game, and I think it's all the richer for that.
Skill games have both. One typically works on their own skills but measures themself against other players, either playing directly against other players or in parallel with them. FPS games tend to be against human or human-like opponents, including team variants like Counter Strike and Rainbow Six. I think those team variants are the richest.
And that's one thing that makes Fantasy MMORPGs a great genre - solo gameplay, so players can play whenever they want, but also rich, team-based objectives that they pursue with their friends.
Inspiration
I talked about inspiration a few days ago. Many games have it, and I think it's an important component. MMOs, though, have a great built-in mechanism for adding it. They don't all do a good job of it, but the opportunity is there; a low-hanging fruit.
Open End-Game
I've talked about how good games are entertainment that's powerful enough that players are willing to pay for it. I think there's a 1:1 correlation between profit and fun. (Addiction games would be an exception to this rule.)
Open-ended games are a huge profit center. Once you get a player to try your game, you can continue drawing revenue from them for years. Any game or sport that players enjoy going back to means a huge potential revenue stream. There's tons of tennis racquets, climbing shoes, skis, and other sports gear available and tons sell each year. WoW pulls in 9 figures every month.
Compare this to a console platformer. The player spends $60 and gets fifteen hours of gameplay. Kind of expensive (hence the huge aftermarket for used games), but cheaper than going out to the movies. It definitely keeps a lot of game development studios alive.
But with a long gameplay curve and a chance for play to continue for hundreds of hours, MMOs are like sports - in that players continue investing money in playing, year after year. A customer isn't a one-of-thing; you aren't selling a one-size-fits-all product. Some players pay their $60 and leave, others pay $15 a month for years. With microtransactions, some MMOs pull in over $1000 a year from certain players. That's the sort of market depth that sporting-goods retailers have: the people that really love your game can give you more than just $5 in profit! And they're paying all that extra money because they love your product; because you have an end-game, and one that's constantly being extended and improved.
Summary
WoW is the most lucrative computer game of all time. I think a lot of that has to do with the type of game it is - a fantasy MMORPG.
Stick an MMORPG in space and the opponents and environments get dull. Sure, Eve is doing well, but it's not doing 9 figures monthly. A game like Eve has, I think, a better opportunity of pulling in more revenue via microtransaction-like addons, but ... well, space is boring.
An MMO means team gameplay, inspiration from elder players, and socialization. You don't get a community for a game like Tetris.
And RPGs bring huge amounts of possible gameplay. I didn't even get into various metagames, like loot and set collections.
I think we, as game designers, can learn to make our non-FMMORPG games richer by looking at games like this, and seeing what richness we can pull from it to put into our own projects.
Labels:
game design,
WoW
Friday, June 4, 2010
The Purpose of Games
What's the point of any game? Entertainment. We do it because it's fun and/or rewarding. I've talked about happiness as the achievement of value - that's reward. In that same point, I talked about fun.
Purpose
But what's the point? What's the purpose of games? What does it all mean?
Nothing. There is no point. Games are entertainment. You can play with friends and enjoy socializing, make new friends, that kind of stuff -- but games are an end in themselves. They're entertainment; that's what entertainment means.
Even sports are just entertainment.Will a high free-throw percentage help you avoid car accidents? Pay for your kids' college education? They can improve fitness, but a half hour in the gym with a high-intensity or Tabeta-protocol workout will have the same effect. Sports are entertainment, too.
What's the purpose of life?
Is it to knock some chick up then spend your days slaving away to feed her and the kids, make sure the kid doesn't die before you kick him out of the house and go back to what you were doing (and enjoying) before the kid came along? Is your purpose to produce more and more humans until the planet can't support them any longer? (Never mind the argument that it can't support us now.) Is your entire purpose in life to invent for yourself a purpose and then proclaim to your neighbors how totally awesome you are for inventing that purpose? Are you here merely to serve as a guardian and provider for others, a slave to their whims and desires? Does it matter that you're genetically related to them? If so, are you saying that adoption and orphanages are evil? If not, does it matter if you were the one that knocked up the chick or if it was the UPS guy?
Or are kids fun and rewarding? In which case, you knocked up that chick because it was fun not because you had a grand purpose in mind.
Is your purpose "to make the world a better place"? For whom? Your neighbors? People with the same skin color? People born in your state? What arbitrary subgroup of humans are you 'obligated' to provide for? Are you just saying that because you want to believe that you have a purpose and haven't discovered any of the arguments that suggest that you should find your own purpose?
The easy answer is "all of the above." That's a cop-out. That's saying that you don't want to choose a purpose; you'd rather just stumble into one.
Games
Oh, right. Games. I was talking about games.
Games are entertainment. We play them because they're fun and rewarding. Good games are fun and rewarding. Bad games aren't fun or rewarding.
Bad games are like work. They make you do stuff you don't want to do - like set your alarm for the middle of the night so that you can help your team defeat an enemy. If you don't buy into the goal at the end, then the whole process loses meaning.
Many games (and sports) are fun because we learn a skill; we get better at the game. Many people like that learning process. Others like it when the other guy loses; some like it when their performance gets better.
Some of the most fun I had playing first-person shooters was playing a heads-up competition against a guy that was way better than me. I was losing but I was learning. I could see myself every day getting better. That was a real rush. Some people can't stand losing; their goal is to win. They don't want to get better, they don't want to be a good player - they just want to win.
This comes from ego. How do you define yourself? Is it important to you that other people say that you are right? Or would you rather be right? Many times, people that feel that they are without power in their lives, without control over their own lives, seek an outlet where they can exert power and control over others. Some of those people become abusive cops or angry security guards; the rest cheat in online games to crush their enemies. They don't want to be good, they don't want to win - they want to crush.
Where does the desire for power and control come from? I'd posit it comes from having an imbalanced life. Many people have imbalanced lives. American high school seems to be the epitome; hence all the teenage ratfucks in online games that want nothing more than to crush their opponents.
The rest of us grow up, find balance, and look for games that are fun and rewarding. We try to get better at games, look for opportunities to learn, and judge our mastery by how often we do win.
But Maybe...
It could be that the purpose of your life is only to serve as a warning to others.
Purpose
But what's the point? What's the purpose of games? What does it all mean?
Nothing. There is no point. Games are entertainment. You can play with friends and enjoy socializing, make new friends, that kind of stuff -- but games are an end in themselves. They're entertainment; that's what entertainment means.
Even sports are just entertainment.Will a high free-throw percentage help you avoid car accidents? Pay for your kids' college education? They can improve fitness, but a half hour in the gym with a high-intensity or Tabeta-protocol workout will have the same effect. Sports are entertainment, too.
What's the purpose of life?
Is it to knock some chick up then spend your days slaving away to feed her and the kids, make sure the kid doesn't die before you kick him out of the house and go back to what you were doing (and enjoying) before the kid came along? Is your purpose to produce more and more humans until the planet can't support them any longer? (Never mind the argument that it can't support us now.) Is your entire purpose in life to invent for yourself a purpose and then proclaim to your neighbors how totally awesome you are for inventing that purpose? Are you here merely to serve as a guardian and provider for others, a slave to their whims and desires? Does it matter that you're genetically related to them? If so, are you saying that adoption and orphanages are evil? If not, does it matter if you were the one that knocked up the chick or if it was the UPS guy?
Or are kids fun and rewarding? In which case, you knocked up that chick because it was fun not because you had a grand purpose in mind.
Is your purpose "to make the world a better place"? For whom? Your neighbors? People with the same skin color? People born in your state? What arbitrary subgroup of humans are you 'obligated' to provide for? Are you just saying that because you want to believe that you have a purpose and haven't discovered any of the arguments that suggest that you should find your own purpose?
The easy answer is "all of the above." That's a cop-out. That's saying that you don't want to choose a purpose; you'd rather just stumble into one.
Games
Oh, right. Games. I was talking about games.
Games are entertainment. We play them because they're fun and rewarding. Good games are fun and rewarding. Bad games aren't fun or rewarding.
Bad games are like work. They make you do stuff you don't want to do - like set your alarm for the middle of the night so that you can help your team defeat an enemy. If you don't buy into the goal at the end, then the whole process loses meaning.
Many games (and sports) are fun because we learn a skill; we get better at the game. Many people like that learning process. Others like it when the other guy loses; some like it when their performance gets better.
Some of the most fun I had playing first-person shooters was playing a heads-up competition against a guy that was way better than me. I was losing but I was learning. I could see myself every day getting better. That was a real rush. Some people can't stand losing; their goal is to win. They don't want to get better, they don't want to be a good player - they just want to win.
This comes from ego. How do you define yourself? Is it important to you that other people say that you are right? Or would you rather be right? Many times, people that feel that they are without power in their lives, without control over their own lives, seek an outlet where they can exert power and control over others. Some of those people become abusive cops or angry security guards; the rest cheat in online games to crush their enemies. They don't want to be good, they don't want to win - they want to crush.
Where does the desire for power and control come from? I'd posit it comes from having an imbalanced life. Many people have imbalanced lives. American high school seems to be the epitome; hence all the teenage ratfucks in online games that want nothing more than to crush their opponents.
The rest of us grow up, find balance, and look for games that are fun and rewarding. We try to get better at games, look for opportunities to learn, and judge our mastery by how often we do win.
But Maybe...
It could be that the purpose of your life is only to serve as a warning to others.
Subscribe to:
Posts (Atom)