Age of Empires Online

If you've ever played AOE (Age Of Empires) in the past you'll know it was one of the best RTS' of its time and still holds up today as a classic. So when Microsoft announced it was working on a new online version I was excited, but what stood out was that they were giving it away for free.

(download)
Free-to-play is fast becoming a popular business model for game developers. Battlefield Heroes and Quake Live were two of the first big titles to adopt it but never saw mass adoption. Now that Valve have thrown their considerable weight behind the it with the popular Team Fortress 2 and rumoured Dota 2, it seems that free-to-play here to stay. But how does it effect the game?

For the first few hours of AOE Online you'd be forgiven for thinking that there wasn't a pay element included in the game at all. The developers have been very careful to hide away anything to do with purchasing until you've grasps the basics of the game. It's only after you've complete the first set of tutorial missions that you're exposed to a purchase upgrade. You're informed that an exclusive item can upgrade your units giving them stat bonuses but at a price, 1840 gamer points in fact, which works out at £15.76. For your money you gain access to the 'premium content pack' allowing you to use rare items, star tech and advisers. Helpfully the AOE website provides a comparison table that makes it easy to see what you get for your money.

The good news it you can pretty much ignore the purchase side of the game if you wish. Casual gamers will have fun with the missions and can play with friends in co-op mode. It's only when you want to get serious with the game do you need to upgrade, and at around £16 that's a lot less than a full retail game.

So far it looks like Microsoft have gotten the balance right with AOE Online. Upgrade purchases aside, AOE Online looks great, is fun and doesn't cost you anything to play. Its hard to complain about that.

Standing on 16-bit shoulders

Img_20110203_194746

With my recent interest in HTML5 gaming I've started replaying some of the classic games from my childhood. The late 80's and early 90's was a golden era for gaming seeing several generations of consoles and home computers enter the market. From the industrious Commodore 64 and the classic NES to the much loved Sega Mega Drive.

Today these old systems have been superseded by more powerful consoles with bump-mapped textures and real-time shadows, but this doesn't apply to HTML5 games that use of the 2D <canvas> tag. Even on a quad-core Mac book pro, it can still be difficult to keep a steady 30fps with multiple sprites bouncing around the screen.

To learn performance and graphical tricks from the 16-bit masters I've gone back and started replaying classic games, but to do this I needed some help from an emulator and a controller adapter.

There are many emulators available for pretty much every device every made, but  as I'm using Fedora Linux it was a little more involved. I own a Wii Classic controller which is a great gamepad for playing old games and wanted to get it working on my netbook. After some searching I found instructions on how to set it setting a USB controller:

 su -c 'yum install joystick'
 su -c 'modprobe joydev'
 su -c 'modprobe iforce' 

After that is was a simple matter of installing Gens, configuring the gamepad inputs and its done. Now I'm happily playing Teenage Mutant Turtles on my netbook using the Wii classic controller and life is good.

SkiFree HTML5 clone

Skifree

Play SkiFree HTML5 clone

Gaming, art and coding are three of the my most enjoyable pursuits. So with the rise of HTML5 and growing creditability of JavaScript I've decided to step into the indie-game development scene with this, a SkiFree clone.  It is my first attempt at pulling all the elements of programming, pixel art and simple game mechanics into a single game.

The next steps are to explore different game types such as 2D scrollers and RGP's, with the ultimate ambition of creating my own game creation.

Another good Killing Floor co-op

Mondays are special, something to look forward to. When else in the week can you load up with a man cannon, AK-47 and  gun down wave after wave of screaming witches and rocket toting mutants?

Killing Floor has a special charm, a comic-book lightheartedness. While L4D is a classic, there something endearing about Killing Floor. Maybe it's the RPG leveling system, or the purchasing of supplies between rounds that adds that something extra, making it a co-op game that lends itself to played again and again. 

Whatever it is, all I can say is "bring on next Monday".

(download)

Administering an EC2 Minecraft server using SSH on Android

I've already blogged about my love for Minecraft, so the natural next step was to setup our own server for co-op gameplay. It turned out to be a good time too as Amazon is offering free micro EC2 servers for a year.
Getting the server up and running was simple, with a very nice how-to guide on the forums for additional guidance. However, one thing remained, administration.

As a group we all have access to the server, but seeing as its running on Linux and Minecraft is a little flaky, there's a good chance we'll need to restart the application or reboot the server. So what happens if the server falls over when I'm out enjoying a Black sheep? That's where Android steps in. Some very nice programmers have made connectbot, a secure shell application that allows me to SSH into the server and run terminal commands. What makes connectbot even better is that it supports .pem keys, meaning I have passwordless access to the box.

I used Dropbox to copy the .pem certificate to my mobile, set up the server in connectbot, linked to the .pem and that was it. The soft-keyboard interface takes a while to get use to but its easy to learn.

