the_game_database|| news | latest | gallery | upcoming | search: 
Umoria
  PCRoguelikeNA  
  opened by paleface at 13:08:23 03/20/22  
  last modified by paleface at 23:19:16 11/28/22  
  paleface [sys=PC; cat=Roguelike; loc=NA]
           
Starting a half-elf warrior in Umoria, compiled--after some code hacks--in Cygwin on Windows 11.
 
Oh! The high scores and version displays not working were actually due to me not understanding that after the game builds into in a subfolder, umoria/umoria, you're suppose to cd to that subfolder and run it from there (./umoria). Ah! I got that part all wrong! So if you do that, the high scores and version display--jeez and the splash screen--would work. Ignore all that blather I did about commenting out the high score file loading, that was me being wrong!
 

 
Wow so stairs are always disconnected--even when you go back up to town, where you then have to re-locate the stairway down (1:20:25)!!
 
Moria for VMS computer systems came out in 1983. Umoria--the port to Unix--came out in 1987. Angband (https://rephial.org), the current descendant of the Moria/Umoria code, started in 1990 at the University of Warwick, and released to the outside world in 1993.
 
~~~~~~~~~~
 
Umoria is a free, roguelike dungeon exploration game you can download from https://umoria.org, or play right through your web browser at https://angband.live .
 
And it's open source, so you can download the source code from the official code repository and compile it yourself. I compiled and ran it in Cygwin on Windows 11 (Cygwin is free from https://cygwin.org) by doing this:
 
- install cmake through Cygwin's setup utility
 
git clone https://github.com/dungeons-of-moria/umoria.git
 
headers.h
- comment lines 21, 27, 28
- add "#else" as line 22
^ hack to get around the code not knowing how to identify Cygwin--this makes it treat anything it doesn't know as Linux, rather than just quitting with an error message
 
game_save.cpp
- comment lines 810, 811, 812
^ working around an actual bug in the code when running a modern compiler--see https://github.com/dungeons-of-moria/umoria/issues/44
 
cd umoria
cmake .
make
 
cd umoria
./umoria
 
  paleface 13:58:33 03/21/22
           
Umoria is also usually dated to '87, but https://umoria.org/highlights/ notes that developer James E. Wilson still considered v5.1.1--March 4 1990--as "alpha-level" source code; code updates continued through 10/24/2001.
 
  paleface 14:10:54 03/21/22
           
Oops ugh I'm bad at this. Lower down that page, it notes "5.4.0 (1992-7-16) (Maintenance taken over by David Grabiner)"; code changes and fixes continue through '94. Then there's a gap, with more releases 2000-2001... Ah okay looking at the "full CHANGELOG" https://github.com/dungeons-of-moria/umoria/blob/master/historical/CHANGELOG those were code fixes by Rene Weber. Then some fixes in 2008 by Grabiner, and since then just license changes.
 
Wikipedia says "In 1990 the Angband project was started, which is based on the UMoria 5.2.1 source code."
 
No note I can find on when Umoria was no longer considered "alpha-level." ^_^
 
  paleface 20:16:05 11/09/22
           
Have for now given up trying to find an Angband color scheme my eyes will stay happy with; for ASCII gaming, I guess it's Umoria for me. ; )
 
I didn't like having to hit keys repeatedly for opening and searching things, so I made them always work first time:
 
in src/player.cpp:
lines 682-684 - removed search failure
lines 1229-1238 - removed now-unused lock-picking skill
lines 1244, 1249, 1254-1261 - removed door failure
lines 1280, 1287-1289 - removed chest failure
 
The src/game_save.cpp bug got fixed. : )
 
  paleface 23:54:50 11/09/22
           
Made blank Rest input do auto-rest to full (no having to enter *):
 
in src/player.cpp:
204 added "|| !rest_str[0]" to rest duration input check
 
Made lists auto-open:
 
ui_inventory.cpp:
377, 399 commented out conditional to auto-show Take off item list
396, 398, 400 commented out ifs (but not else) to auto-show Drop item list
426, 429 commented out conditional to auto-show Wear/Wield item list
1173 added two new lines below this one to auto-show the other item lists (Quaff, Read, etc):
menuActive = true;
terminalSaveScreen();
 
  paleface 18:46:08 11/11/22
           
Finally worked up the guts to make a global variable to auto-close those Umoria Take off, Drop, and Wear/Wield menus in ui_inventory.cpp:
 
