playing old games in new engines

This commit is contained in:
Wouter Groeneveld 2023-08-30 11:09:11 +02:00
parent 3d60e3ec6f
commit 92093f185a
3 changed files with 41 additions and 0 deletions

View File

@ -0,0 +1,41 @@
---
title: Playing Old Games In New Engines
date: 2023-08-30T08:57:00+02:00
categories:
- retro
tags:
- games
- engines
---
I'm replaying Quake---or rather, finally giving it a proper playthrough since I was a _Duke boy_ back in the day, and even though I too "wasn't afraid of no Quake"[^noq], I never really looked past the monotonous brownness[^br] of the first few levels. So I booted up my almost but not quite time period correct [Windows 98 retro PC](/post/2020/10/building-an-athlon-win98-retro-pc/), like a gentleman, and started playing the first episode with the software renderer from 1996, as I don't have a Voodoo card.
[^noq]: In Duke Nukem 3D, at one point in a level Duke calls out the game Quake by saying "I ain't afraid of no Quake!".
[^br]: If people said "I'm playing Brown tonight, you?", they meant Quake as a pun to the muted color palette used in the levels.
Truth to be told, in that state, the game doesn't look particularly compelling. At `800x600`, the frames drop below 15 FPS, reducing a fast-paced shooter to a slide show when a couple of ogres appear on stage. I don't think my Athlon CPU is to blame. Have no fear, dear GeForce owner, because the official GLQuake and WinQuake EXEs offer OpenGL and DirectX-based hardware acceleration (that crash my system at higher resolutions).
![](../quake-software.jpg "The Gloom Keep, 640x480 (enlarged to 800x600), software mode.")
But for the lesser fortunate people that don't have a retro PC or simply don't want to bother building one, there are plenty of alternative modern complaint executables that can boot Quake thanks to the source code release in December 1999. What followed was an explosion of so-called "source ports": DarkPlaces, ezQuake, ProQuake, Mark V, QuakeForge, Quakespasm, vkQuake, ... Simply picking any of these to get your game on the road seems to require a day of research.
But I'm not playing any of the source ports. Instead, I'm playing the recent re-release by Nightdive Studios, just _Quake_, to add to the confusion. Nightdive developed their own proprietary game engine called the [KEX Engine](https://www.nightdivestudios.com/kex/), which with its flexible high-level design and easy plug-in support, powers all of Nightdive's recent re-releases: _Blood: Fresh Supply_, _PowerSlave: Exhumed_, _DOOM 64_, _Quake_, ...
If this doesn't sound strange to you, let me rephrase that. Blood was a 1997 Build engine game: the same engine that powered Duke Nukem 3D. Technically speaking, The Build engine is a 2.5D engine with enemies and items as 2D sprites, while Quake's engine is one of the first real 3D engines. Under the hood, these game engines share little, yet Nightdive's KEX manages to perfectly emulate them both, even adding in additional impressive features such as dynamic lightning and shadow effects!
![](../quake-kex.jpg "The same Gloom Keep in KEX. Spot the differences.")
Unlike the various source ports, KEX games are a commercial product, but for `€10`, you not only get a widescreen-supported flashy re-implementation of the engine, but also all expansion packs and a brand new episode that's said to be excellent---I haven't got that far yet. The only downside so far is the annoying Bethesda name sticking to it after the id buyout. You'll need a Bethesda account to download mod packs. Remember that source ports only deliver the engine, not the actual content of the game: the levels, textures, and enemies.
Purists might start grumbling that KEX isn't Quake but another engine loading Quake textures and maps, and they are right, but I don't care. Nightdive has done an excellent job perfectly emulating the gritty, dark---and especially, brown!---feel of the original, and you can trust them to do the same with hopefully many other older games getting the same treatment.
---
This KEX thing got me thinking. There are so many great ways to play old games nowadays, especially with the availability of new engines. Jazz Jackrabbit has got [OpenJazz](https://github.com/AlisterT/openjazz), Rollercoaster Tycoon has got [OpenRCT](https://github.com/OpenRCT2/OpenRCT2), Duke Nukem 3D has got [eDuke32](http://www.eduke32.com/), Age of Empires has got [OpenAge](https://github.com/SFTtech/openage), many old adventure games have got [ScummVM](https://www.scummvm.org/), Might and Magic V-VIII have got [OpenEnroth](https://github.com/OpenEnroth/OpenEnroth), ... Even though some of these projects are abandoned or incomplete, the community has done so many great work to rejuvenate old classics!
If you want to replay an older game but don't want to bother (1) sourcing old hardware or (2) configuring DOSBox, even though GOG mostly does this for you, perhaps next time try searching for a re-implementation. I found a couple of lists to help you get started:
- Wikipedia's [List of game engine recreations](https://en.wikipedia.org/wiki/List_of_game_engine_recreations)
- A list of [awesome-game-remakes](https://github.com/radek-sprta/awesome-game-remakes) on GitHub
- Open source re-implementation projects and game clones via [r/FoamList on Reddit](https://www.reddit.com/r/FoamList/comments/pdhzmo/open_source_reimplementation_projects_and_game/)

Binary file not shown.

After

Width:  |  Height:  |  Size: 157 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB