Archive for July 2011

In-game Tutorial?

This subject popped into my head when I was thinking about what would need to be done in my (somewhat) hypothetical spy genre MMO that I’ve been fiddling around with the past couple of week.

When the player starts the game for the first time, their character has just joined the agency they picked and has entered that agency’s training facility. While this training is meant to get the player used to the gameplay as far as the types of missions, how the combat system works, how inventory and skills work, etc.

The question is, however, how much hand holding should the game do for the player? Are MMO players these days savvy enough to just be dumped into the game and expected to survive?

There are a couple of layers that I can think of (in no particular order):

  • A Help screen that labels the UI and provide screenshots of combat and other gameplay with tips on how to do things.
  • Specific missions that stop at points and say “Now do this” with arrows pointing to what needs to be interacted with to do “this”.
  • Tooltip type guides that pop up as the player is playing with an option to stop showing them.

The first bullet would probably be good to have no matter what. While I’d love to do both of the other bullets, the cost (time and effort) to benefit ratio may mean that I’ll have to let the player fumble through with just the first bullet to rely on.

I guess this is what playtest is for though. If I get to the point where I can let someone try the game out and they can’t figure out what to do I may have to revisit this. That means that I’ll have to try to ensure the game is designed to plug something like this in later.

Fun times. 🙂

Decisions… Decisions… Decided

Wow, several days without a post. I can’t start slacking now!

I think I’ve come to a decision about developing the spy game, at least for the initial proof-of-concept. I’m going with XNA and a minimal graphic set. I’m talking programmer art that makes programmer art look good here since I’m highly graphically challenged and I’m not about to put out money for something like this. If everything pans out I’ll move to Hero Cloud and pay someone for content.

I’ve actually been fiddling around with some things. I’ve got a solution started already and some bits working:


Probably not the best way to organize things, but for the “let’s see how this works” type project I can probably get away with it. I’ll probably separate out the tools from the game from the server at some point.

So I’ve got a basic server project that is just a plain Windows Forms project with a textbox and a couple of buttons:


it’s basically just the server code from the XNA Game sample in Lidgren dropped into a WinForms project. I didn’t mention that I was using Lidgren for the networking code, did I. I guess I did now. It’s probably the best codebase out there for a PC XNA project, since you can’t use the Live networking piece in XNA when doing a PC game.

I threw together a quick SQL Server database for holding some of the data that’s going to be needed. At this point it’s just a couple of tables that holds game version info for the patcher application and a Users table for validating logins.

I’ll be adding some tables for holding basic players’ character information to allow the player to select the character in the character selection screen. This won’t be like most MMOs where the player can have several characters going at once, but since we need to maintain historical information for players the one-to-many player-to-character links have to be done and it’s nice to show the player what the character’s current status is before just dumping him into the game.

On the client side I have some basic screens – splash screen, login screen, the aforementioned character selection screen, and the main game screen. I’m using the Gamestate Management Sample of course.

Once the character selection screen is finished, I’ll need to do some work on the game library and tools. That’ll probably take a couple of days and it’s the most fun type game code to write but it’s vital.

I’ve an idea for another post that should come quickly after this so be prepared! 🙂

Bad Guys Don’t Play Nice

This post goes along with the previous post on combat. Besides being short and sweet (or not so sweet if you get yourself killed) when thinking about combat it needs to be remembered that bad guys aren’t going to fight fair. Unlike MMOs today where the mobs will just stand there and trade blows with you, “real” bad guys don’t want to do that. They’ll set up ambushes, traps, run away if the fight goes sour on them, etc. Players will need to change the way they think about taking on the bad guys if they want to come out on top, let alive just survive.

