1 === History of Hengband from 1.0.7 to 1.3.1 ===
3 Oct. 31st, 2002 hengband 1.3.1 (Development branch) released.
5 - Added a new menu 'Keep on top' for subwindows of Windows version
6 - Auto-Inscription-For-Resistances, {%}, will work dynamically.
7 - Weak pseud-identified inscription for enchanted objects is now
8 {uncursed} instead of {good}.
9 - New trapped rooms: Piranha trap and Armageddon trap.
10 - Keep background terrain under Rune of Protection and Rune of Explosion.
11 - Fixed the bug that trapped pit is isolated within walls.
12 - Removed little boy and fat man.
13 - New unique; Sheer Heart Attack, the Bomb Hand
14 - Changed configure.in so that acconfig.h is no longer needed.
15 - All changes from 1.2.0 to 1.2.2.
18 Oct. 31st, 2002 hengband 1.2.2 (Stable branch) released.
20 - The Cloning Pits now includes Borshin.
21 - Description of *identified* Light source of darkness now include
22 effects on light radius as numerical value.
23 - Fixed bug that radius of light source couldn't reach to zero however
24 many darkness items are equipped, when the player has fiery aura.
25 - Fixed many bugs(rod of percention, Royal Crypt, etc...)
28 Sep. 9th, 2002 hengband 1.2.1 (Stable branch) released.
30 - Added description about license of Hengband; 'jlicense.txt'.
31 (jlicense.txt is Japanese only for now)
32 - Increased AC of the ego Ring of Protection (Extra Armor) by 7.
33 - Fixed some bug on monster's AI.
34 - Fixed bug that cause crash when specific chest trap triggerd.
35 - Fixed wrong display of the Tower quest in quest information command.
36 - Fixed bug that fail rates of the imitation differed from the value
37 displayed in a spell list.
38 - Changed the Walken to be drop items.
39 - Fixed some memory leak and overruns and underruns memory allocation.
40 - Fixed some other bug.
43 Aug. 28th, 2002 hengband 1.3.0 (Development branch) released.
45 - Added a new room type; trapped monster pit.
46 - Added object flags of various ESPs. (from Unangband and ToME)
47 - Every slay flags now have corresponding *slay* flags.
48 - The 'C' command display ESPs, Slays and 'other' flags on a new page.
49 - Now Weaponsmiths can attach ESPs and *slay*s on equipments.
50 - Inserted new-lines after first two paragraphs of monster-recall.
51 - 'Experience' of Andoroid is now displayed as construction point.
52 - Counting of play time will stop within the auto-picker editor.
53 - Wrote quest information in character dump file.
54 - Apply auto-destroy just after using Psychometry.
55 - Added new command letter ';' of auto-picker/destroyer which forces
56 the game to ask if you want to pick the item up. (Thanks to Kieron)
57 - The '?' key shows you contextual help while option setting and
58 character making.(from Eyangband)
61 Aug. 28th, 2002 hengband 1.2.0 (Stable branch) released.
64 - Splited version tree into two branch;
65 development version: 1.3.x and stable version: 1.2.x.
66 - Introduced save-file-version which is independent from actual
67 version number of the game.
68 - Placed Thorondor at level 50 of the Mountain dungeon as a master.
69 - Strengthened all greater eagles very much.
70 - Added new options: destroy_feeling and destroy_identify which
71 control whether auto-destroy will be applied just after pseudo
73 - Moved manual_haggle option into birth option from game option.
74 - A mirror made by mirror-master will change back to original terrain
75 when the mirror is broken.
76 - Added description of every spells of Magic-eater.
77 - Area of Darkness spell was changed back to same as 1.1.0RC2.
78 - You can use '(' and ')' key as first or last item on item selection.
79 - Changed message text at climbing up to surface level.
80 - Halved experience of drujs.
81 - Added more descriptions of personalities on help file and character
84 Modifications for auto-picker/destroyer editor:
85 - Added descriptions about function of {%} and {%all}.
86 - Added search commands '/', 'n', 'N' on the editor.
87 - New commands '~', '!', ';', '(' which repeatedly add or remove
88 corresponding command letter.
89 - The game no longer creates pickpref-<player's name>.prf when
90 pickpref.prf is already exist.
91 - Do auto-save the game at starting the editor.
94 Jun. 15th, 2002 hengband 1.1.0 released.
96 - Changed behavior of light area.
97 - Various bug fixes and tuning.
100 Jun. 2nd, 2002 hengband 1.1.0 Release Candidate 1 released.
102 - Splited Life realm into two and new spells added; New 'Life' realm
103 and New 'Crusade' realm.
104 - Speed system modified; multiple-moves got fewer at early stage.
105 - Vi-like in-game editor(the _ key) of Auto-picker/destroyer
107 - Character background can be edited by player at birth.
108 - Auto-destoy/Auto-inscription is now performed just after identify
109 objects (like auto-squelch).
110 - Indicators of temporal effects(status bar) are now have variable
112 - new option view_unsafe_grids from Unangband; Unkown grids that have
113 not beed trap detecteted are marked with gray 'x'.
114 - new option disturb_trap_detect from Oangband; disturbs you when
115 player is running out of trap-detected area.
116 - new option alert_trap_detect; alerts you with message when the
117 player is moving out of the trap-detected area.
118 - Ninja can now throw(v) Iron Spikes in the Arena.
119 - Known monster level is displayed together with monster name in look
121 - The game loads only either pickpref-<name>.prf or pickpref.prf, not
123 - Fake inscriptions({cursed} {empty} etc..) are not hidden under real
125 - A stack of more than 23 objects on floor can be listed when
126 easy_floor is on; you can scroll the list with the enter key.
127 - Expanded limit radius of light from player's light source.
128 - Downstairs don't become 'very long stairs' when ironman_downward is
130 - Added Essence of Slay human and Essence of Warning for Weaponsmith.
131 - Added new monsters.
132 - Default color of permanent walls is now Light Umber.
133 - Added a few new tiles.
137 Apl. 6th, 2002 hengband 1.0.11 released.
139 - The on-line help files is translated to English
140 - Warning ability of an object can be canceled by its inscription {$}.
141 - The terrain feature of brake changed '#' -> ':'
142 - Format of the mon-info.spo is revised
143 - HUMAN flag for monsters and SLAY_HUMAN flag for weapons
144 - 'Muramasa' and 'Chainsword' are modified and have SLAY_HUMAN now.
145 - The cause of death is written in character dump.
146 - Paralyzation status is written in the text of the cause of death.
147 - Cursed items have various random unpleasant effects.
148 - Bigtile graphics mode, each tile have double width and become a square.
149 - Bigscreen from OAngband
150 - Correct cause of death when hallucination
151 - Savefile name longer then 8 letters can be used. (For Windows)
152 - Normal magic items have descriptions when *identified*
156 Mar. 6th, 2002 hengband 1.0.10 released.
158 - New artifact, ego-ammo and vault.
159 - Class power of Red-Mage is more useful.
160 - Force Trainer becomes more and more powerful in melee when
161 they use 'Improve Force'.
162 - Monster AI is a bit improved.
163 - The Serpent of Chaos summons guardians of each dungeons.
164 - Random artifact names list was expanded.
165 - Iron Spikes has (dmg per shot/dmg per turn) display.
166 - Automatically tidy up bundles of ammo to 99 ammo and the rest.
167 - Interact with visual command takes ^N ^A ^C.
168 - Support 16x16 tile. Selected by extra option -- -a on X11.
169 - 8x8 tile supports lighting effects.
170 - Screen shot is supported in graphics mode.
171 - Support in MPW environment of Macintosh.
173 Jan.30th, 2002 hengband 1.0.9 revision 1 released.
175 - Fixed one more bug which cause crash (English version only).
177 Jan.27th, 2002 hengband 1.0.9 released.
179 - New character making screen
180 - New character information 'C' screen
181 - Range and accuracy of crossbow are changed.
182 - Rod of Pesticide was changed.
183 - The score server now holds colored screenshots at dying and winning.
184 screenshots will be placed at:
185 'http://www.kmc.gr.jp/~habu/local/hengscore-en/screens/'.
186 But links on the webpage to the screenshots are not yet available.
187 - Limited support of 8x8 tile graphics.
188 - Hengband online help in *Japanese*.
189 (sadly English version of online help is not yet available)
190 - Rune of explosion no longer has anti-summoning effects.
191 - Rune of protection no longer has perfect
192 anti-summoning effects. Sea of runes are no longer
193 perfect. But this change has a good side effect:
194 monsters can waste its time to try summoning.
195 - Identify spell now shows only unidentified items in the list.
196 - Difficulty to activate random artifact is changed.
199 Dec.31th, 2001 hengband 108fix2 revision 1 released.
201 - 'fix2' is japanese bug fixed version but this bug was
202 not effect on English version.
203 - The 'interact with knowledge' command changed.
204 You can get display of lines of auto picker/destroyer.
207 Dec.31th, 2001 hengband 108fix1 version 3 released.
209 - Auto macro dump and other auto dump is now
210 more useful. Old dump lines will be deleted
211 before appending new dump.
212 - A minor typo and a minor bug fixed.
215 Dec.30th, 2001 hengband 108fix1 version 2 released.
217 - All remained japanese messages are found and fixed,
218 using a exclusive C program.
219 - You can now define macros in the 'pickpref.prf'.
222 Dec.29th, 2001 hengband 108fix1 released.
224 - This is a bug fixed japanese version, and almost
225 - same as 108eng3, but a few more bugs are fixed.
228 Dec.25th, 2001 hengband 108eng2(stable) and 108eng3(test version) released.
230 - 108eng2: fixed some typo. ']' key now can be used as macro key.
231 - 108eng3: macro trigger is displayed in more suitable way;
232 such that \[F1] or \[control-shift-alt-HOME].
233 And you can use alt-key plus alphabet-key as macro
234 key on Windows now; \[alt-A] or \[shift-alt-B].
237 Dec.24th, 2001 hengband 108eng1: makefile.bcc was not work. now fixed.
239 Dec.24th, 2001 hengband 1.0.8 released. This is a new Japanese version.
241 The source can be used to compile English version too.
242 - The address of the world score server is changed.
243 - Makefiles was changed again.
244 - New item: Magic Whistle.
245 - Ninja had been a bit weakened.
246 - can study known spells using 'G' command for more proficiency.
247 - Some minor bugs was fixed.
248 - Yet another japanese massage was translated.
251 Dec.17th, 2001 hengband 1.0.7fix2 english beta4 released.
253 - Yet another remained japanese messages are now translated.
254 - Changed some option info texts and names again.
255 - Inventory lists of Home and Museum in the character dump is fixed.
256 - Some bugs related groo and Metal Babble is fixed.
259 Dec.11th, 2001 hengband 1.0.7fix2 english beta3 released.
261 - fixed a compile error. English info message of artifacts added.
262 - changed some info text and name of options.
265 Dec. 9th, 2001 hengband 1.0.7fix2 english beta2 released.
267 - fixed a terrible bug,
268 - items in the home was not saved when more than 24 items stored.
269 - Binary for Macintosh (ppc, osX) is now available.
272 Dec. 8th, 2001 hengband 1.0.7fix2 english beta released.
274 - Many mistakes of English messages, and bugs are fixed.
277 Dec. 5th, 2001 1.0.7fix2 english alpha2 released.
279 - fixed some mistakes of archives.
282 Dec. 4th, 2001 hengband 1.0.7fix2 english alpha version released.
285 === The main differences of Hengband 1.0.7 from ZAngband2.2.8 ===
287 - World score server: You can register scores and character dumps.
288 - Player can write last words when died, which is displayed in the
289 character dump registered to the score server.
290 - Menu interface: return key activates the main menu which include almost
291 all commands. So beginners don't need to memorize all commands.
293 - Player can ride on some pet monsters, horses, dragons etc.
294 - Player can wield two weapons at once or wield a weapon with two-handed.
295 - Player have proficiency levels of each weapons and spells, like Nethack.
296 - Player can change second magic realm. All previous realm's spell will
297 be lost. There is a limit in the total of studying spells.
300 Tourist : they can poorly cast arcane spells. difficult to survive.
301 Imitator : imitate spells or abilities which monsters have just used.
302 BeastMaster : dominate or summon monsters and ride on these.
303 Sorcerer : cast spells of all magic realms. But physically hopeless.
304 Archer : a warrior specialized in missile weapon. can create ammo.
305 Magic-Eater : absorb wands, staffs and rods to use it as magic spell.
306 Bard : sing songs. like Harper of PernAngband.
307 Red-Mage : dual-class, can cast all lower rank spells of all realms.
308 Samurai : use Samurai Arts which include various special attack.
309 ForceTrainer : use the spiritual Force. prefer to be bare-hand
310 Blue-Mage : study monster's spells. use these as his own spell.
311 Cavalry : a warrior specialized in riding.
312 Berserker : powerful warrior. but cannot use magic items except potions.
313 Weaponsmith : extract essences from items. use it to improve equipment.
314 Mirror-Master : create magical mirror. use its fantastic power.
315 Ninja : act without lights, attack monsters with possible insta kill.
318 Ent, Archon, Balrog, Dunadan, Shadow-Fairy, Kutar, Android
319 - Player's Personality:
320 At the character making, you can choose Personality, which include
321 Ordinary, Mighty, Shrewd, Pious, Nimble, Fearless, Combat, Lazy,
322 Sexy, Lucky, Patient, and Munchkin.
323 - New magic realms: Craft magic, Daemon magic
324 Other magic realms also exist for new classes' exclusive use.
325 Existing realms are modified.
326 - Class powers: class specific powers, like the racial one.
327 - Pernangband-like large wilderness map and many different dungeons,
328 including Maze, Volcano, R'lyeh, Anti-magic cave, Anti-melee cave,
329 Chameleon cave, Dark cave, Hell, Heaven, etc.
331 - The amount of energy which player and monsters take in each turn are
332 randomized, which makes pillar-dancing impossible, and produces
333 danger of possible sudden death.
334 - Monsters can breath or cast spells to a place adjacent to player.
335 - A monster which was attacked in the last turn can move and cast spells
336 even if the attacker is not in the line of sight.
337 So a Quylthulg pit is no more an easy source of experience.
338 - The path shape of bolt spells is same as the path of missile weapons.
339 - New abilities of monsters
340 - Dispel magic spell: dispels all magic of player, including
341 Globe of Invulnerability. And many deeper unique monsters,
342 including Serpent of Chaos, wisely cast dispel magic spell.
343 - Psycho spear: beam spell which penetrate Globe of Invulnerability.
344 - Stop the Time: A few monsters can cast it...
345 - blow with drain mana: some monster cause damage at SP with its blow.
346 - Higher level monsters can resist genocide.
347 - Even artifacts will be removed by *destruction*.
349 - Player can name his pets, and can take pets over to any place.
350 - Pet monsters will not turn against player when attacked by player.
351 - Monsters killed by player's pets don't drop items.
352 - Player and monsters cannot summon monsters of opposite alignment.
354 - Capture Ball, capture a monster to make pets, or carry a pet.
355 - Wizardstaff and Ring of Mana, decrease mana consumption of spells.
356 - ring of warning, warn before dangerous move.
357 and many other new items...
358 - Many new artifacts and new monsters.
359 - Random Quest monster is always unique, and one-time only.
360 - Ego rings and Ego amulets.
361 - Names of random artifacts will reflect it's ability.
362 A weapon which has fire brand, fire resistance, and fiery aura is
363 more likely named 'Fire Bland' or like that.
365 - When player level advances, stats increase sometimes. Instead,
366 stat gaining potion is much rarer.
367 - Players start with more HP and more SP, early stage is not very hard.
368 - Home is expanded to 20 pages. and all 4 Homes in 4 towns is same.
369 - New building Museum: Give as many items as you like for memorial.
370 - New building Hunter's office: They offer prize for wanted monsters.
372 - New casino game Poker : It's real poker.
373 - New casino game Monster Arena : You bets to one of four monsters.
374 They battle each other and you win when your monster wins.
375 - Auto picker: write item names on a file named 'pickpref.prf', then
376 these items will be automatically picked up or destroyed and even
377 automatically inscribed.
381 === Zangband History and Information ===
383 Versions 1.0 - 2.1.0c
384 ---------------------
386 The seeds of Zangband lie in an obsolete and long ago vanished PC
387 variant (somewhat misleadingly) dubbed Angband--. The variant was
388 written by a hopeless Angband addict (previously Moria veteran and
389 winner) who got bored with the standard monsters and wanted to
390 introduce some new monsters. Angband-- was based on the PC Angband 1.31
391 sources, and it was set in Roger Zelazny's 'Amber' universe.
393 Later this individual got a better computer and learned to code, and
394 produced the PC Zangband, and most Angband-- monsters survived into
395 PC Zangband 1.0. PC Zangband 1.0 was the first PC Angband to introduce
396 (simple, font-based) graphics, which were also used in the graphical
399 Yet this individual was still not cured of his addiction... his almost
400 as strong addiction to the Civilization style fantasy strategy game
401 'Master of Magic' inspired him to write a new magic system. The current
402 version of Zangband (2.*) incorporates this magic system, as well as
403 the best features from Angband-- and PC Zangband 1.0. It is based on
404 the Angband 2.8.1 sources (by Ben Harrison), and is therefore portable
405 to other systems (unlike the earlier versions which were for dos-pc's
408 Incidentally, this person (me, Topi Ylinen) also thought that the
409 standard Angband monsters were too easy, which led him to introduce
410 such monsters as Death swords, Cyberdemons and Great wyrms of power...
412 Versions 2.1.0d - present
413 -------------------------
415 ZAngband 2.1.0c was Topi's last version, he has got a job and and
416 doesn't have enough time anymore to continue work on ZAngband.
417 He asked for a new maintainer and I was the one to take over the task.
418 May I introduce myself, my name is Robert Ruehlmann, I'm the creator
419 of the graphical Angband versions for DOS and webmaster of
420 "Thangorodrim - The Angband Page" ("http://www.thangorodrim.net").
425 The newer versions of Zangband might not have come into existence
426 without the significant help from these excellent Angband programmers.
428 Topi would like to thank:
430 Ben Harrison, for obvious reasons.
432 Greg Wooledge, who pointed out a bug in the dos compiler,
433 which was preventing Topi's progress with the first 2.* version
434 of Zangband and for various patches.
436 Julian Lighton, who must have sent Topi more ideas, patches,
437 and bug reports, than all the others toghether.
439 Robert Ruehlmann, whose nice new main-dos.c enables SVGA
440 graphics and even windows in ms-dos.
442 Paul Sexton, who is responsible for about 50% of the new code
445 Robert would also like to thank:
447 Heino Vander Sanden, who created the quest-code and
448 Dean Anderson, whose patch showed me the quickest way to
449 implement the quests.
451 Adam Bolt, who created the new ZAngband tiles.
453 Scott Bigham, for the S-Lang patch.
455 Jeff Duprey for the new mutations.
457 John Duffin and Leigh Silas Hanrihan for the new items.
459 Marten Woxberg for many new ideas.
461 Ken Wigle for allowing me to include his town and quest code.
463 Tim Baker for many patches and bugfixes and for ZAngbandTk.
465 Chris Weisiger for many new vault layouts.
467 Juergen Neitzel for countless new rumors.
469 Topi Ylinen, Mark Howson, Adam Horowitz, Oscar Nelson and
470 all the other regular members of the #angband chat channel
471 for giving me lots of new ideas and being good friends.
473 Benny S. Hofmann, Aram Harrow, Greg Harvey, Keldon Jones,
474 Graham Murray, Remco Gerlich, Tim Baker, Oscar Nelson,
475 Adam Horowitz, David A. Henry, "Strikes", Chris Hadgis,
476 David Howdon, Jenni Henzel, Stephen Lee, Gwidon S. Naskrent,
477 Eric Wright, Bob Martin, Jeff Coleburn, Ethan Sicotte,
478 Brandon Walker, Kelly Trinh, Brian Graham, James W. Sager III,
479 John Holton, Larry Bassel, Markus Linnala, Musus Umbra,
480 Mike Hommel, Christopher Stranczek, Werner Baer, Andreas Koch,
481 Jon Boehnker, Jason Willoughby, David Paoletti and many others
482 for bugreports, patches, bugfixes, and ideas.
485 === Brief Version History (of standard Angband) ===
487 First came "VMS Moria", by Robert Alan Koeneke (1985).
489 Then came "Umoria" (Unix Moria), by James E. Wilson (1989).
491 In 1990, Alex Cutler and Andy Astrand, with the help of other students
492 at the University of Warwick, created Angband 1.0, based on the
493 existing code for Umoria 5.2.1. They wanted to expand the game, keeping
494 or even strengthening the grounding in Tolkien lore, while adding more
495 monsters and items, including unique monsters and artifact items, plus
496 activation, pseudo-sensing, level feelings, and special dungeon rooms.
498 Over time, Sean Marsh, Geoff Hill, Charles Teague, and others, worked
499 on the source, releasing a copy known as "Angband 2.4.frog_knows" at
500 some point, which ran only on Unix systems, but which was ported by
501 various people to various other systems.
503 Then Charles Swiger (cs4w+@andrew.cmu.edu) attempted to clean up the
504 mess, resulting in several versions, starting sometime around November,
505 1993, with Angband 2.5.1 (more or less) and leading up to Angband 2.6.2
506 in late 1994. Several people ported (the primarily Unix/NeXT centered)
507 Angband 2.6.1 to other platforms, including Keith Randall, who made a
508 Macintosh port that added support for color usage. Some of the changes
509 during this period were based on suggestions from the "net", PC Angband
510 1.40, UMoria 5.5, and some of the Angband "variations", such as
513 Finally, I (Ben Harrison) took over in late 1994 when Charles Swiger
514 left. Initially my intention was simply to clean up what had become,
515 after ten years, a rather unholy mess, but the deeper I delved into the
516 code, the more it became apparent that drastic changes were needed, so,
517 starting with MacAngband 2.6.1, I began a more or less total rewrite,
518 resulting, eventually, in Angband 2.7.0, released around January first,
521 Angband 2.7.0 was a very clean (but very buggy) rewrite that, among
522 other things, allowed extremely simple porting to multiple platforms,
523 starting with Unix and Macintosh, and by the time most of the bugs were
524 cleaned up, in Angband 2.7.2, including X11, and various IBM machines.
525 Angband 2.7.4 was released to the "ftp.cis.ksu.edu" site, and quickly
526 gained acceptance, perhaps helped by the OS2 and Windows and Amiga and
527 Linux ports. Angband 2.7.5 and 2.7.6 added important capabilities such
528 as macros and user pref files, and continued to clean up the source.
529 Angband 2.7.8 was designed to supply another "stable" version that we
530 can all give to our friends, with new "help files" and "spoiler files"
531 for the "online help", plus a variety of minor tweaks and some new
532 features. Angband 2.7.9 optimized a few things, and tweaked a few other
533 things, and cleaned up a few other things, and introduced a few minor
536 It is very hard to pin down, along the way from 2.6.2 to 2.7.0, and
537 thence to 2.7.8, exactly what was added exactly when. Most of these
538 steps involved so many changes as to make "diff files" not very useful,
539 since often the diff files were as long as the code itself. Most of the
540 changes, with the notable exception of the creation of the new
541 "main-xxx.c" files for the various new platforms, and a few other
542 exceptions generally noted in the source, were written by myself,
543 either spontaneously, or, more commonly, as the result of a suggestion
544 or comment by an Angband player. So if you have any problems with
545 anything that you do not recognize from older versions, you can blame
546 them on me. And if you like the new features and such, you can send me
547 a brief little "thank you" email (to benh@phial.com) or something...
549 The Official Angband Home Page ("http://www.phial.com/")
550 was created along with Angband 2.7.9 to serve as an up to date
551 description of any bugs found in various versions, and to list all of
552 the people whose email addresses I kept having to look up.
555 === Some of the changes from Angband 2.6.1 to Angband 2.7.9 ===
557 The most important modification was a massive "code level cleanup" that
558 made all of my other modifications much simpler and safer. This cleanup
559 was so massive that in many places the code is no longer recognizable,
560 for example, via "diff -r", often because it was rewritten from
563 The second most important modification was the design of a generic
564 "term.c" package, which allows Angband to be ported to a new machine
565 with as few as 50 lines of code. Angband 2.7.9 thus runs without
566 modification on many machines, including Macintosh, PowerMac, Unix/X11,
567 Unix/Curses, Amiga, Windows, OS2-386, DOS-386, and even DOS-286.
569 It would be difficult to list all of the changes between Angband 2.6.1
570 and Angband 2.7.9, because many of them were made in passing during the
571 massive code level cleanup. Many of the changes are invisible to the
572 user, but still provide increased simplicity and efficiency, and
573 decreased code size, or make other more visable changes possible. For
574 example, the new "project()" code that handles all bolts, beams, and
575 balls, the new "update_view()" code that simplifies line of sight
576 computation, or the new "generate()" code that builds new levels in the
577 dungeon. Many changes have been made to increase efficiency, including
578 the new "process_monsters()" and "update_monsters()" functions, and
579 the new "objdes()" and "lite_spot()" routines. The generic "Term"
580 package yielded efficient screen updates, and enabled the efficient use
583 But anyway, here are a few things that come to mind, in no particular
584 order, and with very little time or effort. Somehow I managed to put
585 off updating this file to the very end, and it will just have to do for
586 now. The recent changes (and bug fixes) can be found at the Official
593 generic feature array, with template file
594 generic object array, with template file
595 generic artifact array, with template file
596 generic ego-item array, with template file
597 generic monster array, with template fils
598 generic vault array, with template file
599 binary image files for the template files
600 special stat effect tables
601 a special table of spells
602 a special table of options
604 inventory restrictions
605 using objects off the floor
606 various new runtime options
607 the new "destroy" command
608 the new "examine" command
609 the new "note" command
610 the new "dump screen" command
611 the new "load screen" command
612 the new "un-inscribe" command
613 the new "change visuals" command
614 the new "change colors" command
615 the new "change macros" command
616 the new "save game" command
617 the new "fire" vs "throw" commands
618 rearranged equipment slots
620 an extra inventory slot
623 better monster memory
630 special lighting effects
634 much cleaner store code
635 generic spell projections
636 scrolls of *identify*
640 new message recall code
641 new spell and prayer code
642 massive cleanup of effects code
643 new object allocation routines
644 powerful (but simple) on line help
645 robust savefile cheat preventers
646 new official cheating options
648 new hallucination code
649 optimized object description code
650 new keypress input routines
651 actual object discounts
652 fractional (asymptotic) speed
653 postponing updates/redraws
654 run-time price determination
655 better wizard commands
657 launchers of extra shots
658 elemental ignore flags
660 new player ghost creation
661 no more sliding objects
662 no more sliding monsters
665 regularized the artifact code
666 regularized the ego-item code
667 new monster abilities
668 new monster spell attacks
669 some new store owners
670 run-time skill computation
671 player kills vs ancestor kills
672 better room illumination code
673 better group monster code
674 table access through pointers
675 more redefinable constants
676 slightly new screen layout
677 extreme code cleaning
678 extreme optimizations
681 === A Note from the Maintainer (of standard Angband) ===
683 Welcome to Angband 2.7.9v6.
685 My name is Ben Harrison, and I have been the maintainer of Angband
686 since November, 1994, when the previous maintainer, Charles Swiger
687 (who developed Angband 2.5.1 through 2.6.2), got a real job. Starting
688 with Angband 2.7.0, and continuing through the current version (2.7.9),
689 I have been responsible for a number of major improvements to the basic
690 Angband game, some of them obvious to the casual user and others hidden
691 below the surface, but no less significant. The most significant
692 improvement has been a total rewrite of large portions of the code,
693 which, after ten years of modifications by various people, had begun to
694 resemble a rotting death mold. Also significant was the design of a
695 generic "term.c" package, which has allowed Angband to be easily ported
696 to Macintosh, Amiga, X11, Windows, and basically every system in
697 existance (including a beta-version for DOS-286).
699 In addition, I have added lots of new commands, features, and
700 functionalities, most of which appear to have been accepted by most
701 people as a good idea (TM).
703 It is extremely easy to port Angband 2.7.9 to a new system. If you
704 cannot find a version that will compile on your machine, you can
705 usually make one by writing a single file of about one hundred lines of
708 Angband 2.7.8 was intended to be a nice, clean, stable version, so we
709 can all give copies to our friends. Unfortunately, it contained a few
710 minor bugs. The *enchant* armor/weapon scrolls were "swapped". The game
711 starts to look funny if too many objects accumulate on the floor. The
712 "Q" command (commit suicide) does not work. You may not be able to load
713 older savefiles. Some special dungeon levels may take a long time to
714 generate. Good drops can include cursed rings of speed. But you can see
715 that none of these are "fatal", so Angband 2.7.8 remains for now the
716 most "official" version.
718 Angband 2.7.9v1 through Angband 2.7.9v6 are intended as "transition"
719 versions leading up to the release of Angband 2.8.0. Angband 2.8.0 will
720 include many extensive changes from Angband 2.7.8, see the web page for
723 Most of these changes have been completed, and include things like
724 cleaning up some internal code issues, optimizing the code (again),
725 extending the functionality of some existing commands (such as target
726 and look, which now handle directional motion), tweaking various
727 aspects of the program, most notably in the introduction of new
728 symbols and colors for various monsters, and in the use of a more
729 regular set of RGB values for the various color codes, etc. Again, see
730 the web page for a complete list.
732 Angband 2.8.0 will introduce a version independent savefile format,
733 along with a new terrain feature concept, and the ability to allow
734 multiple objects in the same cave grid. It may or may not separate the
735 "unique" monsters from the "normal" monsters, perhaps introducing some
736 new "normal" monsters, such as "skeleton lord" or "giant boar" or
739 You can email compliments, complaints, bug reports, and presents to
740 me ("benh@voicenet.com"), and you can post interesting experiences,
741 general questions, compilation questions and code suggestions to the
742 newsgroup ("rec.games.roguelike.angband").
744 You can obtain the latest source and pre-compiled executables from
745 various places, try "ftp://ftp.cis.ksu.edu/pub/Games/Angband/Angband-2.7.x"
746 and the developer site at "ftp://export.andrew.cmu.edu/angband". You
747 will need to enter the appropriate sub-directory, such as "Source" or
750 You should visit "http://www.voicenet.com/~benh/Angband/" (the
751 Official Angband Home Page) and "http://www.paranoia.com/~jth/angband.html"
752 (the Unofficial Angband Home Page), for more up to date information.
754 You may freely distribute the game, and its source, though you are
755 bound not only by the existing copyright notice from 1984, but also
756 whatever restrictions may be present on various other pieces of the
757 code, including the fact that any source written by me is technically
758 automatically placed under copyright and may thus not be used for
761 The basic help files supplied with this game are more or less up to
762 date, but when in doubt, the source (or the newsgroup) is the place to
763 turn for advice. Or attempt to figure it out by experimentation, this
764 is sometimes the most fun. In particular, see "commands.txt" for
765 information on the available commands, some of which have been recently
766 added or changed, and "options.txt", which describe how to customize
767 several aspects of the game to suit your preferences.
769 The documentation is very easy to modify and update, so you may want to
770 check in to the ftp site occasionally to see if there are any new help
771 files (or spoiler files) for you to acquire. Note that the spoiler
772 files are not distributed with the source since they are so huge, but
773 you can obtain them from various places as with the source and
774 executables. New spoiler files may be placed in the "lib/help" or
775 "lib/info" directories, to allow access via the "online help" system.
777 Remember to tell all your friends about how much you like Angband...
784 === A Posting from the Original Author ===
786 From: koeneke@ionet.net (Robert Alan Koeneke)
787 Newsgroups: rec.games.roguelike.angband,rec.games.roguelike.moria
788 Subject: Early history of Moria
789 Date: Wed, 21 Feb 1996 04:20:51 GMT
791 I had some email show up asking about the origin of Moria, and its
792 relation to Rogue. So I thought I would just post some text on the
795 First of all, yes, I really am the Robert Koeneke who wrote the first
796 Moria. I had a lot of mail accusing me of pulling their leg and
797 such. I just recently connected to Internet (yes, I work for a
798 company in the dark ages where Internet is concerned) and
799 was real surprised to find Moria in the news groups... Angband was an
800 even bigger surprise, since I have never seen it. I probably spoke to
801 its originator though... I have given permission to lots of people
802 through the years to enhance, modify, or whatever as long as they
803 freely distributed the results. I have always been a proponent of
804 sharing games, not selling them.
808 Around 1980 or 81 I was enrolled in engineering courses at the
809 University of Oklahoma. The engineering lab ran on a PDP 1170 under
810 an early version of UNIX. I was always good at computers, so it was
811 natural for me to get to know the system administrators. They invited
812 me one night to stay and play some games, an early startrek game, The
813 Colossal Cave Adventure (later just 'Adventure'), and late one night,
814 a new dungeon game called 'Rogue'.
816 So yes, I was exposed to Rogue before Moria was even a gleam in my
817 eye. In fact, Rogue was directly responsible for millions of hours of
818 play time wasted on Moria and its descendents...
820 Soon after playing Rogue (and man, was I HOOKED), I got a job in a
821 different department as a student assistant in computers. I worked on
822 one of the early VAX 11/780's running VMS, and no games were available
823 for it at that time. The engineering lab got a real geek of an
824 administrator who thought the only purpose of a computer was WORK!
825 Imagine... Soooo, no more games, and no more rogue!
827 This was intolerable! So I decided to write my own rogue game, Moria
828 Beta 1.0. I had three languages available on my VMS system. Fortran
829 IV, PASCAL V1.?, and BASIC. Since most of the game was string
830 manipulation, I wrote the first attempt at Moria in VMS BASIC, and it
831 looked a LOT like Rogue, at least what I could remember of it. Then I
832 began getting ideas of how to improve it, how it should work
833 differently, and I pretty much didn't touch it for about a year.
835 Around 1983, two things happened that caused Moria to be born in its
836 recognizable form. I was engaged to be married, and the only cure for
837 THAT is to work so hard you can't think about it; and I was enrolled
838 for fall to take an operating systems class in PASCAL.
840 So, I investigated the new version of VMS PASCAL and found out it had
841 a new feature. Variable length strings! Wow...
843 That summer I finished Moria 1.0 in VMS PASCAL. I learned more about
844 data structures, optimization, and just plain programming that summer
845 then in all of my years in school. I soon drew a crowd of devoted
846 Moria players... All at OU.
848 I asked Jimmey Todd, a good friend of mine, to write a better
849 character generator for the game, and so the skills and history were
850 born. Jimmey helped out on many of the functions in the game as well.
851 This would have been about Moria 2.0
853 In the following two years, I listened a lot to my players and kept
854 making enhancements to the game to fix problems, to challenge them,
855 and to keep them going. If anyone managed to win, I immediately found
856 out how, and 'enhanced' the game to make it harder. I once vowed it
857 was 'unbeatable', and a week later a friend of mine beat it! His
858 character, 'Iggy', was placed into the game as 'The Evil Iggy', and
859 immortalized... And of course, I went in and plugged up the trick he
862 Around 1985 I started sending out source to other universities. Just
863 before a OU / Texas football clash, I was asked to send a copy to the
864 University of Texas... I couldn't resist... I modified it so that
865 the begger on the town level was 'An OU football fan' and they moved
866 at maximum rate. They also multiplied at maximum rate... So the
867 first step you took and woke one up, it crossed the floor increasing
868 to hundreds of them and pounded you into oblivion... I soon received
869 a call and provided instructions on how to 'de-enhance' the game!
871 Around 1986 - 87 I released Moria 4.7, my last official release. I
872 was working on a Moria 5.0 when I left OU to go to work for American
873 Airlines (and yes, I still work there). Moria 5.0 was a complete
874 rewrite, and contained many neat enhancements, features, you name it.
875 It had water, streams, lakes, pools, with water monsters. It had
876 'mysterious orbs' which could be carried like torches for light but
877 also gave off magical aura's (like protection from fire, or aggravate
878 monster...). It had new weapons and treasures... I left it with the
879 student assistants at OU to be finished, but I guess it soon died on
880 the vine. As far as I know, that source was lost...
882 I gave permission to anyone who asked to work on the game. Several
883 people asked if they could convert it to 'C', and I said fine as long
884 as a complete credit history was maintained, and that it could NEVER
885 be sold, only given. So I guess one or more of them succeeded in
886 their efforts to rewrite it in 'C'.
888 I have since received thousands of letters from all over the world
889 from players telling about their exploits, and from administrators
890 cursing the day I was born... I received mail from behind the iron
891 curtain (while it was still standing) talking about the game on VAX's
892 (which supposedly couldn't be there due to export laws). I used to
893 have a map with pins for every letter I received, but I gave up on
896 I am very happy to learn my creation keeps on going... I plan to
897 download it and Angband and play them... Maybe something has been
898 added that will surprise me! That would be nice... I never got to
899 play Moria and be surprised...
905 === Previous Versions (outdated) ===
908 VMS Moria Version 4.8
909 Version 0.1 : 03/25/83
910 Version 1.0 : 05/01/84
911 Version 2.0 : 07/10/84
912 Version 3.0 : 11/20/84
913 Version 4.0 : 01/20/85
916 V1.0 Dungeon Generator - RAK
917 Character Generator - RAK & JWT
919 Miscellaneous - RAK & JWT
920 V2.0 Town Level & Misc - RAK
921 V3.0 Internal Help & Misc - RAK
922 V4.0 Source Release Version - RAK
924 Robert Alan Koeneke Jimmey Wayne Todd Jr.
925 Student/University of Oklahoma Student/University of Oklahoma
931 Umoria Version 5.2 (formerly UNIX Moria)
932 Version 4.83 : 5/14/87
933 Version 4.85 : 10/26/87
934 Version 4.87 : 5/27/88
935 Version 5.0 : 11/2/89
938 James E. Wilson, U.C. Berkeley
939 wilson@ernie.Berkeley.EDU
940 ...!ucbvax!ucbernie!wilson
943 D. G. Kneller - MSDOS Moria port
944 Christopher J. Stuart - recall, options, inventory, and running code
945 Curtis McCauley - Macintosh Moria port
946 Stephen A. Jacobs - Atari ST Moria port
947 William Setzer - object naming code
948 David J. Grabiner - numerous bug reports, and consistency checking
949 Dan Bernstein - UNIX hangup signal fix, many bug fixes
955 Copyright (c) 1989 James E. Wilson, Robert A. Keoneke
956 This software may be copied and distributed for educational,
957 research, and not for profit purposes provided that this copyright
958 and statement are included in all such copies.
960 Umoria Version 5.2, patch level 1
962 Angband Version 2.0 Alex Cutler, Andy Astrand, Sean Marsh, Geoff Hill,
965 Angband Version 2.4 : 5/09/93
967 Angband Version 2.5 : 12/05/93 Charles Swiger.
969 Angband Version 2.6 : 9/04/94
971 Angband Version 2.7 : 1/1/95 Ben Harrison
976 Updated : Zangband DevTeam
977 Updated : Hengband 1.3.0