Old and New Games: Nitronic Rush

Welcome to Nitronic CIty.  Drive Safely.  You're not in Massachusetts anymore!

“Nitronic Rush is not a typical racing game.  It is an experimental survival driving game.

This game’s graphics, physics and architecture were built completely from the ground up using C++, and without any premade engines.

–From the introduction

Nitronic Rush is indeed not typical!  Released late last year, and just recently updated, this is a project from a student group at DigiPen Institute of Technology.  The game has already made a lot of ripples in the independent gaming community;  it won the Gamer’s Choice award at the 2012 Indie Game Challenge.

As the introduction says, it is an experimental survival driving game.  Nitronic City has been attacked.  This futuristic city has been infected with a malicious computer virus.  In a last-second fail-safe, the city’s computer system deployed an anti-virus measure just before it was overrun.

That anti-virus measure is you.

In your neon-lit car, resembling a combination of a Corvette, a DeLorean and a Countach, you must drive to the heart of Nitronic City and destroy the virus at its CORE.

Here’s the trailer:

 

Your car has no weapons, but it is exceptionally maneuverable, with rocket thrusters along all degrees of freedom.

Tail stand, in a car!  Awesome!

You’ll need them, too:

Car driving up wall sideways, for points!  You'll probably need disposable undergarments, too.

Your car even has wings and a short flight capability:

This car flies!  Now, to try it on Rt. 114...

But as in any well-balanced game, your car has limitations.  The thrusters you use for flight and stunts get hot.  This is what happens when you stand on the gas:

Car about to ignite, just like a real Lamborghini!

Destroyed!

The malevolent CORE will send sawblades, laser gates and falling spike cylinders to meet you:

You have to dodge falling stuff.  Come to think of it, I-93 in Boston isn't any different...

But there are some surprisingly beautiful moments:

Blue sky.  In the Matrix no less!

But never let it be forgotten that Nitronic Rush is a homage to Tron, and all of cyberspace:

If we drive slow and take notes, can we recreate this game from source?

And always take to heart the important lessons of physics that you learn in driving through these pixelated streets and skies:

Inertia blows, too and don't you forget that!

Nitronic Rush is free to download.

Next in this series:  An old arcade genre gets an extra life on the PC.

Advertisements

Old and New Games: DethKarz

Dethkarz title page

As most of my readers know, I am a long-time videogamer.  I’m also a gamer with a (low) budget;  I have to make my gaming work within the same budget I use for my professional development equipment.  That means I have the same ten-year old yellowing case for my workstation, rather than a cool gamers’ case.  I do have a decent monitor and the X-Box controller I talked about before.  And I have Steam, GOG and a multitude of independent developers to keep me in games in exchange for relatively little cash.

PC gaming, left for dead by the console industry, has settled into a decent niche that is still very much alive.  Independent developers have created a lot of good, and successful games.  Steam, the online game store/environment/host/social network, has made box and disc purchases all but obsolete, just as GOG has done for the bargain oldies bin at CompUSA.

As I promised before, I’ve gone through my back collection of games and I’m going to write about some of them.   

Video games have been around long enough for us to see the same tropes and themes, in old games and in new.  I can’t help but compare my older games to my newer games and see how games have changed and how they haven’t.  What old games do I still love to play?  What new games haven’t I played once I took them out of the box (or the zip or the download)?  What themes do I see over and over?  What interesting tropes are there in old games that I have never seen in new games?

I’m going to cover one game at a time, one old, and one new.  I’ll provide compatibility information—all games I cover have been tested on Windows 7 (and soon Windows 8)—and availability, if the game is still on the market.  (Acquiring  “abandonware” is beyond the scope of my series.)

All games I write about are installed or downloaded “full” client software installations;  I won’t get into browser-hosted games.  I seldom play multiplayer, so my perspective is that of the single player environment.

(“Old games” and “new games” terms need clarification.  Most gamers define “old games” to be “last month’s releases.” Technologically, I consider the dividing line to be the mid-2000’s when most games stopped targeting Windows 9x, when Windows XP and its runtime environment predominated, and when GPU technology became inexpensive and mainstream, making PC gaming technology more homologized than it ever had been.  I’m going to be very fluid and arbitrary in my distinctions between new and old.)