Any time a player has to enter into hostile territory, he needs to start thinking about several things:

  • What in the immediate area can kill me?
  • What in the immediate area can hide things that can kill me?
  • What in the immediate area can let the bad guy know I’m here?
  • Is the immediate area even the best way to go?
    The last is something that needs to be considered by the area designer. The bad guy is almost never going to want a direct route that leads to him that’s easily discoverable by players. This is part of why mission planning is going to be important. If the player doesn’t know how to find the bad guy, he shouldn’t just be able to follow a path to him.
    The first 3 are also things that need to be considered by area designers, but in a different way. Even if the area the player is in doesn’t lead to the bad guy, it needs to appear that it might and thus, needs to have things that are hazardous to the player, although not overwhelmingly so. Thinking like a bad guy means that the stuff the designer puts into or near an area of the bad guy’s lair costs money and bad guys are probably going to be cheap about what he leaves lying around, unless the bad guy is a multi-millionaire, which shouldn’t be common, obviously.
    What kind of cheap but deadly things might players encounters in an area? Things like mines, pits, things that a character might touch that are electrified, trip wires that release gases, etc. are all usually staples in a bad guy’s arsenal, though they’re also all pretty cliché. Still, some of the usual suspects should be used to satisfy the player’s expectation.
    The area designer is also going to have to consider how players might be able to escape or evade these things in order to keep things fun for the player. A trap that is unavoidable that kills the character 99% of the time isn’t going to be fun and if the game isn’t fun the player will not continue to play. Typical building architectural pieces like ventilation shafts, fire escapes, rear entrances, and roof accesses are all things that should be options to be considered when designing the area a bad guys makes his HQ in. Most bad guys in the game are going to use regular buildings as their lairs so these things should be present, although possibly booby-trapped in keeping with the thinking above.
    Depending on the bad guy, he also might not want to kill agents that come knocking at his door, so traps may be non-lethal. Not only does this give the player a better chance of making it to the bad guy it also means the designer has to plan for what happens if the traps incapacitates the character. Is there a part of the lair that can be used as a holding cell? How thorough are the minions of the bad guy going to be in making sure the character doesn’t have anything on him that will allow him to escape? How escapable is the holding cell going to be (again, it might just be an office in the building the bad guy has holed up in)? Is the bad guy going to want to interrogate the character and, if so, how is this going to play out in the game?

Ultimately, building a world that is both fun and exciting for the player for several years of game playing time and one that is also not just another standard MMO is going to be challenging. I think it’s something that has to be done though, to bring some freshness back to the genre and pull in players like myself that have given up on MMOs that devolve into grindfests and new players that are looking for something different.

To MMO Or To Not MMO, That Is The Question

In thinking about how player interaction is going to work in the spy game, I started thinking about player interaction in the genre in general. How many MMOs really need the first “M”? From my experience, not many. What use is it really to have a couple thousand players running around in the same world if they don’t interaction and their actions don’t affect the world for other players? More often than not, having that many players running around in the same world is a hindrance for players when you have to deal with issues like spawn camping.

Is it just to make things easier for developers? I know the more players the game has the more money developers make, but can’t you get the same number of players in the game in a way that makes things better and more interesting for the players? I think so.

There’s a couple of things that could be done:

  • Make the game so that player actions affect the world in a meaningful way.
  • Make the game so that there are fewer players in each instance of the world, but more instances.
  • Allow players to jump in and out of instances as needed (for example player in U.S. city HQ instance doing a mission that takes the character to a European city instance).

Doing option two doesn’t mean that option one can’t be done as well. Ideally the world would be affected by players no matter which way you went.

I’m trying to think of how a game would be less attractive to players if the world didn’t have a thousand or so players running around in it. I can’t really think of a down-side assuming you let things like auctions and such still be done. That doesn’t require the actual character’s presence in the world. Of course, this assumes the game doesn’t have missions that require hundreds of characters to take part in it. I know there are dungeon raids in MMOs these days that require a large number of players, but I think that’s a design decision that doesn’t need to be done to make the game fun and exciting.

I know I’m probably missing something in my scattered thoughts on this subject so I’d appreciate hearing some other viewpoints. As always, I’ll be posting links to this post in the GP Wiki and App Hub forums:

An option for indie MMO development

I’d forgotten about this, but wanted to mention it quickly. A version of Hero Engine has come out that makes development of an MMO for indies very accessible. Hero Cloud trades up front licensing for royalties. I’d started to look at it months ago, but other things took priority. I’m back to thinking that it might be the way to go for the spy genre MMO I’ve been thinking about.

I’ll be taking another look at this in the near future as things develop and I’d urge any other indie to do so as well. It’s not XNA, but it does mean I wouldn’t have to do a lot of writing of systems or an editor to create areas.

Spy Game Design – Idle Time

What do MMO characters do when you log off? Are they just frozen where they are, incapable of doing anything? Do they disappear into another dimension? Am I really thinking coherently?

