Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.sys.sinclair > #4269 > unrolled thread

Re: Comments on Chaos

Started byaacquesta@gmail.com
First post2016-11-18 09:08 -0800
Last post2023-12-04 13:22 -0800
Articles 12 — 6 participants

Back to article view | Back to comp.sys.sinclair

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: Comments on Chaos aacquesta@gmail.com - 2016-11-18 09:08 -0800
    Re: Comments on Chaos Guesser <alistair@zxnet.co.uk> - 2016-11-18 17:58 +0000
      Re: Comments on Chaos birrax@gmail.com - 2016-12-27 06:22 -0800
        Re: Comments on Chaos Guesser <alistair@zxnet.co.uk> - 2016-12-27 14:51 +0000
          Re: Comments on Chaos birrax@gmail.com - 2016-12-29 03:46 -0800
            Re: Comments on Chaos Guesser <alistair@zxnet.co.uk> - 2016-12-29 14:30 +0000
              Re: Comments on Chaos birrax@gmail.com - 2016-12-30 04:12 -0800
                Re: Comments on Chaos Guesser <alistair@zxnet.co.uk> - 2016-12-30 13:44 +0000
                  Re: Comments on Chaos birrax@gmail.com - 2016-12-30 06:27 -0800
                  Re: Comments on Chaos "p-0''0-h the cat (coder)" <super.pooh@fluffyunderbelly.invalid> - 2017-01-01 15:47 +0000
                    Re: Comments on Chaos Alexandra Franks <spontificae@gmail.com> - 2023-12-04 06:15 -0800
                      Re: Comments on Chaos Alexandra Franks <spontificus@gmail.com> - 2023-12-04 13:22 -0800

#4269 — Re: Comments on Chaos

