Archive for category gaming

Build 20100609

The newest iteration in my StarCraft II Build Order Calculator is a minimalistic approach, in comparison to the previous builds. Unlike the last few ambitious builds that attempted time and resource calculation, this is an attempt at the absolute basics. It is also my first build calculator that is somewhat usable right at the moment, as opposed to merely offering a glimpse at where I want to go with this system.

This calculator contains all units for all 3 races and allows for race changing and resetting the build. It also begins to toy with styles and the UI, although I didn’t spend much time other than getting elements in the rough position that I would like them to be.

I dropped back to a more minimal approach because I felt like the more advanced approaches I was working on were going in the wrong direction. I’d ultimately like a more advanced system, but I want to rewind a bit and go back to basics and consider alternative approaches to the other systems, that relied heavily on large data structures to store data, at times storing it repeatedly for different purposes.



Build 20100524

I completed the third JavaScript iteration of the StarCraft II Build Order Calculator this morning and put it online. It took a few days longer than I expected, but I also drastically changed how the data is being stored for the build order. In my previous builds, I stored the data with the time as the lowest level element, whereas this build stores the unit as the lowest level element. This makes it easier to see what the unit is doing (and thus, what it is allowed to do), but makes it harder to display the timeline.

I also stored unit actions (such as build Probe, warp in Pylon, etc.) as functions within each unit. As I wrote the functions, it quickly became apparent that a huge number of functions are identical and should only be written in one place.

This build shows me the viability of storing unit actions within the function and keeping track of unit timelines within the unit, but also shows the weaknesses of displaying the timeline when I have to scan every unit for every second to see what has been done. It still does not take into account that you need a Gateway before you can make a Zealot, but I chose to not pursue that in this build when all of the flaws of this build became apparent. It does, however, take into account queuing and will not let you build more than 1 Probe from a Nexus at any one time.

I will begin my next iteration very soon and hope to have that online within the next few days. Each iteration definitely teaches me a lot about what will and will not work. I am still very far from a final build, but I still think it is possible to get the final build online before the game launches on Jul 27, 2010.


No Comments

Iterative Development for Economy Calculator

This iterative build was to test the economy calculator at different time intervals. I created an array to store information on 5 basic protoss units – Nexus, Pylon, Gateway, Probe and Zealot. I then wrote some quick calculators to accept a time, in seconds, and return the amount of minerals available at that time. The display is fairly minimal, just showing economy, but various units and builds were constructed at certain times.

The calculation is based on finding out how many probes exist at this time, how long they have existed, and multiplying that by 5/6. 5/6 is the number of minerals gathered per second per harvester (before saturation, at least). Once I have found the total minerals gathered, I get a list of all units that have begun construction at that time and subtract it from the total and return it.

The formula for calculating wealth seems okay, but the initial array contained far more data than I ended up using and the formulas were a bit too hard coded. Things like MULE and Chrono Boost are not being accounted for, and supply count is ignored as well.

I like the idea of a function being passed a time value and returning a snapshot of the build status at that time, and the array storing the build information also containing when each item was started. This system would fairly easily allow new commands to be inserted mid way through the build.

I definitely need to make the calclations more dynamic, though. I’m also still unsure of how to handle the starting Nexus and 5 Probes. This system puts the build time at -100 and -17, respectively, and always adds 700 minerals to the mineral count.

All in all, this iteration did show some interesting ideas, particularly with where to store data on all of the units. I ended up sliding it in as an array inside the build class, but that seems impractical. I should probably set a race as a class, units as a class, buildings as a class and special abilities as a class. My next experimentation will involve testing those methods for viability.

No Comments

StarCraft II Build Order Calculator

I’ve recently begun work on a new project that should see the light of day in time for StarCraft II to launch on July 27. The project, being hosted over at, is the StarCraft II Build Order Calculator. The project aims to take the ease of use and share-friendly nature of World of Warcraft talent calculators and apply it to StarCraft II build orders.

The project is just beginning the iterative development phase, with some small scale tests of single aspects of the system. I began writing my notes on the site in plain text, but it quickly became apparent that I will have enough notes to require a full fledged blog.