One thing that most MMOs don’t do is persist your character when you’re not playing. Why can’t your character be productive even when you’re not? “What kind of activities could a character do without your direct input?”, is the most important question to ask when considering this.

I mentioned training to raise stats in the last post – this is one possibility. What about research for preparing for a mission? If the mission system requires a number of hours or data gathering and preparation before a mission this could be a possibility. If the player is actively playing this preparation could be lessened so the player isn’t just sitting around twiddling his thumbs, similar to crafting systems in most MMOs (which I really don’t like but I understand). If the player doesn’t have time to complete this before logging off, this is something that could be handled by the game, especially since most crafting is simple button mashing anyway. As missions get more complex this could be handy.

Another mini-game/crafting system might be establishing contacts. Possibly related to or a pre-requisite to mission research, players may have to find and maintain contacts in order to complete missions. Again, this might be simple a button-mashing type of activity if the player is online, but something else that might be handled even when the player isn’t playing.

What do you think? Can MMOs provide a way for the character to be productive even when the player isn’t playing? Is it worthwhile to examine the possibility?

Spy Game Design – Character Stats

What would an RPG be without some stats for characters? Yeah, it would probably just be a shooter or adventure game. 🙂

I’m thinking stats would be the basic ones – strength, dexterity, agility, intelligence, will, charisma, constitution. The important thing is that character development isn’t driven by increasing these stats to god-like proportions. In fact, there will be very little increase in stats, only what’s possible realistically, since this is a more realistic MMO than the fantasy based ones.

A character can increase their strength by working out and their dexterity by practicing things that use it (juggling anyone?). Things like intelligence can’t really be increased, if we take intelligence to mean the ability to learn things, not what the character knows. Agility, will, constitution – these things are mostly static once a character is mature. Charisma is theoretically capable of increase – take acting classes, get cosmetic surgery, etc. but in the reality of the game we’re talking about, not really something most players would bother with. If they want to play a charismatic character, they’d start him with high charisma from the beginning.

Stats are merely going to be a kind of baseline. The value of a stat will be used in conjunction with the level of ability for a skill to come up with a value that determines whether or not an action succeeds.

Of course, stats can be reduced through outside influence. Agility can be reduced by a leg wound, dexterity reduced by hand wound, constitution reduced by poisoning, etc. (charisma reduced by getting beaten with an ugly stick? Not sure about that one. 😀 )

An idea just popped into my head that crosses a bunch of different areas – stats, skills, cross-platform support. I’ll try to get the idea fleshed out and up today.

Spy Game Design – World Setup / Server Architecture

Disclaimer – I am by no means an expert in the area of MMO hardware architecture, so some of this is just wondering aloud (or in print as the case may be) about the logical way to set up servers for our spy MMO.

Normally in MMOs you have a bunch of servers that each are running a copy of the entire world, or part of a world with several servers grouped together to make an entire copy of the world. Some similar to this:

mmo architecture

The blue ball would be the world server that the player is handed off to from the login server (in the upper right) after the player successfully logs in, where he’s handed off to the server(s) where his character resides.

This is a must-have architecture when you have millions of people running around and the people can, at some point, get to every point in the world. What if you want to normally limit players to only a section of the world though? This is probably the way most spy agencies work, TV shows about spies not withstanding.

If there’s an operation that requires agents to go out of the local area, in the game it could be handled by spawning an instance of that area on a server dedicated just to spawn instances, which shouldn’t be too resource intensive so that many instances could be handled at the same time and agents from any area in the world could be handled. The mission areas probably wouldn’t be as large as the area where an agency HQ is located, which would be city sized or slightly larger possibly. I would imagine most missions could be contained to several city blocks and if the mission takes place in several locations, the areas could be loaded into the instance as needed.

The world server (the blue ball) can be used to allow area instances to communicate with each other. This could be represented in game by any UI needed, from a web site on a device that the character can look at that shows what’s going on in the agency in all the areas, to a bulletin board in the HQ break room that shows memos from other area HQs to whatever can be dreamt up.

Obviously this type of hardware setup is going to be out of the means of most indie developers. What do we do then? For test purposes this could be several instances of the server software running on one machine, or a couple of you have a network that’s available to you. Since we’re just in the “here’s what I’d imagine things would look like” stage right now, we can worry about the actual implementation later.

So is this kind of a setup logical from the way our game is going to work? What am I missing? I’m sure I left something out or my ignorance makes what I’m thinking of difficult or impossible. 🙂