Fromaacquesta@gmail.com
Date2016-11-18 09:08 -0800
SubjectRe: Comments on Chaos
Message-ID<592c5550-b719-4bac-9184-2fe7830f186b@googlegroups.com>
El viernes, 13 de diciembre de 1996, 5:00:00 (UTC-3), Sean A Irvine escribió:
> Chaos Breakdown
> ===============
> 
> Sean Irvine (sirvine@cs.waikato.ac.nz)
> Dept. of Mathematics
> University of Waikato
> Private Bag 3105
> Hamilton
> NEW ZEALAND
> 
> There has been much reminiscing over the last year about the ZX Spectrum
> game "Chaos: Battle of the Wizards" (Julian Gollop, Games Workshop, 1984)
> in a variety of forums. This role-playing game spurned the sequel
> "Lords of Chaos" on a number of platforms, but many people continued to
> yearn for clones more like the original for other platforms. Recently a
> clone for PC was produced called Morkin2, there is also rumoured to be
> a clone for the Atari ST. I have never seen either of these clones and so
> cannot comment on them. I am the author of a clone for the Commodore
> Amiga, and I'll say a little bit about my clone towards the end.
> 
> In writing the clone (and even before then) I disassembled various parts
> of the Spectrum Chaos and thereby obtained considerable detail about its
> operation, and this I believe gives me the qualification to make some
> comments about Chaos. I should say that I have never spoken to Julian
> Gollop about any of the things included here, so a few things are just
> mere speculation on my part. Further, most of the effort was carried out
> several years ago, and as such my memory is a little hazy about a few of
> the details. In particular I can clarify the situation with regard to a
> few pieces of folklore (like the unused sprites and spells) and introduce
> some new bits and pieces that I have not previously seen in the literature.
> 
> I used to play Chaos extensively on the Spectrum with my brothers. However,
> we always wanted to play longer and longer versions of the game. To this
> end we proclaimed a number of `house rules' like `thou shall not kill a
> human wizard until all its creations have been killed' in an effort to
> make the game last longer. Unfortunately, this caused most games to result
> in a draw, and led me to make my first hacks in the Chaos code. It was a
> trivial matter to alter the code so that we could restart the game and
> continue on from where we left off. Then we had the perennial problem that
> fire would engulf the entire screen, so I wrote an editor which enabled
> the contents of the screen to be altered. The editor also allowed one to
> change the number of spells allocated at the outset and other things of a
> similar vain. The mechanism for some of these will be discussed below.
> I'm not exactly sure what happened to my fabled editor, it is probably
> collecting dust in some remote corner of a closet in my parent's house;
> but if I ever find it I will upload it to a suitable site.
> 
> There is another editor distributed with Emulate magazine that allows
> inspection and alteration of graphics and text within Chaos.
> 
> Some parts of this document are necessarily technical. Remember when
> attempting any of the hacks suggested here that you should probably
> work on a copy of Chaos, so that you can resurrect the original game
> when required.
> 
> Anyway the purpose of this article is to describe in detail some of the
> inner workings of Chaos, and a nice easy place to start is with the sprites
> and the observation of sprites in the code which are not used in the game.
> The addresses I give are in decimal.
> 
> Sprites
> =======
> 
> The sprites are dispersed at a number of locations in the code as listed
> below. Each sprite is coded as four characters in the usual UDG method.
> 
> 32551:  The graphic for the [S] cursor.
> 32944:  The graphics for modified wizards, including wizards with
>         magic swords, bows, knives, shields, armour, and wings.
> 41484:  The twirl used during casting.
> 41797:  Explosion effect.
> 48951:  Attack effect, exploding circle.
> 49443:  Result of dragon breath effect.
> 49981:  Various cursors (empty box, wings, and arrows).
> 60241:  Graphics for the creatures and other objects like wall, note
>         this continues all the way to 64820 where the wizard descriptions
>         begin.
> 64820:  Start of the graphics for the eight different wizards.
> 
> The character set information starts at 55560. PostScript images of all
> the sprites in Chaos are available on my web page:
> http://www.cs.waikato.ac.nz/~sirvine/
> 
> As has been noted by several people there are a number of graphics in here
> which do not appear in the actual game. In particular their are the
> infamous troll graphics at 62515, 62547, 62579, 625747, and 62611. There
> is also a graphic for a dead vampire (in the game undead's never result
> in corpses) at 61331 and for what can only be described as dead gooey
> blob at 60627. This can actually be verified by forcing a piece of
> this stuff onto the screen where it will then sprout living pieces of
> blob. Each creature has either one (e.g. spectre), three or four images.
> There is also what must be a dead image for a spectre which again never
> occurs in the game.
> 
> A table starting at ~58436 gives the name, statistics, and location of the
> sprites for each object in the game. Entries are of variable length and give
> first the name, then the stats, the five lots of 3 bytes that describe
> the image location (machine address) and attribute to use for that image.
> Note that this table is not in the same order as the actual internal
> order used by the rest of the program. In particular, this table does
> contain an entry for the troll which is never used anywhere else in the
> program. A typical entry is shown below (from address 59371):
> 
> SKELETON      3 5 0 2 1 3 4 6 255 17 63284 71 63316 71 63348 71 63316 71
> 
> This gives the information for a skeleton and indicates that all its
> sprites should be drawn with attribute 71 (bright white) and that its
> image data is located at 63284, 63316, 63348 and 63316.
> 
> For the sake of completeness I include the relevant statistics
> here for your reference. The columns of numbers are: combat, ranged
> combat, range, defence, movement allowance, magical resistance,
> manoeuvre, ???, law/chaos rating, overall strength (?).
> 
> 0  Nothing
> 1  Nothing
> 2  King Cobra      4 0 0 1 1 6 1 8  1 30
> 3  Dire Wolf       3 0 0 2 3 7 2 8 -1 12
> 4  Goblin          2 0 0 4 1 4 4 8 -1 12
> 5  Crocodile       5 0 0 6 1 2 2 7  0 34
> 6  Faun            3 0 0 2 1 7 8 7 -1 20
> 7  Lion            6 0 0 4 4 8 3 5  1 38
> 8  Elf             1 2 6 2 1 5 7 6  2 26
> 9  Orc             2 0 0 1 1 4 4 9 -1 21
> 10 Bear            6 0 0 7 2 6 2 5  1 23
> 11 Gorilla         6 0 0 5 1 4 2 6  0 18
> 12 Ogre            4 0 0 7 1 3 6 6 -1 23
> 13 Hydra           7 0 0 8 1 4 6 4 -1 36
> 14 Giant Rat       1 0 0 1 3 8 2 9  0 13
> 15 Giant           9 0 0 7 2 6 5 3  1 23
> 16 Horse           1 0 0 3 4 8 1 8  1 21
> 17 Unicorn         5 0 0 4 4 9 7 5  2 16
> 18 Centaur         1 2 4 3 4 5 5 6  1 23
> 19 Pegasus         2 0 0 4 5 6 7 5  2 16
> 20 Gryphon         3 0 0 5 5 5 6 5  1 10
> 21 Manticore       3 1 3 6 5 6 8 3 -1 13
> 22 Bat             1 0 0 1 5 9 4 7 -1  8
> 23 Green Dragon    5 4 6 8 3 4 4 0 -1 32
> 24 Red Dragon      7 3 5 9 3 4 5 0 -2 34
> 25 Golden Dragon   9 5 4 9 3 5 5 0  2 27
> 26 Harpy           4 0 0 2 5 8 5 5 -1 13
> 27 Eagle           3 0 0 3 6 8 2 6  1 14
> 28 Vampire         6 0 0 8 4 6 5 1 -2 40
> 29 Ghost           1 0 0 3 2 9 6 4 -1 15
> 30 Spectre         4 0 0 2 1 6 4 5 -1 15
> 31 Wraith          5 0 0 5 2 4 5 4 -1 10
> 32 Skeleton        3 0 0 2 1 3 4 6 -1 17
> 33 Zombie          1 0 0 1 1 2 3 4 -1 25
> 34 Blob            1 0 0 0 0 0 0 0  0 40
> 35 Fire            0 0 0 0 0 0 0 0  0 12
> 36 Magic Wood      0 0 0 5 0 0 9 6  2 250
> 37 Shadow Wood     2 0 0 4 0 0 9 4 -2 30
> 38 Magic Castle    0 0 0 0 0 0 0 0  0 50
> 39 Dark Citadel    0 0 0 0 0 0 0 0  0 50
> 40 Wall            0 0 0 0 0 0 0 0  0 30
> 41 Wizard1
> 42 Wizard2
> 43 Wizard3
> 44 Wizard4
> 45 Wizard5
> 46 Wizard6
> 47 Wizard7
> 48 Wizard8
> 
> Notice the careful ordering of this table with all the flying creatures
> grouped together, all the mounts grouped together, and all the undead
> creatures grouped together. This leads to numerous simplifications in the
> coding of the game, that are best appreciated by delving into the code
> itself.
> 
> Text Messages
> =============
> 
> Apart from the names of the creatures and wizards there are two other
> groups of text messages in Chaos. These start at locations 34905 and
> 53195 respectively. A table starting at 34825 gives the addresses and
> lengths for the first set of messages, a similar table starting at
> 52691 gives the same information for the second group of messages.
> The actual subroutines to print these messages are found at 34799 and 47867.
> When called BC holds the screen address and A holds the message
> number.
> 
> The messages in the first group are:
> 
> CHAOS -THE BATTLE OF WIZARDS
> By Julian Gollop
> How many wizards? 
> (Press 1 to 8) 
> PLAYER 
> Computer controlled? 
> YES
> NO
> Level of computer wizards? 
> Enter name (12 letters max.)
> (Press Y or N)
> Which colour? 
> Which character? 
> 1  
> 2  
> 3  
> 4  
> 5  
> 6  
> 7  
> 8
> (Press 2 to 8)
> NEW SPELL FOR 
> THE CONTEST IS DRAWN BETWEEN
> THE WINNER IS:
> ^^^^^^^^^^^^^^^^^ 
> 
> The messages in the second group are (the numbers are
> the internal code for the message):
> 
> 0--47 <names of creatures and wizards>
> 49 (ASLEEP)
> 50 (DEAD)
> 51 DISMOUNT WIZARD? (Y OR N)
> 52 ENGAGED TO ENEMY
> 53 OUT OF RANGE
> 54 (FLYING)
> 55 'S TURN
> 56 MOVEMENT POINTS LEFT=
> 57 UNDEAD-CANNOT BE ATTACKED MOVEMENT
> 58 RANGE=
> 59 RANGED COMBAT,RANGE=
> 60 NO LINE OF SIGHT
> 61 PRESS ANY KEY
> 62 KNIFE
> 63 SWORD
> 64 ARMOUR
> 65 SHIELD
> 66 FLYING
> 67 SHADOW
> 68 MOUNT
> 69 UNDEAD
> 70 (CHAOS
> 71 (LAW
> 72 COMBAT=
> 73 RANGED COMBAT=
> 74 RANGE=
> 75 DEFENCE=
> 76 MOVEMENT ALLOWANCE=
> 77 MANOEUVRE RATING=
> 78 MAGIC RESISTANCE=
> 79 CASTING CHANCE=
> 80 10
> 81 SPELLS=
> 82 ABILITY=
> 83 'S SPELLS
> 84 SPELL FAILS
> 85 SPELL SUCCEEDS
> 86 IS THE WINNER
> 87 PRESS KEYS 1 TO 4
> 88 PRESS '0' TO RETURN TO MAIN MENU
> 89 1.EXAMINE SPELLS
> 90 2.SELECT SPELL
> 91 3.EXAMINE BOARD
> 92 4.CONTINUE WITH GAME
> 93 DISBELIEVE
> 94 ILLUSION? (PRESS Y OR N)
> 95 'S CREATIONS
> 96 MAGIC FIRE
> 97 GOOEY BLOB
> 98 LIGHTNING
> 99 VENGEANCE
> 100 DARK POWER
> 101 DECREE
> 102 JUSTICE
> 103 LAW-1
> 104 LAW-2
> 105 CHAOS-1
> 106 CHAOS-2
> 107 MAGIC SHIELD
> 108 MAGIC ARMOUR
> 109 MAGIC SWORD
> 110 MAGIC KNIFE
> 111 MAGIC BOW
> 112 BLIND
> 113 MAGIC BOLT
> 114 TEMPEST
> 115 RAISE DEAD
> 116 TELEPORT
> 117 SUBVERSION
> 118 TURMOIL
> 119 DEAD REVENGE
> 120 CONSECRATION
> 121 DISPEL
> 122 COUNTER SPELL
> 123 MAGIC WINGS
> 124 MAGIC SLEEP
> 125 SHADOW FORM
> 
> Internally these are numbered starting at zero, but because of the
> objects in the game taking the first 48 positions the message
> (ASLEEP) is code 49, (DEAD) is code 50, etc. As far as I know the
> messages (ASLEEP), BLIND, TEMPEST, TELEPORT, DEAD REVENGE, CONSEC-
> RATION, DISPEL, COUNTER SPELL, and MAGIC SLEEP do not occur in play-
> ing the game. The (ASLEEP) can be made to appear by fiddling with the
> owner table as described further below.
> 
> This finishes the discussion of what one might expect to discover
> after a few hours of hacking around in the code. I will now move
> onto some more advanced material.
> 
> Spells
> ======
> 
> There is a table which starts at 32096 which consists of a series
> of 7 byte records in the format: internal object number, ?(1),
> twice the maximum cast distance, effect on chaos/law indicator, ?,
> address of routine to cast this spell:
> 
> 32096  93 9 255 0  0 Disbelieve
> 32103   2 8 3   1 18 CreatureCast
> 32110   3 8 3  -1 18 CreatureCast
> 32117   4 8 3  -1 18 CreatureCast
> 32124   5 7 3   0 18 CreatureCast
> 32131   6 7 3  -1 18 CreatureCast
> 32138   7 5 3   1 18 CreatureCast
> 32145   8 6 3   2 18 CreatureCast
> 32152   9 9 3  -1 18 CreatureCast
> 32159  10 5 3   1 18 CreatureCast
> 32166  11 6 3   0 18 CreatureCast
> 32173  12 6 3  -1 18 CreatureCast
> 32180  13 4 3  -1 18 CreatureCast
> 32187  14 9 3   0 18 CreatureCast
> 32194  15 3 3   1 18 CreatureCast
> 32201  16 8 3   1 18 CreatureCast
> 32208  17 5 3   2 18 CreatureCast
> 32215  18 6 3   1 18 CreatureCast
> 32222  19 5 3   2 18 CreatureCast
> 32229  20 5 3   1 18 CreatureCast
> 32236  21 3 3  -1 18 CreatureCast
> 32243  22 7 3  -1 18 CreatureCast
> 32250  23 0 3  -1 18 CreatureCast
> 32257  24 0 3  -1 18 CreatureCast
> 32264  25 0 3   2 18 CreatureCast
> 32271  26 5 3  -1 18 CreatureCast
> 32278  27 6 3   1 18 CreatureCast
> 32285  28 1 3  -2 18 CreatureCast
> 32292  29 4 3  -1 18 CreatureCast
> 32299  30 5 3  -1 18 CreatureCast
> 32306  31 4 3  -1 18 CreatureCast
> 32313  32 6 3  -1 18 CreatureCast
> 32320  33 8 3  -1 18 CreatureCast
> 32327  97 8 13 -1 18 CreatureCast
> 32334  96 7 13 -1 18 CreatureCast
> 32341  36 7 17  1 17 Trees&Castles
> 32348  37 3 17 -1 18 Trees&Castles
> 32355  38 4 17  1 23 Trees&Castles
> 32362  39 4 17 -1 23 Trees&Castles
> 32369  40 7 13  0 12 Wall
> 32376 112 9 13  0 18 Lightning
> 32383 112 9 13  0 18 Lightning
> 32390  98 9 9   0 18 Lightning
> 32397  98 9 9   0 18 Lightning
> 32404  99 7 30 -1 12 DarkPowerEtc
> 32411 101 7 30  1 12 DarkPowerEtc
> 32418 100 4 30 -2 11 DarkPowerEtc
> 32425 102 4 30  2 11 DarkPowerEtc
> 32432 107 6 0   1 23 MagicShield
> 32439 108 3 0   1 23 MagicArmour
> 32446 109 3 0   1 16 MagicSword
> 32453 110 6 0   1 16 MagicKnife
> 32460 111 4 0   1 17 MagicBow
> 32467 123 4 0   0 14 MagicWings
> 32474 103 7 0   2 5  ChaosOrLawSpell
> 32481 104 5 0   4 6  ChaosOrLawSpell
> 32488 105 7 0  -2 5  ChaosOrLawSpell
> 32495 106 5 0  -4 6  ChaosOrLawSpell
> 32502 125 6 0   0 18 ShadowForm
> 32509 117 9 15  0 18 Subversion
> 32516 117 9 15  0 18 Subversion
> 32523 115 4 9  -1 18 RaiseDead
> 32530 115 4 9  -1 18 RaiseDead
> 32537 118 9 20 -1 17 Turmoil
> 32544 118 9 20 -1 17 Turmoil
> 
> The second field could perhaps have something to do with the
> colour of the spell? I am unsure what the fifth column could
> be for.
> 
> Other important addresses: 35241 (level of computer players),
> 37203 (current chaos/law indicator), 37221 (spell success flag),
> 37755 (spell selected), 38862 (number of attempts for current
> spell, e.g. =4 for a wall spell), (44050--3) position of cursor
> on board.
> 
> Object Tables
> =============
> 
> The main state information of the game is stored in a series
> of 320 byte tables starting at 57375. The first table contains
> the object code for the item in each cell of the screen. The
> second table is for ?. The third table contains the current
> animation value. The fourth table contains the owner numbers.
> Each table also contains space for objects in what is normally
> the border.
> 
> In the animation table value 0 to 3 are the position in the
> animation sequence, 4 is the corpse, and 5 is for asleep (?).
> 
> Game Startup
> ============
> 
> The BASIC program starts Chaos by jumping to location 32000,
> but in fact the first instruction executed there is merely a
> jump to 35321 where the real initialization begins. Roughly,
> speaking the initialization runs as follows:
> 
> i) Make border blacks and set up ATTR_T, ATTR_P, MASK_P, and
> PFLAG system variables.
> ii) Disable interrupts.
> iii) Clear the screen.
> iv) Clear various buffers (by replacing all memory from 35344
> through to 35395 the game can be made to continue from its
> previous state).
> v) Welcome screen, input number of players and wizard level.
> vi) Input each players name in turn, choose sprites.
> ...
> (I never got much further, but presumably there is some
> initialization for spells that follows here somewhere.)
> 
> Miscellaneous Routines
> ======================
> 
> The following are for the most part not very useful to use from
> basic since they assume all sorts of things about the registers,
> interrupts, etc. But I include them here to aid anybody else
> trying to hack parts of chaos.
> 
> 33536 Gets the address of the wizard name buffer of the current
>       player.
> 
> 34543 Start point of the turmoil routine. Maybe someone else
>       could examine this and determine why it causes the game
>       to crash sometimes.
> 
> 35248 Input a number from the keyboard.
> 
> 36762 Routine to check for new spells.
> 
> 36939 Random number generator (?) [the last random number
>       produced is stored at 36986]
> 
> 37104 Draw a wizard.
> 38819 Test if a spell cast succeeded.
> 38842 Print message saying spell succeeded.
> 39285 Main casting routine for creatures.
> 40784 Grow gooey blobs and fires.
> 47854 Print text of length E from HL to BC.
> 47867 Print a message from the second set.
> 47959 Draw the border.
> 48278 Handle the I key and numbers.
> 48855 Blank the bottom of the screen.
> 50099 Information routine.
> 50670 Clear screen.
> 57103 Master printing routine
> 57166 Print given object.
> 57202 Update the screen.
> 65110 Set standard ROM interrupts.
> 65120 Set game interrupts (animate the screen). It is quite cool
>       to actually do a RANDOMIZE USR 65120 while in BASIC, you then
>       get Chaos animating the screen over BASIC, quite freaky.
> 
> 
> 
> Miscellaneous Pokes
> ===================
> 
> These are easily done using a Multiface 2 or with some emulators.
> However, it is possible to make these pokes by loading Chaos and
> not letting it run or alternatively by playing the game once and
> then pressing BREAK while the winner/loser screen is shown. You
> should then POKE 23606,0; POKE 23607,60 to invoke the standard
> character set. Once you have made the desired pokes, you can
> start the game by RANDOMIZE USR 32000.
> 
> The following is a collection of addresses and what to put there
> to cause various effects where x denotes any sensible code.
> 
> 34171,x:   Maximum object code which can be subverted + 1,
>            standard value = GooeyBlob. Putting 1 here will
>            make subversion impossible.
> 34543,201: Disable the turmoil spell (?).
> 36239,x    First spell (disbelieve by default).
> 39286,x:   Number of creatures per cast.
> 39646,x:   Number of trees per cast.
> 39659,x:   Number of castles per cast.
> 39799,x:   Number of pieces of wall per spell.
> 40120,x:   Maximum object code hitable with lightning (?).
> 40444,x:   Number of attempts for Decree and Vengeance.
> 40455,x:   Number of attempts for Justice and dark power.
> 
> 36173,0; 36178,x: Force each player to have x spells at the start
>                   of the game. Last spell is infinite for x > 21.
> 
> 36173,21; 36178,20: Normal spell allocation.
> 
> 36194,5; 36232,12; 36186,0: Make all spells white all the time.
> 
> Note: I have not tried those marked (?), but for theoretical reasons
> I expect they should work.
> 
> Hints to Hackers
> ================
> 
> There are several general techniques which have proven useful
> in hacking Chaos. Firstly, look for instructions of the form
> CP x, where x is a valid creature code. In this way it is quite
> easy to track down all those areas of code potentially related
> to, for example, the shadow wood.
> 
> Similarly, look for instructions of the form LD A, x and a
> nearby call to a print routine. These enable one to locate
> code associated with any particular message.
> 
> For example searching for a LD A,94 instruction (which might
> have to do with "ILLUSION Y/N") yields a few likely candidates.
> In fact the relevant occurrence is at 38021. About here is
> where the program ask you whether or not you want and illusion.
> By replacing the instruction at 38032 with LD A,"N"; NOP you
> can prevent the game from ever asking this question.
> 
> Amiga Chaos
> ===========
> 
> As promised at the beginning of this document, I will say a little
> bit about the clone of Chaos that I have written for the Amiga. In
> my clone I have tried to preserve the gameplay of the original
> version, and the clone supports all the spells of the original,
> except the relatively stupid Chaos and Law spells, and the Shadow
> Form spell. But, the number of spells has been greatly expanded,
> there are currently over 150 spells. They include my interpretations
> of the Sleep, Tempest, Teleport, and many other novel spells. Oh, and
> I have a troll as well (along with many other new creatures).
> 
> I have retained 16 by 16 pixel imagery for the sprites, but made the
> board slightly larger than the original chaos. The original shapes of
> most sprites have been retained, but have been enhanced with additional
> colour, so that each creature is now multi-coloured.
> 
> In addition there is a team play system and independent creatures.
> 
> If you own an Amiga and don't already have my clone then you can obtain
> it off any one of the Aminet ftp sites. A PostScript manual for the
> game (including full details of all the spells is available on my web
> page, http://www.cs.waikato.ac.nz/~sirvine/).
> 
> If anyone wants to make a serious attempt at porting my Chaos clone
> to other platforms I will make my source code available to them.
> Currently the source is about 1 MB of C code, but does not rely
> heavily on custom Amiga graphics chips, which should alleviate some
> of the difficulties in porting to other systems.

Hey, I've played Chaos for many years. And I wanted to do so with mi children. Unfortunatly, they do not read in english (but yes in spanish). How could I modify the code of Chaos to translate the messages. Does it exist a way to "open" the file in a inteligible text mode, to change some characters?  Thank you. Your article is very interesting.

[toc] | [next] | [standalone]


#4270

FromGuesser <alistair@zxnet.co.uk>
Date2016-11-18 17:58 +0000
Message-ID<o0nfeo$m0g$1@dont-email.me>
In reply to#4269
On 18/11/2016 17:08, aacquesta@gmail.com wrote:
>
> Hey, I've played Chaos for many years. And I wanted to do so with mi children. Unfortunatly, they do not read in english (but yes in spanish). How could I modify the code of Chaos to translate the messages. Does it exist a way to "open" the file in a inteligible text mode, to change some characters?  Thank you. Your article is very interesting.
>

I think I can help with this... I've sent you an email.

Guesser.

[toc] | [prev] | [next] | [standalone]


#4291

Frombirrax@gmail.com
Date2016-12-27 06:22 -0800
Message-ID<f6ab2a46-dcd8-4c4e-aeb1-ed91658f6539@googlegroups.com>
In reply to#4270
El viernes, 18 de noviembre de 2016, 18:58:18 (UTC+1), Guesser  escribió:
> On 18/11/2016 17:08, aacquesta@gmail.com wrote:
> >
> > Hey, I've played Chaos for many years. And I wanted to do so with mi children. Unfortunatly, they do not read in english (but yes in spanish). How could I modify the code of Chaos to translate the messages. Does it exist a way to "open" the file in a inteligible text mode, to change some characters?  Thank you. Your article is very interesting.
> >
> 
> I think I can help with this... I've sent you an email.
> 
> Guesser.

Hi there! I am thinking about makeing a port of this game to amiga. Can u help me with some questions a i have about the game?

Thanks!

[toc] | [prev] | [next] | [standalone]


#4292

FromGuesser <alistair@zxnet.co.uk>
Date2016-12-27 14:51 +0000
Message-ID<o3tv3j$n4f$1@dont-email.me>
In reply to#4291
On 27/12/2016 14:22, birrax@gmail.com wrote:
> Hi there! I am thinking about makeing a port of this game to amiga. Can u help me with some questions a i have about the game?
>
> Thanks!
>

Depends what they are, but I can have a go. :)