Expect to see a flood of posts in the coming days as I think aloud on how to build this system and test various methods of implementation. I will be building it through iterative development, and as such there will be many micro tests in the coming weeks of single aspects of the system.

The first test that has already been pondered upon and attempted once is how to store the build order data in a URI without that URI becoming ungainly in length. You can see my notes on that test and see a sample of this one attempt in the iterative development section of that site.

, , ,

1 Comment

What makes a user want to buy digital content?

As you can learn from a cursory glance at this site, I am a professional computer programmer. I also have side projects that I would like to one day monetize. One such side project is my planned Android app remind@home. On the other hand, I am a content consumer in the digital age, using the internet to acquire new content, sometimes in ways the content creator might not find appealing. Sometimes I pay for content (such as my recent Steam purchase of Dragon Age: Origins) and sometimes I do not pay for content (such as all apps I’ve installed on my Droid, except my podcast app BeyondPod).

Do I acquire content for free because I am cheap? Absolutely not. I buy when the content creator has provided sufficient incentives to buying. As a content creator, I strive to understand those reasons, both within myself and within others. For this reason, I have begun asking friends what a content creator can do to encourage a purchase. I am not concerned with preventing unauthorized downloads or free software that is asking for donations. I am only concerned with finding out what a content creator can do to encourage users to pay for their content. After my discussions with other techies, here are some of the ways a content creator can encourage users to pay:

Release a sample

Release a free sample that can be easily upgraded to the full version. This allows me to find out if I like your content before I commit money. iTunes and Amazon MP3 Store are examples of this from a music perspective, and game demos accomplish the same thing for game developers. If I am unsure of the quality of your product, I am unlikely to blindly commit money. Through Amazon MP3, I can sample every song on an album before I decide to buy. If you do not provide an easy to locate sample, I will still find a free way to sample the content. The alternative is an unauthorized acquisition of your content, and in that scenario I am unlikely to pay if I like the content. After all, why pay for what I already have? By placing barriers to sampling, you aren’t hindering my ability to sample, you are just putting yourself in a bad place if I like what I’ve sampled.

For PC game developers, this is even more critical. Unlike console games, PC games are not always playable on every PC. A demo not only lets me find out if I like the game, but it lets me find out if I can even run the game. There is nothing worse than paying $50 to find out my video card can’t handle your game. Just like in the music sampling example above, instead I can just acquire the game through other channels. If it doesn’t work, I still have my $50. If it does work, where does that leave you?

Continuously update your content

This rule applies more to software than any other form of content, but it is an important rule nonetheless. If I purchase software that is constantly updated, and only authorized copies can be updated directly from the developer, I have an incentive to pay. Fear not, all of the updates will be leaked through unauthorized channels, but the convenience of a built in updater cannot be understated. Imagine downloading a program to manage a database of clients and receiving a weekly update with bug fixes and occasional new features. These updates can come through two channels – an authorized update system that came with the purchase of the software, or a weekly hunt through P2P networks for the newest version. The convenience of a built in updater is easily worth the $50, assuming the updates are worthwhile. Releasing your software and then abandoning it gives me no incentive to purchase a copy. That just guarantees that the version available on a P2P network is the same as a legitimate copy, permanently.

Be easy to acquire

I’ve purchased over a dozen games from Steam simply because it is easy to pay for and acquire my game. The user interface for acquiring your content needs to be easy to use. If I am having trouble locating your content digitally through authorized channels, I’ll simply start looking through unauthorized channels. Make it easy enough that I never consider looking for alternate methods to get your content. Sometimes the issue isn’t how much your content costs, but how much of a hassle it is to locate and acquire.

As a content provider, make use of services like Amazon MP3 store, Audible and Steam. You don’t have to create your own system of distribution, but use a reliable distribution system. Users want convenience above all else when it comes to acquiring new content. The more convenient your distribution system is, the less likely a person is to seek alternate methods. There will always be those that simply don’t want to pay. There is almost nothing you can do about that crowd. Instead, focus on the crowd that is willing to pay. Find out what barriers are in their way and remove those barriers.

