2011 – A year in games – Part 5

Continuing on from the previous post. Here’s the last of the games I played last year:

Rage

Even before I started playing, I had already seen the examples of the texture streaming problems on PC with early drivers and automatically expected them with the PS3 version of the game. The first thing you see is a huge vista once you enter the game world proper and I can understand the artistic value of wowing the player, but there’s always the conflict with the abilities of the streaming system to keep up. It’s impressive how detailed the environments are and at times I felt sorry for the artists that had to go through and texture everything – it’s like nothing is instanced!

I played the game through on hard which lead to needing to replay some sections of the game after very quick deaths due to sections that were supposed to represent surprises during high tension periods of the game, but those deaths just lead me to saving more often after any long period of survival. I also had to wander off to youtube for a video of killing one of the first large monsters since I was coming to the conclusion that either he was indestructible or I was in the wrong place too early.

The shooting part of the game is great fun when you’re not getting instakilled. The gun upgrades and more especially the wingsticks made it much simpler to fight groups but there was still a lot of hiding to recover energy and sniping with the more deadly bullet variants that you can buy. Most of the time you’re not overwhelmed with enemies but when you are it can get quite intense and it feels like there’s a slightly uncanny valley in the controls where they differ from your other FPSs.

The driving and racing sections seem like an odd thing to tack on since the only real requirement for the cars is the long drive between mission areas. I did actually enjoy the driving competion areas in the game – they allowed me to reminisce about the first time I played Motorstorm. However, it took a while for me to discover that the list of challenges actually scrolled since there was nothing that indicated it, well, until I got to the second major stage of the game and thought I couldn’t go back to the first part and started worrying about aim for the 100% driving event completion trophy. The addons that you earn for the car in the game itself also seem to be redundant, but that could be due to playing the specified stages with specific cars then gathering and spending points on car addons leading to long periods in between using your everyday car.

I’d say Rage is worth playing to keep your FPS badge on your FPS-player-card, but if you only have time to play one FPS from my list, make it Resistance 3.

Battlefield 3

For me, Battlefield 3 is definitely the best looking of the 2011 shooters. The underlying Frostbite engine tech allows for some beautiful results and I think it’s going to make a solid foundation for EA’s future titles. The actual plot of the game is delivered in such high quality cut scenes that I think you can actually recognize the actor that one of the characters is based on. I find it difficult to think of a time in the gameplay where the visual quality dropped – maybe some of the facial close-ups during the game were leading towards the uncanny valley, but there’s not much else to complain about from the eye department.

That said, I didn’t enjoy BF3 as much as the other shooters due to a difficulty that I’d rate as damn hard with a sprinkling of irony and evil. Playing on the harder setting, I found myself getting killed more frequently than I’d expect, especially on a highly orchestrated tank level where you have to run from point to point while under heavy fire. I’ve also discovered that behind a stone wall isn’t a sufficient place to hide since bullets can somehow sneak through. I’ve heard from a fan of the multiplayer that they’d seen similar unbelievable deaths there too, although apparently that issue has been patched out of more recent versions. Similar to Rage, there’s a few too many bits where the element of surprise ends up killing you. The other major aggravation was the difference in the controls between Modern Warfare which defined my muscle memory and BF3 itself – a few too many times that I crouched when I wanted to sprint or jumped when I should have crouched.

Some of the sections are pure FPS candy: door at either end, lots of mid height walls and pillars to hide behind and a great supply of bad guys to shoot with realistic feeling weapons. There’s even one of these bits with no lights except for torches – very hard but good fun. It’s definitely a game for the shooter aficionado to provide a fully rounded experience of the genre.

The Baconing

I’ve been a fan of all three of the games in the Deathspank series. Each one comes in for about £10 and takes a solid 10 hours to play. The whole series has featured well balanced RPG-lite gameplay, a lot of funny stories for each of the side quests, with lots of random sub-plots and comedy accents – as you can expect when Ron Gilbert (of Monkey Island fame) is involved. The whole series has been loosely based on a set of thongs that you’ve needed to find, find again and then burn. Knowing that there’s a sufficient amount of play in each one spread over lots of missions means that you can get a good run going and do quite a lot of the missions in an hour sitting with a strong feeling of ooh-just-one-more-mission.

The Baconing is something I now pick up from time to time as I try to complete the Very Hard version. The big problem is that death leads to a loss of cash and I died several times leaving me a bit skint to stock up on weapons. And I’m always hoping there’ll be a new version soon too!

Modern Warfare 3

Call of Duty: Modern Warfare 3 was the FPS I’d been waiting for all year. I’ve been a huge fan of the range of COD titles, maybe not so much World at War, but everything else since the first Modern Warfare. For me, my favourite part has always been the intense shooter gameplay. Although there’s not too much that’s new in MW3, more of the same is good enough for me, and it definitely brings the high standard of animation, gameplay and even the FPS defining controls and feel. I’m sure there was a plot, and I think it tied the trilogy of games together, but like Resistance 3, I really didn’t pay too much attention because I was too deep in actually playing it.

I’ve been a big fan of the multiplayer and MW3 brought the Elite analytics system allowing you to review where you died, how often you died there, and who shot you. I’m sure it tracks kills, but I moved on to the next game before I rediscovered the talents I had in the golden days of MW1.

For me, the defining difference between the two multiplatform heavyweights in Shooter Season 2011, was that in Battlefield 3, a building can fall down when it’s across the road at the end of the level, whereas in MW3, the building falls on you and then you fight through it! Similarly in BF3, cars explode, in MW3, cars explode as they fly past your head! Despite my lack of memory of the plot, all of the COD titles leave me with a nice warm feeling (except World at War) and I know MW3 is a title I want to go back and play through again.

Mass Effect 2

