Recently I've been spending a lot of time playing the quite excellent Game Dev Story on the iPhone. If you haven't played it, then I recommend checking it out; refreshingly it's got more depth than your average iPhone game and has such a nice flow that you'll find yourself constantly creating "just one more game". As a bit of a design exercise, I was trying to think how I'd go about bringing this type of game to Facebook – it practically has all of the necessary elements, and it's addictive enough on its own merits to bring users back to your app.
What is Game Dev Story?
For the uninitated, Game Dev Story has you managing a startup games company. You hire all different types of employees and set them the task of creating a multi-million selling game (although at the start, even breaking 100k units feels hard won).
To create a game, you first choose the platform – all platforms have a development fee plus license negiotations for the different consoles that appear; then the game genre – you unlock more as your employees gain levels; then the game type – you unlock more as you engage in different types of training for your workers; and finally how you want to approach development – normal, an emphasis on quality, on research etc.
After that, you can assign a direction from a number of different categories, such as game world, polish, approachability etc. Your genre, type, and direction greatly affect how the public is going to take your game, as well as your team's motivation.
Aside from the normal development, there are three stages where you can greatly increase the concept, the art, and the sound. For each of these, you choose the appropriate team member, or outsource it as needed. Choose the same guy repeatedly and they become jaded and start phoning in crappy work.
As your game is developing, you can spend money on advertising, training for your team, and if you have enough research, boosts. Boosts focus on a particular area of the game, and give it extra points depending on who you select to use it. Using boosts at the right time can mean the difference between a good game and a great one.
When your game is released, it's judged by the critics – get a high enough score and you get into the Hall of Fame, which lets you make sequels – and you finally get to watch the fruit of your labours perform.
There are other features to the game, including the annual game awards and the ability to create your own console in the later game, but that's the gist of it.
Designing for Facebook
As I said before, I think the game would work quite well on Facebook – it's got all the necessary parts to fit into the social, RPG, open-ended experience that is Facebook gaming. So where to start?
This one is a no-brainer. You're provided a space of your own that you can decorate with different items and furniture with the money you make selling games. Specific areas are set aside for trophies (see Game awards), and there's a wall showing all the games you've made (see Releasing games).
The emphasis on your office is to make a pretty cool place to work. The cooler your office, the better your employees work and the more chance of them getting inspired (read big boost for your game). Each item that we sell in the store has a trade-off between being functional (more work, less fun), inspirational (more fun, less work), or just eye-candy.
It should be possible to build nearly anything. Some of the Minecraft videos, and the bale pixel art of Farmville show that, given simple tools and free reign, your users can really imprint their personality onto the game space, which in turn helps drive affinity with the game.
Again, easy enough. Much like other games, you employ your friends in the different roles needed. Where I would take it further would be to make each person's choice affect everyone else.
Say, if everybody choses Ignatius as their artist (perhaps based on the fact that they know him to be artistic), then in everybody's game, Ignatius has quite good stats if he's put in an artists role. The more people that choose Ignatius in the role, the more he's reinforced as an artist. When you train Ignatius in your company, everybody receives the boost – this would obviously need tweaking when it comes to applying their skill to a game in question, but still.
To take this one step futher; if everyone chooses Ignatius as an artist, that means that a lot of people think highly of him in that regard. Much like Friends For Sale, this would then directly affect Ignatius' worth, should you choose to hire him as your artist. In this way, people being hired for the first time by someone come in as fresh meat, while others that are hired already by a number of people are more "experienced" and thus command a higher wage. Perhaps the people that gave Ignatius his first big break as an artist could reap some sort of reward if he keeps getting chosen – sort of like a "thanks for believing in me and providing my training".
Game Genres & Types
This I would keep roughly the same as the iPhone version; you unlock genres and types based on the experience of your workers – if you hire an experienced friend, perhaps they bring with them the genres and types that you don't already have. I'd add in the ability to directly buy them, for obvious reasons.
As with Game Dev Story, the public acceptance and success of your game is directly tied to the genre and type you pick, so this would encourage real life sharing of the most successful combinations. I would, however, make each user's game sales relevant to their friends (see Releasing games), so if everybody keeps releasing Ninja Pop Star, eventually the market would become bored and you would face a backlash. This would mean that people would be continually searching for a good combination as the first to find it stands to make the most.
For the direction points that you can assign the game, these would be accumulated through direct play. The longer you stay with the game, the more points you have to dispense. Unless you want to buy them of course :D
Development of games would obviously have to be drawn out as the average time for a game in Game Dev Story is only a few minutes. Perhaps a game would take around a week to make from start to finish, and instead of developing the game in twenty minutes, the different tasks are split up into their respective components – a task of five minutes would be to generate character designs; something like that. Each employee can be given their own task split into the common time segments in most Facebook games (five minutes to two days).
In the spirit of giving the user more control, perhaps we could let them decide how long it takes to develop their game – i.e. there's no hard and fast "one week" rule (with limitations). The more time you spend developing your game, the more "polished" it becomes (with a dimishing curve). The key here is to maximise development time without getting stuck behind releasing the same type of game after your friend (and suffering lower sales).
If you're running low on cash, then you can also set yourself up as an outsourcing firm for your friends. With this you take on jobs that your friends put up on the market (perhaps we could have some sort of bidding angle), and they pay you to finish a feature. There's no reason to restrict this to just your friends – why not have a global outsourcing market?
One of the features in Game Dev Story is that from time to time, one of your workers will approach you with a request to improve the graphics/fun/sound/whatever of the game. The success of the venture is related to how much research you put into the attempt, yet it's still not assured. For the Facebook version, I'd let the user visit the studios where they work – i.e. where their friends have hired them. Here, they can propose the same thing. Success means a benefit for their friend and themselves (in the form of a bonus or more research or something), failure means bugs and perhaps a lower rating – although the benefits would significantly outweigh the punishments to entice users to do this. Doing this for your friend would take up energy, so you'd only be able to do it once/twice a day, in which case you'll do it only for your close friends (we could map this relationship and have fun with it later).
First of all I would tie release dates in the real world calendar. Releasing in the run up to Christmas gives more sales than other times of the year. In the interests of always having peaks every week or two, these "holidays" can be extended around the year: easter, summer sales, etc.
Secondly, you and your friends are competing on the same "market". If your friend releases a War Shooter and you do too, your sales will canabalise each other. It would take into account who releases first (you don't want to release into a saturated market), whose game is better (release first vs. release a more polished product), market awareness (advertising that you can buy – basic free models as well as more effective premium advertising), brand awareness (Hall of Fame games get to make sequels) and even public voting (your friends liking your game or something to that effect).
To combat this and remain friendly with each other, you need information on what your friend's company is going to release so you don't clash with each other. This can be done with straight up talking (it is a social game after all), but I quite like the idea of bribing yourself for information. Basically if you work for your friends company you can try and "bribe" yourself to win your own loyalties and become a sort of in-house spy :D
Of course, Facebook games are very much about self expression and I see no better way of doing that than letting users design their own game covers. By providing a variety of different base images and stamps, we can let the user add, position, scale and generally create their own custom image (see the emblem maker for Call of Duty: Black Ops to get a rough idea of what I'm talking about). We can save this image and let them post it to their profile. We can also provide "premium" stamps or templates, as essentially, your game covers are your avatars in this game.
Publishing and releasing consoles
One of the constant criticisms levelled at Facebook games is the lack of social interaction in what's meant to be a social game. Friends turn out to be like commodities ("you need 10 friends to unlock this thing") rather than actual meaningful links in the game. Here's where I'd work in the publishing and console angle.
In order to create a console, you need to have a large enough company – i.e. be a publisher, not just a developer. To be a publisher, you merge your game company with those of your friends. This gives you all stock in the newly formed publisher (perhaps biased based on the worth of the companies). You use this stock to cast your vote when it comes to the direction your publisher takes (you can continue to work as a developer during this). To be successful as a publisher, therefore, you need to communicate with each other. For all of the publisher decisions, such as signing new developers (your friends), all voting parties must agree to a majority decision. As anyone knows, the best way to create engagement in an online game is to create drama and excitement, and the best way to do that is to let the users come up with it themselves. Throw some contentious issues at the newly formed publisher and let the natural personalities of the people involved come to the fore.
As a publisher, you can release a console. Once you get agreement on the direction and features of this console, you can start development on it. Each user will use their company (they can also outsource tasks to their friends) to aid the development of the new console. When it's created, it's potential audience is directly related to the number of friends of the publisher (there might need to be some tweaking here in relation to friends of friends, or people having different sets of friends, but still).
Once your console is out, you can set the contract negiotation price (the price it costs to gain access to the "SDK" of your console) as well as the development fee (levied on each game made for it). The friends of the publisher can now develop for your console (as well as other, AI, companies). You can choose to feature them for an added boost in their sales (and your cut of them), as well as grow the audience for it (through advertising etc.).
We might need to add a disclaimer in here that a user can't develop for a console that they're involved in as a publisher in order to foster the inter-friend relationships (why develop for your friends console when you can develop for your own?). Perhaps the bonuses involved could swing more towards the behaviour we want to encourage.
As a final caveat, if a friend decides to stop playing the game, we don't want to leave potential publisher partners hanging. In that case, if there's an extended bout of inactivity, the other shareholders can call a "vote of no confidence" and if there's still no answer, proceed to buy out the shares. Again, for this, real-life interaction is encouraged as you'll know if your friend stops playing the game. Perhaps you can call a no confidence vote for shits and giggles to try and stage a coup for control of the publisher :D
At the end of every year in Game Dev Story you have the Global Game Awards. Here, you can win awards for best design, sound, art etc., including the coveted Game of the Year. While a year is way too long in Facebook terms, you could have a Game Awards every month. The games that you've made in that time can be put up for the award. To enter though, you have to vote for another game – you're never allowed to vote for something that you developed. Winners can get a nice big sticker for their game cover plus a trophy that they can stick in their cabinet for display.
When you enter the Game Awards, the competition is between you and your friends. This obviously means that your friends could have people voting for their game that you don't know, but I'm sure it'll all work out ;)
As a final bonus, one award (amongst all users of the application) is given out to the game with the best stats. Everybody gets a notification of who won, and the winner gets a kick ass, severly limited (for there'll only be 12 issued in a year), statue for their office.
Game Dev Story would make quite a good Facebook game. It's open-ended and RPG-based enough that the transition to Facebook would be more a redesigning of the elements to make them more social. There's probably loads more that you could do with the idea – just setting it in a "game making" world gives you free reign for almost anything. These were just a few of the ideas that were bouncing around in my head for the last few days.