644 added global boolean "finished" to track use of Take off/Drop/Wear/Wield
687 set finished=true on successful Take off command
727 set finished=true on successful Wear command
835 set finished=true true on successful Drop command
1059 changed if to else if, added new if finished=true, then
command = ESCAPE;
finished = false;
printMessage(CNIL);
 
  paleface 02:41:30 11/12/22
           
That was still making you clear the inventory confirmation messages. Took me a while to figure out that the actual original messages were being stomped by the terminalRestoreScreen() used to clear the item list, and were being replaced by the old version of the messages from message history with printMessage(CNIL), which a) prints the last recorded message and b) as there is no new message, adds "-more-" to the old message it and forces clearing it manually with space or whatever. Kind of weird. This amended version preserves the original messages, so you don't have to -more- clear recorded versions of them:
 
Made inventory lists auto-open and auto-close by messing with ui_inventory.cpp:
 
377, 399 commented out conditional to auto-show Take off item list
396, 398, 400 commented out ifs (but not else) to auto-show Drop item list
426, 428 commented out conditional to auto-show Wear/Wield item list
644 added global "bool uiinvdone = false;" to track use of Take off/Drop/Wear/Wield
673 added two lines below for successful Take off command:
terminalRestoreScreen();
uiinvdone = true;
728 added two lines below for successful Wear command:
terminalRestoreScreen();
uiinvdone = true;
838 added two lines below for successful Drop command:
terminalRestoreScreen();
uiinvdone = true;
1065 changed if to else if, added two new lines above:
if (uiinvdone == true) {
command = ESCAPE;
1095 added "uiinvdone == false &&" to the if condition for the old terminalRestoreScreen();
1097 changed } to
} else if (uiinvdone == true) {
uiinvdone = false;
}
1182 added two new lines below this one to auto-show the other item lists (Quaff, Read, etc):
menuActive = true;
terminalSaveScreen();
 
  paleface 03:26:52 11/12/22
           
Ah, the Umoria maintainer likes snake_case for variables. Not that these changes will ever make it in to the dungeons-of-moria official github code repository seeing as how Umoria is in maintenance mode (with some lip service toward future actual feature development, but doesn't sound super likely), but anyway:
 
377, 399 commented out conditional to auto-show Take off item list
396, 398, 400 commented out ifs (but not else) to auto-show Drop item list
426, 428 commented out conditional to auto-show Wear/Wield item list
644 added global "bool ui_inv_done = false;" to track use of Take off/Drop/Wear/Wield
673 added two lines below for successful Take off command:
terminalRestoreScreen();
ui_inv_done = true;
728 added two lines below for successful Wear command:
terminalRestoreScreen();
ui_inv_done = true;
838 added two lines below for successful Drop command:
terminalRestoreScreen();
ui_inv_done = true;
1065 changed if to else if, added two new lines above:
if (ui_inv_done == true) {
command = ESCAPE;
1095 added "ui_inv_done == false &&" to the if condition for the old terminalRestoreScreen();
1097 changed } to
} else if (ui_inv_done == true) {
ui_inv_done = false;
}
1182 added two new lines below this one to auto-show the other item lists (Quaff, Read, etc):
menuActive = true;
terminalSaveScreen();
 
  paleface 17:38:02 11/12/22
           
Wielding a mace I'd forgotten I'd never ID'd from long ago on the dungeon floor and which, of course, turned out to be cursed--and me a poor clvl 10-ish Half-Elf Warrior who hadn't been mining and didn't have enough cash left for a remove curse scroll (eventually found a Remove Curse staff but didn't have the brainpower stats to make it work ; D)--marked the start of a formidable run of Poor Life Choices in Umoria:
 
