Archive for the PC Category

Left 4 Dead 2

Left 4 Dead 2These are the currently proposed maps for our group to play on Wednesdays, 8pm UK time.

The campaign titles are links to download sites. Download, unpack, double-click the VPK file to install.

For most L4D2 maps you will need to install the ‘Left 4 Dead 2 Add-on Support’ tool. Without this tool installed you are likely to see pink textures and missing model errors on player-made maps (amongst other issues): In Steam; View->Tools->double-click ‘Left 4 Dead 2 Add-on Support’.

HR

*New 26/08* Detour Ahead - Valve recommended Community Map.

*New 12/08* 2 evil eyes l4d2 - Valve recommended Community Map.

*Updated 09/07* Badwater Basin (TF2) - As recommended by Valve. Originally for team fortress 2 and ported over for Left 4 Dead 2! I did not make this map and I added it so some other people can enjoy it. Have fun!

*Updated 30/06* City 17 - As recommended by Valve. This is a recreation of hl2ep1 part, which is perfectly suitable for l4d world.

*Updated 27/06* No Mercy 2 - The ‘No Mercy’ campaign from L4D made playable in L4D2.

*Updated 07/06* Left 4 DeadCity II Campaign - Kill plenty of zombies starting in RiverSide (city) then battling through the Back Alleys, over a Draw Bridge, at a Water Plant and during the escape at the Subway Station.

*Updated 08/05* Arena of the Dead 2 - Escort your companions across town and over the roof tops to the Arena. Hold off the legions of zombies until the Rescue Chopper arrives..

*08/04* Deadly Dispatch - The survivors find themselves holding out above a small garage. They must fight there way through the dark urban area’s and reach the local evacuation station located in warehouse seized by CEDA.

*26/02* Dead On Time 2 - Apparently, the military has setup an evacuation outpost at the train station… may as well head there…

*19/02* Dead Air Two - as the title suggest this is the 3rd campaign from the first game. with that said, this is only to tide us over until the pros on this site can finish theirs.

*17/12* Left 4 Cake 2 - Survivors find themselves imprisoned and must solve puzzles to advance through testing stages while defending themselves from the zombie infestation. Features: cooperative puzzles, random spawning puzzle objects, and changing paths.

I’m late to the party (XNA Game Studio)

XNA
Visual Basic 6 and DirectX 8 are looking very long in the tooth now, pretty much dead, but where to go?

I dabbled briefly with an early version of XNA (Game Studio 2.0 I seem to recall) when I was looking at alternatives for game programming languages/libraries, but wasn’t particularly impressed with it. Yes, it allowed rapid development, and most of the basics were done for you, but it seemed slow, and required doing things in a particular way, and seemed more aimed at the casual 2D game market on the Xbox 360 (although it supports Windows development as well).

With the advent of XNA 4 (due later this year) I thought I’d have another look at it and so installed the latest iteration XNA Game Studio 3.1.

Install Microsoft Visual C# 2008 Express Edition

Install Microsoft XNA Game Studio 3.1

Visit the XNA Creators Club Online, in particular their Getting Started section (based upon XNA Game Studio 3.0)

The video tutorials walk you through all aspects of getting started with C#/XNA;  setting up a Creators Club account, creating your first simple 2D and then 3D game, and there are ‘Starter Kits’ that help springboard you into different projects.

Bear in mind that you don’t need to purchase the full membership to develop games for both Windows and the Xbox 360, but you will only be able to deploy your games on Windows PCs without the full membership.

Its slicker than I remember, and much more streamlined, I’m actually going to give this another go :)

Team Fortress 2 Free Weekend

Team Fortress 2
I have had a lot of fun with Team Fortress 2, over 200 hours and still going.

And Valve keep adding to this fun multi-player shooter, updating it with new upgrades, holiday game modes, etc.

Now, not only is Team Fortress 2 going to be released on the Mac, not only is it half price this weekend, it will also be free to play for this weekend so you can try it out and see if it it tickles your ‘multi-player frag fest with humorous upgrades’ bone :)

Check it out at Team Fortress 2 on Steam

In The Borderlands

As I have been playing Borderlands recently, here is a music video from Machinima.com, which will show you some of the gameplay :)

YouTube - In The Borderlands (Borderlands Rock - Rap Music Video)

Borderlands