Guesser

[toc] | [prev] | [next] | [standalone]


#4294

Frombirrax@gmail.com
Date2016-12-29 03:46 -0800
Message-ID<92f468e4-3435-4db8-bd9b-af3dbe7736f4@googlegroups.com>
In reply to#4292
I need to know about AI of computer wizards, just to make the port.
Did u dissaemble the original spectrum versión or make your own algorithm for the AI of the wizards?

El martes, 27 de diciembre de 2016, 15:51:57 (UTC+1), Guesser  escribió:
> On 27/12/2016 14:22, birrax@gmail.com wrote:
> > Hi there! I am thinking about makeing a port of this game to amiga. Can u help me with some questions a i have about the game?
> >
> > Thanks!
> >
> 
> Depends what they are, but I can have a go. :)
> 
> Guesser

[toc] | [prev] | [next] | [standalone]


#4298

FromGuesser <alistair@zxnet.co.uk>
Date2016-12-29 14:30 +0000
Message-ID<o436iu$cft$1@dont-email.me>
In reply to#4294
On 29/12/2016 11:46, birrax@gmail.com wrote:
> I need to know about AI of computer wizards, just to make the port.
> Did u dissaemble the original spectrum versión or make your own algorithm for the AI of the wizards?
>
A friend and I have been disassembling the game on and off for a while. 
Unfortunately I can't help with that question as we don't have any of 
the AI code done yet. (or much of the game logic at all really).

