Thursday, March 20, 2008

Guild Wars vs Lord of the Rings Online vs World of Warcraft

This post is just some vague rambling on game mechanics and character generation I am only writing it because I graduated finally with my BS degree  and I have declaired this month of the game.

I have been trying to nail down the most important part of a character in LOTRO. So in order to do this I have been comparing it to the other MMOs that I have played.

World of Warcraft: Gear gear gear. Basically everyone in the same class has the same amount of points to spend on the same skills/traits. The only thing left to diversify your character was the gear. This makes for a very addicting game specially when most of the good gear is on "X" mob located at the End of "X" dungeon and it only has a 5% drop rate and you need 15 people to get it. I think I did Upper Black Rock Spire 30+ times trying to get my Valor chest plate. That instance was about an  hour long not to mention it took about 30mins just to get a group, so I probly spent 30+ hours for one piece of equipment which I never got. Sounds like bitching but I still had fun doing it.

Guild Wars: Skill Combos. The best description I have herd for character development in Guild Wars was comparing it to a Collectable Card Game (CCG) like Magic. The Equipment was very easy to Acquire and did not give your character a major advantage. It was all about the skills and there where a million and once at the level cap everyone had the same amount of Attribute points (i.e. str, int). It was basically trial and error trying to get a cool combination of skills for the role you wanted to accomplish. You built your character like you would build a CCG deck you had 5 skills to pick out of a few hundred then adjust your gear and attributes to match the skills gimmick you where going for. It was very fun game pvp was 100x more balanced than wow and was based more on your skills instead of I have been to MC 200 times so I have the current best gear. But it didn’t have the same social feel to it that wow did, I didn’t randomly run into the guy I use to grind with at level 15 or that retarded healer I always got stuck with when grinding UBS.

LOTRO: Lord of the rings characters are driven with traits the gear is important but it comes second. The traits are acquired by grinding mobs, doing x number of quests in an area, exploring regions, or given in quest rewards. Some traits are available to everyone, some only to a given Race, some only for given class. Gear is pretty easy to come by compared to WoW. The best gear is acquired through quests, crafting, or Reputation grinding. In the end when you are at the level cap it all comes down to if you can play, all players are diverse in there equipment and build but more or less equally effective (unless you are retarded or cant read English) there isn’t much of an Elitist factor.

Likes/Dislikes

World of Warcraft Likes: Because of the gear driven nature the economy for WOW was HOT. The Auction House was always on fire, it was a game in its self buying low selling high. Also It was really rewarding once you finally got that set of armor or that kick ass weapon you have been trying to get for the past month or two.

World of Warcraft Dislikes: Competitive/Elitist nature. You can tell from a mile off who is the noob and who is the shit this was a turn off for me because I am not online 24 hours a day but I am competitive it was a hard pill to swallow knowing I couldn’t enjoy all aspects of the game because I was on the more casual side of the players. Casual meaning I played at least 4 hours a day for over a year! There isn’t really an engaging story line.

Guild Wars Likes: It has a story! The level grind is really easy or non existent if you just want to pvp. Finding and capturing skill is fun. You can change your character play style at a whim given the role you want be fulfill.

Guild Wars Dislikes: Being that it isn’t really a Full MMORPG it is missing some of the basics like an Auction House and the ability to link Items in chat. I also like having some non-instanced areas that you can play in. It can be fun to randomly run into some one and group up.

LOTRO Likes: I like the story, the middle earth lore, engaging environments. It’s full of non essential fluff that has no other purpose than just being fun.  It’s a very casual player friendly game. I really love just exploring in this game I have had some of the best experiences I have ever had in an mmo just wondering around in this game.

LOTRO Dislikes: PVP kind of sucks, the auction house is not really active and deed grinding can get old. Other than that it’s my favorite so far.

#     Comments [0]  
kick it on DotNetKicks.com
 Saturday, February 02, 2008

System.Data.EvaluateException

Problem: You are using Select Method to retrieve rows from a typed DataTable and you keep getting the fallowing exception:

 System.Data.EvaluateException: Cannot perform '=' operation on System.String and System.Int32.

This isn't the most helpful error message.

Solution: You are missing hyphens.

Example:

Wrong:

CustomerRow[] rows = Select(string.Format("LastName = {0}", LastName)) as CustomerRow[];

Right:

CustomerRow[] rows = Select(string.Format("LastName = '{0}'", LastName)) as CustomerRow[];

#     Comments [0]  
kick it on DotNetKicks.com
 Monday, January 28, 2008

Post Seattle Code Camp

I spent my weekend attending Seattle code camp sessions. I learned a lot, but one of the biggest things I learned is how much I still don't know. My experience as a developer is limited I have yet to reach 2 years developing professionally and I am still in school currently working on my last quarter for my BS. I like to think that I am a good developer but speaking to people at the code camp is a nice ego check and I still have a long way to go before I can reach the status of elite alpha geek. My goals as a developer this year is to really dive into WCF and to study the code put out by the Patterns & Practices guys at Microsoft, specifically the Enterprise Library and Smart Client. What I really need is a chip I can insert behind my ear and just download the knowledge and experience I need, I cant seem to consume information fast enough otherwise.

One thing I would like to know is the process of how other people obtain deep knowledge of a subject not just an overview.  I am open to opinions please give me your 2 cents by Email Aaron@thesprage.com or leave a comment.

#     Comments [0]  
kick it on DotNetKicks.com
 Tuesday, January 15, 2008

Seattle Code Camp

Seattle Code Camp on Jan. 26th from what I hear it is a little smaller than most but seems to have some good content. The schedule includes speakers such as William (Bill) Vaughn and Phil Haack. Most of the tracks covered will pertain to .Net but there are a few Java sessions as well.

The following sessions look interesting to me:
26th
Rethinking Unit Testing: xUnit.net
Data Enhancements in Visual Studio 2008
Windows Application Enhancements in Visual Studio 2008
Visual Studio Reporting
27th
An Introduction to Windows Communication Foundation
Black Belt DSA, building Duplex Agents
The Web via WCF
LINQ Overview

#     Comments [0]  
kick it on DotNetKicks.com
 Thursday, January 10, 2008

using Statement

The using Statement is simply syntax sugar for a try finally block. If you instantiate an object that implements IDisposable you can make your code look cleaner with the key word using.
Example:
StreamWriter sw = File.CreateText(filePath)
try
{
  sw.Write(someText);
}
finally
{
  sw.Dispose();
}
The above block works the same as:
using(StreamWriter sw = File.CreateText(filePath))
{
  sw.Write(someText);
}
More Info:
MSDN

#     Comments [0]  
kick it on DotNetKicks.com
 Friday, October 12, 2007

System.Diagnostics.Debugger

Problem: You need functionality turned off or on when you are running your program in Debug mode.

Solution: System.Diagnostics.Debugger.IsAttached; it is a static property that returns true if there is a Debugger attached. I like to use this when debugging websevices, timing out while fixing a problem can be annoying.

if (Debugger.IsAttached)
     _webService.Timeout = -1;

More info:

MSDN

 
#     Comments [0]  
kick it on DotNetKicks.com
 Friday, September 21, 2007

Removing Non-Numeric Characters from a String

Problem: I have an editable grid that needs to contain numeric integer values only.

My Solution: TryParse, this function accepts a string and an out value then returns a  bool True if it was successful, also it does not throw exceptions. I am a 100% sure there is someone with a better way of doing this but this is what I came up with. Feedback encouraged!
private string RemoveNonNumericValues(string p)
 {
     int tempValue = 0;
     StringBuilder value = new StringBuilder(p.Length);
     foreach (char charValue in p.ToCharArray())
     {
         if (int.TryParse(charValue.ToString(), out tempValue))
             value.Append(tempValue.ToString());
     }
     return value.ToString();
 }

 private void dataGrid_CellEndEdit(object sender, DataGridViewCellEventArgs e)
 {
     dataGridView[e.ColumnIndex, e.RowIndex].Value =
 RemoveNonNumericValues(dataGridView[e.ColumnIndex, e.RowIndex].Value.ToString());
 }

#     Comments [0]  
kick it on DotNetKicks.com
 Saturday, September 15, 2007

Sweet Sweet NUnit on VS2005 Action

This is great! I dont know why I didnt do this earlier, but you can Debug your code and run NUnit at the same time. You just need to set the Debug>Start Action to start external aplication NUnit.exe. Then set your start project to be the same project as your test code and tada you now have debuging and break point goodness wile running nunit.

#     Comments [0]  
kick it on DotNetKicks.com