Spy Game Design – Character Training

Before a spy even gets to do field work, he goes through some kind of training process to acquire the skills he needs to survive in the many situations he’s likely to encounter in real-life missions. The first example I thought of in this area is “The Farm” – a CIA training facility. The movie The Recruit portrayed what it’s supposedly like for agents to go through training at this facility.

How is this related to a spy genre MMO? Most MMOs have one or more “newbie zones” where players that are just starting out can (usually) safely explore and get to learn the game’s ins and outs while leveling up by killing rats and bugs and such. Great fun, right? Not so much, in my opinion and I’ve spent many hours in such zones during my MMO playing years.

Not only was killing rats and bugs not fun, new players also had to worry about things like accidently wandering into non-newbie territory and dying instantly by running into mobs of a higher level than their character. There were also times when higher level characters would come running into the area trailing a bunch of mobs behind them, affectionately known as a “train”. Since newbie zones are usually right outside of cities and cities are usually in different zones and the entrances to these cities are usually protected by NPC guards, players could escape death by crossing into that zone and letting the guards wipe out the mobs. The problem was that these mobs would sometimes attack characters that just happened to be nearby before the guards could kill them. This also happened at the entrances to dungeons. Players just entering the dungeon would sometimes be treated to a horde of dungeon residents that were waiting to welcome them, left there by someone who had just escaped by leaving the dungeon.

Not only is this not fun for players, it a poor way to attract players to your game. The start of a game should hook players with interesting and fun content that makes the player want to keep playing, not drive them away by killing them through poorly designed areas and game mechanics.

Making these “newbie zones” into a portion of the game that is both challenging and safe seems to me to be a good way to go. That it is also true to life is a bonus in my opinion. Yes, it means more work to create this portion of the game, but some of that can be traded off by making it an area that players come back to for specialized training at higher levels. If a player started off with a character that was specialized in infiltration, but the player decides he wants to try out missions more suited to a sniper, he simply heads back to the training facility and spends some time learning the skills needs to take on those missions. This could be restricted to only allowing the player to do so after completing a certain number of missions in his current specialization.

Not only could a player receive training at such a facility, he could become part of the training of new players or players training in new specializations. This could be the portion of the game that substitutes for PvP (player versus player). PvP in most MMOs that I’ve played has some flaws in it that makes the experience less than ideal for me and probably many other players. This could be a way for players to obtain bragging rights that is one focus of the PvP experience while still making the game enjoyable for new players or players focusing on a new specialization.

Since “death” in the training facility wouldn’t be real that negative part of the PvP experience is removed while still allowing players to rack up PvP kills, which is important to some players. These kills could be posted on a daily Training Results memo in an area of the facility that all players start out in when they start the game and their character is in the facility.

After players complete the training missions for their specialization, be it new players or experienced ones, they’re free to report to their base HQ for real missions for whatever area they’ve been trained in. These missions would still be tailored to the number of missions they’ve completed for an area of specialization, of course. If players fail a number of missions in an area, they may even find themselves assigned to take a refresher course at the Training Facility, which could be a penalty to replace the normal penalties associated with death, which we discussed previously.

Please feel free to poke holes in my idea by posting in the forums.

Spy Game Design – Multiplatform Issues/Capability

One of the areas for improvement that I see with MMOs is the area of making an MMO multiplatform. There’s a big opportunity for making a game more accessible (and therefore more likely to be attractive) by allowing some bits of it to be accessed by devices other than the main one used to play it; mobile devices being the main one I’m thinking of. The Mango update to Windows Phone 7 makes this possibility much more attainable for our game, with the addition of Sockets.

The main question that needs to be answered is “How much of the game should be accessible on a particular platform?” This is going to depend on the capabilities of the platform obviously. For WP7, it’s not reasonable to expect that the main part of the game where there are potentially hundreds of players running around with dozens or more mobs is going to doable.

What does make sense for a mobile device interface into the game then? The part of the game that isn’t the part mentioned above perhaps? Things like character tweaking, inventory management, purchasing/trading items, texturally interacting with other players, etc. Basically the areas of the game that aren’t hardware resource heavy and not real time critical.

Would having multiplatform capability make a spy genre MMO more interesting or more attractive? I’m very interested in hearing what people have to say about this.