- Testing UI tweaks in town, carelessly read an un-ID'd scroll that turned out to be Aggravate Monster
- Further UI testing included hundreds of turns of resting to increase my hunger so I could test eating without being too full : P
- That done, went about selling my disposable belongings to try to afford that Remove Curse scroll. Didn't quite get enough cash ;_:
- Meanwhile, and more more townspeople began appearing, with the tougher types attacking me
- Crowd eventually surrounded me coming out of a shop; after a protracted battle in which their numbers kept replenishing and they were at least two-deep around me, on the verge of being torn to pieces I resorted to using my one Phase Door scroll followed by Recall, and running around town until being mercifully yanked down to the peace and quiet of the dungeon
- 300 feet down, things seemed fine at first but I'd used all my missiles up (they sure to get lost a lot) in my previous plunge, and my remaining Recall scroll (darn things are $$!) got destroyed fighting hand-to-hand against monsters with item-destructive effects somewhere along the way, probably burned up in what turned out to be a lengthy battle against flamey breeder things of some type
- Rot monsters got the last ration I had had left after the hunger message UI testing and not thinking I needed more 'cause I had Recall if I got really hungry, right? Nottttt smart no.
- Looking for stairs out. Terrible luck finding them or is this just Umoria-normal?? Start skipping fights and even items laying around as increasing panic sets in.
- Trip over a strength-draining trap...multiple times without thinking. More times after thinking oh hey wait there IS a disarm command in Umoria, right? And of course it pushes you into the trap on failure, which I kept doing. Really not thinking straight.
- 250 feet. Weak.
- 200 feet, finally. Fainting spells begin, so gently at first. Where can the stairs BE.
- Weaker still. Struggling to stay conscious. Fleeing from rats.
- No food. No stairs. Can't stay awa
 
  paleface 01:29:25 11/14/22
           
NOT having bump to open doors (ie, in Angband you just move your @ into a door and an 'o' "Open" operation is performed on the door) does feel like it fits the pace of Umoria--or at least, doesn't stand out as unduly slow here. But I thought I'd try it--and it is nice and smooth--so:
 
Bump to open doors:
 
player_move.cpp
526 replaced line (closed door warning) w/ "openClosedDoor(coord);"
 
player.cpp
1240 removed "static" before "void openClosedDoor(Coord_t coord) {"
 
player.h
229 added new line below this one
void openClosedDoor(Coord_t coord);
 
  paleface 01:35:09 11/14/22
           
Umoria uses the ".cpp" file extension but, like Angband, is written in C, not C++; uses C's "printf," for instance. I'm sure everyone actually qualified who looked at it knew this immediately, and the github repo for both identifies them as C, but me being a dumb ultra hack had been thinking here that I'd been hacking C++; heck, I had somehow got the idea Angband was in C++--and Angband uses the ".c" file extension. : P
 
  paleface 02:14:58 11/14/22
           
Oh I see how I got that incorrect idea about Angband being C++: originally I knew it was C, and then learned Hengband was converting to C++ --so eventually of course I got that backwards around in my head, and started thinking it was that Angband was C++ and Hengband was converting to C. = P
 
  paleface 06:25:33 11/14/22
           
- Removed gender
 
welcome.txt (in /data)
removed "a gender" from "you must specify"
 
character.cpp
354 changed 5 to 4
461-463 commented out giving F chars 50 extra starting gold 'ppp'
 
character.h
19-22 changed "male_" to "char_"
23-26 commented lines
 
data_player.cpp
89, 94, 99, 104, 109, 114, 119, 124 commented last four numbers of each line
 
game_death.cpp
28, 29, 95-97 commented "King" winner rank title for male
31, 98 changed now-default winner rank title from "Queen" to "Ruler"
 
game_files.cpp
206 commented line
207 changed " Weight%8s %6d", colon," to ""%38s Weight%8s %6d", blank, colon,"
 
game_save.cpp
159 commented line
571 commented line
 
player.cpp
33-35 commented playerIsMale function
37-39 commented playerSetGender function
41-46 commented playerGetGenderLabel function
1660, 1661 commented "King" max rank title for male
1663 changed now default max rank title from "Queen" to "Ruler"
 
player.h
51 commented line
191 commented line
192 commented line
 
scores.cpp
14-19 commented highScoreGenderLabel function
43 replaced "highScoreGenderLabel()" with "'X'"
212 changed "%-19.19s %c %-10.10s" to "%-19.19s %-10.10s"
216 commented line
227 replaced "Sex Race" w/ " Race" (two leading spaces)
 
ui.cpp
468, 477 commented lines
469, 478 changed "5,"s to "4,"s
 
  paleface 06:33:42 11/14/22
           
That character.cpp thing was:
 
// She charmed the banker into it!
// if (!playerIsMale()) {
// new_gold += 50;
// }
 
  paleface 06:45:57 11/14/22
           
I wasn't gonna call anyone out on that but it occurred to me that if I don't include the initials that were tagged on the original comment on that function, readers might assume it was done by Umoria's original creator or one of the major maintainers, when it was not. So that full first line was
 
// She charmed the banker into it! -CJS-
 
  paleface 10:07:25 11/14/22
           
