unused bits: suggestions

Discuss Chaos Strikes Back for Windows and Linux, an unofficial port of Chaos Strikes Back to PC by Paul Stevens, as well as CSBuild, an associated dungeon editor.

Moderator: Zyx

Forum rules
Please read the Forum rules and policies before posting.
User avatar
Zyx
DSA Master
Posts: 2592
Joined: Mon Jun 05, 2000 1:53 pm
Location: in the mind
Contact:

unused bits: suggestions

Post by Zyx »

About the unused bits with monster... Right now gigglers only steal from the hands but I believe I recall having seen in the few bits that I understood from the source of CSBwin, that gigglers could steal from other locations.
1) So what about a bit for monsters labelled "alternative attack"?

a) For the gigglers it would allow them to steal at random from any of the six or seven locations.
b) For spell casting monsters, the alternative attack could be: "only melee attack, no spells"
c) For non spell casting monsters, it could be "double attack", like the knights (I didn't find any bit for "double attack" in the graphics.dat, so I guess it's hard coded. Rain could confirm that mybe)
d) Or it could be "spell attack".
Or other reasonnable suggestions.
What do you think?

2) For another unused bit, it could be "opens doors", if it's not too hard to code.

3)Or "neutral". that is, the monster is not aggressive until wounded.

4) Or "poisonned" when hit by a DES VEN spell or a poisonous projectile (see below)

Speaking of other bits, items have a "poisonous" bit and a "broken" bit.
I don't know about a wise implementation of "broken", but the "poisonous" would be nice.
User avatar
sucinum
Pal Master
Posts: 872
Joined: Wed Apr 18, 2001 1:00 am
Location: Karlsruhe, Germany
Contact:

Post by sucinum »

How about a speed setting?
0: doesnt move at all (doorguard)
1: slow
2: normal
3: fast
4: hyper (double speed)
Or life regeneration in life/second? (possible?)
User avatar
Paul Stevens
CSBwin Guru
Posts: 4318
Joined: Sun Apr 08, 2001 6:00 pm
Location: Madison, Wisconsin, USA

Post by Paul Stevens »

One thing I would like to do is avoid putting in code that is dependent
on the monster-type. Your first suggestion about Gigglers, for example.
It should apply to any monster that can steal rather than to gigglers.
And why six or seven locations? Why not thirty?

Opens Doors.......well that would be interesting. But you have to
be very careful here. Opens doors when? Where? Why? What kinds of
doors? The answers to these questions will determine the utility of
the feature and are not easy to answer with the precision required of
a computer program. Maybe we could use the DSA as a "filter". Send
it messages under certain circumstances:
1) Monster wants to approach party through closed door.
2) Monster moved next to a closed door.
3) et cetera.
And let the DSA decide whether to open/close the door by
sending a standard Set/Clewar messsage.

Neutral should be relatively easy. We clear the bit when he loses
his first HitPoint.

"Poisoned" has to be defined extremely precisely. Since only
one bit would be available, the effect certainly could not be
cumulative. What would it mean? DSAs could do the dirty work
here, too, but the trick is to deal with monster deaths so that the DSA
can conclude its work.
User avatar
zoom
Grand Master
Posts: 1819
Joined: Tue Sep 23, 2003 1:27 am
Location: far away but close enough

Post by zoom »

Maybe there is a way to make monsters have an effect on the dungeon illumination, making the dungeon darker or lighter at their presence near the party.

This could be like a "constant" positive or negative value, always doing the same amount of illumination or darkening when at the same distance from the party.
one square away: -100
two squares away: -45
three squares away from party: -05
any other distance: ignore
or sth. like that....
User avatar
zoom
Grand Master
Posts: 1819
Joined: Tue Sep 23, 2003 1:27 am
Location: far away but close enough

Post by zoom »

1.What about the feature of Lord Chaos: teleportation?
any way of providing it for, let´s say screamers?

2.How about monster summoning?
You once stated a dragon could drop an invisible dragon at death..

3.What about the fireelementals ? They seem to respawn...
Last edited by zoom on Thu Aug 26, 2004 1:18 pm, edited 1 time in total.
User avatar
FallenSeraphin
Adept
Posts: 210
Joined: Thu Jul 01, 2004 6:56 pm
Location: Portugal

Post by FallenSeraphin »

sucinum wrote:How about a speed setting?
0: doesnt move at all (doorguard)
1: slow
2: normal
3: fast
4: hyper (double speed)
Or life regeneration in life/second? (possible?)