The Mass Effect series was something I’d heard a lot about, but I hadn’t tried the first before I managed to lay my hands on the second. I’d heard mixed reviews of the first, mostly revolving around the time spent in lifts in between stages.

If you don’t know it, the majority of the game is heavily based on hiding and shooting mechanics. It took me a while to get a handle on the 3rd person shooting controls which just aren’t as good as Just Cause 2′s controls. In fact I died a lot at the start just by being killed dogs that closed on me quicker than I could aim at them well enough to shoot. I hardly used the magic powers (bio-somethings) available in the game apart from the slow time one since it was good for shooting people more accurately. I let my companions get on with it and use their own bio-thingys instead.

The rest of playing the game is the plot progression. The game is cut scene heavy and you spend a lot of time in dialogue selection screens just trying to progress. Since your options can typically be positive, negative or neutral, you can select options that score you points that might affect something in future, or not. Despite the large number of cut scenes, the underlying plot of the game is that you start with a list of people to hunt down, you can find each one in turn, then do them a favour so they love you and then take all of your colleagues/pokemon to the endgame. Due to my completionist tendencies, I picked up most of the people listed and did their side missions to get them on side. I only failed one side mission and that unfortunately had a slightly negative result near the end of the game, though nothing as bad as a game over. I think discovering the skip dialogue button was a momentous occasion and massively helped with the rate at which I got through the game.

One other part of the game was mining planets for minerals – minerals which are used for building weapon and ship enhancements. You need to run a scanner over the surface of a planet and then a wibbly-wobbly graph tells you the concentration of each type of mineral at that location before you fire a probe down to pick them up. For full coverage to properly check a planet, you need to sweep smoothly across the surface. After a while I realized that the back and forth scanning pattern I was using was just me mowing the lawn on someone else’s planet, so I cut back on the time spent scanning.

Although Charles Bloom called ME2 a bad game combined with a bad movie, I just considered all the dialogue to be minimally interactive cutscenes and it was the hiding behind walls and shooting robots that I really grew to enjoy.  I’m still looking forward to trying ME3 despite whatever’s been said about the ending –  I’ve been trying to avoid those articles.

Dead Island

I think Dead Island was another game that was a pleasant surprise for me and definitely another of my top 3 for 2011. Although it was an add-on freebie with an FHM subscription and it was only a promo, (i.e. the manual needed to be found on the internet) I really loved playing this game, as highlighted when I got the 28 days of playing trophy without realizing that I’d been playing it that much.

I’ve never been a big fan of melee combat from a first person perspective ever since I first played Hexen. I’ve always thought it feels more like morris dancing (run in, hit, jog back) than actually giving someone a swift kicking. I think most of this comes mostly from not wanting to get hit in return combined with a lack of understanding of the reach of the character and the weapon. However, I found the zombies in Dead Island gave you enough cues to know when to run, or with a big enough stick, keep on hitting them before they hit you. Maybe a bit of dancing is required for the larger bad guys, but the limb targeting mechanism typically helps you out by allowing you to focus on knocking their arms off and then battering their heads.

The game has enough backstory and depth of plot to keep you interested and the interface to the todo list of quests is easy enough to use that you can see a clear progression in each play session. I’m really looking forward to a Game of the Year version that includes all of the DLC so that I can come back to this.

Fin

And that’s the lot (ignoring iPhone and PC games).

Thanks to http://www.yourgamercards.net for listing all of my trophies to help with this list.

2011 – A year in games – Part 4

Continuing on from the previous post. Here’s the next set of games I played last year:

PixelJunk Shooter

I started playing Pixeljunk Shooter with the demo which I had downloaded once it became available, just to dip my toe in the water. Straight away, the demo had that feeling of being immediately playable. Having only seen videos before, I was afraid of hitting the sides would kill me or that there was some hidden level of complexity that would ruin it for me, but it’s actually remarkably easy to pick up with simple controls and a well balanced difficulty curve. The main game trophies are dependent on collecting all of the treasure in each level, so even after completing the game, it’s likely you’d have to go back to pick everything up.

I think the most beautiful feature of the game is the fluid effect used for both the lava and the water. I saw Jaymin Kessler (@okonomiyonda) talk about the tech used in PixelJunk Shooter 2 at SIGGRAPH 2011 (graciously reproduced on altdevblogaday.com here), even going so far as to be one of the few SIGGRAPH talks that breaks out the SPU code. PixelJunk do have a reputation for a great parity between gameplay and technology.

PixelJunk Shooter is one of those “easy to learn, difficult to master” games that I found enjoyable to play but for which I was unable to earn many trophies due to random mistakes that I made. I’m definitely going back to this one and will try to play it to perfection when time allows.

Plants vs Zombies

Although I knew Plants vs Zombies was a Tower Defense variant, I really assumed that it would be another bog standard example of the genre. Since it was a freebie from PlayStation Plus, I thought I’d give it a good go before consigning it to the tried-but-didn’t-really-like list. I was really surprised when I found out how good it was.

The game has been well polished – I’d expect this happened early on and then more polish was added during porting between so many different platforms. The polish shows through in several places: the simple controls that allow you use both the directional bottons and analog sticks; the balancing of the rate at which you need to collect the sunshine required to grow new plants; the difficulty due to the range in choice when selecting the plants for the next level; the range of zombie types; the different level layouts; and finally, the lawnmower concept where the first zombie to break through the line releases a lawnmower that kills the rest of the zombies on that row to give you some respite from the invasion.

I think the highlight for me was when a group of zombies in a bobsleigh jumped out of the bushes and it’s that kind of comedy and surprise that you’ll find at several different places in the game. I’d recommend finding a copy for your favourite platform and giving it a go. It’s a long game and I’m going to go back to it to finish it off.

God of War: Chains of Olympus (from the Origins Collection)