Missed documenting a few gender-off changes I'd made in character.cpp; here's the full list:
 
character.cpp
267-290 commented out characterSetGender function
300-303 changed "male" to "char_"
304-309 commented lines
354 changed 5 to 4
461-463 commented out giving F chars 50 extra starting gold 'ppp'
477 commented line
 
  paleface 10:46:57 11/14/22
           
300-303 should be "male_" not "male" of course, good thing I screw up the actual code slightly less than my tracking of it here = o
 
  paleface 13:51:59 11/14/22
           
Spell list auto-open, goes with item list auto-open from 11/12/22:
 
spells.cpp
15 changed "%c-%c, *=List, <ESCAPE>" to "%c-%c, <ESCAPE>"
18 changed false to true
21 added:
terminalSaveScreen();
23 added:
displaySpellsList(spell_ids, number_of_choices, false, first_spell);
65-71 commented lines
 
  paleface 20:34:22 11/14/22
           
Imperceptibly cleaner spell list auto-open 'p':
 
spells.cpp
15 changed "%c-%c, *=List, <ESCAPE>" to "%c-%c, <ESCAPE>"
18 commented line
21 added:
terminalSaveScreen();
23 added:
displaySpellsList(spell_ids, number_of_choices, false, first_spell);
65-71, 86, 88 commented lines
 
  paleface 19:04:00 11/18/22
           
- Any key clears -more- prompts:
 
ui_io.cpp
271-272, 274 commented line
273 comment "key = ", leaving just "getKeyInput();"
 
  paleface 02:22:08 11/28/22
           
I'm still a roguelike noob, and also don't really know what I'm talking about. I liked the look of a couple DOS Moria/Angband ports I happened to see, and wanted to find out where it came from.
 

 
~~~~
 
I downloaded the following files from the following places for this:
 
- DOSBox from www.dosbox.com
 
DOSBox config stuff:
 
fullresolution=desktop
scaler=normal2x forced
 
- PC-Moria 4.873 from myabandonware.com /game/moria-27f
 
- Umoria 5.4, 5.5, and 5.5.2 DOS versions and various source files from www.nic.funet.fi/ pub/unix/ games/moria/ (operated by "CSC, the Finnish IT center for science"--Finnish government)
 
- Moria 5.5.2 386, aka the DJGPP port ("DJGPP is a 32-bit, protected-mode compiler, which means that programs compiled under it require an 80386 or higher to run"), from archive.org/ details/m552-386
 
- Umoria 5.6 Windows port from github.com/ HunterZ/ umoria/releases
 
- Various Umoria source files from umoria.org/highlights/
 
~~~~
~~~~
 
Rogue
 
Steam installs Epyx's 1985 DOS Rogue port version 1.49 in a custom DOSBox arrangement.
 
DOS Rogue's "!" or F10 "Supervisor Key" hides the game with a fake DOS screen; type "rogue" to get back to the game once the boss leaves ; ].
 
Did the "Supervisor Key" become a bit of a running joke in Moria and PC Angband? "!" in DOS versions of Moria pops up the DOS shell, with "type 'exit' to resume your game" at the top; in PC Angband, it prompts a dry retort: "Sorry, Angband doesn't leave enough free memory for a subshell." ; D
 
After PC Angband, though, any such joke may have been lost: in Angband 2.7.4, "!" is used to write in-game macros, and in 2.8.0 it does not appear to have its own game function. There could be a hint of a revival from at least 2.9.0 on, but the new, functional DOS-specific game option menu that "!" brings up there is presented with an entirely straight face. : =|
 
~~~~
~~~~
 
Moria
 
For Moria, I ran I think all the non-variant DOS versions I could find (and a couple related games):
 
- PC-Moria 4.873 - 1988
DOS port from Wilson's Unix code by Don G. Kneller: no Options menu, no [number][command] repeat input, no auto-rest, no Shift-W; default keyboard config is on non-roguelike setting ("MORIA" rather than "ROGUE"; a later DOS port says "VMS" was the other setting(?)--or is it just anything other than "ROGUE"?); can change char for walls (and floors) in Kneller's MORIA.CNF config file--but doesn't change char for SECRET doors (later versions do), so easy exploit to spot secret doors just by changing rest of walls to something else; ^r redraws screen (somehow this breaks after this for a long time, at least as far as DOSBox is concerned); relatively slow character saving and loading; no [executable] -h command line descriptions (not until Angband Frog-knows)--not sure there are any command line options
 
