Monday, October 24, 2011

Online Game: City of Wonder

I've always been a fan of building games like SimCity and Civilization, so when I saw an add for City of Wonder on FaceBook, I knew I'd be trying it out. The basic concept of CoW is really the same as SimCity, with a multiplayer aspect thrown into the mix. As the lord and ruler of your land you decide what buildings to put where and how to design your city. The game doesn't go quite as indepth as SimCity does, so you are not setting tax rates or anything similar. This keeps things simple. What CoW does have is a time aspect, each action takes time to complete and while that is happening you can't do much of anything else. This is typical of all FaceBook games, so to be expected.

There is a paid aspect to the game, where if you are willing to spend real world money you can complete tasks faster and gain access to items and buildings that are far superior to those a free player may use. This should have been my first clue that I wasn't going to last all that long in this game. Some of the times you can buy are many times more powerful than the free items, so much so that it is impossible for a free player to even stay without shouting distance of a paying player. This created in essence two separate games, one for the free players and another for the paying players. The problem is the paying players still see and interact with the free players, they just get to roll over them whenever they wish.

This wasn't a problem for a long while, seeing as I didn't pay much attention to the PvP (Player versus Player) aspect of the game. I was only interested in building my city and making it look nice. My goal was to have the city remain looking like a city, functional and interesting, while still utilizing the best buildings and units I could.


Turns out I was one of only a few that had this goal. Most players were going for the "borg" type city where roads were barely, if ever, used and the only buildings in play were the very best. This makes for a very cluttered and ugly city but allows the player to get the most benefit for each square used. So I wasn't even able to compete with free players in regards to anything either, since I wasn't willing to do this. As such I simply went along my way ignoring everyone else and building what I liked.

After a while the developers were done adding content to the main city and they branched out to colonies.

The first colony was a port type location where landmass was restricted to only a quarter of the available squares. The available content here was quickly completed and I remained away from any military buildings due to my aversion to a borg building setup. Here is where another thorn in my side occurred. The developers released research that required real world money to unlock. Once unlocked everything inside could be used with game credits, but you had to pay up front first. Since I had no inclination to pay for this game, I was locked out of large swaths of buildings and units and as such this colony was barely used once completed.

Which lead to the last colony the developers released before I stopped playing. This colony was a military camp where the PvP aspect was in the foreground.

The goal here was to train units and then attack other players. Simple and easy to do, except I had two problems with the concept. First was that the paid buildings and units were ten times more powerful than anything I could create. Not the biggest of issues since those that paid would get so far ahead of me in a day or two that I wouldn't be competing with them anymore.

The second problem was by far more aggravating. It took time to build each unit, and they get lost quite quickly when attacking. As such you need to replace the units all of the time and for someone like me that plays once per day, it would take me weeks to replace all of the units I lost in a single hour's worth of attacking. So I would have to build up my force for weeks, then attack for a couple of minutes and repeat the process all over again. I could see the game was quickly moving away from being a casual game and more geared towards those online all the time who could login often. That simply wasn't something I was able to do.

So that coupled with the fact that I wasn't happy about having larger and larger amounts of content locked due to my unwillingness to pay sealed my fate and forced my decision to give up the game. Don't get me wrong, it was an interesting game but it required more of a time commitment than I was willing to give. As such I redesigned my main colony to be a rural one, and then deleted the application from my profile.

Java: Hotline Update #14

It's been quite a while since I've updated this blog. During this time quite a few changes have occurred with the Hotline program, mostly cosmetic. Names of representatives have been added or removed, options have been added or removed and I've update the reporting tool a bit. This last part is the most important of all the changes that have occurred as of late.

Previously the reporting tool was a large If-Else statement with an array being populated with call/email option values depending on what date range was in the If part of the statement. This was messy, and each time new options were added a new If-Else piece had to be added and some corresponding changes to other parts of the code made to manage this update. No longer. I've updated and condensed the code into a single array that contains all of the values ever assigned for email/phone options.

issueNumber = 50;

issueNames = new String[issueNumber];
issueNames[0] = B1;
issueNames[1] = B2;
issueNames[2] = B24;
issueNames[3] = B31;
issueNames[4] = B3;
issueNames[5] = B4;

And so on and so forth. Now the order of issues saved is always the same and the same array is used regardless of the date range searched under. What I do instead is any value that is zero is simply excluded from the report, so only those values that contain real information are visible and I'm not reporting on values that aren't in use for the date range selected. This also helps to reduce the lines of code in each portion of the project and makes updating for the future a far easier concept.

Next project for this application is to include some additional reporting tools that will allow the CS managers greater flexibility.