Actually i think that Sucinum had the best ideia with that Life Regeneration bit... kinda like Diablo II ? that way no sleep and potions required... or maybe that makes the game too easy ?
" Never Fear Death, Embrace It As You Embrace Darkness... "
User avatar
zoom
Grand Master
Posts: 1819
Joined: Tue Sep 23, 2003 1:27 am
Location: far away but close enough

Post by zoom »

Too easy?? Imagine a dragon had health regeneration .... if that would be possible, even for multiple parties a hard task.
For this regeneration issue you would need other pictures for the monster in order to see when it is badly wounded.
4. so, maybe you could use a bit to display different images/frames for the monster, dependent on the current health of it.(20%)
User avatar
beowuuf
Archmastiff
Posts: 20687
Joined: Sat Sep 16, 2000 2:00 pm
Location: Basingstoke, UK

Post by beowuuf »

DM Java had that feature, and the creatures that did have it were annoying!

A creature can drop another creature on death by carrying it
Fire elementals had monstre generators udner them, and they were triggered when the party moved around - so you kill one, but you may have generated another so it instantly pops up on the death of the first

Broken tags, i think, might have been tied to plans to have thigns like ruster attacks - so a broken sword does less damage broken armour doesn't have the same armour value
Might be interesting to allow a golem attack a chance to break objects, for example, but then how would the mechanics work there...
Could it filter through a DSA too? Have a 25% chance if damage from a golem, then set the 'broken' bit?
User avatar
zoom
Grand Master
Posts: 1819
Joined: Tue Sep 23, 2003 1:27 am
Location: far away but close enough

Post by zoom »

I think it is a good feature of dm-items that they are indestructible.
This way, you do not have to check after each combat if everything is fine. And if not?? You are likely to reload. You do not have to bother of an item, once you checked that it is not coursed.

No matter how often you throw that cheese or screamer slice around, it is always fresh and tasty.
--same goes for weapons. imagine the Hardcleave gets broken and there is no way to repair it.
welll....
User avatar
beowuuf
Archmastiff
Posts: 20687
Joined: Sat Sep 16, 2000 2:00 pm
Location: Basingstoke, UK

Post by beowuuf »

It's all about respect - if every combat did it, it would be boring
If a ruster does it, then they suddenly aren't the annoyances they were
User avatar
zoom
Grand Master
Posts: 1819
Joined: Tue Sep 23, 2003 1:27 am
Location: far away but close enough

Post by zoom »

yes, a ruster attack would make sense to break weapons.(i could swear you wrote sth. concerning golems.. ; ) This reminds me of eob2 where there where those gelantinous cubes that supposedly could swallow your weapons and i think they really did.
You went like : aaaaargh!! -- and stripped your characters of all armor and swapped the +2 sword to a normal one.
Very shocking each cube!
Last edited by zoom on Thu Aug 26, 2004 8:14 pm, edited 1 time in total.
User avatar
beowuuf
Archmastiff
Posts: 20687
Joined: Sat Sep 16, 2000 2:00 pm
Location: Basingstoke, UK

Post by beowuuf »

lol, i did, i think it would be fun and quite logical, sicne thye are heavy hitters : )

But it's really about the designer, again - so it might be more fun to have it in a creature that is otherwise an irritation only. Like a giggler- you hide your best weapon, and it breaks your armour with it's quick fingers, steals an inventory item, then runs away laughing

I think RTC has it right, that only 'ordinary' iotems get rusted, for example...
then again, that's startign to sound more a DSA for a specific dungeon

Anyway, i personally am unlikely to use any options in the near future, so i will leave the discussion it to people who would : )
User avatar
rain`
Artisan
Posts: 164
Joined: Sat Feb 19, 2005 11:44 pm

Post by rain` »

c) For non spell casting monsters, it could be "double attack", like the knights (I didn't find any bit for "double attack" in the graphics.dat, so I guess it's hard coded. Rain could confirm that mybe)
Correct sir, the 'double attack' feature is hard coded for creature number mon_DethKnight in the code, which means if you replace the deth knights graphics with something else, then it will receive the double attack ability. Useless sidenote: the double attack abilitiy is just after a monster attacks, when the animation would normally go back to its 'front' image, it instead has a 50% chance of doing another attack with a mirrored attack image and creating a sound (I believe its the "ugh" sound).