This was a game I had completed many moons ago on PSP and I really wanted to see how well the port had gone, especially since the PS3 ports of the PS2 versions in the God Of War Collection were remarkably well done.

It was a very well done port with some obvious points at which the effects had been updated from the PSP which makes me feel better about it than a minimalistic port. The gameplay is as good as I remember and has all the classic God Of War style even with the reduced stick and shoulder button count of the PSP, only resulting in a minimal change to the standard PS2 and PS3 controls.

I managed to complete this one but I did it on normal since I thought I’d go back for the super hard difficulty later since it needed unlocking (which I’ve previously complained about). I later discovered that I could have just played it on the hard level between normal and super hard and got myself a gold trophy instead :( This is definitely a good thing to play while waiting for the next new God of War title!

Castle Crashers

I always thought of this game as a bit of an indie darling with a lot of fans and was interested to know what I’d make of it. When it became available on PlayStation Plus, I thought it would be good to grab and try. If you’ve not seen or played it, the art style is cartoony and the gameplay is very like Golden Axe with the standard jump and hit and then a couple of other buttons. There’s also some elements of character development with attributes you can improve as you play and a range of weapons that you can pick up.

Although it starts off quite easy, I found I was getting hammered in the boss fights and any time that the screen filled up with lots of enemies. I feel like there’s something I’m missing in the controls or gameplay that would simplify it for me or that I could master. There’s other parts of the game that make me believe I’ve missed something too, for example, the relevance of the sections that have no enemies but may have some meaning – I may have to go to gamefaqs to see if I can find some more background.

This currently remains uncompleted due to my predisposition to dying near the end of each level.

Resistance 3

For me Resistance 3 was the beginning of Shooter Season 2011 (as coined and heavily used by Zero Punctuation). Of all the games in the Resistance trilogy, I believe number 3 was the best looking and most playable. I had taken part in the multiplayer beta and although I thought it looked great, I wasn’t impressed with the gameplay at that point and I was worried that the improvement in visual quality had hit performance so hard that it was taking processor time away from gameplay.

The game itself is rather weak in terms of continuity of plot between the different sections and I personally didn’t feel influenced by the story to help the old fella across America. Since the child of your character has the same name as my own, I’d have been happy telling the old guy to jog on and find another sucker. I think the fact that I continued to play the game despite the lack of compulsion by the story is a testament to the quality of the gameplay. I think it was sufficiently varied with each level having something new to do. Before playing, I did watch one of the Developer Diaries which highlighted some of the gameplay changes from Resistance 2 such as being able to switch between all of the weapons you’re carrying, and I think it’s those kinds of changes that made it more accessible and playable.

This was a game that lasted a lot longer than I expected up until the climactic final section of the game, more often making me happy that there was more, rather than wondering when it was going to be over. Strongly recommended if you’re looking for a shooter and I wish there was a Resistance 4 planned.

More shooters from Shooter Season 2011 coming up…

Upgrading to Visual Studio 2010

Recently I was tasked with helping to convert a large number of C++, C++/CLI and C# projects from Visual Studio (VS) 2008 to 2010. It was neither an easy nor a fun thing to do and while I was doing it I found a near complete lack of information on the internet so I thought I’d share what I discovered in the hope that it helps someone else.

Note: this is not a laundry list of what I don’t like about VS 2010 – I don’t have the time or the inclination to make a list and I’d constantly be remembering or discovering additional things. Where possible, I’m still coding in VS 2008, and I’d prefer to be coding away in VC6.

Background to Visual Studio 2010′s build process

All I had read before I started was a helpful article about custom build rules on the very helpful VirtualDub blog (which I’ve previously mentioned). That already introduces you to the way in which VS has changed. In the case of C++ and C++/CLI, the newer VS has changed the project building system and project file format from .vcproj (a legacy XML format) to .vcxproj which is formatted ready to be used with MSBuild. Actually, that’s a bit too much of a simplification – it’s not like changing the suffix and a bit of an XSLT is going to do the conversion for you, but then it’s a gamble whether or not the auto-conversion system will work either.

My understanding of MSBuild is basically it’s a way of passing a list of things (<item> elements) to tasks to do (elements with their own name). MSBuild only supports a minimum of dependency checking, in essence to ensure each task is only executed once before anything that depends on its outputs. Looking deeper at this, you have to ask yourself where the source level dependency checks happen, and that would be a bloody good question, especially when it all starts falling apart.

Visual Studio 2010 actually picks up the checking the dependencies of your source itself. Of the different ways you could implement this, VS assumes that the build will generate a set of *.tlog files, or actually something like exename.id.read.tlog and exename.id.write.tlog files (like cl.1656.read/write.tlog) which track the files read and written by each process in the build. Some of the tasks, such as CL, can write their own, but other tasks get run inside another process, tracker.exe (possibly spawned by the FileTracker task), which tracks files opened for reading and writing to generate the tlog files. From VS’s point of view, the tlog files are gospel when it comes to working out if MSBuild needs to be invoked.

Getting started with your upgrade

Before you start, there’s some preparation work you can do. First of all, grab Service Pack 1 for VS 2010. Most of the upcoming issues may not (but will probably still) appear if you’ve upgraded – maybe they’ve actually fixed something, but the release notes are surprisingly thin. Overall though, VS 2010 with SP1 seems to crash less.

If the results of the conversion are being committed to source control and you want to maintain your VS 2008 projects,  you should branch the .sln files since the conversion process will attempt to overwrite in place. The same is true of .csproj files thanks to the minor tweaks performed by the conversion process. Hell even if you’re not keeping your VS 2008 versions or using source control, it’s definitely worth backing up in case something goes properly wrong, and that’s quite likely.

When (not if) something does go wrong with your C/C++ build, you’ll want as much information as possible, so I’d recommend you take a look at both this stackoverflow page and  more specifically the linked page on the VS Project Team Blog that tells you how to some extra debug info out of VC++. The community spirited stackoverflow is probably a better place for help than connect.microsoft.com where you can find solidarity with others with the same problems but fewer solutions.

If nothing obvious goes wrong and you’ve converted your first project, you’ve got to ask yourself, what’s gone wrong under the hood?

Issue #1 Why doesn’t it rebuild?!

Sometimes the build process will spit out empty cl.read.1.tlog files and you’ll find that nothing will rebuild even when changing source and headers. The trick you learn is to tell the difference between the two different “build is up-to-date” messages from VS:

  1. The one that means VS thinks everything is up-to-date and won’t even bother to kick off MSBuild.
  2. The one where VS thinks something needs building, kicks off MSBuild and MSBuild says, everything’s up-to-date.

I wanted to post both of these messages, but I didn’t want to rebreak my build. This is where the previously mentioned page on the VS Project Team Blog comes in useful.

When weird dependency issues arise, the best place to go is the logs. First things first, go to the project build options and set the log file settings to diagnostic – make sure that’s the log files and not the output window since several hundred KBs or tens of MBs isn’t unusual for a diagnostic level log. You might as well leave this on since by dumping the diagnostics to a log file, it gets written to the intermediate directory so when things go wrong, it’s there already.

The log itself interleaves VS output and information from the MSBuild tasks. The best way to use the log is to grep for the file you’ve changed, find the places where it’s mentioned and the first clue will be whether the system thinks it’s up to date or not. For reference, other good things to grep for are “missing” and “up-to-date”.

So far, I’ve not found anything that isn’t fixed with a full rebuild, but that’s the crappiest solution available.

Issue #2 Why does it keep rebuilding?!

Nothing ruins that “It builds!” feeling more than the realization that it just keeps rebuilding and is never happy, even when nothing’s changed. At this point, I refer you to the stackoverflow post I mentioned above. In our case, most of this was due to the following bug:

Issue #3 WTF happened to my .rules files?!

A new MSBuild based build system in 2010 means that all of the bespoke .rules files you crafted to save you lots of effort in VS 2008 won’t fly any more. In fact the autoconvert system makes a good try at fixing your rules, but when it comes to building, a good try just means irritating unexpected rebuilds – gah! Don’t forget that you created the rules file so that you could share it between projects but now each 2008 project you open wants to reconvert it for 2010, so you can’t start fixing it until you’re all done converting your projects.

So where to start. The conversion creates three separate files, a .props, .targets and .xml file. First of all just see if it works – it might! If you have anything more complex than the simplest rules the conversion may have failed in some interesting way. Some things you’ll need to look at are:

  1. A possible loss of quotes. The command line from one of our rules files looked like “$(toolpath)” arg1 arg2 “$(argfile)” where we’d quoted the arguments that could include paths with spaces. The conversion process spotted that the line started and ended with quotes and left us with $(toolpath)” arg1 arg2 “$(argfile), or fubar’d as it’s better known.
  2. Any dependencies you had in the rules file (like the tool used by the rules file) may be encoded as an AddedDependencies list which we found VS couldn’t resolve and therefore always considered  the output as always needing an update. This seems to be a common problem, missing files causing a rebuild.
  3. In the .targets file, the Inputs list includes $(MSBuildProjectFile). It’s difficult to work out if this is necessary or not since some of the property values for the converted files could be in the .vcxproj, but it does mean that all your custom stuff rebuilds whenever you make changes to the .vcxproj, such as adding a file or making a setting change.
  4. Depending on your diagnostics settings, the message you had for your rules when building may appear randomly when building. We had to tweak ours so that the message wasn’t always output for files excluded from the build.

And that’s the first set of problems we had. Since this is much longer than many of my previous posts and I’m not even halfway there yet, I’m going to split this into at least one more post.


2011 – A year in games – Part 3

Continuing on from the previous post. Here’s the next set of games I played last year:

Just Cause 2

Just Cause 2 was one of those games that I had in the back of my mind to play whenever there was nothing else pressing for my time. I think the first thing that made me pay attention to how good it could be was a post on Coding Horror but it wasn’t until I saw it on Zero Punctuation’s Top 5 of 2010 that I thought about giving it another go. Once I got started, I found a game that I wished I had discovered before.

For those who don’t know it, JC2 is an open world game where you cause mayhem and destruction on behalf of rebels on an island lead by a dictator. As well as guns, rocket launchers etc and a range of vehicles such as cars, attack helicopters and planes, you also have a permanently attached grappling hook and an open-anytime-you’re-off-the-ground parachute. The latter two tools mean that you can spend a lot of time climbing things and then jumping off, or you can just grapple and pull to move yourself around, building up a fair speed if you’ve got the parachute open at the same time. It took a while to get the hang of the grapple but now it makes me think that any other open world game would seem incredibly slow to traverse without it. There’s times when you don’t even feel like needing to steal a vehicle and think about floating to the target instead.

And it’s not just the movement that JC2 gets right, a common problem with 3rd person shooters is the aiming and firing, typically requiring you to get into cover (Uncharted I’m looking at you), before you can even start trying to aim, let alone fire. JC2 lets you shoot at the centre of the screen, adds a little aim assist and the controls themselves just feel right when aiming, being more camera than character driven. To be honest, it was harder to aim the grapple, but in most cases you have some freedom in choosing where to aim, and it’s typically not a fight or flight situation.

Spread through out the game are lots of different types of completion percentages, both in the rarer things you can collect, like the dropped drugs, and in the level of completion of a town or army base. It’s incredibly satisfying reaching 100% complete on a town or enemy base, but it does get disheartening when you get to 97% and realize that you’ve spent 15 minutes playing hunt-the-last-remaining-army-element-to-blow-up and found nothing. Conversely clearing a town by collecting all the pickups gives a very warm hoarding feeling.

Although there’s a push for collecting everything in the game, and it’s very doable, I put JC2 down after completing it to avoid it sucking me in any further. It was an enjoyable game from start to finish and it’s on my to-return-to list. The recent rumour of three new titles by 2014 has got me excited too.

Toy Story 3

Toy Story 3 was a game I chose mostly on behalf of my three year old. As a fan of the films I was hoping he’d enjoy watching me play it, although that soon turned in to him wanting to play too. One of the great things about the game is the sandbox (or rather toybox) mode they use for the Woody’s Roundup section of the game. This gave him the freedom to run around and play and actually get involved. I think it’s the first game that got him interested in playing games. I’ve since realized that any game (it was Disney Universe where I discovered this) without this freedom and with a specified objective instead stresses me out more as I try and get him to focus on that rather than letting him play. (And don’t even get me started on playing co-op games with him!)

The single player is actually a good medium difficulty challenge for a typical games player and took a few weekend afternoons to complete while sharing the controller. Watching the film before you play definitely helps to add some magic too, rather than leaving you confused as to what’s going on! Although  I wouldn’t have picked it up for myself, I’d recommend it to anyone looking for something to play with their little gamer.

Borderlands DLC

Borderlands is one of those surprise cult games (like Just Cause 2) that I came to late and found a great love for – hmm, having that and JC2 in this post makes me think I’ve missed some more great games too! After completing the main game, I waited for the Game of the Year edition to be released with all of the DLC before I picked it back up again. There’s actually four different parts to the DLC of which I played the first three in 2011:

  1. The Zombie Island of Dr. Ned. This was the first of the DLC that I played and I think it was the one I enjoyed the most. The missions were well balanced and the level well laid out – I’m biased as a fan of zombie shooters too. The limited color palette, AKA dark, meant that it was slightly harder than it should have been and some of the arena battles felt a bit claustrophobic due to the lack of space involved.
  2. Mad Moxxi’s Underdome Riot. This DLC is the one of the three that I played that I have left incomplete. Due to the levelling model in Borderlands where enemies are spawned at approximately the same level as the player, this arena combat section is rock hard and I’m going to need to take advantage of special weapons and the skill tree options along with a lot of run and gun.
  3. The Secret Armory of General Knoxx. This was a bit of a struggle to get through, lots of roads and road combat which was already a pain in the main game with the level in the DLC being very spaced out leading to a lot of driving back and forth. There’s bit more driving uniqueness in this DLC like having to do jumps and driving through narrow gaps – more gah! The end of DLC boss was also pretty hardcore and I really had no idea what I was going to do if I’d failed to kill him on the first go.

I can’t wait for Borderlands 2 later this year and I’ve got the remaining DLC, Claptrap’s New Robot Revolution, to keep me warm ’til then.

To be continued…

Blogs I’ve read – Gibbage

I very recently discovered a reference to the Gibbage site from a post on nullpointer.co.uk. The promised set of How to Make a Game articles from PC Zone sounded too good to be true, and actually were when I found that the original link from the post to gibbage.co.uk now leads to a waste disposal company (which is why I’ve not hyper-linked that bit). This lead to some serious internet hunting and eventually I found the WordPress copy of the original site – copy unfortunately meaning cut short at about 12 months of posts with broken links and missing images due to the loss of the gibbage.co.uk domain.

What’s so special?

It didn’t take long before I really started to enjoy reading the articles. Dan Marshall is self taught bedroom coder that focused on writing a game and shared the game and the story of its making with the world -that game being Gibbage. I think his writing style reflects his Britishness (or rather Scottishness) with lots of references to things that are part of my generation with his writing – he reminds me a lot of those I’ve worked with who developed games in the 80s. There’s also times when he reminds me of Zero Punctuation. I like to think that my writing would be similar if I let myself swear more often.

It’s not only the making of the game that he blogs about, but there’s a lot about the reviewing too – to summarize, good review = genius reviewer, bad review= rant! The other thing you experience on the site is the marketing which is pretty relentless with each post having a link off to Gibbage with a suggestion that you buy it, well until the forums are introduced, then he typically links to there instead.

Some of my favourite posts

The actual How to Make a Game articles from PC Zone are posted on the site (1, 2, 3, 4, 5, 6) and then are extended in several more posts later (starting here). Those posts are worth reading even if you don’t think you’d be interested in the rest of the site.

As an independent developer who has put so much into writing his own title, Dan Marshall has strong feelings about indie development and the quality of indie titles. His first cross over review of another indie developer’s title isn’t the lovefest that you’d expect from developers that are solely interested in mutual marketing of their own title. Later, in his Indie Game “Not Shit” Shocker post, he expresses the joy in finding an enjoyable game in Professor Fizzwizzle (now hosted on shockwave.com).

There’s quite a bit about the development of the game design of Gibbage in a few posts: initially in Writing your own Game… Phase Three and then later in Scenes from the Cutting Room Floor. He also requests feedback of a work in progress demo which seems like an easy question to ask, but his Feedback Feedback followup post where he berates those unable to follow simple instructions with his tongue firmly in his cheek later gets an aggravated response from another site leading to his classic Feedback Feedback Feedback Feedback post.

The posts where he explains some of the inside jokes in the levels (Gibbage Fanboy Humour #1#2 and #3) highlight a sense of humour common to many a geek – you’ll probably end up nodding along like me.

Where to next?

If you want to keep reading Dan Marshall, he now appears to be at Size Five Games  – that’s where I’m off to next.

2011 – A year in games – Part 2

Continuing on from the previous post. Here’s the next set of games I played last year:

Fallout: New Vegas

After the shooty-shooty Bulletstorm, I returned to the Fallout universe to follow on from my fun in Fallout3. Starting back at scratch was a challenge since I could only use weedy guns and couldn’t roam too wildly since I’d end up getting killed by some of the nastier enemies. However, being given a new environment to explore and lots of new plots made it very difficult to put down. And this was all really good fun until quite a way into the game when I had completed all of the missions I’d been given.

At that point, it’s time to revisit all of the quest givers to find out which of them needs to progress the plot. This is where I discovered my biggest problem with this game – the allegiance mechanism or possibly better called the “why do you hate me?” system. Trying to catch up with the leaders of each faction lead to some of them kicking off a personal war with me just because I’d helped their enemies and I’m just a helpful guy trying to do lots of missions. To balance this out, the companions I’d picked up while roaming seemed a lot more violent than Fallout3 and really helped out in some of the larger fights which helped early on. However, later on my companions decided to bring their own prejudices into the game while we were wondering around, killing people they personally didn’t like, resulting in some additional allegiance problems.

After revisiting everyone and finding no new missions, I broke out the guides. I’d already wasted a lot of time backtracking and then I found the epically large Hoover dam (a god damn to borrow from Beavis and Butthead). I think getting lost in the dam (since I had arrived before I had any related missions) was the final straw before going to gamefaqs. After looking at the guides and having a higher level idea of what was required from each of the different factions, it finally lead me to the major mission that takes place at the dam. After that, it was all downhill to the grand finale – a bit of a pain in a game with such crappy shooting dynamics – and the outro. I really liked the outro because it lets you know how much of the game you missed or possibly skated over and brings together a lot of the different plot points to remind you of what you’ve done. As with all good games, the outro also leaves you feeling a little sad since it’s all over at that point.

I’m definitely going to revisit this when the game of the year edition comes out.

Killzone 3

When it comes to the Killzone trilogy, I wasn’t a fan of the first due to the heavy inertia in the controls. KZ1 felt like I was always running round in a heavy overcoat to match the image of the enemies in the game. The second game really didn’t grab me either – I found the same inertia issues when I started but I did get quite a bit further through. I also remember complaints about the controls and at the time I was thinking that the configuration options were rather limited (as mentioned when discussing my requirements for hardcore games that I want to play). I always thought I’d go back to it but didn’t.

So Killzone 3 was the first in the series I gave a proper go. Immediately I felt it had better control balance than the second – there’s still the feeling of inertia in the character, but it’s been better balanced to be more understandable due to his build and it doesn’t feel as bad as the first in the series. The concept of inertia also applies to the bad guys and the strength of their armour, where killing most of the enemies requires emptying an entire clip into them and even that might not be successful if the gun drifted while firing.

Technically, Killzone 3 is a masterpiece, carrying on with the deferred rendering on PS3 that started with Killzone 2 (related slides here – as part of the Guerrilla Games publications site). There’s several sections where the image is a bit muddied with a lack of variety in the environment, such as the junkyard and snow levels, but then there’s other parts which look vibrant such as the Helghast base. Most of the cutscenes look spectacular, skirting the edge of the uncanny valley and sometimes falling in, but mostly just looking over the edge.

I can’t comment too much on the content of the game since I only played it once through to the end, on a sixaxis controller rather than move controller and I can’t say I tried the multiplayer either. There were sections of intense difficulty which made me realize I’d scraped through and would hate to retry on a harder difficulty – I can’t control the flying harnesses for toffee. Overall I’d recommend you give Killzone 3 a go, especially if you like emptying your gun into enemies.

Dragon Age: Origins

I can’t really say much about Dragon Age: Origins since I didn’t get far before putting it back in the box. Having not tried the previous one, I didn’t know the form that the gameplay took – I assumed I’d be hammering the weapon buttons and killing bad types. I was actually hammering the buttons for quite a while before I realized that the characters were looking after themselves and I just needed to direct them to a target.

Reading some reviews, it seemed like a lot of the focus was based on getting involved with the stats management and instructing the members of the team, sometimes romantically. At the time I thought to myself, surely something that needs a lot of interaction like the user interface, would be a lot less laggy and much more fluid. I also wasn’t heavily impressed by the graphics – the day-to-day stuff wasn’t great and the cutscenes could have been much better too. Like other Bioware titles I know a lot of the value lies in the script and acting, but the cutscene quality was much more distracting. This was the PS3 game I played for the shortest period in 2011.

To be continued…


Do you want bite sized hardcore?

I’ve been reading Cliffski’s blog for a long time (it’s a strong candidate for a Blogs I’ve Read post). I think one of the major reasons I like Cliffski’s blog is the way in which we agree on a lot of things.  I was reading it recently when I saw his Bite Sized Hardcore manifesto.

I’m now part of a generation which doesn’t have as much disposable time as we did when we discovered computer games, be it kids, wives or other significant interests – the most common thing we need is some personal time with the TV, PC or iPad. I definitely lean towards enjoying games typically described as hardcore, but I no longer have the time to perfect my skills – the last time I got in-depth good at anything was during a lot of free time before my little guy was born. My compromise is to skip a few hours of sleep each week to play games instead so any time spent playing games is important to me.

How long does it take?

Having only just finished Dead Island, I was surprised a few days before when I got the How many days exactly? trophy indicating 28 days of play and I still wasn’t done. Although I’ve previously covered the dilemma of having lots of games left to play, I do like to explore, collect the collectables, kill everyone that needs killing and try to complete as many side missions as possible. Thank God I know that Skyrim auto generates missions before I got caught out being unable to stop playing it!.

I do have to be careful about the games I choose to play. There’s a lot of games that fit into the bite sized hardcore category and I know that I’m going to keep looking for them. One thing keeping me away from uber-hardcore games like Demon Souls and Dark Souls is the possibility of having a gameplay session with a net result of zero. A the other end of the scale though, I’m not averse to playing something shallow but very shooty-shooty like Bulletstorm.

Save me!

The Tales of the Rampant Coyote blog later followed up Cliffski’s post. His additional point 9 (No arbitrary save-game restrictions!) is possibly the biggest problem I have to deal with when trying to fit in a gaming session – when can I stop!? After a certain time, I have to spend part of my attention watching for the “saving now” or “checkpoint reached” notification so that I know I can stop. Even after I think I’m safe and the save has just completed, I still get the “All progress since the last save will be lost” scary warning. One thing I have to say having just started Uncharted 3, I’m happy to see that it tells you time since the last save and avoids the warning.

This makes me think back to the suspend/resume behaviour of my PSP which I’d love on every platform on which I play (I think Mike Acton has said something similar previously). In fact, I’d prefer a session model where I can select a session when resuming, so that playing a Bluray or swapping to another game to play with my son means that I can still come back to zombie smashing when I have time and don’t have to lose where I was for playing something else quickly.

I think downloadable content (DLC) is in a position to take advantage of this part of the population. Being aware of the time required to complete a game means that DLC for an already known and loved game can take priority over picking up a new game. On the other hand, Game Guilt is something that stops you from picking up new things, and every time I see DLC, I wonder how long until the Game of the Year edition, bundle or price drop is going to happen.

A hardcore gamer says what?

There’s a couple of other bullet points I’d like to add to the manifesto:

  • Let me change the controls to any configuration I want. I have a certain level of expectation when it comes to playing first person shooters and that starts at the controls. My hands already expect crouch, reload and throw grenade to be in the same place but they’re the ones that typically seem to change position and if they’re unchangeable, that makes for a pain in the backside while playing.
  • Subtitles please! My late at night playing means that I need to keep the TV low and suffer the volume differences between gameplay, gunfire, voice and cutscenes. Subtitles means that I can always track what everyone’s saying while also enjoying spelling mistakes and seeing how the speech of racial stereotypes has been transcribed!
  • I could possibly live without subtitles if the audio was better balanced in a lot of games. The audio options that vary the levels for different sounds can be helpful if you’ve got time to play with them, but I think it would  be better if they started off right and you just used them to actually vary the volume if required.

Interim Update

In my head I’m trying to maintain a weekly posting schedule. I’ve got several posts in the work-in-progress category, each being incrementally updated until I’m ready to publish. The HTML5 work has taken a backseat while I practice my writing – a bit shameful really since I’ve been seeing some hits on my Getting started with HTML5 canvas page and I know I can do better.

Wrapping up Very Sleepy fork

I’m currently trying to package up a nice set of easy to build source for my fork of Very Sleepy. I’m inspired by Yuriy‘s  Sleepy-ex project so I want to prepackage all of the required wxWidgets dependencies to make life easier for downloaders. That’s taken a lot longer than finding somewhere to upload it for sharing and writing a blog post about it!

Converting to Visual Studio 2010

I’ve spent quite a bit of time already trying to summarise my recent experience of converting a suite of Visual Studio 2008 projects to Visual Studio 2010. It’s not big or clever, and the whole conversion system is poorly documented on the internet and I want to get it all written down before it all escapes me. It’s going to take a while thanks to a lot of the intricacies involved and will probably end up being my longest post – I typically aim for 1000-ish words, but 2000 seems easily possible and there’s a nerdy bit of me that wants to aim for 2010 words.

2011 Games

I want to continue writing up the games I played last year. The first part came out a lot longer while I was writing it, so I’ve broken it into parts that I aim to get out in the next few months.

Other stuff!

I’ve got a few more posts in the list, a few more blogs (it’s going to be hard to beat Old New Thing), some short tools posts about tools I can’t live without, and some follow-ups to some blog posts I’ve read.

Twitter Here I Come

Until recently all I really thought I knew about Twitter was:

  • Celebrities post random things.
  • There’s also lots of gamedevs and other developers on there posting interesting things.
  • It can be used as a networking and marketing (both successful and unsuccessful) tool.

Reading OJ’s Why I use Twitter post was the kick up the backside to give Twitter another look. I think the one thing that tipped it for me was the sharing of links. I already have an rss feed of Morgan McGuire who periodically posts really interesting links but it’s rare that I discover anything new to read. The fact is,  I really miss the sharing and following features of Google Reader where I was following a great set of people who kept me inundated with things to read – the Google+ sharing mechanism by comparison is a poor cousin of Google Reader and when they dropped the sharing feature from Reader, I lost the list of followers I had. I’m really hoping I can get back to that sharing model with Twitter.

To the iPhone

So, where to start. The first thing I wanted was an app for the iPhone since I assumed that’s where I’d mostly check for updates. The first thing I do on an app hunt is head to the Google rather than the App Store since you typically get comparisons in the reviews. It seemed like Google had left the wayback-machine on since the top hits appeared to come from an app called Tweetie. Taking a look, another article said Tweetie was no longer available and I was referred to the unsurprisingly named followup, Tweetie 2. Looking for information about Tweetie 2 another article lead onto Tweetie 3. And then guess what, after Tweetie 3 came… well apparently Twitter bought the devs and made the official Twitter app for the iPhone. That made choosing the app much easier.

I knew that Twitter had been better integrated into iOS with the most recent release, but other than having seen the Tweet button in Safari I really didn’t know much more about the Twitter integration – I didn’t even know where to start since I was still a Twitter novice. I found two articles on cnet.com, one about the Twitter integration and another with some tips and tricks.

The story so far

I’ve been using Twitter a few days now and I’d say the experience has been mostly positive. Initially I was surprised by the number of posts that were retweets, but I’ve come to think this is a good thing since it increases the chances of discovering somebody or something new – on day 1 I discovered something that I didn’t know and retweeted. I’m also finding it very interesting to watch conversations between others on Twitter.

The iPhone Twitter app isn’t bad. I’m slightly aggravated by the refresh which seems to stall when you swap to another app – maybe I’m spoiled by Byline and Safari which appear to happily load stuff in the background. Also both the iPhone app and website show posts in order of most recently posted which means you can lose your place and have to rediscover where you were or start reading conversations backwards. Having read Twitter’s own getting started guide, their intended focus, “reading Tweets and discovering new information whenever you check in on your Twitter timeline is where you’ll find the most value on Twitter,” leads me to believe that they’re more focused on you reading the latest information, rather than maintaining  a coherent list of things to read.

TL;DR

I’m on Twitter as @dickyjimforster!

Blogs I’ve Read – The Old New Thing

I’ve been working my way through the Old New Thing blog by Raymond Chen for the last few months. The blog has been around for 9 years with a mechanism that posts once per day automatically*, increasing to twice some days more recently! At one point he works out how far ahead he is with his writing and it turned out to be almost a year! I’ve tried reading several MSDN blogs before, but Raymond Chen’s blog is the most readable and entertaining. (Well, Mark Russinovich is a close second place, but he used to be sysinternals which was acquired by Microsoft).

About the Author

Raymond Chen comes across as a very friendly and helpful individual. He’s very knowledgeable of Windows, appearing to have touched a lot of the code or knowing the person who wrote the original – it appears he has access to the source control logs to help track back those who have implemented some of the features he posts about. He’s a natural problem solver, applying common sense and his depth of knowledge while trying minimize the use of any psychic powers. It’s very common that he wants to know the ‘why’ of your question and make sure that you know it too, since a lot of the questions he gets are either misunderstanding the problem or trying to use the wrong solution. From time to time you also get an insight into other things he enjoys or knows deeply about such as knitting, germanic languages (Swedish, Danish, German), cycling, going to watch symphonies and eating pudding after.

Typical Content

  • The most time intensive posts are the link-dense clearance posts which can take a while to read through.
  • Raymond Chen often helpfully solves problems by highlighting the error message the programmer didn’t read, the piece of information that was missing the support request, or just psychically predicting the solution to the problem at the root of the original question.
  • Other times he seems to pull magical insights out of his hat when inspecting crash reports gathered from Windows Error Reporting. In general the error reports and the philosophy about fixing those errors make for a very interesting read.
  • Many of the posts referring to API usage use the source code to an example application which is reused between posts to provide a common basis. In most cases the code is extended to demonstrate the implementation of different features, showing the wrong and right way of doing things and sometimes even leaving additional questions as puzzles.
  • A lot of the posts review existing documentation or APIs and adding further detail and clarifying some common misunderstandings.
  • Although I don’t think he’d call himself a Common Language Runtime (CLR) expert, once a year he does a CLR week of posts that cover several CLR topics using common sense to dig deeper into each topic and referring to posts by the actual experts.
  • Some of the posts are sourced from a suggestion box that appears twice a year.
  • The less technical posts typically delve into Raymond’s pastimes. There’s quite a few on languages, some entertaining posts about reviewing reports from seventh grade students (12 to 13), some posts on cycling adventures and each year there’s a write-up of the upcoming symphony subscription season.

Some of my favourite posts

  • A useful suggestion: To test the quality of a backup system, try extracting a  file from the backup each week – amongst this list of links.
  • There’s several good posts about the use of batch files (such as this one). In each one he pre-empts the general dislike of the batch file syntax with his agreement that it’s not great but it’s in very common use. Every time I think I need a batch file, I do wonder if I should look at something like Windows Script Host.
  • A good description of how to investigate power down issues describing the powercfg tool that has been released and how to use it.
  • One of many posts about Microspeak – the [mis-]use of words to create terms used by management and frequently misunderstood (or not understood at all) by the rest of the world.
  • A worthwhile example of a CLR week post, How do I get the reference count of a CLR object? talks about how the CLR GC works, how reference counting isn’t a feature of it and discusses the balance between frequent smaller pieces of work and infrequent larger pieces of work – pennies vs dollars.
  • The Seattle to Portland bike ride series was a really interesting set of posts. Even though they were non-technical, they definitely make a large part of my favourites list.
  • Why are there two values for NoDriveTypeAutoRun which disable Autoplay on drives of unknown type? A great example of Raymond trying to be helpful and providing additional information based on his intuition, with bonus points for attempting to preempt the derailment of the comments followed by the subsequent closing of the comments.
  • How do I create a topmost window that is never covered by other topmost windows? is my favourite post of the entire blog. A recurring theme that I didn’t mention earlier is the ongoing quest by application developers to be the biggest and best on top of everything else. The repeated appearance of questions about how to permanently keep their application to the front grows until this post where Raymond really shows off his skills by describing the actual options available to force your window to the front. This then continues in a game of one-upmanship with himself – more like an arms race or a game of walls and ladders. I agree with one of his colleagues, Raymond Chen is not a guy to have this kind of war with!

A word of warning

Having read the blog from start to finish, I can see an issue that I found referenced on other blogs. As a successful blogger working for a large company which polarizes the opinion of those who interact with it, Raymond Chen is made a victim of his own success:

  • Some of his posts are taken as gospel, used as citations for Wikipedia content and reposted and reposted until they get a high enough page rank to be found side-by-side with the real API documentation.
  • The comments following the posts split into several groups: the everyday respectful replies to the content of the post; the anti-Microsoft league vs. the pro-Microsoft league; the nitpickers who imply extra detail into every single sentence he writes.

This means that after a while, he picks up on this and new sections appear in each post, such as Nitpickers Corner and Pre-emptive Snarky Comment. Although this can detract from the message of each post, I’d still recommend you start reading the Old New Thing blog now.

* For reference, I found the best way to read the blog was to read an entire page and then refresh each afternoon (UK time) so that the new posts are added to the top of the read page.