So there we have it, remote SSH access to our Minecraft server via my mobile phone. Now we just have to wait for the Minecraft update so we can use the portal and enter the Nether.

(download)

Hack day 3: dreaming of Micro Machines

Our third hack day started with a clear vision 'create an online multi-player racing game using the latest web technology'.

Inspired by the classic racing game Micro Machines, we planned to create a fun sandbox game where the visitors would be dropped into a world along with fellow site visitors. They could race around, bump into other people and generally explorer.

The day was off to a good start. We had the idea, knew what technology we were going to use and even converted a nearby window into a post-it note task list. It was only several hours later that we realised all was not well.

It turns out node.js is hard, and using undocumented second generation ports of physics engines is even harder. While Jon was busy creating some sweet vector artwork, myself and Kenneth were in constant state of code rewriting and caffeine drinking. A few hours later and the coffee had been replaced by some lovely ale, but the code refused to fit together.

After some pizza and another ale, we finally got the code running. Little vector cars were driving around, colliding and bouncing using real world physics. The problem was it didn't work particularly well, only running smoothly a quad core CPU.

We decided to call it a night and head to the pub, where we'd figure out what our next steps would be. Jon had almost finished the artwork but we didn't have the code to use it, so we made the decision to simplify. Out went the Box2D physics engine and in came a simple driving system. If we could manage to get the cars driving around without slowing down the system we might be in with a chance.

A bacon and scrabbled egg breakfast was the perfect start to day two. We had four hours to rewrite the driving code, integrate the SVG artwork and get node.js up and running. With bellies full of bacon and all the coffee we could drink, we set to work.

It was around this point it began to dawn on us we might have bitten off more than we could chew. Software like node.js and Box2D might seem like simple solutions when looking at carefully crafted examples, but when it comes to using them in your own projects you soon realise they have a complexity all to their own. I wanted Box2D to model simple forces, but the lack of clear documentation and abundance of obscure methods made the task difficult. Writing your own simplified solution from scratch is time consuming. Choosing the write solution can make or brake a project.

While we didn't manage to completeour vision of an online racing game, we did get to use some amazing technology and Jon made some gorgeous artwork. I also gained a new found respect for game programmers, especially those who write for the browser.

And so ended hack day three that also marked the end of an era as one of the fellow hackers is leaving for bigger and better things. I hope that it in some small way his good fortune was influenced by the few projects we made on our hack days, and if so I would like my 33% share of the stock options ;-)
(download)

Minecraft now controls the horizontal and the vertical

I think I've made a terrible mistake. Over the last few weeks I've been reading about the growing success of Minecraft, so I decided to buy in and see what all the fuss was about. It's now lunch time at work and I've spent the last half an hour mining iron ore and spelunking, a term I only learnt after playing this game.


There's a fun write up available explaining how Minecraft works and why it's so fun to play. But just reading about this game can't capture the amazing nuances that make it so entertaining. There's the joy of exploring massive underground caves, crafting your own tools from raw materials only to use them to make more advanced tools, and fighting creepers, skeletons and spiders with the fear of losing everything you spent time crafting.

It's the simple elegance and focus on exploration that makes this game such a rewarding experience. For all the time you spend mining and crafting, you are constantly rewarded with a sense of accomplishment and tempted to go that little bit further. Minecraft takes the part of your brain that found Theme Park and the Tycoon games so compelling and boils it down into a near perfect sandbox game.

Now if you'll excuse me, I have some smelting to do.

(download)

L4D2 co-op comes to an end

So L4D2 has finally come to an end *sigh*. Our weekly four player co-op gaming sessions culminated tonight in the completion of the final chapter.

I was surprised at how easy it was compared to earlier chapters, but overall a good finish. However, nothing could top the previous chapter, Hard Rain. That chapter is one of my all time favourite gaming experiences so far. From the multiple witch kills, to the awe-inspiring special effect that made you feel you where in the midst of a force ten storm. Hard Rain was perfect.

So farewell L4D2, you gave us many good times, and I see you again soon when the next DLC arrives.

Killing Floor Co-op Gaming Night

My regular Co-op gaming night is pretty much focused around killing zombies. So when Steam had the Killing Floor on sale recently, it was a must have purchase.

Similar to Left-4-Dead, Killing Floor is a team based co-op FPS with an emphasis on zombies. Think 28 Days Later meets Counter Strike.

Set in all manner of different locations, from the east end of London to the swamps of the Mississippi. The aim is always the same: survive round after round of zombies.

There's a nice mixture of zombies, from the standard bullet fodder to chainsaw wielding hard-knocks. At the end of each round a shop opens, allowing you to buy and sell weapons and armaments. Upgrading weapons is essential as in later rounds the number and difficulty of the enemy waves increases.

The Killing Floor is great fun that manages to get the balance between military zombie killing and B movie silliness just about right, plus it's available for Mac too.

(download)