Screenshots are generated by FRAPS unless stated otherwise. 

Today’s old game is Dethkarz, published in 1998 by Melbourne House.  Dethkarz is a futuristic cyberpunk racing game.  You choose a racing team, and compete on urban, coastal, futuristic and off-world tracks with a car that races on an elevated course.

And your car has lasers and missiles.  Dethkarz falls into the combat racing game genre.

Dethkarz 2012-02-05 22-38-29-64

I’ve fired on the guy in front.  As you may see, I’m about to gain a position!  Too bad about that DNF.

You get missiles and other abilities through convenient power-ups located on the track:

Collecting powerups

You get powerups for extra offense, shields and free energy to repair your car.  You recharge your car by driving through an energy field about where pit road would be on a conventional race track, on the left hand turn in this screenshot.

 

Dethkarz 2012-02-05 22-24-53-59

The signs and billboards are striking. They are right out of the cyberpunk culture we first saw in Blade Runner.   A few years ago, the Wachowski brothers dipped into this same well to make a movie version of a popular 1960’s Japanese animated series that was also about a futuristic race car and its driver.  Look familiar?

Loop track, Thunderhead Raceway

Thunderhead Raceway wide shot

If Speed Racer were made into a game (and it will be or already has been or will be again, that’s a certainty), it might look like the movie.  Melbourne House may have had Speed Racer in mind anyway, from this screenshot:

Driver X Sign

When I saw this sign, I could not help but think of Racer X, that enigmatic, mysterious, driver that figured so much into the career and life of Speed Racer in the series.

Dethkarz was a good game for its time.  The 3D models are “blocky”, which was common in 1998, as GPU hardware was expensive and texture mapping not as well developed as it is today.  The track and scene design is relatively simple and doesn’t exhibit the “pop-up” syndrome we see in many games (modern games, even) where textures just suddenly pop in as you’re racing through the environment changing your viewpoint.

(If you play old games, particularly old racing games, note how many environments seem to be foggy places, whether weather conditions are simulated or not.  You don’t have to render distant objects in a fogbank, Carmageddon being the best example.  No wonder you can’t see jaywalkers before you run into them!  There’s nothing like being pushed into a fog bank by another car only to realize you’re going off a cliff that has just been revealed beyond your control.)

The game works fine with my XBox controller with the default control bindings.  Steering is overly sensitive, so you need to be very light with control or else you’ll be dumped off the course over and over again;  this was a fault of the game even in its time when I used a traditional controller.

I ran the game at 1280×960 with no performance problems.  (I am not obsessed with FPS figures, unless the game is running at 0 FPS and it’s crashed.)   The game installed right from the CD with no compatibility shims applied. 

Dethkarz will run in Windows as a standard user with UAC enabled, though it will need to be elevated to install.

Dethkarz is not currently available for purchase or download.

Next up, a brand new “experimental” racing game inspired by the 1980’s.


Update: TIE Fighter Compatibility

X-Wing fighter, inspecting a cargo container

A post of mine two years ago has gotten by far the most comments of any I’ve ever made in any of my blogs.  A lot of people loved reading “The Force is With Me! TIE Fighter 95 on Windows 7 x64”, but had trouble getting the compatibility shim to work.

I’ve found out a few things:  The original SDB file on LucasFiles was written for an older version of the Microsoft Application Compatibility Toolkit (ACT).  I don’t remember which version I had originally used to read the file, but this file cannot be opened on it.  The 32-bit ACT Compatibility Administrator will report that it cannot open an x64 compatibility shim, but if you run the 64-bit version, it will say it can’t open a x86 compatibility shim.  I don’t use this tool very often and I’m not sure just how Microsoft deals with upgrades, but the original file was not going to be openable.

I used a utility called sdb2xml to extract the original SDB file to XML and read the settings.  I then recreated these settings in a new SDB file, uninstalled the old SDB file using Windows’ built-in sdbinst command and reinstalled the new SDB file.

I’ve made it available on my website.  Download xwtie95v2.zip.  Unzip the file into a temporary folder and run the batch file therein.  All that does is execute sdbinst xwtie95v2.sdb to bring the shim into the Windows compatibility database.