Offer your content digitally

This should go without saying. If you want people to pay you for your digital content, then offer that digital content. Rather than offer an explanation, I will just provide one of the conversations I had about this subject:

Steve: How often do you acquire unauthorized digital content?

Anonymous: Maybe twice a month, it really depends if theres an HBO or Showtime show I want to watch.

Steve: What could a content creator do to encourage you to buy?

Anonymous: Offer a place to buy it online. Just make it possible. Do it the day after not months later. I mean, I pay to torrent now, since I use usegroups. It’s access thats the issue, not price.

Steve: So the only reason HBO and Showtime aren’t getting your money is because they aren’t giving you a way to give it to them? Someone is getting the money, and if HBO or Showtime set up a good system, they’d have it. But, they are making it impossible for you to get, through them, what you can certainly get elsewhere.

Anonymous: Yeah.

No Comments

Dragon Age: Origins has me psyched for Mass Effect 2

I got burned out from World of Warcraft last weekend and decided to go snag Dragon Age: Origins to waste some time before the much awaited Mass Effect 2 is rocking my face in ways I once thought unrockable. Although I had a hell of a time getting it installed due to Physx issues with my ATi Radeon 3870, once the game was going, it sure did impress the hell out of me. I ended up having to upgrade to an nVidia Geforce GTX 275 to get past my issues.

Dragon Age: Origins, while fantastic in its own right, is really just hyping me up for Mass Effect 2 on Jan 26. I really liked Mass Effect, Bioware fixed all of my gripes with the game, and Dragon Age: Origins shows great progress in many areas. I took a few days off work for Mass Effect 2 and I know I won’t regret it.


No Comments

The first week of World of Warcraft Dungeon Finder

Last Tuesday, Blizzard launched patch 3.3 for World of Warcraft. With my highest level character at the time a 72 Restoration Shaman, my main interest in this new patch was the Dungeon Finder system that replaced the old Looking for Group system. Blizzard also added Tier 10 gear and a new set of end game instances, but since I wasn’t close to that stuff, I wasn’t concerned about those things.

Last Wednesday, I did a post about my initial thoughts on this system. In the days since that post, I have fallen in love with this new system and I must commend Blizzard on really pushing World of Warcraft forward. This new system not only renews my interest in World of Warcraft, but ensures that I will finally get to do all of those dungeons that I want to do, but was never able to get a group together.

The major thing that I like about the system is the speed with which I can find a group. Granted, this is because I am a healer and there aren’t as many healers as DPS, but that doesn’t change the fact that I often find groups within 2 minutes. Very rarely do I actually wait long enough to consider questing or rep grinding or herb gathering. When I want a group, I am in one very quickly.

As a result of this turnaround speed, I am often able to complete two dungeons per hour, which has quickly gotten me some pretty nice gear from the dungeon bosses. At the time of writing, my now 77 Draenei Shaman is geared about as well as can be expected and I am rapidly approaching level 80. This would be the first time I have reached end game in an MMORPG.

As far as the quality of players that I find, it is a mixed bag as you would expect. I have had a few amazingly competent groups that can knock out a dungeon in 20 minutes and I have had a few groups that are so wretched I had to leave and take the deserter debuff. The main problem that I  have run into is incompetent tanks that are unable to hold aggro and oblivious to enemies that make a move for the squishies. I occasionally get subpar damage dealers that target the wrong enemy or overnuke, but I can handle those much better than I can handle a bad tank.

In the past week, the general competency level has gone up. It seems many players that never ran dungeons are suddenly doing so and are having to take a crash course in how to work as a team. I am one of those players. My healing skills now are significantly up from a week ago, and I’m sure many other players have had the same experiences.

On a final note, Death Knights are, for the most part, awful. This class seems to be a magnet for bad players who have no idea what their role in a team is. I’ve had Death Knight tanks in Blood Presence who do more damage than anyone in the team (while letting the warlock and shaman get beat down right behind him) and Death Knight damage dealers that insist on attacking a target the tank has not built up sufficient threat on. Almost any time I join a group with a Death Knight, I wince and assume the worst. I’ve rarely been proven wrong. Also – Shadow Priests aren’t much better.