BorderlandsSo, I’ve pretty much completed my first play through of Borderlands, solo.

Borderlands is playable as a solo First Person Shooter, but is really intended to be played co-operatively with up to 4 players.

Graphically Borderlands has a distinct style, slightly cartoon-y, and with an intriguing focusing system that sharpens up the detail when needed and leaves it a little fuzzy when you’re looking around or moving quickly. The detail in the level designs is amazing, with lots of clutter/junk to give a sense of life to the alien world that you are travelling through.

Sound is equally good, a well-balanced score, with some good up tempo combat/event music. Weapon and creature sound effects are well done, and the great voice acting is one of the first cues to the humour that runs throughout the game.

AI is ok, most enemies tend to charge straight at you, even the humans, although they will use cover and grenades at higher skill levels.

Gameplay-wise, the game structure is similar to an MMORPG, but without any real ‘grinding’ issues and minimal traditional RPG elements. If you play through all of the story missions and the side missions you should never have an issue with being too low level to tackle the next available missions.

The primary RPG elements are in each character’s ‘action skill’ broken into 3 paths of 21 skills (each skill has 5 levels), plus the bonuses that weapons/items give you in both ‘normal’ and ‘elemental’ bonuses.

All in all a good game with currently 3 DLC updates adding new zones and a 4th expected. I wish that I’d been able to go through this in co-op with a few friends, I expect that that makes it an even more fun experience.

Overall: 8 out of 10 :)

Origins in the Dragon Age

Dragon Age: OriginsIt seems to have been difficult to get through the month without hearing or seeing something about Dragon Age: Origins as there has been a widespread advertising campaign on-line and on TV.

Having liked Baldur’s Gate, Neverwinter Nights, Knights of the Old Republic and Mass Effect, also by Bioware, I had a look, and I have to say I’m impressed.

I don’t have a powerhouse PC yet it runs mostly smoothly on my rig with reasonable loading times (some of the bigger battles with lots of effects do cause a bit of stuttering at times, but not unplayably so). It’s a new game system (with a pen and paper version planned) but the play style, particularly the combat system will be familiar to players of KotOR, with a real-time, pausable, system. As with KotOR and Mass Effect, much of the game play revolves around the multiple companions, who will converse between each other and with you about various things, some exchanges are quite humourous :)

Depending upon which version you bought, when, and where, there are various DownLoadable Content (DLC) packs, some for free, some paid for, with more in the pipeline. There is also a flash game, Dragon Age: Journeys which can net you some extra DLC items for achieving various goals within it.

To C, or not to C…

C++I’ve been a bit busy lately undertaking a self-enforced C++ refresher course comprising two ‘Learning C++’ books, and some on-line tutorials as well as looking through two ‘C++ for Game programming’-type books (one on DirectX).

I now feel ready to tackle the pretty much required reading of Scott Meyer’s Effective C++ and More Effective C++.

So, if you see me around looking a bit dazed and confused you’ll know why :)

Left 4 Dead

Left 4 DeadThe campaign titles are links to download sites. Download, unpack, double-click the VPK file to install.

HR

7 Hours Later - A complete five map campaign, 7 Hours Later is done in near professional quality. Start in the forest, and work your way to the airport slaying football-fields of freaks in the way. Completely worth the time to check this one out!

Back to School - The Survivors will be on there way to school while escaping from the bloody infected. Battle hordes of zombies in detailed environments while traveling Back to School.

Cape Murder - Your hapless band of misfits picked the mouth of this creek to land their sinking dingy. You hoped for safety. Welcome to disappointment village, population YOU!

Coal’d Blood - This campaign starts in an abandoned bed and breakfast and leads the survivors down into an old abandoned coal mine. The survivors eventually find their way out the other side of the cave to be rescued by a passing news chopper.

Dam It! - This large, well built map will have you enter a dam packed full of zombies. Work your way through the 5-story complex through sleeping areas, offices and generators to finally reach the rooftop for an action-packed chopper rescue.

Death Aboard - How many times can you escape a prison? Apparently one more, because Death Aboard does a great job on the zombie threat scale. Once you fly the coup, catch a boat at the docks and prepare for the finale on an island with a lighthouse!

Death Row - This three part campaign will have our survivors battling their way through a city to a prison on the outskirts of town where they will get inside and radio for assistance. The attention to detail on these maps makes it very enjoyable!