- Umoria 5.4 color - 1991
David J. Grabiner takes over as Moria maintainer from James E. Wilson, "making only minor changes"; Justin Martin Anderson adds DOS color, probably after an official monochrome DOS port by Grabiner (the official Mac version had had 8-color support since at least version 5.2.0; the official Amiga version had 4-color support by at least version 5.4.0); 5.4 has the last still-extant DOS support note until support for DOS and other old systems is officially removed in 2016's version 5.7.0; despite saying so in ? command list, ^r does NOT redraw screen like 4.873 did (does not work again until PC Angband 1.3)
 
- Umoria 5.5 - 1992 (Grabiner)
 
- Umoria 5.5.2 - 1994
Grabiner's releases ended with 5.5.2 in mid-'94; DOS port by Roland Roberts
 
- Moria 5.5.2 386 - 1994?
DOS port by Ben Shadwick; Grabiner names this version as "the executable for the PC" in his FAQ; high CPU usage in DOSbox
 
- UMoria 5.6 msvc3 - 2015
Windows terminal port of 2008 Umoria by Ben Shadwick with "enhancements from the MS-DOS ports," most obviously a Unicode approximation of the DOS checkerboard block; some minor graphical glitches
 
~~~~
 
Robert A. Koeneke enrolled in engineering courses at the University of Oklahoma "around 1980 or 81," and one night while hanging out with some sysadmins in the engineering lab, on a DEC UNIX minicomputer--which despite the name was the size of a very large refrigerator, fronted with four spooled tapes--got hooked on playing the original Rogue. But the DEC minicomputer in the department where he got a job was a VAX running VMS, and "no games were available for it at that time," so he decided to write his own. The developers of Rogue had not released the source code for their game, so Koeneke wrote the best clone he could of what he remembered of it, in BASIC, on the VAX/VMS minicomputer. He named it "Moria" after the deep dwarven mines in novelist J.R.R. Tolkien's "Middle-Earth" fantasy world.
 
A year later--'83 or so--when he started taking a course on Pascal, its functions gave him more ideas for a Rogue-like game, so he started writing another Moria: not an exact Rogue clone, this time, but his own new game. Other UO students got hooked on HIS game, and he challenged them to beat it, and himself to prevent them from beating it. In '85, he started sending his Pascal VAX/VMS source code to other universities. His last release, 4.7, came "around 1986 - 87": "my last official release"; other UO students continued Moria through v4.8 after Koeneke left for the commercial world.
 
Koeneke was establishing the development pattern for the Moria & Angband DOS period: students working in a university computer lab release well-received game version, are encouraged to make more; when they leave, repeat with others.
 
The pattern could jump between schools: James E. Wilson, at the University of California, Berkeley, got the Moria 4.8 source, and ported it to Unix C as "Umoria," numbering the first official release in 1987 version 4.85. Wilson said of why he ported it "I did not have access to a VMS machine, and both the Pascal and Assembler code would not work with Unix because of many uses of VMS extensions. Since C was a more common language for Unix anyways, I decided to just convert the whole thing to C."
 
Wilson's "history" file included with his versions of the game lauds Don Kneller's "PC-Moria 4.873" DOS port--but not Kneller's slightly earlier PC-Moria 4.83, which Wilson calls "extremely buggy" and "unplayable"; Wilson recommends PC-Moria 4.873 over a perhaps slightly earlier "PC-Moria 4.00+," described as "a port of the Moria 4.8 Pascal sources to the IBM-PC by John W. DeBoskey," which he calls "faithful" but "unfortunately" having "quite a few bugs."
 
Of how the game spread, Wilson said "I started work on Umoria in February 1987. I somehow acquired play testers in April. I don't recall exactly how, but I was at a university, so maybe they saw me playing it on a public terminal and asked for a copy. The game slowly spread around the Berkeley area. By November, the game was in good enough shape that I could post it to comp.sources.games."
 
I haven't been able to find DeBoskey's version anywhere; interestingly, it's the only Moria branch Wilson lists as not derived from his Unix port. And while his "history" describes various post-Moria-4.8 Unix and VAX/VMS lines, and an Amiga version, Kneller and DeBoskey's are the only two DOS branches mentioned.
 