You don’t need to have the ACT installed to use the shim.   If you do have the ACT, you can open the shim with Compatibility Administrator (x86), not the x64 version!  (The 64-bit version of Compatibility Administrator is for fixing 64-bit applications.  Unless you were running 64-bit apps on Windows Server 2003 x64 or even XP Pro x64, you will almost never use this version.)

If you’re installing the game on 32-bit Windows (Vista or 7), the original installers should work.  If you’re on 64-bit Windows, the installer shims can be had from http://www.markusegger.at/Software/Games.aspx.  You’ll copy the original game discs and use those to make a slipstream copy with a 64-bit-compatible installer.

The other Star Wars games, X-Wing Alliance, X-Wing Vs. TIE Fighter, and Rouge Squadron, don’t need shims.

I’ve played a few missions in TIE Fighter with my shims and it appears to work.  The screenshot is from X-Wing because I could not remember for the life of me what the keystroke for screen capture is in either game, and I had X-Wing screenshots lying around.

Since TIE Fighter is such an old game, many of the websites devoted to it have disappeared;  finding information on old games is as much a challenge as is playing them!  But I found a few sites:

Allen’s site has a collection of homemade missions, which I have not tried yet.

I hope this works for those still having problems.  Happy gaming!


Old Game, New Controller: Descent

I’ve been playing a lot of games lately.  In fact, I seem to have more games in my collection than I have time to play so I just rotate in or out as my tastes dictate.  (I got Carmageddon working under DOSBOX.  The less said about that game the better.  It doesn’t help that I have bought more games from GOG and at dollar stores recently but…)

An old game I’ve been playing lately is Descent.  I have the entire Descent series (three games) and the entire Freespace series from GOG.  I’ve had trouble playing the original Descent games (Descent and Descent 2, which used the same engine) because neither of them supports my controller very well.  DOSBOX, the virtualization software for DOS games, only emulates the native PC joystick interface—four axes on two sticks, and four buttons. 

This does not work well nor play well for this game, for reasons I’ll explain later on.

There is a solution.  Descent is one of several games whose source code has been released;  The Build engine of Duke Nukem and Redneck Rampage (not that I own these), and most famously, Doom, has also released as source.  I have played and loved Doomsday, the 3D engine for Doom and Doom 2.

A German Descent fan has developed D2X-XL, a Descent 1/2 game engine that runs on modern machines.  It, like Doomsday, implements the full lighting and shading effects that we expect from a modern video card at modern resolutions, including 16:9, which I now use.

Most importantly, it supports modern controls. 

D2X’s install is moderately complex for a typical gamer;  install the game in a directory outside “Program Files” (I have “\miscprograms\games\”) and copy the game data files from a copy of Descent 1 or Descent 2;  if you bought the GOG edition as I did, they are in C:\Program Files\GOG.com\Descent 1 and 2\.  If you run the D2X executable, it will give you a dialog box explaining which files are missing.

(If you are on a x64 system, the GOG files will be in \Program Files (x86).  D2X comes in a 64-bit version, so you may want to read the instructions on how to use that.)

I won’t go into graphics setup as that will vary;  my elderly nVidia card had to have most of the settings dialed way down so my screenshots won’t look as cool as they would be on a modern card and motherboard (next year maybe.)

The controls are set in Options/Controls/Customize Joystick. 

Before I go on, I must say that Descent is one of the more complicated games to play and control.  Only flight simulators are more specialized than this game.  In the game, you pilot a spaceship down the corridors and passages of a mine, battling rouge mechs, trying to destroy the mechs and the mine (via a reactor you blow up) in order to go on to the next mine.  Your ship has controls on all three axes, and you not only pitch and yaw like an aircraft, but you also move laterally left and right, up and down, forward and back.  And, like a fighter jet, you have an array of weapon systems to manage .

How I ever liked this game when I was younger, I do not know.  (In those days, a joystick with a hat switch was the thing to play it with.)

Here is my setup for using the XBox 360 controller.  I’ve had this controller longer than any other and I love it.

In this game, as in most games by default, the left joystick control is joystick #1 and handles the pitch and yaw.

The D-Pad control on the bottom left is not used.

The left and right “bumper” buttons (or shoulder buttons if you will) fire the primary (laser) and secondary (missile) weapons.  Here’s where it gets complex.