As far as extra bits go, something like double-attack should be added to the monster's general structure, not the dungeon's structure for monsters. If its a feature that all monsters of that type would have (for instance, if you were to make a dragon have double attack, it would be more practical to use a bit from the graphics.dat file, giving all dragons double attack). The graphics.dat file is loaded with unused bits (and bytes) for monsters, weapons, armor, items in general, spells, combos, attacks. Everything has almost at least 4 or so bits free, up to 5-6 bytes.
User avatar
Paul Stevens
CSBwin Guru
Posts: 4318
Joined: Sun Apr 08, 2001 6:00 pm
Location: Madison, Wisconsin, USA

Post by Paul Stevens »

Zyx asked that I restore the feature that allows four Dragons on a single cell.
I said 'No'. Zyx said 'Yes'. I said 'No'. Zyx said 'Yes'. I said 'No'. Zyx said 'Yes'.
So I said 'Yes'. Sorta. One of the bits will be used to change the way the
monsters in a cell are displayed. It is called the 'Draw as size 4' bit.

No matter how many monsters are in a group, it will be drawn as if there were
only one monster in the center of the cell (Like a Dragon). If any of the monsters
in the group is in the attack position then the attack position will be drawn.
The grey cloud that occurs when the monster dies will only be shown when
the last monster in the group dies.

I don't know if I can do this. But my first attempt was mildly successful. Now I
have to figure out how the monster drawing routine works. It is quite
convoluted. I started by drawing an overall 'roadmap'. This roadmap shows
the order that things get done but not the actual operations that take place.
For example, a single small box may represent from one line of code to several
pages of code. All that is attempted is to show possible connections between
the sections of code. This is the code that draws the objects (Mummies, apples,
and clouds) that are in a cell of the dungeon. It is not for the faint-of-heart. See:

http://dianneandpaul.net/CSBwin/DrawRoomObjects.png
User avatar
Zyx
DSA Master
Posts: 2592
Joined: Mon Jun 05, 2000 1:53 pm
Location: in the mind
Contact:

Post by Zyx »

Oops... I didn't realize I was so stubborn... sorry for that, I thank you again for your patience.
However I was rather thinking that we were having some sort of constructive dialectic to reach together, err, a truth.
Yeah, that's it, a truth about what to be done about the invisibility situation. Our truth, Paul.
Let's spread it: this "one monster visible" feature will allow some variety in the monsters behavior and should partially offer some increased speed , for example, decreasing according to the wounds.
User avatar
Zyx
DSA Master
Posts: 2592
Joined: Mon Jun 05, 2000 1:53 pm
Location: in the mind
Contact:

Post by Zyx »

Monster generators with size4 option only produce normal groups of monsters instead of size4 monsters

Since size4 monsters are shown in the center of the tile, they should always receive the impact of projectiles. Right now, despite the apparence, they may really be on a side of the tile, thus avoiding fireballs (or others), giving the impression the projectile is going through the monster.
User avatar
Paul Stevens
CSBwin Guru
Posts: 4318
Joined: Sun Apr 08, 2001 6:00 pm
Location: Madison, Wisconsin, USA

Post by Paul Stevens »

Thanks. We'll get it all right eventually. Maybe.
User avatar
Paul Stevens
CSBwin Guru
Posts: 4318
Joined: Sun Apr 08, 2001 6:00 pm
Location: Madison, Wisconsin, USA

Post by Paul Stevens »

The size 4 generators worked for me. I think I fixed the
missile encounter. Try the new Size4Demo.rar.
Rebecka

Post by Rebecka »

Personally I would like a monster that just tries to run away from you, all the time. Not a neutral one, but an "always scared" one.

Wouldn't it be a better use for those bits, to act as the identifier for a DSA which could filter the monster behaviour? I'm not sure if this is possible, but it would not break compability with old dungeons. Not if the ID of a non-existent DSA did not alter monster behaviour, that is.
User avatar
Paul Stevens
CSBwin Guru
Posts: 4318
Joined: Sun Apr 08, 2001 6:00 pm
Location: Madison, Wisconsin, USA

Post by Paul Stevens »

But the monster behavior is totally incomprehensible to me. I drew
some diagrams of the simplest cases (they are posted) and did a LOT
of work and a LOT of time. Still difficult. I see little hope of modifying
the behavior without a research lab and a federal grant.
User avatar
beowuuf
Archmastiff
Posts: 20687
Joined: Sat Sep 16, 2000 2:00 pm
Location: Basingstoke, UK

Post by beowuuf »