[toc] | [prev] | [next] | [standalone]


#4300

Frombirrax@gmail.com
Date2016-12-30 04:12 -0800
Message-ID<8a58d56b-ed60-4579-92b2-3f340ddb9e25@googlegroups.com>
In reply to#4298
El jueves, 29 de diciembre de 2016, 15:30:17 (UTC+1), Guesser  escribió:
> On 29/12/2016 11:46, birrax@gmail.com wrote:
> > I need to know about AI of computer wizards, just to make the port.
> > Did u dissaemble the original spectrum versión or make your own algorithm for the AI of the wizards?
> >
> A friend and I have been disassembling the game on and off for a while. 
> Unfortunately I can't help with that question as we don't have any of 
> the AI code done yet. (or much of the game logic at all really).

Thanks for all. What tolos are u using to watch zx source code?

[toc] | [prev] | [next] | [standalone]


#4303

FromGuesser <alistair@zxnet.co.uk>
Date2016-12-30 13:44 +0000
Message-ID<o45o8e$ovs$2@dont-email.me>
In reply to#4300
On 30/12/2016 12:12, birrax@gmail.com wrote:
> Thanks for all. What tolos are u using to watch zx source code?
>

We are using http://skoolkit.ca to generate the disassembly, and single 
stepping through code with emulator debuggers for particularly confusing 
bits.