Wilson adopted Kneller's DOS port into his own set-up: although no compiled Wilson DOS ports seem to have survived, starting in the next available Umoria source code, 5.2.0, there would be an extensive multi-platform structure in the code base that was not there in 4.87, with explicit support for various platforms: Unix, DOS (present in some form since at least 5.0 in '89, which mentions a save tweak for MSDOS; a change in January 1990's version 5.0.10 may have broken the DOS version; a month later, 5.0.16 notes a change to "get MSDOS version working again," as well as "add files from binary PC-Moria distribution"), Atari ST, Mac, VMS, and by at least 5.4, Amiga; Kneller is credited in many of the DOS-related Umoria 5.2.x+ source files, with 5.x DOS update credit to Wilson; Kneller's DOS .CNF config file and options continue to be used, with some Wilson updates; all later Moria/Angband DOS ports use Kneller's visual template and checkerboard walls--which perhaps not coincidentally were used for passageway graphics in the 1984 and 1985 DOS versions of Rogue.
 
~~~
 
In 1984, one of the original designers of the 1980 game that had so hooked Koeneke, Rogue, had co-founded Artificial Intelligence Design Systems to sell a commercial, DOS version of Rogue. They struggled to break even, but later that year, game developer/publisher Epyx contacted them, and struck a deal under which Epyx began distributing a repackaged version of their DOS port of Rogue in 1985. The '84 AI Design version--from what I can see in screenshots and YouTube videos, anyway--and the '85 Epyx version--at least, the 1.49 version now available for on Steam--both use for their hallways the same DOS checkerboard block that Kneller would use for Moria's walls in '88.
 
That checkerboard block is part of what Wikipedia calls "Code page 437," "the character set of the original IBM PC": "The set includes all printable ASCII characters as well as some accented letters (diacritics), Greek letters, icons, and line-drawing symbols. It is sometimes referred to as the 'OEM font' or 'high ASCII', or as 'extended ASCII' (one of many mutually incompatible ASCII extensions)."
 
Kneller made it easy to change the block character--or "Medium Shade," as Wikipedia's CP437 chart labels it--used for Moria's walls, and the dot character used for open floor spaces, to different characters from the 256-character CP437 set: enter the numeric ID for whichever character you want in the appropriate spot in the moria.cnf DOS config text file (angband.cnf in the early Angband DOS ports). The default config line is
 
GRAPHICS 177 249
 
with 177 being the block, 249 the dot. In CP437, character 176 is a more sparse dot pattern, 178 a thicker one, and 219 a solid block, while 250 is a slightly smaller dot. So changing the default GRAPHICS values in the .cnf to for instance
 
GRAPHICS 178 250
 
would give you heavier-looking walls and lighter floors. If you remove the "GRAPHICS" line altogether, the game reverts to using standard "#" signs and periods instead. A handy debugging feature: if you type a line incorrectly in the .cnf, the game will flash a warning about it, with the line number, at runtime.
 
Wikipedia notes that "some APIs will not print some code points, in particular the range 0-31 and the code at 127. Instead, they will interpret them as control characters" and indeed, the few I tested yielded various behaviors:
 
- In PC Moria, middot 7 and eighth note 14 rendered as "^G" and "^N"
- In Frog-knows, 7 and 14 rendered as nothing and an eighth note, respectively
 
Tripping through the listing of "adventure" games on dosgames.com, I noticed another game using, like Rogue, one of those DOS checkerboard blocks to represent worked stone structures in 1984, prior to PC Moria: freeware game "Castle Adventure," written by then-14-year-old Kevin Bales, used the block for its titular castle's walls.
 
~~~~
 
Grabiner's Moria FAQ, which he reposted to both Moria newsgroups -- rec.games .moria and its successor, rec.games .roguelike.moria (remove the spaces) at intervals through 2010, says that versions back through 5.3--the end of Wilson's run, in March 1991--were "essentially identical" to his last release, 5.5.2, which he continued to refer to as "the current version" even in his last posting of the FAQ to the newsgroup in 2010--which was after 5.6.0 was out, with various maintenance fixes and an update to the Umoria sharing license--changes by him and Rene Weber. Umoria has, in effect, been in maintenance mode since Wilson's departure in '91:
 
Grabiner made two minor updates in '92, none in '93--the year Angband came out--and two in '94; then a gap to some fixes in 2000-01, another gap to 5.6--a 2008 license change--and another gap to 5.7.0 in 2016, a substantial code clean-up, adding support for Windows and macOS, and removing support for old systems, including DOS. Regular maintenance updates have continued in the dungeons-of-moria repository on github since 2017.
 
