2010-01-25

Operation Survival - design guidelines

One of my goals for Operation Survival is to make the barriers to entry as low as possible. This means a couple of things:

  • The user shouldn't be required to install anything, the game should just run.
  • There should be no platform or operating system requirements. In an ideal world it'll run on any device including PCs, smart-phones, consoles, eBooks, TVs and microwave ovens.
  • There shouldn't be any user interface surprises. My grandma's poodle should be able to pick it up and play.
  • The setting and genre should be somewhat familiar from other fiction. Originality is great and all, but I don't want to require the player to learn the inner logic of a wholly unfamiliar universe. I'd much rather take the real world and twist that in subtle ways. I think the cliche alien UFO conspiracy theories offer plenty of fertile ground for that.
  • Sign up and payment options should be as transparent as possible. There should be an easy transition from interested visitors, just wanting to grasp what the game is all about to fully invested hardcore players spending their life in the game world.
  • The game should be fully localized, no need to communicate in broken school English.
  • There should be an easy and obvious way to get support and provide feedback at every point during the game.
  • It should be easy for players to bond and build communities. Every effort should be made to create a newbie friendly, non-hostile environment.
  • ... I have probably forgotten quite a few more.

With such an ambitious set of goals it is obviously impossible to fulfill them all equally well. There will always be trade-offs and compromises and lots of the issues are a matter of personal opinion to begin with. Nevertheless, I think it's a good idea to state some guiding principles when fleshing out the design further, so that's what I'm trying to do here.

Considering all of the above and the fact that the underlying game design is fundamentally multiplayer I believe a browser based solution is the only way to go. Browsers are ubiquitous, the back button and links the universal user interface primitives everyone on the planet understands by now. Browsers run everywhere. Everyone that uses one is already connected to the Internet and thus able to play multiplayer. Browsers shoulder the burden of guaranteeing security. Everything that runs in a browser window is assumed to be safe while downloads are seen with skepticism by even the most naive of users.

So a browser game it is.

I'll post my thoughts on the other points soon. In the meantime: What do you think about those axioms? Anything missing? How would you weight the priorities?

2010-01-24

Operation Survival - humanity's last stand