[toc] | [prev] | [next] | [standalone]


#4304

Frombirrax@gmail.com
Date2016-12-30 06:27 -0800
Message-ID<0a3866fb-d1d5-4633-9836-e0666350c91d@googlegroups.com>
In reply to#4303
El viernes, 30 de diciembre de 2016, 14:44:10 (UTC+1), Guesser  escribió:
> On 30/12/2016 12:12, birrax@gmail.com wrote:
> > Thanks for all. What tolos are u using to watch zx source code?
> >
> 
> We are using http://skoolkit.ca to generate the disassembly, and single 
> stepping through code with emulator debuggers for particularly confusing 
> bits.

Thanks again, gonna check it! and... happy new year!

[toc] | [prev] | [next] | [standalone]


#4308

From"p-0''0-h the cat (coder)" <super.pooh@fluffyunderbelly.invalid>
Date2017-01-01 15:47 +0000
Message-ID<b19i6chut7mou7j750avsc8cvm44s5djo8@4ax.com>
In reply to#4303
On Fri, 30 Dec 2016 13:44:09 +0000, Guesser <alistair@zxnet.co.uk>
wrote:

>On 30/12/2016 12:12, birrax@gmail.com wrote:
>> Thanks for all. What tolos are u using to watch zx source code?
>>
>
>We are using http://skoolkit.ca to generate the disassembly, and single 
>stepping through code with emulator debuggers for particularly confusing 
>bits.

