Monday, November 15, 2010

C++ Project - Final Fantasy Battle System pt.4 - Input Handling

So, I've been continuing to slowly work on this project in my spare time. I've completed a simple scene management system as well as re-factored some of the base Game class into an Application class which contains most of the high-level engine components such as rendering and window setup.

Also, I've put together an input system which I think should be somewhat easy to deal with as I continue to add more functionality.

I decided to use a combination of the Observer pattern and the Command pattern so that I could have one central object that actually deals with the raw inputs and then passes friendly commands to interested parties.

Here's how it should all work:

1. InputController listens each frame for any new keys that we are particularly interested in.

2. InputController then notifies any interested controllers observering on the keys that were pressed.
3. The interested observers then decide which keys it is interested in and then creates ICommand objects on each one.

It should be that any object that wishes to implement a particular control scheme need only add the appropriate controller as a member variable.

Now, let's see some code.

The interface for InputController:

 class InputController : public IGameComponent
{
private:
CL_InputDevice m_keyboard;
vector m_keysThisFrame;
vector; m_commandObservers;
virtual void Initialize();
void notifyObservers();
public:
~InputController();
void Initialize(CL_InputDevice);
virtual void Update(unsigned int);
virtual void Draw(CL_GraphicContext& graphicsContext);
void registerObserver(ICommandController*);
void removeObserver(const ICommandController&);
};

Here are the interfaces for a high-level command system (ie. exiting the game, etc.)

 class Game;
class SystemCommandController : public ICommandController
{
public:
SystemCommandController(Game&);
~SystemCommandController();
void Notify(vector);
private:
Game& m_gameObject;
};
 class Game;
class SystemCommand : public ICommand
{
public:
enum SystemCommands {EXITGAME};
SystemCommand(Game&, SystemCommands);
~SystemCommand();
void Execute();
private:
Game& m_gameObject;
SystemCommands m_commandToExecute;
};
And the actual implementation of the SystemCommand class so you can see how the commands are handled:

 #include "SystemCommand.h"
SystemCommand::SystemCommand(Game& gameObj, SystemCommand::SystemCommands command) : m_gameObject(gameObj)
{
m_commandToExecute = command;
}
SystemCommand::~SystemCommand()
{
}
void SystemCommand::Execute()
{
switch (m_commandToExecute)
{
case EXITGAME:
m_gameObject.ExitGame();
break;
}
}

So, there you have it! A nice and clean input handling system. There will be slightly more work involved setting up the classes, but it is very easy to reuse across multiple objects.

This project seems to be moving slowly, but it is nice to really engineer something rather than just hacking and reacting! I've got the GUI system going, so hopefully next time there might be some screenshots of my programmer art screens!

Sunday, October 31, 2010

C++ Project - Final Fantasy Battle System pt.3 - Game Loop

So this past week was spent mostly learning the ClanLib GUI system and starting development on a Scene management system that is a basic implementation of a scene graph.

But more on that later. Today I just wanted to follow up on a loose end from last week. Namely the addition of a proper timed game loop to the project.

At some point I will be looking at animations or character movement and I will need the delta time for each frame in order to have proper frame dependent movement.

So the math for this is very simple. I have setup a constant which is my targeted time for each frame:

 static const unsigned int TIME_PER_FRAME = 16; // time per frame in milliseconds  


Since I would like to target 60 fps, I have set the value to 16 milliseconds per frame.

Now in order to calculate the frame time it will look something like this:

- Get system time before game loop
- while (gameLoop)
- Get time before executing game code.
- Calculate deltaTime = (time_before_loop - time_before_executing_game_code)
- GAME CODE
- Get time after game loop.
- Calculate timeToSleep = (TARGET_FRAME_TIME) - (time_before_executing_game_code - time_after_game_loop
- Sleep(timeToSleep)
- loop


Not too bad. And now the actual implementation in our Game class:

      unsigned int lasttime = CL_System::get_time();  
while (m_currentGameState == Running)
{
unsigned int startFrameTime = CL_System::get_time();
int deltaTime = startFrameTime - lasttime;
lasttime = startFrameTime;
DO GAME STUFF HERE
startFrameTime = CL_System::get_time();
int timeToSleep = TIME_PER_FRAME - (startFrameTime - lasttime);
if (timeToSleep > 0)
{
CL_System::sleep(timeToSleep);
}
}


Now I can pass my delta time per frame to my update functions in my IGameComponent class.

 virtual void Update(unsigned int) = 0;  


On other fronts, my Game class is starting to become a little unwieldy especially with all of the GUI stuff making its way in, so I think my next entry will be a bit of a lesson in refactoring.

Sunday, October 24, 2010

C++ Project - Final Fantasy Battle System pt.2

So with any programming project, the initial question is "where do I start?" I have ClanLib installed and the compiler configured and ready build, so now it's time to start planning exactly how to approach this project.


The heart of every game is essentially a loop which is responsible for updating and rendering. Since ClanLib does not provide a standard game loop or the means to track objects in our game, this seems like a good place to start.

So, we'll start with a base class, Game which will contain our loop.

 class Game   
{
private:
enum GameState {Stopped,Running,Paused};
// Singleton instance
static Game* m_instance;
. . .
Game();
Game(const Game& a);
public:
~Game();
static Game* GetInstance();
void Start();
void Initialize();
}

Notice that I have made the class a Singleton. Since I am anticipating other objects wanting to add/remove themselves from the main game loop, I want this class to be accessible anywhere within the program. Since the Game class is guaranteed to exist during the lifetime of the game, there should be no problems with initialization that is inherent with Singleton objects.

Also, I anticipate that we might want to add some simple functions for pausing the game, etc., so I have added an enum to track the current state of the loop.

Now that we have the outline for a basic loop, we need objects to actually render and update. In order to facilitate this I created a basic interface that we can use for any class that we might want to add to our loop.
 class IGameComponent  
{
public:
virtual void Initialize() = 0;
virtual void Update() = 0;
virtual void Draw(CL_GraphicContext& graphicsContext) = 0;
};

Now, let's add a container and a couple of operations to our Game class to actually track these objects.
 vector m_gameComponents;  
void AddComponent(IGameComponent*);
void RemoveComponent(IGameComponent* const)
Here is the full update loop for the game loop.
 void Game::Start()  
{
m_currentGameState = Running;
CL_Font font(gc, "Tahoma", 30);
while (m_currentGameState == Running)
{
Update();
gc.clear(CL_Colorf::cadetblue);
Draw();
gui_manager->exec(false);
wm->draw_windows(gc);
// Make the stuff visible:
window->flip(1);
// Read messages from the windowing system message queue, if any are available:
//CL_KeepAlive::process();
// Avoid using 100% CPU in the loop:
CL_System::sleep(10);
}
}
void Game::Update()
{
// Update loop
for (int i = 0; i < m_gameComponents.size();i++)
{
m_gameComponents[i]->Update();
}
}
void Game::Draw()
{
for (int i = 0; i < m_gameComponents.size();i++)
{
m_gameComponents[i]->Draw(gc);
}
}

And there you have it! A simple system for dealing with the game loop. Next up, I will need to add some sort of Scene Manager in order to track scene transitions and to encapsulate the elements that form each scene. I will also be adding in some hooks for the GUI system and the Input system into Game as well. Once, I have those in place I will start working on the design for the actual RPG gameplay.

Sunday, October 17, 2010

C++ Project - Final Fantasy Battle System pt.1

So in order to keep my programming skills in shape, I like to take a new engine and begin to develop some game systems utilizing it. Most of these are usually stalled due to lack of time or my curiosity about something new that is more interesting.


In order to rectify this, I've decided to start a small project that is not necessarily about writing a complete game for release, but rather something I can use to practice building game systems and further my use of design patterns within these systems.


So, I've chosen to go with a 2D C++ engine called ClanLib and what I will be working to build is essentially this:


That's right, I will be working on developing the battle system from Final Fantasy I. I'm a major fan of RPG games and this was probably my second or third RPG ever, so it holds sentimental value. Also, I've limited the scope slightly so I'm not overwhelmed with large complicated AI or physics systems, as it truly is the gameplay systems that really light my game developer fire. I've also picked something that can done with simple sprites as I am not an artist either.

So, within this project, I will be implementing the following:
  • General game loop
  • Input handling
  • GUI
  • Scene Management
  • RPG system (PC/NPC stats, item handling, spell casting abilities, etc.)
  • Battle system
I will be blogging each step of the way with my goals being:
  • Improve my design capabilities
  • Improve my coding standards to develop code that is highly readable and maintainable.
  • Expand my knowledge of 3rd-party game engines.
  • Expand my knowledge of game systems.
Anyhow, it should be a blast!

Wednesday, October 13, 2010

Time Flys When You're ...

I can't believe it's been almost two years since I've updated this blog. I'm not sure where the time went, but it sure has been a busy period.


The Past

In the last two years (other than NOT writing in this blog) , I've accomplished the following:
  • Developed and released an Xbox Live Indie Game.
  • Placed in the top five of the Old Spice Dream Build Play contest.
  • Developed a complete game in 48 hours.
  • Developed a match-3, RPG with dragons.
  • Released a children's MMO.
  • Met and worked with some truly unique and awesome people.
In addition to all of that, I was taking some classes at ACC and working on and off on some personal projects that unfortunately had to be stalled due to the above.

The Future

So what's coming next? Well, concerning this blog, I do have a new C++ project I'm working on in my spare time, so I think I'd like to start blogging that just to get some of my C++ code out there.

Regarding myself personally, I'm not real sure. I'll just keep developing, reading, and learning. I love developing games and as I found out the last few years, it's something that I can't not do.




Tuesday, December 2, 2008

Fallout 3 and the Illusion of Open Level Design

http://xspblog.files.wordpress.com/2008/08/fallout-3-1010.jpgI've been playing Fallout 3 for the past month and I'm very pleased with it overall. However, after playing for sometime I decided to explore the edges of the map and when it appeared that I could continue onward I was met with an invisible wall along with text stating that I could not continue any further. Now, this is not necessarily a bad thing. In fact, I recall that Oblivion had almost the same message when reaching the edge of the map. Does this break the illusion of the vast open world that Fallout boasts of? Well, maybe just a little.

This is not a problem that is not particular to Fallout however and it urged me to think about how level designers are always forced to impose physical limits on the player. The ability to poke and prod the player into the right direction, while keeping them on track is a related problem, but here I want to specifically discuss how to limit the player to remain in a finite space with the illusion that they are actually part of a much bigger world. Specifically, the only games effected by this are those in which the player is an active participant in an ever-changing world, so any open-world type of game will do. It is specifically within these styles of game that it is ever important to maintain this illusion of a large, unconstrained world.

So what are some of the strategies that have been or could be used to confine players within this type of game environment? Here are a few:

  • Invisible Walls - This is probably one of the least imaginative ways to let players know that they have reached the boundaries of the game world. This is the design that was chosen for Fallout 3 and Oblivion and simply tells the player they must turn around.
  • Geography - A more natural limitation is to design the world geography in such a way that it is physically impossible to continue. This could be the addition of mountain ranges or an island setting with an endless ocean (Morrowind,GTA) that is impossible for the player to traverse.
  • Design Enforced - This is similar to geography in that it places barriers that the player cannot physically cross, but which are in line with the theme of the game. For instance in Assassin's Creed, the player's screen is garbled at the edges of the map in accordance with the virtual reality theme of that game. This could also includes a death barrier, such as a radiation field that kills the player if he continue past the boundaries, thus making it impossible to continue. I would also include architecture based limitations as well, such as the ruined cities in games such as Gears of War.
In most types of games, it's a given that the world is finite, but it is up to the game designer to at least provide the illusion that the world is larger than it seems. While it may not completely invalidate the game experience if a poor decision is made when placing barriers around the game world, it can be a jarring moment for the player when they come across something that is out of place or blatantly obvious. I'm definitely going to be keeping my eye out for other ways that games attempt to do this as play in the future.

Saturday, October 25, 2008

Tabula Rasa - More MMO Playing

Tabula Rasa NTSC-U (North America) front boxshotSo, after several months of tinkering with Sword of the New World, I decided to finally take the plunge into Richard Garriot's Tabula Rasa. I don't really like to write full-on reviews of MMOs, so I'll just do my usual list of likes and dislikes. After having spent almost 30 hours in the game, I'm actually feeling very positive about the experience, so here goes....



Likes:

1. Combat that is actually a little more than target-lock, hit number keys, rinse and repeat. I like the fact that cover, range and direction are implemented into the combat system. This provides a very action-like experience. Some of the larger battles I faced in instances such as Devil's Den or Torcastra Prison were actually exciting.

2. Solo play seems like a viable option in this game, at least at this point for my level 25 Ranger. While it's fun to run some instances with a squad, sometime I just want to jump in, play for a bit and be out and not have to deal with managing people or looking for a group. With most of the other MMORPG's that I've played, I felt pushed into grouping with others if I wanted to continue to see new content which doesn't seem to be the case with Tabula Rasa.

3. Theme. Sci-Fi trumps Fantasy any day of the week in my book. That's part of the reason I was so attracted to EVE Online. Hopefully Tabula Rasa's gameplay won't betray me in the same way.

4. Character Tree, rather than a set class. I'm not sure why I like this so much, but it really feels like a good incentive to continue to level my character if I know an entirely new class expereience is waiting for me in a few levels. However, the stretch from level 15 to 30 is a long one indeed.

Dislikes:

1. Bland World. While the setting and story seem to depend on this, the world seems to be very bland with a lot of the same structures popping up around the place and the world looking very similar all-around. This seems to be an issue in the instances as well.

2. Low variety of enemies. This is actually a problem inherent to the RPG genre (electronic variety at least), but I must mention it. I don't know how many times I've fought a member of the Thrax Infantry that was only different in the last area by name and stats.

3. Finding a squad is not that easy. Locating a squad seems to be a little iffy at times. It seems most people don't use the advertising system, but rather just advertise in the General chat window. Not a big deal, but still something that could be better.

So, there are my current impressions of Tabula Rasa. Hopefully this will be the MMO that can maintain my interest for a longer period of time than the others, either due to gameplay or time issues.

Monday, October 13, 2008

Alone In The Dark - Inventory System Gone Bad


So this weekend, I decided to finally pick up the new Alone In The Dark game for Xbox 360. I was intrigued by the preview videos as it appeared the game was doing some interesting things with the inventory system as well as the way the character interacted with the environment. It has probably not been since I first played Fatal Frame for the PS2 that I truly seen a somewhat different approach to the survival horror genre. I was not surprised, however, that after playing the game lived up to the negative press it was receiving.
There are two points regarding this game that I thought were detrimental to its fun factor: the inventory system and an overly clunky attempt at immersion. In this article, I only wish to talk about the inventory system as I think it is rare that I even notice an inventory system, much less find one that throws the game for me.
In Alone In The Dark, the inventory is represented by pockets inside the player character's jacket. When it is accessed, the player actually opens up his jacket and peers down at his body to reveal the items stashed away. The inventory system provided is limited space with stacking, real-time and gameplay blocking. This basically means we only have so much space to store things of differing types, any attempt at access does not stop the game and the game screen is completely obstructed by the inventory system when activated. Normally this would not be an issue if the implementation was sound, however, what we have next is a combination of:

1. An awkward inventory access system - On the Xbox 360 the inventory is accessed via the control pad. Within the inventory, items are individually selected either by rotating the thumbstick to slide through the items or individually with the control pad. In essence, this means that the player must take their thumb off of the control stick in order to fiddle with their items and since the game screen is blocked by the inventory when active this essentially means the player must come to a stop to poke around in their inventory. This is a not a fun situation to be in during some of the combat heavy scenes. To be fair, there are "hotkeys" into certain inventory items and combinations of items, but these are selected via a combination of the control pad and one of the four face buttons. Not much better really.

2. An overabundance of items as well as the ability to combine items into yet more items - There are a lot of items in this game. A knife, a lighter, a gun, ammo, various types of bottles (empty, water, brandy), tape, bandages, first-aid spray, and mosquito spray all make of the types of items that can be placed in the player's inventory. Along with these base items, some can be combined into sticky bombs, Molotov cocktails, fire bullets (pouring liquor onto bullets??!), etc. Combining items again was awkward by first selecting one item and then selecting the other and pressing X. Once again, there was an awkward "hotkeys" that was the same as above to instantly create combinations.

So in essence, I spent the vast majority of my time in the game dying due to fumbling with items in my inventory. So how could this have been better? Well, I think for starters just pausing the game when inventory was accessed would have saved a lot of headaches. It may be that the inventory was meant to induce a sense of anxiety in the player as they were involved in certain high-adrenaline scenes, but I don't think any player finds it fun to lose to a system that is bogged down in awkward controls and a rigid attempt at realism. While I applaud the designers for at least thinking in a different direction, my experience was not positive of the way it was implemented in the game.


Sunday, September 7, 2008

Psychonauts (Not Quite) Finished



There are some games that I play simply due to my love of games in generally and not for any love for the genre. Some games achieve such a cult following that they practically compel me to experience them and subsequently love them as much as every other cultured gamer on the planet. Psychonauts definitely fits into both of these categories and I am here to proclaim that this game has defeated me.

Of course, this is a modern platformer, so it would not be fair to mention the numerous collections that you are given in the game. There are a ludicrous amount of item types that you are constantly scavenging for in order to upgrade your psychic powers. There is also a wonderful psychic theme in which the main character is constantly being thrust into the minds of others with often hilarious results (this game actually was laugh out loud funny at times.)

Rarely, is there a game that I do not finish, but the increasing difficulty of this game forces me to stop for its own safety. I just wish that game designers could create a challenging game that rewards the player when needed and punishes in such a way that does not include repetition and/or memorization. Come on, I know there has to be a better way....

Thursday, August 28, 2008

Games Demystified: Super Mario Galaxy

It seems that most of my updates previously have either been review or rant types, so I thought it might be a nice change to track some of my favorite technical articles regarding games.

Games Demystified: Super Mario Galaxy

This article is the first in a recent series of articles by Jeremy Alessi that goes under the hood of some techniques utilized in recent popular games. Here, Jeremy describes how Nintendo developers basically fudged realistic gravity using the surface normals of the polygons that make up the planet's surface.

Wednesday, August 27, 2008

Braid


So I thought I'd throw my two cents in regarding Braid, the recent Xbox Live Arcade title that is receiving consistently positive praise from critics and fans alike.

I have to admit that when first reading about the game, it did not interest me that much. However, when I booted it up and was not even treated to a title screen or introduction, I knew I was in for a different experience. Transitioning to the game, I was pleased with how well, I was introduced to the mechanics of the game without any prompting by the game itself. Just a few graphics hidden among the terrain of the first level to make sure you knew which buttons to press and the rest is left to experimentation by the player.

As far as game mechanics go, the idea of each level presenting a different time-manipulating element keeps things interesting and the puzzles are appropriately difficult and experimentation is well rewarded.

Thematically and artistically, this game was likewise excellent. The abstract story had a very thoughtful conclusion. Gamer karma maybe? I loved it...

Tuesday, August 12, 2008

Planescape Torment Complete!

So, I've finished Planescape:Torment and as with the other Black Isle/Bioware games, I was impressed. This one seemed a lot more story driven than the Baldur's Gate and Icewind Dale games, but depending on your character class there was lots of beatings to put forth if one so wished.

I definitely like the way you were able to easily switch back and forth between fighter, mage and thief character classes. I suppose they had to allow this as you were not allowed to customize your character beyond his stats and beginning class as the story was heavily dependent on the main character looking and acting a certain way for the most part.

Regarding combat, I found this game slightly more tedious than the Baldur's Gate games, perhaps it's my faulty memory at play, but there seemed to be something off. I did notice that there was not a lot of options for character weapons and armor, which again goes to show the story-driven nature of the game. I do admit it was nice not to have to continually futz with character inventory before every battle.

Well, now it's on to Tron 2.0. I heard this was an interesting FPS with some slightly different play-mechanics and a storyline that is actually worthy of the Tron name.

Monday, August 4, 2008

Game Queue

I have been very busy between school and work, but somehow I've still managed to have a full game queue at the same time. Here's what I've been playing lately with a very short comment on each game:


1. Planescape: Torment
- When I first bought this game back in '99, I think I was burnt out on the Bioware/Black Isle RPGs, so it went unplayed for many years. Now that I've picked it up, I realize what a great experience it is! Really great story and lots of moral choices for the player. However, there seems to be something lacking in the combat...maybe more later...

2. Ghost Recon: Advanced Warfighter - An early Xbox 360 game that I'm finally getting around to playing. It's your typical tactical FPS, that I personally think was surpassed with the Rainbow Six: Vegas game. Story and script are hokey and remind me of any number of mid-90s war/action films (This is not a bad thing for me, as Nicole and I had a hoot laughing at some of the dialogue during the cut scenes).

3. Command & Conquer 3: Tiberium Wars - I picked this one up mainly because I was interested in how the control scheme would translate from PC to the Xbox 360 and I must admit that it is mostly successful, unfortunately, I don't pick this one up often enough, so I'm constantly having to peek back at the controller map to remember how to play the darn thing (i.e. controls are not intuitive...yet).

4. Psychonauts - A PS2 "cult" classic 3D platformer. I really like the theme of this one, but I can tell why it was a commercial flop as from first appearances it looks like a kid's game. Even though it follows the typical collection/scavenger hunt game play of most 3D platformers since Mario 64, a quirky cast of characters and a goofy sense of humor keep me coming back to this one.

Tuesday, July 15, 2008

Board Games / Card Games

I have lately been putting some time into playing some board and card games. Here are a few of the titles I have picked up lately:

1. Fluxx - Awesome card game where the rules are constantly changing. This is good coffe-shop game since it can last anywhere from 1-30 min.
2. Carcassone - This is a classic strategy game where players attempt to score points based on placing followers on a tile-board.
3. Blockus - This is an abstract game where players attempt to place all their pieces on the board. The catch is that the pieces can only be played with same colors touching at the corners.

Wednesday, June 18, 2008

EVE Online - Update 2

So, it appears that the MMO curse has struck me again as I have almost lost total interest in EVE Online (though I actually extended my trial account to a subscription...). I was enjoying playing a little each day, but since Nicole and I just got a new puppy, I've been exceptionally busy between him and work and school with little time to devote. However, I do not feel the desire to play at all. Nothing has captured me to the point to where I want to sit back down and continue with the game. In fact, the last time I played I was completing Agent missions and I even got the exact same mission TWICE which is a big turn-off to me...

oh well, I'll probably be canceling my subscription after this month runs out. I do hear that the new Conan MMO is interesting though....hmmm.....

Thursday, June 12, 2008

Interview: CCP's Richardsson On The State Of EVE Online

Interesting article from Gamasutra with EVE Online Executive Producer, Nathan Richardsson:

What is it that makes EVE Online specifically different from your average MMO?

Nathan Richardsson: We believe that EVE has some fundamental foundations that differentiate it from other games. First and foremost is the single-shard world where everyone is part of the same universe. This enables a player-driven economy because we achieve the world scale required to make it effective.

In turn, the economy is the foundation for all interaction -- well, mostly for conflict -- but let’s call it interaction. You need players to gather and defend resources, to process them and manufacture ships and weapons out of them which are in high demand on the market since it’s so costly to defend the resources.

With such a large world, very large player organizations can flourish -- EVE has as many as 3,000 pilots in some organizations working towards common goals against other organizations of the same scale.

There's an intense political atmosphere and social networks are an important part of the game -- EVE is free-form, you set your own goals and it’s “class”-less too.


Full Story

Monday, June 9, 2008

EVE Online - Update

So I've been playing for about 7 days of my 14-day trial of EVE Online and I thought I would go ahead and post some likes and dislikes regarding the game so far.

Like:

1. Theme - I absolutely love the theme of this game. The Sci-Fi gameplay is more appealing to me than the typical fantasy setting. The artwork, sound, music, etc. are all top notch in setting the stage for the oppressive universe in which the game is set.

2. Skill Training - I love how your skills are trained even when you are not playing. At least I can feel like I'm progressing in the game even when I don't have a lot of time to sink into it.

Dislike:

1. Learning Curve - I found the learning curve to this game to be immense. The interface and just the sheer number of options available to the player can be overwhelming at the beginning. While this is not necessarily a bad thing for the game, it is for someone who does not have a lot of time to sink into the game.

2. Pace - EVE Online is definitely not a game for the impatient. Travel between galaxies, mining and other such activities eat up a significant amount of game time. Fortunately, the game runs well in windowed-mode so web surfing and doing other work is possible while your autopilot directs your ship to its next destination.

At this point, I'm unsure if I will be continuing past the free trial, but I have to admit even though the game is slow paced, there is some measure of fun in really being given an open-world to explore with no real limits even at the beginning of the game....

Wednesday, June 4, 2008

EVE Online


So after my recent post regarding my opinion on MMORPGs, I have decided to give them another shot and see if there are any out there that can capture my interest. The teacher and another student were discussing EVE Online in my design class this week so I have decided to give that one a shot.

Normally, I focus on fantasy, but this is a sci-fi theme that feels a lot like Trade Wars via Privateer. Also, the client is available free online at http://www.eve-online.com/ with a 14-day trial, so it's definitely a no-risk situation to try out the game.

Anyone else playing or have played EVE Online? How does its mechanics differ from other MMORPGs?

Friday, May 30, 2008

Hate the Game, Not the Player

I have a confession to make and I hope that the world forgives me for what I am about to say (or type, rather).

I do not like MMORPGs.

Wow, it sure feels good to get that off my chest. It's something that I've long felt, but have constantly denied. Looking back, I realize that I've always had a dysfunctional relationship with multi-player RPGs, stretching from early MUDs to their eventual transformation into the MMORPGs of today. I must have started trial accounts for dozens of MMORPGs only to become bored before a charge ever hit my credit card (most in less than 14 days). Even MMORPGs derived from old single-player favorites such as Ultima Online failed to keep my interest, much less convince me to pay a monthly fee.
It's obvious that my love of RPGs pulls me towards these games, but what is it that drives me away? Well, I think it's probably based on a few different problems concerning the design of the games and the way that I relate to games and gaming in general.

1. Where's the Story? - One of the major draws for me in a game is a strong dramatic arc. I love heavy-handed storytelling, interesting characters and player decisions that open up that next level of immersion. I have not found an MMORPG that could provide this for me. I hoped that Lord of the Rings Online could have fulfilled that due to the source material it was based on, but the main storyline seemed to dissolve after the first few hours.

2. Fetch me a Canoe - Interesting tasks and quests are always a plus in any RPG, but I will be the first to admit that many tasks are reduced to the much maligned "fetch" quest. The "Bring me x and I'll give you y" type. However in MMORPGs, the fetch quest is rampant. I can't tell you how many times I have been sent to collect x number of some y just for a few measly experience points and maybe some gold. Which leads me to the next point...

3. The Daily Grind - Character grinding, or the constant repetition of fighting enemies for experience points in order to level up characters is also rampant in MMORPGs. The storyline definitely takes a backseat to leveling up characters and collecting rare items. For some reason, a strong character with really awesome equipment is not a motivator for me to continue playing a game.

4. Do I Really Need Two Jobs? - In order to be successful at an MMORPG you will need to put in the time required. Joining guilds , groups, raiding parties or whatever all require some amount of time commitment. Meeting up with regular members requires players to schedule to be on during certain times. I am a very inconsistent gamer and the last thing I need after a 8-10 hour workday is another activity that feels like work to me.

So, I guess it really boils down to the type of gamer that I am and the experience that I want while playing a game. I definitely feel that I am a dying breed when it comes to gaming, as my interest is almost exclusively in single-player games. I even play first-person shooters for the story and barely even spend any time with the multi-player aspect. However, I do wonder what that MMORPG might be like that can capture my desire for a rich, fully realized story with game play mechanics that can hold my interest for more than a few days...who knows, maybe it's already out there.

Any recommendations?

Tuesday, May 13, 2008

Coolest Shirt Ever....