No Comments

World of Warcraft Patch 3.3 – Dungeon Finder

The new World of Warcraft Dungeon Finder system was released with patch 3.3 yesterday, and it is a much needed improvement on the previous Looking For Group system. Unlike the old system, DF does not require constant attention by the party leader to seek out that elusive tank or healer to fill out the group before going to the instance. Instead, each person places himself in the queue for a particular role. Once DF has matched up a full, balanced group, you are prompted to enter the dungeon in a similar fashion to the Battlegrounds queue.

Also similar to the Battlegrounds queue, the DF system works across the entire battlegroup. The battlegroup is a cluster of 10-20 servers, vastly increasing the available player pool to find group mates. This makes matchups happen more quickly and the automatic matchmaking system insures you have a balanced group. Once you are in the instance, it operates just like the old instances, except for the reward system for doing random dungeons.

The reward system grants bonus money, experience and special Emblems as an incentive to use the random dungeon system to find groups. As a level 74, my first run of the day got me 14g, 33,100 xp (about 1.5 times a normal quest) and 2 Emblems of Triumph. Those emblems are currency for some exceptionally good equipment once I hit level 80.

This new system, as amazing as it is, does have its flaws. I tried three DF groups last night with only 1 ending in a successful dungeon run.

My first run was a run through Drak’Thalon Keep where I ran as a healer on my 74 Restoration Shaman. The group ran through DK just fine and upon completion, I was teleported back to Dalaran, which was my location prior to entering the dungeon.

My second attempt was trying to enter DF as a group with a 73 Rogue. Even that 1 level disparity was enough to block us from entering most of the dungeons I was allowed to enter on the previous run. Drak’Thalon Keep, Violet Hold, Azjol-Nerub and others were off limits due to the 73 in the group. I can attest, however, that this particular 73 can easily hold his own above his level. On a particularly odd note, even Utgarde Keep was marked off limits with a message indicating it was due to him. Not only has he already run UK before, but if either of us would block us from UK, it should’ve been me at 74. In the end, he left before we were able to find a dungeon.

My third attempt was another solo attempt that got an Azjol-Nerub run within 5 minutes, but locked up shortly after. At the AN loading screen, the game stalled until I was kicked back to Dalaran. However, I was still in my party and upon leaving the party I was given the Deserter debuff. This debuff is a disincentive to leave groups before the run is over and prevents you from joining DF for 15 minutes. I am all for this system, except when I am given it after being kicked from the dungeon.

Once these kinks are worked out, this system will improve the game in many ways. I know I will be running a lot more instances through this system than I ever would have with the older system. It makes it as easy as Battlegrounds to get in queue and then go about your normal business waiting on the group to form. I think Blizzard has done some great work here that keeps World of Warcraft fresh and keeps advancing the game.

Now, where is my aesthetics gear?

1 Comment

Ratchet and Clank Future: A Crack in Time – First Impressions

Ratchet and Clank: A Crack in Time is the newest entry in the Ratchet and Clank series, which has been around since 2002′s Ratchet and Clank. The series had a rough first entry, in my opinion, caused purely by the lack of a strafe button which made the controls more awkward than needed. The 2003 follow up Ratchet and Clank: Going Commando vastly improved on the series, but 2004′s Ratchet and Clank: Up Your Arsenal was when the game became perfect. The controls were the epitome of smooth, precise and intuitive, the humor was incredibly well done and the game’s pacing was spot on.  When the series made the jump to the PS3, I took a hiatus due to my lack of a PS3, but I have picked the game up again with Ratchet and Clank Future: Tools of Destruction, and I must say I am a bit disappointed, although the game does seem quite good.