I have a pet game idea and design lingering at the back of my head for close to 15 years now (I'm getting old I suppose). That idea was the reason for developing BlackFish, an isometric 3D engine. Back in the days we used C++ and DirectX7. Anyways, I still like the concept very much and nobody has produced the game in the meantime. So I have decided to give it another go.

If you know the old UFO XCOM series by the Gollup brothers you have a pretty good idea of what I'm aiming for. The game is a perfect blend of a base building, resource management and turn based tactical combat simulator. The premise is that the earth is under attack by aliens invading with small fleets of UFOs, performing various reconnaissance, raid or research missions - conducting nasty experiments with cows and such alien stuff ;-) The back story is not entirely original but very well done and plays expertly with real world conspiracy theories and ufology.

The game is roughly divided into three major parts:

The geoscape, a view of the whole world, floating in space like the vulnerable blue marble that she is. You choose where to build your bases in this view which affects which countries will pay you for protecting them. You also coordinate UFO intercept missions by launching your fighters after them. This part plays in real-time.

The battlescape, a 3D isometric view of tactical combat missions. After a UFO has been shot down or landed you send in your ground troops to clean up the place. The action is turn based and you coordinate up to around a dozen soldiers to find the surviving aliens and either stun and take them hostage or simply kill them. The missions are usually set in some idyllic small town with the UFO crashed in a corn field nearby. There is a strong role playing component as all your soldiers have names and individual abilities and stats.

The last part are the various resource management screens available from the geoscape view. You build out your bases with better radars, more research laboratories, better alien containment facilities, ground-to-air rocket defenses, living quarters for your soldiers and similar buildings. You also coordinate researching the found alien artifacts and interrogating kidnapped aliens. Once you understood parts of the technology you can start using and building it yourself.

In my eyes even to this day this is the greatest game ever made. The atmosphere it managed to create was just phenomenal. The genre blend worked perfectly and didn't feel tacked on or misplaced as is often the case with similar experiments. The scale was nailed wonderfully by contrasting the whole globe view with the handful of soldiers combat missions. You really felt responsible for the earth as a whole and bled with individual soldiers at the same time.

I'd like to update the original concept a bit because I believe it would make a perfect online multiplayer game. I imagine a continuously running, real time geoscape with hundreds of players. Every one manages a single base and flies intercept missions from that base. This would be a "massively" multiplayer part and allow for global events like coordinated alien attack waves which have to be fended off. The game would run in a browser and allow for very casual play sessions (during work ;-) ). You log in, play through some short aerial UFO dog fights, give some research and construction orders and log out again. Base building and research works as in most text based browser games which use real time as a resource (i.e. constructing a new laboratory takes 3 days). When you have the leisure for a longer play session you sit down to play a tactical mission. These would be turn based as in the original with some crucial changes. Most importantly they'd be multiplayer. The player who shot down the UFO "owns" it. He sends out his ground troops and may invite additional players to join him in combat. Once all players have joined the mission starts and lasts between half an hour to several hours. There is no load/save, death is permanent. This calls for careful balancing and ways to rescue dying soldiers as long as you still have some men standing but I hope to make the player really sweat for his men. There is a global ranking system with military ranks from private to general and you'll have to balance risking your top men in missions vs being overtaken by other players.

I think this design will fix lots of current multiplayer game offering shortcomings and make them work to its advantage. One is the investment of time. Current games are either very casual without any persistent state except for the high score (think connect-three flash mini games), require massive investments of time (world of warcraft) or don't allow you to invest more time when you actually want to because you have to wait around for the next event (text based browser game with real time resources like OGame). Operation survival tries to work on all of these time scales, adapting to and respecting the players busy life. Another point that really bugs me is the competitive nature of most multiplayer games. Often the player who invested the most time (grinded the most) automatically wins. Skill is a secondary issue, if at all. This leads to strong players totally dominating and exploiting new comers (farming n00bs). This again leads to lots of bad blood and grieving players and creates a high barrier to entry. Existing player protect their investment and actively discourage newbies. Operation survival has no means of direct player vs player offensive actions. All players pursue the common goal of protecting the earth. The only competitive aspect is in the various rankings and ladders. You want to be the one having the general, produce the most research, own the most resources, shoot down the most UFOs etc.

While lots of this may sound very derivative of the original UFO (and it should!) I do have lots of detailed ideas to make this work as a multiplayer game. More in the coming months...

This is a very ambitious project and will probably never see the light of day. However, it's fun aiming for the stars and working on it. My hope is that it'll eventually pick up momentum and I'll find supporters. After all, the original game was a labor of love of two guys as well. Maybe technology and productivity advances made since then allow the updated design to be realized by a small team as well? Today's expectations for browser game visuals and production values are around the level of the original UFO I'd say.

Dream big.

2010-01-16

Book review: ActionScript for Multiplayer Games and Virtual Worlds

This book is a huge disappointment. Despite the trendy topic and the promising title it completely fails to deliver. The crucial hint is the fact that the author is a founder of Electrotank. Because of that the book has become a thinly disguised advertisement for Electrotank's server product. Nowhere in the title or on the cover flap does it hint that all examples, text and code are basically useless without the commercial Electroserver. It would have been fair to distribute the book's content as free sample programs and tutorials with the server instead of selling it as a fully priced stand alone product. The way it stands it feels like a shameless rip-off.

There are lots of major shortcomings with the content. Despite dealing with network games there is basically no treatment whatsoever of networking protocols, encryption or compression schemes, redundancy or other such "minor details" that make networking code a hard problem. Instead it is assumed that all of these things are magically dealt with by the server product. In the same vain there isn't a single example of actual server code! There is a passing mention that you'll need to write plugins to handle the server side of things but you are only presented with half the game. Now to be fair the book is about ActionScript and you don't usually write the server parts in that language, but since the server is a non trivial part of any multiplayer game it would have been fair to spend a few words on that.

The chapter on security does mention many of the important topics that plague online developers. However, it stops well short of actually offering solutions to these issues. The advice can basically be summed up as "don't trust the client!". Cross site scripting, packet injection, SQL injection, hacking the client's memory and data encryption are all mentioned in small half paragraph passages. While the problems are well stated they can at best serve as entry points for google searches and in themselves offer very little actionable advice.

Many of the code examples in the book are worthless because they show long lists of member variable assignments. I knew how to do that, thank you. The interesting part is not how to assign _x = 12; The interesting part is how that object actually synchronizes itself with the server and other clients. An apparently unimportant detail that gets skimped over because Electroserver will magically solve that for you. Similarly, some code examples which are actually useful miss the topic of the book. A* pathfinding or rendering an isometric view, while well presented, have little to do with multiplayer.

Last but not least there are the factual errors. Things like a set of equations, which, when you actually solve them, present results such as "server time = server time + offset". Huh? Or errors in diagrams where a bar chart is shown and a line supposedly marking the median (not mean, mind you) which doesn't fit any of the values.

While it is clear that the author is knowledgeable on the topic and brings a lot of experience the resulting book is unfortunately quite shallow and superficial. It also seems as if the author deals with games in quantity, not quality. This is understandable, considering he's in the business of selling a back end product and that lots of low quality games is where the flash game industry as a whole is currently at, but it's nevertheless lamentable. I personally would have hoped for someone who lives, breathes and loves games and doesn't treat them as a commodity.