Rather than alter monster behaviour, can the DSA just alter monster position? Perhaps use the Choas teleport rules, but for only one square of teleport. If a certain monster type is one square close to the party, then it is teleported one square away. It can therefore be normal and aggressive (incase of cornering) but otherwise is faking a giggler style running away
User avatar
Paul Stevens
CSBwin Guru
Posts: 4318
Joined: Sun Apr 08, 2001 6:00 pm
Location: Madison, Wisconsin, USA

Post by Paul Stevens »

We certainly could implement a bit in the monster record that causes
a DSA to be triggered when the monster moves (and perhaps other actions
someday). The code to teleport Lord Chaos is not simple. You have to worry
about pits, walls, doors, trick walls, and then you must decide on a direction.
All these things would need to be done by the DSA that teleports the monsster
when it is adjacent to the party. A DSA is not well-suited to such a difficult
task. I have some questions:
A) Is this effect worth the effort? Why?
B) What is it about Gigglers that makes them run so well?
C) Can the Giggler effect be maximized over and above what affects Gigglers?
Mummies certainly run at times, too. Just not so much. Maybe we can make
your monster run even more by changing available attributes in the graphics.dat.

My examinations of the code caused me to label one of the variables
associated with monsters 'Fear-Factor'. It had several values and I do not
begin to understand. If several people can convince me that they would
actually make good use of such a feature and convince me that making the
monster Giggler-like is impossible or not sufficient, then we could probably do
something simpler than the teleporting suggestion. Perhaps set this Fear-Factor
to an appropriate value and disable setting it back.
Rebecka

Post by Rebecka »

Hard to say. I was trying to create a 'ghost' carrying a key. The ghost run away from you, so you must search for it, and chase it, to get the key. For a maximum effect, I think the ghost should run out of sight, then wait, the run away again when the player comes near. But it is possible that tweaking with the 'Fear-Factor' will be good enough.

But a monster DSA would probably open up for interesting solutions. Perhaps the ghost start following you if you carry a piece of cheese? :) But I'm not interested in this kind of effect, so the question is if other people think it is desirable.

It might be a better solution, if a DSA would be allowed to tweak the 'Fear-Factor' of a monster type, at runtime. What about this idea?
User avatar
Paul Stevens
CSBwin Guru
Posts: 4318
Joined: Sun Apr 08, 2001 6:00 pm
Location: Madison, Wisconsin, USA

Post by Paul Stevens »

DSA would be allowed to tweak the 'Fear-Factor' of a monster type, at runtime
Yes, that was my idea. Not that I know how to do it! And if I could do it
then we would probably want to manipulate other attributes of monsters at
the same time.....pretty much for free. The hitch is that I don't know what
values among the variables might be consistent with one another, what they
do, when they might be changed without causing system failure, etc. As I
pointed out once before, there are two 'virtual' timers running for each
monster on the player level and, no doubt, the code expects the monsters
to be in one of a limited number of states when the timers expire. I don't think
we can be changing these things willy-nilly. And I don't know the rules. So
if we try tsomething along these lines we are going to have to approach it
slowly and carefully. Which means its a lot of work. Which means we ought
to be very careful not to ask for things that are not enormously useful.

Rebecka, may I see how your work is coming along? One reason I have
expended a lot of time for Zyx's requests is that I have seen that he is
investing a lot of effort himself before he asks for effort on my part. Spending
fifty hours on a request only to never see it used in a well-rated dungeon
is frustrating. If 90 percent of the effect can be achieved with 10 percent
of the effort then that is probably the way to go.
ghost should run out of sight, then wait, the run away again
That is asking a lot. Waiting could easily be achieved by a DSA that simply 'freezes'
the monster by extending the timer whenever it expires. But deciding when to
do it is tougher. The DSA might be able to ask such questions as 'Is the party
near?' But questions like how to make it run and which direction are nowhere near
solved.
User avatar
beowuuf
Archmastiff
Posts: 20687
Joined: Sat Sep 16, 2000 2:00 pm
Location: Basingstoke, UK

Post by beowuuf »

If this is a set piece, with no other monsters around on that level/area, then you could simply use teleporters. Trigger them by the party movement, two away to ensure the monster always hovers close.
For t-junctions, etc have a teleporter chain that would force the monster in a semi circle around each point. Then either have a DSA, or a giggler/trigger combo that shuts off one when the party get close.

Need a little more planning, but you could have the same in a larger room
User avatar
cowsmanaut
Moo Master
Posts: 4378
Joined: Fri Jun 30, 2000 12:53 am
Location: canada

Post by cowsmanaut »