Up Your Arsenal used a control scheme that I found to be perfect. The left stick moved Ratchet, the right stick aimed, one shoulder button fired and one shoulder button jumped. Frenetic combat was incredibly smooth due to this system that allowed you to never move your fingers off of a stick or button. You didn’t have to move your thumb off of the aim stick to jump or fire. A Crack in Time appears to have done away with this system, and instead used a more standard system where you can shoot with R1, but Circle is used to jump. While this leaves it as a purely normal system, I’m disappointed
with the removal of what I consider to be the finest control scheme ever implemented in a game.

On other issues, the game carries the torch of the old series just fine. The humor is intact, the characters are likable, the explosions are intense and the action is chaotic. It feels very much like the old game series I came to love. At the moment, I’ve only seen old, familiar characters – Ratchet, Clank, Quark and Dr. Nefarious (plus his hilarious butler Lawrence), so I am excited to progress through the game and see new characters that were not in Up Your Arsenal (the most recent Ratchet game I have played).

At this stage in the game, I am liking what I see, but I do think they took a step back on the controls front. I hope they left the weapon upgrade system in place (or improved upon it), but at the moment, I haven’t upgraded any of my weapons. I don’t think this game will top Uncharted 2: Among Thieves for my PS3 Game of the Year, but it can give it a good challenge.

, ,

No Comments

Uncharted 2: Among Thieves – Final Impressions

I finished Uncharted 2: Among Thieves tonight, with my final file time clocking in at 11 hours and 5 minutes. In the end, I am still really impressed with this game.  The two aspects of this game that will leave a very lasting impression are the cutscenes and environments.

Uncharted 2 has really raised the bar for cutscenes. Not only is the dialog well done, but the character animation is so incredibly natural that some of these scenes truly felt like a quality movie. No longer will a game’s cutscenes be measured purely as a video game cutscene, but they now have to compete with feature films with acting quality. Every time the characters interacted, the movements and facial expressions were so detailed it really felt like I was watching real people, rather than animated characters in a game. This level of polish really helped the story pop out much more than it otherwise would have.

The other aspect that constantly blew my mind was the environments. From the jungles of Borneo to the mountains of the Himalayas, every environment is beautifully crafted and detailed. Never before have I see such amazing things as I have in this game. Standing on the top of the hotel in Nepal was an incredible experience. I could see the whole town, the mountains behind it, a lake in the near distance, and the peaks of the Himalayas very far off in the distance. This experience wasn’t just a single experience that was crafted for a certain moment. Any time I had a good view of an area, I was thoroughly impressed.

The pacing of the game is also very well done. Coming in at 11 hours was perfect and was exactly when I was ready to move on. The story moves at a great pace, starting off with an excellent starting stage mixing current events and flashbacks to bring you up to speed. The only time the pacing felt a bit off was during stages 17 (Mountaineering) and 20 (Cat and Mouse). In all other stages (26 in total), the balance of platforming and gun combat was fantastic. In those two stages, the balance was very far off. Stage 17 is nearly all platforming and quickly got boring, and stage 20 was nearly all gun combat and quickly got frustratingly hard. So frustrating, in fact, I nearly quit the game. This wasn’t the kind of challenging that is enjoyable, this was the kind of challenging that simply felt cheap.

Another aspect of the game that could’ve used a bit of polish is the gun combat itself, or more specifically, the guns themselves. While there is a large variety of weapons, managing which weapon you have was occasionally a pain and got me killed more than once. When standing immediately next to a weapon, hitting Triangle will either pick that weapon up or pick the ammo up (if you already have that weapon), but during a frantic fight, you’ll often have multiple weapons on the ground near each other, and accidentally pick up a Pistole with 1 shot left, rather than that Desert Eagle ammo you were going to grab. If the weapons were more easily identified on the ground, this problem could’ve been vastly reduced.

In the end, however, all that the game did right outshines what it did wrong to still be a fantastic experience. The amazingly detailed character interaction, beautiful environments, fast and intense gunfights, great platforming and engaging story easily balance out an occasionally frustrating camera and weapon confusion in combat. If you own a PS3, this is truly a must have game. I foresee this game winning more than a few Game of the Year titles, and each one would be truly deserved.

I can only hope other game developers learn from this game. The bar has been raised, gentlemen; don’t disappoint me.


No Comments