~~~~
~~~~
 
Angband
 
- PC Angband 1.3 - August 1993
Teague; Precision targeting from Moria 5.5 variant Morgul; after PC-Moria, ^r finally works to redraw screen again!; verbose angband -h command line descriptions
 
~~~~
 
In 1990, University of Warwick, England students Alex Cutler & Andy Astrand began expanding Umoria 5.2.1's Unix C code. Students Sean Marsh and Geoff Hill, with others, continued the work after Cutler and Astrand graduated. They gave their version, dubbed "Angband," a wide release in April 1993, with a simultaneous DOS port by Charles F. Teague II, who had been working on it at UMass Boston for several months thanks to alpha Unix versions sent by Marsh. Teague's DOS port kept the checkerboard block walls, config file, and probably lots more, DOS-wise, of Kneller's PC-Moria, and added color via code adapted from the color Umoria 5.4 DOS port, with permission from its author Justin Martin Anderson. Nine days later Teague uploaded a self-extracting bugfix DOS version, ang11exe.exe, to his preferred distribution site, the ksu.edu ftp server.
 
(The KSU FTP had, or would have by December 1993, at least, its own "Archive Manager for Moria and Angband": KSU engineering student Karl S. Hagen. Angband maintainer Ben Harrison would later refer to the KSU FTP as "the 'official' Angband site." Hagen graduated from KSU--or was expecting too--in 1995, but still posted about the "Angband KSU FTP site" in December 1996, calling it "pretty much automated.")
 
Teague started adding his own features, and balance and gameplay changes, to the game with his next release, uploaded as "ang12exe.exe" in May 1993; the print out from its in-game "V" (Version) command calls this line of updates "PC Angband" and gives their numbered ftp file names, but does not assign specific names to his releases. His August 1993 release, a quick bugfix to version 3 of that same month (Angband's site does not have version 3 available), uses the name PC Angband 1.31.
 
For 8+ months after Frog-knows, DOS, through PC Angband, was the epicenter of Angband development. Besides making more and more balance and game changes of his own, Teague was also incorporating more code from past and present versions of Moria, as well as more key additions from Moria variants: targeting code from Morgul, and the "auto-roller" character generation option from Druid.
 
Teague released one more DOS version, PC Angband 1.4, in March 1994, saying "That's all for now, folks"; he added that he intended to continue working on Angband, but his releases would slow until "someone out there invents a 36-hour day." He had been working a day job since at least January. He did not reappear in the newsgroups.
 
With Teague's departure, there was no further official DOS development until a year later, when Ben Harrison, as Wilson had with Moria, made a vast code overhaul of Angband and established wide multi-platform support. Skimming only lightly across Harrison's numerous DOS version releases left me with an impression of fitful progress, perhaps due to the appearance of some new, possibly DOS-specific visual glitches, and a lack of regular release notes.
 
~~~~~
~~~~~
 
In writing this I used information from umoria.org, rephial.org, John Harris' Moria and Angband articles on his setsideb.com blog, Wikipedia's Code page 437, Rogue, Moria, and Angband articles, newsgroup posts on the aforementioned Moria groups and rec.games .roguelike.angband (remove the space) by Sean Marsh, David J. Grabiner, Ben Shadwick, Ben Harrison, Karl S. Hagen, Geoff Hill, Robert Alan Koeneke, Charles Swiger*, James E. Wilson, Charles F. Teague II, and David G. Kahane, Ben Shadwick's HunterZ github, Rühlmann's thangorodrim.net via archive.org, the Angband Variants Table by Tangar Igroglaz, mentioned earlier, and from files in the releases I downloaded from the sites listed at the top.
 
* Swiger also posted as "Chuck Swiger" and "Charles William Swiger."
 
~~~
 
Notes on running some of these DOS ports now:
 
- The Moria 5.5.2-386 DOS port and the Angband 2.7.4 through 3.0.6 DOS ports chew up a lot of CPU in DOSBox--at least one of those Angband ports also mentioned being compiled for 386 processors, so maybe whatever that involves just forces a lot more work out of DOSBox
- Renaming the containing directory of PC-Moria 4.873 will prevent it from being able to load a previous save file (but it can run without one)
    
 
references:
· Angband (PC)
· Hengband (PC)
· Omega (PC)
· Rogue (PC)

 
© 2022 paleface.net. Game impressions are © the individual contributors. All rights reserved.