this is much like Mario.. and certainly something that has to be programmed into the engine from the start as it sounds like changing the fundamentals of the game. I'm sure it could be possible to add in something but it's a fundemental change and would likely lead to more changes as you would then need to "fix" things in the monsters behaviour from there on in.

You're talking about line of sight. as far as it stands right now.. line of sight for a monster goes through walls. a Monster on the other side of a wall will still try to follow you. Justify it as you wish (they can hear me through the walls and smell my human flesh) but really it means that there is no line of sight programmed in. I think it's more of an area of influence. If you are within 3 blocks of them they head towards you untill a wall get's in the way...

Near as I can tell pathfinding in DM is not all that advanced either.. it seems more like they try one direction get back a "nope can't go that way" try the next direction "nope can't go that way" and keep trying untill they find a direction they can go. Which is why when a monster is cornered it still comes at you... not because it's decided.. "Oh no, I can't run.. that's it I gotta fight my way out!" which is more along the lines of what we as gamers might place on them as a justification for their actions. We like to think they are smarter than they are. Makes the game more fun.

If I'm wrong in this I'm sure someone would correct me.. This is just based on my experience with this game and it's habits.. like the mummy that seems to be hunting me and then "loses interest" Seems more likley that it ran out of apropriate directions and started off in a new direction away from me... or that I moved out of that small range of influence and it went back to random wandering

that sound about right Paul?

moo
User avatar
Paul Stevens
CSBwin Guru
Posts: 4318
Joined: Sun Apr 08, 2001 6:00 pm
Location: Madison, Wisconsin, USA

Post by Paul Stevens »

You won't prove it either (or any) way by me. The only thing I remember
is seeing that the engine draws a rectangle with the monster at one corner
and the party at the opposite and then the 'best' direction is along the longer
side of the rectangle. I don't remember what it does for a square...perhaps
chooses randomly. If it is like most of the other choice-making algorithms
then some random element is probably introduced in all cases. That randomness
in everything really makes a big difference in playability, IMHO.
Guest

Post by Guest »

Paul Stevens wrote: Rebecka, may I see how your work is coming along? One reason I have expended a lot of time for Zyx's requests is that I have seen that he is investing a lot of effort himself before he asks for effort on my part. Spending fifty hours on a request only to never see it used in a well-rated dungeon is frustrating. If 90 percent of the effect can be achieved with 10 percent of the effort then that is probably the way to go.
Yes you can, but the work of the dungeon is stalled because I cannot find a way to make "tables".

I'm sorry if I made this sound like "I want this effect, and this, and this...". I just wanted to ask if there was a solution to the problems I have encountered. The reason to why I even said something about these "unused monster bits" is because I belive it would be wasteful to use them for some hardcoded things like speed or double attack.
Why not leave the bits unused by CSB? Perhaps someday their meaning can be defined by the level designer instead of CSB... (one possible solution could be as a monster "subclass", that some future DSA receieving monster events could use).

If I would be allowed to alter one single piece of functionality in CSB, then it would not be anything monster-related at all. It would be this "alcove issue" that I asked about in another thread, because that's somewhat the heart of the dungeon I've tried to create. Whithout something with at least the slightest resemblance of a "table", then I'm out of luck. So you may ignore my requests if you like. But you could perhaps have them in your mind?
Rebecka

Post by Rebecka »

beowuuf wrote:If this is a set piece, with no other monsters around on that level/area, then you could simply use teleporters. Trigger them by the party movement, two away to ensure the monster always hovers close.
For t-junctions, etc have a teleporter chain that would force the monster in a semi circle around each point. Then either have a DSA, or a giggler/trigger combo that shuts off one when the party get close.
Yes, this would work because the 'ghost' is supposed to be the only monster on that level.
User avatar
Paul Stevens
CSBwin Guru
Posts: 4318
Joined: Sun Apr 08, 2001 6:00 pm
Location: Madison, Wisconsin, USA

Post by Paul Stevens »

but the work of the dungeon is stalled because I cannot find a way to make "tables"
I am at a loss to think of any puzzle or whatever that could be done with
your tables that cannot be done with what exists already. All I can think of
is the 'eye-candy' that a table would add. No functionality. Can you enlighten
me? Privately if you are afraid of releasing a spoiler. I'll keep it quiet. If an
entire design really depends on this and you can demonstrate that you are
serious about putting together the effort to create such a design then I will
indeed "have them nearer the front of my mind".
Post Reply

Return to “Chaos Strikes Back for Windows & Linux (CSBWin) / CSBuild”