The right joystick, unused by most games, is used to slide (translate) from left to right and up to down.

The right trigger engages forward thrust.  The left trigger engages rear thrust.  In this controller, the triggers are treated as an extra axis and will register partial trigger movements (though not in Descent.)

The white Back button cycles through your primary weapons;  the white Start button does the same for secondary weapons.

Button A fires a flare—very necessary in most mines that are dark;  button B will bank the ship with the joystick when it is held in.  Button X replicates the forward thrust control;  Button Y replicates reverse thrust.

The joystick controls themselves can be pressed for an extra button each.  They, like the D-Pad, are unassigned.  Of the remaining controls in Descent, most are either infrequently used (cruise mode) or too dangerous (bomb release) to warrant being available on the controller.  I’ve tried to make this logical for the way I play, and it has seemed to work.

A skilled player, of which I am not one, can make his or her ship do pirouettes all day with this controller.  I’ll just settle for surviving to the next level.


The Force is With Me! TIE Fighter 95 on Windows 7 x64

I’ve mentioned before how I was looking forward to trying many of my old games on Windows 7.  I was delighted to learn I could get my most favorite game working, Star Wars: TIE Fighter.  This game was released for DOS, when I first played it, and then on a CD collection for Windows 95, when I played it some more.

TIE Fighter wouldn’t work on Windows XP for anything I tried.   When Lucasarts said that the game would never work on XP and would never be fixed, I figured that was it.   I was crushed.  I couldn’t bring myself to get rid of the install CD.  As with Duke Nukem, I had hoped someday I’d get it going on a leftover copy of Windows 98.

I knew, over the years, Microsoft was releasing new application shims for XP, and I had intended to try the Application Compatibility Toolkit (ACT).  I never got to it.

In 2004, someone did!   Craig Perry created a compatibility shim for both TIE Fighter and X-WingIt’s on the Lucasfiles web site.  (UPDATE:  Use my shim instead:  xwtie95v2.zip)   It doesn’t feel right for me to use it unless I can understand how it works—I should have figured this out in the first place!  I’m stupid!

Quoting Microsoft, the application compatibility infrastructure works like this:

You can circumvent the compatibility problem by using the Compatibility Fix infrastructure to target a specific application fix, for a particular application (and typically for particular versions of that application). The Compatibility Fix infrastructure implements a form of application programming interface (API) hooking, which uses the inherent linking ability of the APIs to redirect from Windows code directly to alternative code that constitutes the compatibility fix. The Windows Portable Executable File Format includes a number of headers that contain the data directories that are used to provide a layer of indirection between the application and the linked file.

There are many compatibility fixes, or shims, exposed in the ACT, most of which are not in the standard compatibility mode UI that you see in the properties tab of a shortcut or an EXE file.   The shims for an application (which may cover more than one executable) are bundled into a .SDB file and placed in the Windows directory \Windows\AppCompat.  Here is the SDB file for TIE Fighter, XWTIE95.SDB:

After installing the ACT, and running Compatibility Administrator on this SDB, we can see this fix applies to two applications, Star Wars TIE Fighter 95, and X-Wing 95.  The right pane displays specific settings for TIE Fighter.   There are shims for two programs, TIE95.EXE and TIESTART.EXE.  (X-Wing 95 is similar, so I won’t describe that application.)

TIESTART, the game launcher, has two fixes applied, CorrectFilePaths, and SingleProcAffinity.  The latter is a common fix—it tells Windows to keep the application on one processor.  Until very recently, there were almost no home PC’s with multiple processors;  XP Home, the host for most modern PC games was only licensed for one processor and in any event you could not buy, let alone afford, a multi-processor board that supported a 3D video card, sound or even game controllers (analog, in those days.)   Almost all PC games are single-processor;  there may be some newer games that now take advantage of multicore CPU’s, but since I seldom run contemporary (read: expensive) games, I wouldn’t know.

CorrectFilePaths fixes the Windows path for the executable so that it sees Windows 95 file paths.

TIE95, the main executable, has the most important fixes as far as the game is concerned.  In addition to SingleProcAffinity, it has EmulateCDFS;  this allows Windows 95 apps to see  the CD (now DVD) drive in the way they expect;  there were many changes to the CD filesystem drivers between 9x and XP.  But two more fixes really make this game work.