Thanks. Skoolkit works well. Can I ask what emulator debuggers you use.

Sent from my iFurryUnderbelly.

-- 
p-0.0-h the cat

Internet Terrorist, Mass sock puppeteer, Agent provocateur, Gutter rat,
Devil incarnate, Linux user#666, BaStarD hacker, Resident evil, Monkey Boy,
Certifiable criminal, Spineless cowardly scum, textbook Psychopath, 
the SCOURGE, l33t p00h d3 tr0ll, p00h == lam3r, p00h == tr0ll, troll infâme, 
the OVERCAT [The BEARPAIR are dead, and we are its murderers], lowlife troll,
shyster [pending approval by STATE_TERROR], cripple, sociopath, kook, 
smug prick, smartarse, arsehole, moron, idiot, imbecile, snittish scumbag, 
liar, total ******* retard, shill, pooh-seur, scouringerer, jumped up chav,
lycanthropic schizotypal lesbian, the most complete ignoid, joker, and furball.

NewsGroups Numbrer One Terrorist

Honorary SHYSTER and FRAUD awarded for services to Haberdashery.
By Appointment to God Frank-Lin.

Signature integrity check
md5 Checksum: be0b2a8c486d83ce7db9a459b26c4896

I mark any message from »Q« the troll as stinky

