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