IgnoreException instructs Windows to ignore specific runtime exceptions.  In TIE Fighter’s case it is set to READ_ACCESS_VIOLATION.  The game would often crash when launched, and this fixes that without affecting the rest of the executable too much.

MapMemoryB0000 is the most important fix for the game.  Microsoft:

Some applications require that a block of memory be mapped at B0000 as it is on Windows 9x. This compatibility fix will map a block of memory at the B0000 address for the application. Applies to: Windows 95, Windows 98.

Without this fix, it was impossible to run TIE Fighter with 3D hardware.  Fix this and the game runs.

Am I all set?  Not quite.  I run 64-bit Windows (7 Ultimate).  TIE Fighter and many other Windows games use a 16-bit installer which won’t work in 64.  Windows has code for some 16-bit installers but not this one.

Fortunately, many games, unlike most applications, don’t have complicated installations:  Just a directory copied off the install CD or uncompressed from packages into \Program Files, a Start Menu shortcut, and installation of redistributables like DirectX and other common libraries.  Many games never use the Windows registry and store their configuration data separately from Windows.

Easier still, a guy in Austria has made MSI packagers for the Star Wars series;  all you need to do is get game patches and the Microsoft Visual C++ 2008 redistributables, plus the original CD, and copy all the files to a directory to slipstream a new install CD.   Markus Egger’s site has install patches for TIE Fighter, and all of the Laurence Holland games (X-Wing, TIE Fighter, X-Wing Vs. TIE Fighter and X-Wing Alliance.  Did I mention I own all of these?!)

The Totally Games forum has tips on getting this series of games to work on modern Windows.

I’ve successfully run TIE Fighter and the other games, though all of them have their individual compatibility quirks, some of which are fixable, others not.  Many newer video cards don’t support older video modes (320×200) correctly, which is a problem for a good number of old games.  X-Wing Alliance is notorious for distorted fonts (there is a replacement fonts package available.)

Amazingly, TIE Fighter and the other Star Wars games work and play great with the XBox controller—the games even default to useable control bindings even though gamepads were not originally made for the PC, let alone with analog controls like modern pads.  (I have not bought or used a traditional joystick in years.)

This is already a long post, so I’ll just close with one last screenshot:

In this training mission,  my commanding officer is about to have a really bad day.  It’s actually one of the mission goals that you take over for your flight leader if he’s taken out of the action.  The game doesn’t say exactly how that’s supposed to happen…then again, it’s just a regular day in the Imperial Navy.

Happy Star Wars gaming!

(UPDATE:  Once again, I’ve revised the SDB file.  Get it here.  And read my updated post.)


Trackmania: Nice View!

While waiting for my Thanksgiving goodies to be ready for the oven, I played a few rounds of Trackmania.  Surprisingly, it offered an update.  The Star Edition update offers a new series of tracks, the Star Tracks, which were created and submitted by other Trackmania players.  (Descent once had such a user-created level pack.)

This is Star Island A4.  Trackmania is known for its glittering and often overly pretty scenery (especially in the Bay, Coast and Island enviroments) and this screenshot doesn’t do it justice.  The taillight trails are part of the game.

I must have been one of the first players to get this update:  There were but 17 people in the world listed in the standings and I was the only US player!  (I’m ranked #1 FWIW.)


Windows 7 Game Update

Since I’ve been trying and failing to get back to work at SATV, I’ve tried more games in Windows 7.

Many contemporary games work without any adjustments, like Trackmania, above.  It’s a gorgeous game, even though I have an “old” nVidia 7600GS (putting off a new motherboard and video card for next year.)

Most “casual” games work, too, such as Gridrunner:

I love arcade games so I have Atari’s 80 Classic Games.  The game launcher graphics are distorted.  That’s an improvement over when I tried it on Windows Vista;  same distorted menu, but I couldn’t start any games from the menu.

The games themselves do work:

One game I tried did need a tweak:  Grid Wars 2.  In the properties for the game executable (which has a shortcut to my desktop), make sure that DPI scaling is disabled:

It works.

Happy gaming!