Sunday, 4 August 2013

1GAM July: Hunted

July's game is another exceedingly ambitious title, but I'm pleased to say that this time it has mostly come together. Hunted is a top-down shooter that features a large procedurally-generated "open" world, day/night cycle, vehicles, plenty of guns, enemy compounds to infiltrate and nasty Generals to eliminate.

Hunted takes inspiration from a multitude of games including the Amiga games Hunter and Firepower (prequel to Return Fire), with a smattering of Far Cry thrown in for good measure. The player is a special forces dude of some kind that is tasked with the elimination of three (randomly placed) enemy Generals, within the three-day mission time limit.

To achieve that goal, the player must find and infiltrate enemy compounds by collecting maps from dead foes that reveal the nearest compounds' locations on the in-game map. Occasionally an enemy will drop a map that pinpoints a General's location.


There's a lot to write about the work that went into creating Hunted, not least of all the terrain generation. I've never attempted procedural generation on this scale before. I made use of Perlin noise to generate the archipelagos of islands which is a 1000x1000 tile world. Each tile is 100x100 pixels, making the total world size 100,000² pixels.

After the islands are generated, I use a second round of noise generation to create the jungle/forest that covers the islands inshore. I then use a simple iteration over the tile array to generate detail tiling, such as the seams between water and sand, and sand and grass. There's more work afterward to generate the compounds, which must be placed at least a certain distance apart from each other, and contain buildings which are also randomly generated.

Aside from world generation, there's a whole AI system in place that works a little like GTA's 5-star "aggro" system. The player's "Hunted" level rises whenever he is spotted (or heard) by an enemy, and cools down when the player leaves combat. The enemies use a "last known position" system to "find" the player, and spawns and alerting become more aggressive the higher the player's Hunted level becomes.

Vehicles make copious use of camera zooming, especially the helicopter which uses a zoom and offset shadow to give the effect of gaining height. When a player enters a compound building, the roof fades away to reveal the internals. In the day time, the ambient shadows of trees, walls and objects move according to an east-west sun position. At night, a pixel shader is used to cast torch light and shadows.


At the time of posting, Hunted needs another couple of weeks to make it into a polished game, but I'm releasing it early as an alpha to fulfil the One Game a Month challenge for July. I'll be spending the next couple of weeks polishing it and releasing a final version mid-late August.
August's game will be the result of Ludum Dare 27, which occurs on the weekend of August 23rd-26th.

Tools Used

  • Monogame / XNA
  • C# .NET
  • Visual Studio 2012
  • Photoshop CS6
  • Audition CS6
  • Tiled


A whole month of spare time, pretty much full steam ahead. At least 100 hours.

Special Thanks

  • Paul, who once again came through with some awesome spritework.


1GAM Alpha version

The 1GAM alpha is an unfinished but playable version of the game. The final release will hopefully be posted in a couple of weeks' time. Here's a list of missing stuff/known issues:

  • Several graphical items are temporary or missing, including: sprites for item pickups, some icons, intermediate water/sand/grass tiles
  • Loading and saving is not implemented
  • No intro/main menu screen
  • No win/lose conditions: The finished game will have a limited mission time, and will end when the time runs out or  all generals are eliminated (the player will also have to find an extraction point to complete)
  • Some missing and/or temporary sound effects
  • Pathfinding and combat needs polishing work
  • Game is unoptimised, resulting in frame hitches and slowness in places. Some of that is also due to using the Windows GL MonoGame libraries, as opposed to DirectX.
  • Joypad controls not implemented

Windows. If it doesn't run, you may need to install OpenAL.


John Peter said...

Great Article
C# Training
C# Training

Rajapriya R said...

nice and really helpful article to everyone... thanks for sharing

selenium training in chennai | selenium training institute in chennai | Android training in chennai | android training institute in chennai

Geetha Devi said...

This is a wonderful article, Given so much info in it, Best Selenium Training in Chennai |Selenium Training in Chennai |
Android Training in ChennaiBest Manual Testing Training in chennai

Saradha Devi said...

keep sharing informative post

Best Selenium Training in Chennai | Android Training in Chennai | Java Training in chennai | Webdesigning Training in Chennai

Geetha Devi said...

Thank you for sharing Best Selenium Training in Chennai

Rajapriya R said...

informative blog

java training in chennai | java training institute in chennai | java j2ee training in chennai | java j2ee training institute in chennai

Jones Sathya said...

Professional Expert level Android Training in chennai, Android App Development
Android Training | Android App Development | Training in chennai

praveen said...

Very nice post.I have read your blog it's very interesting and informative. Keep sharing.
MBA Project Center in Chennai | BBA Project Center in Chennai | MCA Project Center in Chennai

ASO Services said...

Hi dear, I like your post so much, and it is very good. Hope that we can communicate with each other. I want to introduce an aso services, I try it and I feel it is so good to us beginners.

dharu dhari said...

Impressive blog with lovely information. really very useful article for us thanks for sharing such a wonderful blog... No.1 Software Testing Training Institute in Chennai | Best Selenium Training Institute in Chennai | ISTQB Certification Center in Velachery

srihariparu said...

Your Blog is really amazing with impressive content..keep updating.
Cloud Computing Project Center in Chennai | IEEE Cloud Computing Projects in Velachery