Nazghul is an old-school RPG clone modeled after those made in the heyday of top-down, 2d tile-based graphics. It is specifically modeled after Ultima V, so if you've played that game then this should be familiar.
If you downloaded a source distribution see the top-level INSTALL file.
If you downloaded a windows binary just unzip the distribution using Winzip or similar.
On Linux/UNIX:
$ haxima.sh
On Windows:
Use the start menu or desktop icon
You can play the Tutorial first or jump right in with Start New Game.
You can save your game at any time while playing by using the CTRL-S key sequence for the S)ave command. An unlimited number of saved games is permitted. When you restart, use the Journey Onward option from the main menu to select a saved game to continue.
If you die, the game will exit, and when you restart it will pick up where you last saved via the Journey Onward option.
You can quit at any time by pressing Q for the Q)uit commmand. It will prompt you to save if you like and then exit.
If you are unfamiliar with U5 I recommend the Tutorial option available from the Main Menu when you start the game. Here are some more notes to help you get started.
When you start you will have a party consisting of one character known initially as The Wanderer. The icon for this character will be in the center of the map view on the left. Explore around a bit using the arrow keys to move. Below the map you'll see a little window with a prompt. This gives you hints when you're entering commands to tell you what type of input the command wants. For example, if you type 'x' (for e[x]amine) the command prompt will say:
Xamine-<target>(ESC to exit)
Which means it wants you to hit the arrow keys and move the targeting cursor. When you hit 'ESC' instead the command will cancel. Pretty much all commands can be canceled by hitting 'ESC'.
To get a detailed explanation of where you are and what time it is, use the AT command by pressing '@'. There is no clock in the game, so this is the only way to tell time other than guesstimating from the position of the sun.
You'll see your first NPC to the south. To talk to the NPC press 't' for T)alk. This brings up a targeting crosshair. It might start out on the NPC or on your character, if it's on you then move it to the NPC with the arrow keys and hit enter.
That starts a conversation. During conversation you enter a keyword and the NPC will respond. For example, type NAME or JOB and see what this NPC says. When you are done talking type 'bye' or hit enter by itself.
Eventually you will want to follow the road down to the chamber on the lower left. The chamber is marked by mysterious runes on its walls. Within the chamber is a chest.
Walk over next to the chest and O)pen it by hitting 'o' and using your arrow keys to indicate a direction. The chest will open and deposit a bunch of stuff on the ground.
G)et the stuff using the 'g' key. Among the items will be some basic weapons, armour and spell reagents as well as some scrolls and potions.
To see your stuff hit 'z' for Z)tats and scroll around. The left and right arrow keys will switch between different status panes. Hit ESC when you tire of admiring yourself and your loot.
To R)eady the weapons and armor hit 'r' then select them. Hit ESC when done.
To M)ix a heal spell type 'm' for mix. Next enter the spell name, in this case 'm' again for "Mani", and hit ENTER. Next, select Ginseng and Spider Silk from the reagents list, and hit 'm' to mix them. Finally, you can mix batches of a given spells at once, so you will need to input the quantity of "Mani" spells you wish to produce. Enter '1' here, and you will have made a "Mani" spell, a spell of minor healing. More on spells later.
When you are ready to face the world walk to the edge of the map and bravely step off. You will zoom out to Wilderness Mode, and your entire party (all one of you) will appear as an icon in the center. To re-enter take a step south (at which point you will see a shrine icon where you just were) and step north again. Now you know how to enter and exit towns. Congrats.
When you enter a town, unless you have some enemies there, you will start out in "follow mode", which means you control the party leader and everybody else in the party tries to keep up. But if hostiles are in town you will be in "character mode", which means you control each party member in turn. To switch between these two mode use the 'f' key. This will make more sense when you add more characters to your party.
IMPORTANT: when you eventually get somebody to join you, don't forget about Follow Mode (the 'f' key). It's much easier to have everybody follow your main dude around than to always individually control them.
Above the map you'll see a little window embedded in the frame which shows the position of the sun and two moons. It also shows the phase of the moons, which is important for moongate travel.
Below the map, embedded in the frame, is the wind direction indicator. Currently the wind only affects ships. Tacking across the wind provides the best rate of travel, the wind at your back is second best, and heading into the wind is the worst. Note that this indicates the direction the wind is blowing _FROM_.
Unlike u4/u5/u6 the command prompt has its own window, just below the wind indicator. Interactive command prompts appear here, as well as the things the player says in conversation.
In the top right you have a general-purpose window for viewing and selecting lists of things. Normally it shows some basic party stats, but its contents change as required by user commands. For example, (R)eady will turn it into a selection list.
Normally the window lists all the player's party members and shows their current hit points and status. The status is reflected in one or more little icons. For example, if a character is poisoned you'll see a little green skull-and-crossbones. You can get a better description of the status by using the Z)tatus command to inspect individual party members.
It sounds sacrilegious, but that's just my acronym for Food/Gold Window. This little window appears below the status window and shows the turn, food and gold counters as well as the current combat status and any pending Effects. The effects will be printed in cryptic little codes like "N" for magic negated. If you board a vehicle it will also show you the hit points for the vehicle. Here are some of the codes and what they mean:
Finally on the right hand side you'll find the window where all the game messages get logged.
Here's your chance to let the sweat dry on your mouse - all commands are via the keyboard. As it should be, forever and ever amen.
Addendum: For the sake of convenience to mousephiles, targeting prompts will accept input from the mouse. But the shortcut keys are faster.
The party appears as a single icon in the center of the screen.
You control the party leader and the other members follow the leader. Attacking a target will automatically switch to Round-Robin Mode. The party leader is always the top person in the list who is alive and still on the current map. Enter follow mode from Solo or Round Robin Mode by pressing 'f'.
You control one party member while the others stand around looking bored. Enter Solo Mode by pressing the number key associated with the party member's order in the list. 1 is the first member in the list.
NOTE: Solo mode can be very useful if one of your party members has greater passability than the others. For example, if a gazer joins your party he can float over water. Now imagine the possibilities if you get a ghost to join your party.
You control each member in turn. This is the default mode when you enter combat. To enter Round Robin Mode from solo mode, press 0. To enter from Follow Mode press 'f'. Yes, confusing to have two methods. I'll fix it someday. Let me know if you have an opinion.
In the outdoor or wilderness map the party moves as a single unit. You can enter into combat with enemy NPC parties by moving into them or waiting for them to attack you. Likewise you can enter towns, dungeons or moongates by simply walking into them.
This is a special temporary combat map that pops up when you engage an enemy NPC party in the wilderness. In this mode you control individual party members. You return to the wilderness map by having all of your living party members walk off the edge of the map. (Hint: if combat is over you can press ESC to quickly leave the map).
In towns and dungeons you move just like in combat mode. You can control the individual party members in turn, have one of them scout around in solo mode, or control the leader and have the other party members follow.
What can I say? It's pretty much like u5. Try the flaming oil at night or in an underground place. Oh, and watch out for gazers. They can charm you. Kill them or charm them right away.
As usual, characters advance a level when they gain sufficient experience points. There is no maximum level limit. When a character advances his maximum HP and MP increase, depending on his class, species and personal bonuses. At the moment of advancment he is fully healed and mana is restored to their new maximum levels.
Level | XP |
1 | 0 |
2 | 32 |
3 | 64 |
4 | 128 |
5 | 256 |
6 | 512 |
n | 2^(n+5) |
Characters have three basic attributes: Strength, Dexterity and Intelligence. These are fixed when the character is created and don't change during the game.
Strength limits the total weight of readied weapons and armour. Strong characters do more damage and are better at hitting with heavy or bludgeoning weapons. It is also used when breaking free of spider webs (most trolls don't stay ensnared too long...).
Dexterity is used when attacking with missile and balanced weaponry, and helps when avoiding your opponents' blows. It is also needed when picking locks and disarming trapped chests.
Intelligence makes spells more potent and more likely to succeed.
The example game contains a full complement of spells. The magic system is similar to Ultima 5 and Ultima 6: you select a spell by entering magic syllables. A spell name is a combination of one to four syllables.
The syllables, spell names and reagent mixtures provided in the example game are a direct ripoff of Ultima 5. If you don't have a u5 reference manual lying around then the tables below will help:
Name | Abbrev used in spell table |
Black Pearl | BP |
Blood Moss | BM |
Garlic | GA |
Ginseng | GI |
Mandrake Root | MR |
Nightshade | NI |
Spider Silk | SS |
Sulphurous Ash | SA |
Syllables | Effects | Reagents | Party/Combat |
1 | |||
An Nox | Cure Poison | GI, GA | PC |
An Zu | Awaken | GI, GA | PC |
Grav Por | Magic Missile | SA, BP | C |
In Lor | Light | SA | PC |
Mani | Heal | GI, SS | PC |
Wis Sanct | Detect Trap | SA | PC |
An Sanct Ylem | Disarm Trap | BM | PC |
2 | |||
An Sanct | Unlock | SA, BM | PC |
An Xen Corp | Repel Undead | GA, SA | C |
In Wis | Locate | NI | P |
Kal Xen | Summon Snakes | SS, MA | C |
Rel Hur | Change Wind | SA, BM | P |
In Nox Por | Poison Missile | NI, BM, BP | C |
3 | |||
In Flam Grav | Fire Field | SA, BP, SS | C |
In Zu Grav | Sleep Field | GI, BP, SS | C |
In Nox Grav | Poison Field | NI, BP, SS | C |
Vas Flam | Fire Ball | BP, SA | C |
Vas Lor | Great Light | SA, MA | PC |
4 | |||
An Grav | Dispel Field | BP, SA | PC |
In Sanct Grav | Energy Field | MA, BP, SS | C |
In Sanct | Protection | SA, GI, GA | PC |
Wis Quas | Reveal Hidden | NI, SA | PC |
Bet Por | Blink (Caster) | BP, BM | C |
5 | |||
In Ex Por | Unlock Magic | SA, BM | PC |
An Ex Por | Magic Lock | SA, BM, GA | PC |
In Bet Xen | Insect Swarm | SS, BM, SA | C |
In Zu | Sleep | GI, NS, SS | C |
Vas Mani | Great Heal | GI, SS, MA | PC |
Rel Tym | Quickness | SA, BM, MA | PC |
6 | |||
An Xen Ex | Charm | BP, NI, SS | C |
In An | Negate Magic | GA, MA, SA | C |
In Vas Por Ylem | Earthquake | BM, MA, SA | C |
Quas An Wis | Confuse | MA, NI | C |
Wis An Ylen | Xray Vision | MA, SA | PC |
In Rel Por | Telekinesis | BP, BM, SS | C |
Vas Por | Blink (Party) | MA, BP, BM | P |
7 | |||
In Nox Hur | Poison Wind | NI, SA, BM | C |
In Quas Corp | Fear | NI, MA, GA | C |
In Quas Wis | Peer | NI, MA | PC |
In Quas Xen | Clone | NI, MA, SA, SS, BM, GI | C |
Sanct Lor | Invisibility | NI, MA, BM | C |
Xen Corp | Kill | NI, BP | C |
8 | |||
An Tym | Stop Time | MA, GA, BM | WC |
In Flam Hur | Flame Wind | MA, SA, BM | C |
In Vas Grav Corp | Energy Wind | MA, SA, NI | C |
In Mani Corp | Resurrect | GA, GI, SS, SA, BM, MA | PC |
Kal Xen Corp | Summon Undead | SS, MA, NI | C |
Vas Rel Por | Gate Travel | SA, MA, BP | P |
[1] In Towns and Dungeons teleport spells that can move the party from one place to another will fail unless combat is over and the party is in Follow Mode.
From time to time your characters might run into a little trouble with magical foes, natural hazards, or their own weakness for alcohol. Don't panic. Most effects are non-fatal, but a few are.
Start a conversation with an NPC with the T)alk command. During conversation you type simple inquiries and the NPC responds, sometimes asking you a question in return. Conversations with shopkeepers will allow you to buy and sell items. Most NPCs respond to the 'NAME' and 'JOB' queries, as well as queries about their town and fellow townsmen. Their responses usually give you clues to further fruitful queries. Also, with the special 'JOIN' query you can ask an NPC to join your party (some will join you, and some will join you only if you do or say something that impresses them).
Food is consumed three times per day, one unit for each living party member. When the food runs out, party members take a point of damage at each meal time.
Like many games, "nazghul" is separated into an engine2 and some data files. In this case the data files are written in the Scheme programmming language. If you examine the default start file 'session.scm' you will see that it is a scheme file which loads the game types from other files and then defines the starting game variables.
I encourage people to experiment with modifying the example files or even using them as a basis to create their own games. The example script code is all committed to the public domain. The image and sound files come from various sources - see the COPYING file in the top nazghul directory for details on where they came from.
If you want to make a proprietary game you may use the example script files, but you will probably need to make your own image and sound resource files as the ones in the examples directory come from other open-source or freeware projects and their copyright holders might object to proprietary use.
These apply specifically to Haxima, and not necessarily to any other game made with the Nazghul engine.
Name | To-Hit | Damage | To-Def | Hnds | Rng | Ammo | Weight |
Sling | 1d2-2 | 1d4 | -1 | 1 | 4 | slingstone 1 | 0 |
Sling+4 | 3 | 1d4+4 | 0 | 1 | 6 | slingstone 1 | 0 |
Bow | 1d3-2 | 2d4 | -2 | 2 | 6 | arrow | 2 |
Crossbow | 1d4-2 | 4d4 | -1 | 2 | 4 | bolt | 3 |
Doom Staff 2 | 1d4 | 1 | +2 | 2 | 6 | - | 2 |
Stun Wand 3 | -2 | 1d4 | -1 | 1 | 6 | - | 2 |
[1] Considered 'ubiquitous' (ie you always have enough ammo)
[3] Temporarily paralyzes target
Name | To-Hit | Damage | To-Def | Hnds | Rng | Weight |
Flaming oil 1 | -1 | 1d6 | -2 | 1 | 4 | 1 |
Spear | 0 | 1d8 | +1 | 1 | 4 | 2 |
Boulder | -2 | 3d4+1 | -2 | 2 | 5 | 10 |
[1] Leaves a temporary burning patch of ground
Name | To-Hit | Damage | To-Def | Hnds | Rng | Weight |
Dagger | 1d4 | 1d4 | 1d2 | 1 | 1 | 0 |
Dagger+4 | 1d4+4 | 1d4+4 | 1d2+4 | 1 | 1 | 0 |
Mace | 1d4 | 1d6+2 | +0 | 1 | 1 | 3 |
Axe | 1d2 | 2d3+2 | +0 | 1 | 1 | 3 |
Sword | 1d2 | 1d8+1 | 1d2 | 1 | 1 | 2 |
Sword+2 | 1d2+2 | 1d8+3 | 1d2+2 | 1 | 1 | 2 |
Sword+4 | 1d2+4 | 1d8+5 | 1d2+4 | 1 | 1 | 2 |
2H Axe | 0 | 4d3+2 | -2 | 2 | 1 | 4 |
2H Sword | 0 | 2d8+2 | 1 | 2 | 1 | 4 |
Morning star | 1d2+2 | 1d6+1 | -1 | 1 | 2 | 3 |
Morning star+2 | 1d2+4 | 1d6+3 | 2 | 1 | 2 | 3 |
Halberd | 1d3+1 | 2d8-2 | 1d2 | 2 | 2 | 4 |
Staff | 1d3 | 1d4 | 1d3 | 2 | 2 | 2 |
Eldritch blade | 2 | 2d8+5 | +0 | 2 | 1 | 2 |
Mystic sword | +3 | 1d10+5 | +2 | 1 | 1 | 1 |
Flaming sword | 1d2 | 1d10+3 | 1d2 | 1 | 1 | 2 |
Name | To-Hit | Damage | Armor | To-Def | Weight |
Leather helm | -1 | - | 1d2 | - | 0 |
Leather helm+2 | 0 | - | 1d2+2 | - | 0 |
Leather helm+4 | 0 | - | 1d2+4 | - | 0 |
chain coif | -1 | - | 1d3 | - | 1 |
Chain coif+4 | 0 | - | 1d3+4 | - | 1 |
iron helm | -1 | - | 1d4 | - | 2 |
Iron helm+4 | 0 | - | 1d4+4 | - | 2 |
leather armor | -1 | - | 1d4 | - | 2 |
Leather armor+2 | 0 | - | 1d4+2 | - | 2 |
Leather armor+4 | 0 | - | 1d4+4 | - | 2 |
chain armor | -2 | - | 2d4 | - | 4 |
Chain armor+4 | 0 | - | 2d4+4 | - | 4 |
plate armor | -4 | - | 4d4 | - | 8 |
Plate armor+4 | 0 | - | 4d4+4 | - | 8 |
Small shield | -1 | - | 0 | 2 | 2 |
Small shield+4 | 0 | - | 0 | 6 | 2 |
Spiked shield | 0 | 1d5 | 0 | 1 | 3 |
Spiked helm | 0 | 1d4 | 3 | 0 | 2 |
[1] Alas, there isn't one. Yet.
[2] I like to refer to it as a "kernel". This makes me feel like it is really cool, and like I'm not a loser since Linus Torvalds and I are about the same age and he works on a kernel, too.
--gmcnutt (gmcnutt@cableone.net)