Death Stop - A well thought out 4-map campaign, Death Stop has your favorite survivalists working their way to a truck stop against a zombie onslaught. There are a lot items in this map, so have fun shooting all the propane tanks and gasoline canisters.

Night Terror - Welcome to your nightmare! Night Terror will take you on a crazy trip through a forest to a haunted house, through an underground crypt, jungle ruins, and much more. A strange mix-up, keeps your attention all the way through.

Suicide Blitz - Another awesomely designed campaign, Suicide Blitz has you rampaging against zombies until a big finish in a gigantic stadium. Surprise, surprise, there is no football going on - but your brain is on the 20 yard line.

Vienna Calling - It’s really hard to be a tourist when a zombie is trying to crack open your spleen like a coconut, so don’t spend to much time exploring ancient catacombs or the famous recreational areas of Vienna or the angry undead Austrians will kill you.

The Arena of the Dead - Escort your companions across town and over the rooftops to the Arena. Hold off the legions of zombies until the Rescue Chopper arrives.

Design within design

So far, my design has revolved around the overall concept of the ‘game’. Although I have talked about the core, one thing not directly apparent from this design is that we will be building an ‘engine’ to form the core and handle all the main aspects. The game will sit on top of this core and provide all of the game-specific code, resources, flow, etc.

I decided to run an additional design stage on the engine to lay out the basics required separately to the game (although bearing in mind the requirements that the game will impose).

Essentially, we end up with several key criteria for our engine;

  • The engine will encapsulate all of it’s functionality into a single interface
  • It will provide 3D 3rd and 1st person graphics rendering
  • It will provide sound effects and background music playback
  • It will support, at minimum, keyboard and mouse for input
  • If a multi-player component is decided upon, it will support network interfaces
  • A scripting system will be used to provide control (and allow expandability)
  • A resource system will manage loading and releasing memory with game assets such as meshes, textures, sounds, etc

I have already specified Microsoft Visual Basic 6 and DirectX 8 as requirements for this proof of concept, but I am going to structure it in such a way that I will be able to migrate it to C++/DX9 should I move on to a full product in the future as my experience of C++ grows.

In this vein I have decided to make the engine class-based. This sacrifices a small amount of speed to provide better encapsulation and readability/maintainability.

I will also be experimenting with constructs normally considered in C++ such as creating windows directly (instead of using VB forms), the message pump, sub-classing, etc. At this stage the design is still fairly fluid and I will need to evaluate these decisions to ensure that they do not compromise the ultimate goal.

Attending to yet more conventions

Alongside naming conventions it’s also a good idea to have some coding standards, such as layout, declaration standards, commenting, etc. This will aid readability, and understanding of purpose, and avoid issues due to default data/object typing.

Option Explicit
Option Explicit is used to ensure that all variables must be specifically defined to avoid issues of typos, unintentional data types, etc.

Scope Declarations
Private, Public and Friend will be used for all declarations and ByRef and ByVal will be used for all function/sub parameters as this avoids confusion over default assumed declarations that differ between programming languages.

Object Declaration/Destruction
Where possible, objects will be declared using the early binding construct, ex;
Private m_objMyObject as ObjectType
Set m_objMyObject = New ObjectType

Objects will be explicitly cleared with;
Set m_objMyObject = Nothing

This avoids issues with default object references, and hanging references.

White Space
White space shall be used to differentiate sections, prior to comments (so that comments are always associated with the code directly below them), and to separate distinct steps in multi-line functions.

Indenting
Tab indents (3 characters) should be used to differentiate elements contained within another element such as a sub/function, loop, if…then condition, etc.

Form/Class Instantiation/Destruction
All modules (excluding BAS) shall include a public Initialise() and Terminate() function to allow explicit set-up and clean up rather than relying upon inherent methods such as Form_Load(), Class_Initialize(), etc. This allows us to control the exact point at which modules are made available/unavailable (allowing us to perform setup and clear down at particular times), allows us to pass parameters (which VB does not allow in most intrinsic methods), and enforces a common structure of creation, set up, use, clean up, destruction.

BAS Modules
A BAS module (modMain) is used for the main start up ‘Sub Main()’ and clear down ‘CleanUp()’ procedures of the project, but otherwise their use should be restricted to global declarations and code common to many other modules such as common API functions.