[toc] | [prev] | [next] | [standalone]


#6996

FromAlexandra Franks <spontificae@gmail.com>
Date2023-12-04 06:15 -0800
Message-ID<4c0bde75-9bbe-449e-a92d-802b92705166n@googlegroups.com>
In reply to#4308
somewhat randomly my kid has really taken to chaos, wanting to play every night for the last few months. we started talking about the changes we'd like to make to it, so I've been hitting the zxnet disassembly pretty hard trying to figure out how 😅

so thankful for the zxnet disassembly and the three decades of community involvement in this thread

i'd advise anyone curious to just jump in - as far as i know there aren't any all-in-one speccy SDKs - but the machine itself was designed to be poked and peeked at and does welcome and reward those with patience. skoolkit and the built-in profiler/disassembler have been super helpful though - i haven't needed more

so right now we're using a single html/js page which requires a random seed, and spits out a pokfile you can just drag into the emulator at the start of the game. i'll list the feature set we're using right now which still provides balanced games - but would also love to hear any other ideas/feedback - i expect to release it before the end of the year but if i can add in anyone's dream feature, i'd be happy to

* full set of 19 spells, properly randomised for both human and computer players
* simple arenas - wizards start with one wall or tree to block turn 0 magic bolts
* found pokes: trees*12, walls*10, castles*2

i've also spent a lot of time on zxnet figuring out how to increase the play area size - i have a poke which basically inserts some pasmo z80 into the main game loop which copies the creature data into the unused assembly portion, fixes all the references and then patches itself out, leaving enough space for a bigger map. was thinking about wrap-around, but leaning towards just 3 extra spaces around the edges. i've traced enough of the code to know it's possible, but annoying :)

happy to share some new suggestions for the remaining zxnet unlabeled vars and routines, and it'd be amazing to hear of any new features people would like to play!

[toc] | [prev] | [next] | [standalone]


#7000

FromAlexandra Franks <spontificus@gmail.com>
Date2023-12-04 13:22 -0800
Message-ID<f35f57dd-f2aa-4016-9acc-f8874cba27f2n@googlegroups.com>
In reply to#6996
here's what i have so far:
https://github.com/spontificae/ChaosCE/tree/RC1

[toc] | [prev] | [standalone]


Back to top | Article view | comp.sys.sinclair


csiph-web