[Content warning: Unreal contains Low-poly blood, gore, gibbing etc]
It's the start of 1998, and currently id Software remains the reigning champ of first-person shooters and 3D game engines for PC. The Build Engine used in Duke Nukem 3D and Blood is no doubt charming, but the idTech engines were the ones really pushing those ATI Rage GPUs to their limits with full 3D and fast gameplay, powering the likes of Quake, Quake 2, Hexen 2 and SiN. This year forever, two challengers would come to challenge Carmack’s stronghold on the FPS market. One of those games was Half-Life… kind of. Half-Life was powered by the GoldSrc engine, which was heavily modified from the source code of idTech 2. But earlier in the year, Epic Megagames introduced us to the first iteration of the Unreal Engine, and with it, the first Unreal. A graphically stunning game in a powerful engine, considered jaw dropping enough in the day that in-game screenshots were used in place of box art just to show off.
It's a shame though, when these games get boiled down to simply being a tech demo, rather than being appreciated as works of art in their own right. Now that I've played it, Unreal is one of the most unique first-person shooters of that era that I can name. Its pacing, combat, weapons, level design, atmosphere, story and world building are all so appropriately alien to the standard conventions of the time, with quite a few notable leaps forward for the genre as a whole.
Taking the role of an inmate aboard the Vortex Rikers prison ship, you wake up after being knocked out cold in a nasty prison brawl, only to discover that while you were out for the count the ship crash landed on an alien planet, leaving you the only survivor. Your first objective is to escape the wreckage of the prison ship, a dark and dingy and industrial place littered with corpses and viscera everywhere, with screams echoing through the halls. The atmosphere here is very similar to the likes of Quake II; oppressive, cold and uncaring. Then, you escape…
And uncover the massive, bright, colourful and otherworldly alien planet of Na Pali.
Honestly? This reveal is still damn effective to me, even in an era where Unreal’s graphical tech is utterly mundane and outdated. It's not the graphics that make Unreal for me, but instead the art direction and atmosphere which are still unique to this day. Unreal subverts the standard, gritty and dark FPS settings with a fantastical and otherworldly planet to explore, rich with world building and lore. The vibe of Unreal feels almost akin to Metroid Prime in a few ways, especially with the way the story is delivered to the player via scanning the environment with the universal translator to discover small bits of lore that help you piece together the bigger picture. Being able to see the outside of the Rikers ship and discovering just how small the ship containing that starting level is compared to the expansive lands of Na Pali also helps to immediately establish the scale of Unreal.
It is at this point that you'll start encountering your first few enemies and discover that Unreal does things a bit differently than other first-person shooters of the time in terms of combat as well as atmosphere. Namely, enemies come in smaller numbers, but they're also tankier and much smarter than your average Quake monster. Fighting most of Unreal’s enemies is akin to deathmatch play, with your opponents strafing, dodging and taking cover. Even common grunts can be a surprising threat if you're not ready for them on higher difficulties. On your end meanwhile, your prisoner has the ability to dodge in any direction by double-tapping the direction keys, giving you a short burst of speed that helps you dive out of the way of projectiles otherwise too fast to run away from. It takes some getting used to for sure. At first the tankier enemies make your weapons feel a bit on the weak side due to how commonly your opponents no-sell all but your most powerful guns, and they tend to flinch or recoil far less than the enemies in other shooters of the time do. Once you get a feel for it however, keeping up with the more aggressive enemy AI can be a rush, and it makes those direct killing blows all the more satisfying.
Your main opposition is the Skaarj, muscular Predator-esque alien warriors with advanced technology who are enslaving the Nali, the native people of Na Pali, forced into mining Tarydium crystals for the Skaarj. The Nali by contrast are four-armed spiritual pacifists that are easy pickings for the Skaarj to exploit. Although the Nali are frail and frequently targeted by Skaarj before the player in combat, keeping them alive is well worth your time. Throughout the game are secret doors which can only be opened by the Nali, which can contain anything from ammo to armour to weapon upgrades. By contrast, if you harm a Nali, they will cower and beg for mercy instead of helping you. If you kill too many Nali, then even other Nali you haven't met yet will start to fear you and cower on sight. Basic as it is, I'm still impressed by the presence of any kind of friendly AI in a FPS of this era that the player actually interacts with through gameplay. Unreal isn't the first to do this. Marathon for instance also had friendly AI controlled characters, but it remained rare even by 1998.
Movement in Unreal is fine, but not my favourite of the 90s first-person shooters that I've played. It doesn't have the satisfying weight and physics of Quake which allows for rocket jumping and bunny hopping, nor does it have the lighter, bouncier feel of Duke Nukem 3D or Blood. Unreal's jumping can feel pretty stiff and restrictive, due to the lack of mid-air control of the Build Engine, nor the advanced movement tech of Quake. The movement speed is good and dodging is fun once you get the hang of it and stop accidentally dodging off of cliffs to your death, so it's not unpleasant to control or anything.
Exploration in general is given more emphasis here than other first person shooters of the era. Levels are massive and labyrinthine, even by 90s FPS standards which have a bit of a reputation for confusing level design, and enemy encounters aren't quite as frequent as the likes of Quake. Progression through these levels also incorporate more puzzle elements. Unreal, unusually for the era, doesn't have keys to collect in order to open up later areas, but it does still implement locked doors. Exactly how you unlock those doors is up to you to discover through the aforementioned universal translator scans, giving you hints on what actions need to be fulfilled in the level to open the way forward. The trigger for unlocking a door can be anything, from the more standard and expected pressing of a button or pulling on a lever, to more unusual examples such as jumping into a pool of water that you've been informed by the universal translator is sacred and will grant you access to a new weapon, or even looking up at the sun while standing next to a specific tombstone in order to open up a crypt. Throughout all of this, you'll learn more about the Nali people, their beliefs, their pantheon and their rituals, further fleshing out the world of Na Pali and its inhabitants.
It's maybe a bit too obtuse at times. Okay, it's definitely too obtuse at times. Finding out how to move forward can end up being a needle in a haystack type of situation, since missing one integral clue by not scanning a stone tablet that you didn't even realise was there can cause everything to come to a grinding halt as you have to backtrack across the entire sprawling and non-linear level trying to figure out what it is that you're supposed to do. There's a particularly obnoxious instance in an especially sprawling and non-linear level where your progress is going to come to a dead halt and leave you running around in circles for hours trying to figure out where to go, unless you notice this tiny ledge running alongside a wall that you need to sidle across in order to reach a switch required for progression (depicted in the screenshot to the left of this paragraph). If you've ever played Turok 2, Unreal’s level design is on a similar level of obtuseness to that game, though Unreal is more puzzle-driven while Turok 2 is more of a collectathon.
A strange omission in Unreal is a secret tally or notification letting you know if you've found a secret. Unreal does have secrets, there's massive chunks of levels that I completely missed on previous playthroughs with ammo stashes and weapon upgrades, but you're never told directly that you uncovered a secret whenever you find a hidden area like this. Honestly, I think Unreal could have benefited from a secret notification, since it could help give the player more of an idea as to whether or not their actions are just for an optional side path or if they're tied to mandatory progression.
Hey, isn't this a shooting game? Yeah, Unreal can sometimes feel more like a Zelda dungeon than a first-person shooter due to the puzzle and exploration focus. Make no mistake, Unreal didn't skimp on the action in spite of all I just said. Ten versatile and creative weapons are at your disposal, all of which have alt fires that can be activated by the right mouse button.
Your starting gun, the Dispersion Pistol is fairly weak and uses a slow projectile attack, but it can be upgraded over the course of the game and it also regenerates ammo on its own, making it a solid last resort. The AutoMag will be picked up next and is also fairly low-damage, but thanks to it being fast to fire, using hitscan shots as opposed to projectiles and being extremely accurate, while the alt-fire trades accuracy for increased rate of fire, it remains useful throughout the game. The Stinger will be your first more unconventional gun, a rapid-fire gun that uses Tarydium crystal shards as ammo, less accurate than the AutoMag but with a fast rate of fire, in addition to a shotgun blast as an alt-fire that fires five crystal shards at once like shrapnel. The Stinger is pretty outclassed by your later weapons which might be disappointing if you're a shotgun fan like nearly every 90s FPS fan ever, but that's okay because a bit later into the game you'll discover the amazing Flak Cannon, which fires clusters of explosive shrapnel that bounces off of walls. Point-blank shots with the Flak Cannon can and commonly will gib weakened enemies, it's got some amazing oomph to it.
The Flak Cannon is unlocked a fair bit later into the game, with the ASMD picking up the slack in your early arsenal and being the next weapon introduced after the Stinger. The ASMD can shoot a Quake II-esque Railgun beam with the primary fire or a small explosive projectile via the alt fire, but the real damage dealer with this gun is combining the two shots, shooting the explosive projectile with the Railgun beam to cause a large purple shockwave explosion, very difficult to time but super powerful and satisfying when you do. Apparently ASMD stands for “and suck my dick” according to one of the developers. Classy. Incidentally, Unreal was originally going to have a single female protagonist as opposed to the wider selection of multiple selectable player characters, both male and female, that the final game has. Regardless of gender, all can wield the power of “and suck my dick”. Trans rights, all.
These weapons however all pale in comparison to the fifth weapon you find, and my favourite in the game, The Eightball Launcher. Explosive weapons are generally my favourites in first-person shooters, and the Eightball does not disappoint in the slightest. It's a rocket launcher and a grenade launcher all in one thanks to the alt fire, but that's just scratching the surface. It's got six barrels, thus allowing you to load it with six explosives by holding down the fire button, followed by then firing them all at once for a massive satisfying explosion guaranteed to instantly gib common enemies with a direct hit. In addition to that, it also has a lock on feature, causing the rockets fired to home in on your target if you keep line of sight on them until the crosshair turns red. The Eightball Launcher really does everything you could want an explosive weapon to do, all elegantly wrapped up in a single highly versatile and highly satisfying gun.
This leads into my favorite thing about the arsenal of Unreal, which is the fact that while simply pointing and shooting them is totally fine and fun and more than enough firepower to get through the whole game with, there's also a surprisingly high skill ceiling for fully mastering the weapons, as many of them have equally versatile functions as the eight-ball launcher and ASMD that you might not even notice until long after you've already been using the weapon’s primary fire for half of the game. Take the razorjack for instance, a weapon that fires ricocheting bladed projectiles. On my first playthrough I thought that the gimmick with it was simply the reflecting shots that bounce off of walls and the critical damage that it deals with headshots. I had no idea that you could steer the razorjack projectiles after you've already fired them by using the alt-fire and then moving the mouse in the direction you want them to fly, only learning that on my second playthrough.
That's something else somewhat novel for the time here, headshots as a mechanic. This only applies for some weapons, but certain guns will deal extra damage if you shoot the enemy in the head as opposed to the body. It may seem mundane now, but it was a rarity in first-person shooters at the time. MDK is the only other notable example I can name off the top of my head. The razorjack and sniper rifle both do high enough headshot damage to potentially knock your target’s head clean off their shoulders, which never stopped being damn satisfying to me.
The only gun I'm not crazy about is the Bio Rifle, this water hose that shoots globs of green alien snot at enemies, apparently a byproduct of the tarydium crystal refining process. I like the world building this weapon introduces, and it has some cool functions, such as how the globs essentially function as landmines if they hit the ground as they can explode and deal more damage, but the limp, slow projectiles it shoots just don't do it for me in single player. This is one of those guns I can see being way more fun in multiplayer deathmatches thanks to the trap-setting potential. Either way, Unreal’s arsenal doesn't quite top my favourite FPS arsenal, that being the weapons in Blood, but Unreal still gives it the stiffest competition and in a few regards even one-ups Blood in creativity and multi-function weapons.
There's also an inventory system in addition to all of your weapons, giving you access to a wide selection of items aside from your guns. Flashlights and flares are the most commonly used items, allowing you to better see in dark areas. Other items are rarer, but include boots for jumping higher, shields that make you temporarily invulnerable, batteries that briefly increase the damage of your ASMD, cloaking devices that allow you to sneak past enemies undetected and Nali fruit seeds that can be used to grow healing fruit in a pinch. They're fun powerups and are satisfying to find uses for, but they're also rare enough and short-lived enough that you can get stuck in a “I might need it later” kind of hoarding mentality. Well, except for the jump boots. Bafflingly, the jump boots’ energy metre is drained even when you aren't using them. The second you pick them up, they're already wasting away, even if you haven't even equipped them yet. You only get about four jumps out of the boots at most anyway, resulting in confusing bouts of “what was I meant to do with that” any time the jump boots show up.
Armour is handled a little unusually here too. There's a lot of different armour types, from shield belts to bulletproof vests to hazmat suits to more traditional armour. This isn't like Doom or Duke 3D where you have a single armour stat which caps at 100 or 200. In Unreal, each piece of armour equipped has its own individual health bar, and you can equip as many different kinds of armour as you can find. Armour is essentially layered. The armour worn on your outer clothing such as the hazmat suit will soak up a large chunk of the damage dealt by enemies when you get hit, and the damage that it doesn't block is then passed onto the layer of armour under the hazmat suit, such as the bulletproof vest. As a result, with a bunch of different kinds of armour equipped, you can end up with an accumulative total of well over the usual 200 armour cap which completely prevents any HP damage for ages.
Now, when it comes to heads-up displays in first person shooters, I personally dislike the more minimalist HUDs used in the likes of Quake II or Doom 64. I get it, some people don't like their screen being obscured by giant status bars, but it drives me nuts when I have no way of quickly checking at a glance how much ammo I have for all of my individual guns, in the way that the full HUD in games like Doom I and II, Duke Nukem 3D and Blood allow. Unreal’s HUD is also on the minimalist side, but in my opinion does that style far more effectively and elegantly than the likes of the previously mentioned Doom 64 and Quake II. All the information you'd need is there at a glance, spread across icons in the corners of the screen. Top left shows your armour, with the individual health of each piece of armour indicated by how full the yellow bars below the armour icons are, with the number to the left of all of those icons being the accumulative total armour points. Bottom left is your HP value, nice and simple there. Bottom right, the large green number is the ammo count of your currently equipped weapon, alongside an icon of the ammo type that weapon uses. To the right of that icon is your ammo count for all of your currently unequipped weapons, depicted using vertical green gauges that fill up as you get more ammo, with the number under each gauge corresponding to what number key on the keyboard you press to quick-select that weapon. If the gauge is full, then you have the max amount of ammo you can hold for that gun. Finally, top right is your inventory, displaying how many usages you have left for each item in a similar method to the armour icons.
Now, I greatly enjoyed Unreal, to be clear here. In fact, I loved it enough that I played the whole thing back-to-back twice in a row, once on Linux and once on Mac OS 9. With that said however, there is enough holding the game back for me that prevents it from being quite in the same tier as Duke 3D, Quake and Blood. Aside from the previously mentioned level design gripes, I do also have a bit of an issue with the enemy variety. By the endgame, Skaarj and variations on Skaarj make up the bulk of what you fight. Skaarj can be equipped with their own versions of a multitude of your own weapons. Unsurprisingly, Skaarj with the eight-ball launcher are by far the most dangerous. But since all of those differently equipped Skaarj are all using the same base models, there isn't a way to visually tell them apart at a glance, unless you get really good at zooming in on the gun they're holding and identifying it quickly, which you'll want to be able to do the second Skaarj equipped with the Eightball are introduced. In something like Quake, every enemy is very visually distinct and recognisable from silhouette alone, allowing the player to quickly identify what they're up against and what attacks they'll have to work on avoiding, but that's not really possible in Unreal. Even when the game does utilise different enemy types like the berserkers and mercenaries, they all still have a roughly humanoid and muscular silhouette that still prevents that quick identification of Quake.
Since the enemies with actual guns also all use the same AI, with similar zigzagging motions and dodge rolls to throw off your aim, that also results in enemies feeling quite similar. As basic as the AI was in Doom, even there they managed to make the enemy behaviour feel different among the various demons. Unreal has small non-humanoid enemies which are more varied, but also are generally far less of a threat and die so quickly that they feel more like obstacles than enemies. The combat remains engaging throughout thanks to the excellent arsenal and intensity of trying to keep up with the AI opponents, but I definitely feel like there could have been more variety.
Oh yeah, there's also the titans. These guys are essentially a recurring mid boss and I hate them. They throw giant boulders at you which are powerful enough to one-shot you on the spot, but then when those boulders hit the ground or the wall behind you, they then break into a bunch of smaller boulders that then also break apart into more boulders and bounce all over the place, ricocheting off of walls and hitting you from behind and still doing an absurd amount of damage even when they're just small rocks. I genuinely do not know how the hell to reliably and safely fight these guys. Taking cover usually works, but the boulder physics are so erratic and unpredictable that sometimes they'll still find a way to bounce behind your cover and hit you in the back, further not helped by just how many boulders are bouncing around once they start breaking apart into dozens of bouncy instakill projectiles. Every other enemy in the game I can deal with no problem, even the final boss, but titans continue to be an issue.
While I am mixed on those aspects, Unreal’s strengths are so strong that they help make up for the shortcomings. The amazing arsenal is absolutely the star of the show here, but that solid core gameplay is enhanced greatly by the dreamy atmosphere, the lore and world building and the absolutely phenomenal soundtrack. This is quite possibly my favourite FPS soundtrack ever, with Descent’s DOS soundtrack being the main competitor, but I can safely say that Unreal has the most atmospheric soundtrack. A dynamic mix of synthy electronic trance music that increases in intensity during hectic combat sequences. It's like a mixture of Jazz Jackrabbit 2 and Deus Ex’s soundtracks, which makes perfect sense as many of the same composers from those games also worked on Unreal.
So, is the Mac port worth it? Ehhhh, it's fine, but unless you're really into the idea of specifically playing Unreal on Mac OS 9 it's going to struggle to keep up with the Windows version. For starters, the Mac OS 9 port doesn't support the Return to Na Pali expansion, which is immediately an issue as without it, Unreal ends on an unsatisfying cliffhanger. You could possibly get the expansion running via modding, but I haven't found any guides on if/how that is possible. Then again, the quality of Return to Na Pali is somewhat contested, so depending on who you ask, this may not be a huge loss. Secondly, the Mac version is pretty out of date, thus preventing support with a lot of mods and user made levels. The Windows version of Unreal was not only supported by Epic Games for longer than the Mac port, but actually remains semi-officially supported and updated to this day by OldUnreal, who with the blessing of Epic Games have been continuing to update and polish the game with extra features and improved compatibility with modern operating systems. Being left in the dust like this is sadly an all too common fate to befall ports of first-person shooters on Mac OS 9, as is expected as a result of the smaller user base of the OS and it being superseded and forced into early obsolescence by Apple via the release of Mac OS X. As it stands, Unreal on Mac plays very well. It controls smoothly and runs well and looks fine (some minor texture bugs aside, which are apparently due to me using an unfinished beta patch), so it's not a bad port by any means, but in 2025, now that Wine can run the Windows version of Unreal perfectly on basically anything, there's not much allure to Unreal’s native Mac port unless you're specifically into playing games on Mac OS 9 or earlier for the novelty of being able to play with the OS some more.
Honestly, I find Mac ports like this from this era kind of fascinating. For many in the 90s, it was this or nothing. You still get the same game, running well and playing and controlling just as smoothly as on Windows, but even when they're not missing expansion packs or other such features, something is still subtly different. You're engaging with the OS in a different way, the UI has tweaks here and there to better integrate into Mac OS and Apple hardware, and as a result of having completely different user bases to the Windows version, Mac ports also have different multiplayer and modding scenes than the Windows variants, with tools and fan patches often being developed by passionate fans exclusively for use on the Mac version, or alternatively, converters that can change mod files for the Windows version into something compatible with the Mac port.
As I mentioned earlier, I actually played this game twice for this review. My first playthrough was on Linux, using Wine to play the OldUnreal version on hard mode, as I usually like to challenge myself with first-person shooters. If you're experienced in the genre, hard mode isn't too unreasonable. I managed it without mid-level saves, but the game is going to starve you for ammo. When playing the game again on Mac, this time I dropped the difficulty down to normal to get a better idea of how much harder hard mode is, as well as so I would have an easier time getting screenshots. Seriously, getting good in-action screenshots in fast-paced first-person shooters is hard. There is a pretty significant jump in difficulty between the two modes. I found myself repeatedly stockpiling multiple layers of ammo when playing on normal, which very rarely happened on hard. If anything, I felt normal mode was almost a bit too generous with its pickups, but that might be due to being so adjusted to hard mode requiring me to scrape by with the bare minimum. The titans aren't any more manageable in normal mode, by the way.
For more information on trying out Unreal, check out Epic Games’ page on the Unreal series, as well as OldUnreal. Unreal comes highly recommended from me. Even today, it remains one-of-a-kind and well worth taking a trip through. I can easily see myself replaying this for years to come, especially thanks to the modding scene keeping the game alive to this day.
- Page written by MSX_POCKY, 8th August 2025