Announcement: Why not try our official idea generator for inspiration when making puzzles?


Caravel Forum : DROD Boards : Architecture : Hydra (Who wants to join me?)
New Topic New Poll Post Reply
Poster Message
Dying Flutchman
Level: Master Delver
Avatar
Rank Points: 222
Registered: 01-27-2017
IP: Logged

File: 2019 07 20 - The Island of Doctor More-so.hold (33.8 KB)
Downloaded 7 times.
License: Public Domain
icon Hydra (+5)  
Dear DRODologists,

I've been working on a snake-like monster called the hydra. It's the logical conclusion of serpent (not stab-able), adder (head-stab-able) and rattler (tail-stab-able). The hydra can be stabbed in the middle and then turns into two hydra.

It's taken me a while to get all interactions to work, but everything's set now. Mike Rimer was even so kind to grant me permission to base my graphics on the original DROD serpent sprites.

So here we are. I've made an introduction hold that shows of most of the interactions. It's called "The Island of Doctor More-so" and some of you will probably recognize the inspiration from HG Wells novel with similar title :)

The story needs to be finalised and polished, but I've got two more important questions for you.

1) Please test the puzzles and see if you can break anything. Both puzzle-wise and scripting-wise.
2) I think that this type of element has enormous puzzle potential. So I would invite you to join me in building a collaboration hold. I'll provide the hub and the introduction level as a starting point and would be very happy to add your levels to the hold as well. Very curious to see what other architects do with the hydra element. Of course, I'll explain the process of using them in your rooms. It's really simple.

So, who would like to join me?

____________________________
Autocorrect is not my friend. Apologies for the typos.

[Last edited by Dying Flutchman at 07-20-2019 10:29 PM]
05-30-2019 at 09:10 AM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
Nuntar
Level: Smitemaster
Avatar
Rank Points: 3632
Registered: 02-20-2007
IP: Logged
icon Re: Hydra (+3)  
That's a really impressive bit of scripting :thumbsup

I don't know exactly how you intend it to behave, so I'm going to start by listing the behaviours I observe, and you can tell me whether I've got them right and whether any of them are bugs. (Also, this is a first stab at a list of what should be taught in an introduction level.)

* Hydra is a required target.
* Hydra can only be stabbed on a middle (non-head, non-tail) tile. Corollary: A length-2 hydra is invulnerable to stabbing and makes the room unsolvable unless some other means of killing is present.
* A length-3 hydra dies to a single stab, and one of any length > 3 can be shortened by 2, so any odd-length hydra can be completely removed.
* An length-2n hydra can be shortened by 2 or split into two hydras totalling (2n - 1), which is odd, therefore one of the hydras is still even. Therefore if a room starts with an even-length hydra, it cannot be completely removed by Beethro-stabs alone.
* Beethro and another entity can multi-stab, allowing killing a length-4 hydra or reducing an even hydra to two odd hydras.
* Hydras do not hold down rafts, and any tile can be sunk. Sinking the head causes the next tile to become a head, allowing a hydra to be changed from even to odd. (I suppose this could be expected, given you already have the splitting allowing it to grow a new head from any body tile. Also, I don't know whether hyperme plans to add "Holds down rafts" as part of his new "Behaviour" command.)
* Unlike normal snakes, hydras rank all four adjacent tiles by distance to their target, preferring to minimise whichever of horizontal and vertical distance is greater (like a Seep on orthosquares). This makes them much more aggressive, and harder to manipulate at a distance.
* Hydras follow "natural target" (can be fooled by decoys, don't move if Beethro is invisible, etc.)
* Firetraps will take out a middle tile of a hydra just like a stab, and can instantly kill one if they get its head.
* Hydras move after puffs (which seems undesirable, for consistency). They can destroy puffs without being harmed, and puffs target them but will die on their bodies without harming them. (Doesn't this make 2S unsolvable?)

____________________________
50th Skywatcher
05-30-2019 at 07:41 PM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
Dying Flutchman
Level: Master Delver
Avatar
Rank Points: 222
Registered: 01-27-2017
IP: Logged
icon Re: Hydra (+1)  
Hi Nuntar,
You've past the test splendidly! Almost 100% correct.

Two points of discussion perhaps:
* Rafts: good call. Didn't even think of implementing this behaviour (but would be easy to implement). I'm pretty sure it works as you describe and nothing will break in a dramatic way. However, depending on the processing order, graphics display will sometimes break with certain events. So I really have to check this out.
* Puffs: yeah, the hydra is scripted, so it will always move/process after everything else in the room.
Heads and tails are immune, but body segments are killed by puffs.
I this you could have long discussions about wether this is good/consistent/necessary, but I find it a reasonable choice.

About moving: the hydra always moves towards the tile with smallest distance (Pythagoras, that is). This makes it more aggressive but also much easier to predict. In addition, it will not move into a sword or other weapon, so clone-combat style manipulation is quite fun and useful.

Will check up on the raft thing and see if anything needs fixing.

____________________________
Autocorrect is not my friend. Apologies for the typos.

[Last edited by Dying Flutchman at 06-02-2019 07:35 AM]
05-30-2019 at 09:12 PM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
Nuntar
Level: Smitemaster
Avatar
Rank Points: 3632
Registered: 02-20-2007
IP: Logged
icon Re: Hydra (+1)  
quote:
Dying Flutchman wrote: * Puffs: yeah, the hydra is scripted, so it will always move/process after everything else in the room.

Not necessarily. In 5.0 onwards, you can set an entity's processing sequence using the "Options" button in the script editing window. (For entities like the Hydra that have a consistent script across instances, use this button while editing the default script.) The window gives a full list of values corresponding to guards, stalwarts, normal monsters, puffs etc, so you can choose which of these an entity will act in between.

For Hydras, I strongly advise they should move before puffs, because normal behaviour is for puffs to move after all monsters. You can see why if you think about a puff attacking a Hydra's tail. With the Hydra moving last, it will pull its tail out of that tile, so it looks like the puff has died on thin air.

quote:
About moving: the hydra always moves towards the tile with smallest distance (Pythagoras, that is).

The more significant point is that if its first-choice move is blocked, it continues by ranking the other adjacent tiles by distance, and choosing the best. This is worth emphasising because it's completely different from other snakes, which only attempt one first-choice move towards Beethro, and then fall back on N-E-S-W preferences.

____________________________
50th Skywatcher
05-30-2019 at 09:25 PM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
Xindaris
Level: Smitemaster
Avatar
Rank Points: 775
Registered: 06-13-2015
IP: Logged
icon Re: Hydra (+1)  
quote:
Dying Flutchman wrote: * Puffs: yeah, the hydra is scripted, so it will always move/process after everything else in the room.

You can change the move order of a scripted character by going into the "options" button and setting its "processing order" to the desired number. If you do this for a "type of character" then it automatically applies to all of the characters of that type. The processing order also has a handy list of when certain things happen, e.g. monsters happen on processing order 1000, so if hydras should move when monsters do, its order should be 1000. Or if it should move after monsters but before puffs, 1001 will do. If different parts of a hydra must move in a certain order then you can set the processing order of each part to ensure this happens regardless of when they're put down, like if A should always go before B then set A to order 1001 and B to order 1002 (after A).

____________________________
109th Skywatcher

Here are some links to Things!
Click here to view the secret text


[Last edited by Xindaris at 05-30-2019 09:28 PM]
05-30-2019 at 09:27 PM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
Dying Flutchman
Level: Master Delver
Avatar
Rank Points: 222
Registered: 01-27-2017
IP: Logged
icon Re: Hydra (0)  
Thanks for your suggestions. Will play around with that and see if it will do what I need.

I guess it should work.

____________________________
Autocorrect is not my friend. Apologies for the typos.
05-30-2019 at 11:06 PM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
KituU
Level: Master Delver
Rank Points: 142
Registered: 07-02-2014
IP: Logged

File: The Island of Doctor More-so - KituU demos.demo (7.8 KB)
Downloaded 3 times.
License: Public Domain
icon Re: Hydra (+1)  
Hi, what a fantastic creation ! Had a great great time playing !
Seems Hydra is not brained with brain in room? (2S 2E)

Demos
05-31-2019 at 02:26 AM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores Quote Reply
Dying Flutchman
Level: Master Delver
Avatar
Rank Points: 222
Registered: 01-27-2017
IP: Logged
icon Re: Hydra (0)  
quote:
Dying Flutchman wrote:
Thanks for your suggestions. Will play around with that and see if it will do what I need.

I guess it should work.


On second thought: this can't work.

The hard part of the scripting is not too let the segments interact with the room properly. It's not even letting them follow each other and splitting properly. The hard part is to get the sprites to display correctly (I.e. head/tail/body straight or R/L curve).

The graphics part must be done after segments are killed. I fact, there's many events that operate after the NPCs and I actually had to 'prepare' the segments for dying even before stuff like hot tiles, spikes, etc take place. And while this 'predictive' graphics management is doable for fixed architecture, out would be a complete mess for dynamic events like puffs.

So, no, or won't work like we would like it to work.
Two (3?) options basically:
1) accept that puffs move early (I'm ok with that, but do see your point.
2) let puffs move late, but make all snake parts puff-resistant (don't know if that's possible, because the segments are either vulnerable or not)
3) just don't use any puffs

Will think about this some more

____________________________
Autocorrect is not my friend. Apologies for the typos.
05-31-2019 at 08:24 AM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
Dying Flutchman
Level: Master Delver
Avatar
Rank Points: 222
Registered: 01-27-2017
IP: Logged
icon Re: Hydra (0)  
quote:
KituU wrote:
Hi, what a fantastic creation ! Had a great great time playing !
Seems Hydra is not brained with brain in room? (2S 2E)

Demos


Thanks for the demos and praise. Will check what you managed to break :)

Making the hydra brained is flatly impossible to script (well theoretically you could, I guess). But now there's no story Linn line explaining it. Probably I'll put in some story related scroll in the room.

The nice thing, however, it's that snakes tend to get in their own way. So even when not brained, obstacles tend to be circumvented ultimately.

____________________________
Autocorrect is not my friend. Apologies for the typos.
05-31-2019 at 08:27 AM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
mauvebutterfly
Level: Smiter
Rank Points: 431
Registered: 05-03-2015
IP: Logged
icon Re: Hydra (+1)  
I had a script for a portal gun that worked alright with two characters controlling various parts of the script. However, I had to make a choice between having graphical bugs or having non-intuitive ordering. In the end I wasn't happy with that compromise, so I found another solution: the script now uses 4 separate control characters that all operate at different times in the turn sequence.

That might not be something you are willing to do, but it should allow for your element to work as expected while also looking pretty. The cost would be additional setup for architects since it would no longer be "drop and play".

(I haven't actually looked at how you implemented this script, so I'm not sure how exactly this would work with what you have.)

____________________________
106th Skywatcher
05-31-2019 at 09:24 AM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
Dying Flutchman
Level: Master Delver
Avatar
Rank Points: 222
Registered: 01-27-2017
IP: Logged
icon Re: Hydra (0)  
Yes Mauve, thought of that as well. I guess it should work in principle. But either way, it would be very complicated. Other room elements than puffs would work exactly the other way round. Hot tiles for instance: when line segment dies, the next becomes a head and starts to move. This case then requires processing of the event during NPC execution. Other events should go before NPC execution.

So finally there is a tangle of order-related things going on. All pretty nasty. Don't really want to do this only for puffs. However, perhaps I'll include some custom scripting only for puff rooms. That would be acceptable.

But ultimately, there will be a compromise. Briar and speed potions for instance simply don't work and probably never will. I'm ok with that.

____________________________
Autocorrect is not my friend. Apologies for the typos.

[Last edited by Dying Flutchman at 05-31-2019 12:14 PM]
05-31-2019 at 12:14 PM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
Xindaris
Level: Smitemaster
Avatar
Rank Points: 775
Registered: 06-13-2015
IP: Logged
icon Re: Hydra (+1)  
Obviously there may be a problem with this option also, but rock golem/construct-based entities are invulnerable to puffs even if you use imperative vulnerable on them (not looking at your work right now I would guess you made something roach- or wraithwing-based?). Maybe fegundo-based ones too, but those come with the extra complication that "die special" means "make a 3x3 explosion".

____________________________
109th Skywatcher

Here are some links to Things!
Click here to view the secret text


[Last edited by Xindaris at 05-31-2019 02:48 PM]
05-31-2019 at 02:47 PM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
Dying Flutchman
Level: Master Delver
Avatar
Rank Points: 222
Registered: 01-27-2017
IP: Logged
icon Re: Hydra (+1)  
quote:
Xindaris wrote:
Obviously there may be a problem with this option also, but rock golem/construct-based entities are invulnerable to puffs even if you use imperative vulnerable on them (not looking at your work right now I would guess you made something roach- or wraithwing-based?). Maybe fegundo-based ones too, but those come with the extra complication that "die special" means "make a 3x3 explosion".


Okay. Xindaris saved the day. I did it his way.

Hydra move before puff now, and the puffs die horribly. Unfortunately, no more 'kill by puff' rooms possible. But hey, we can play around with ice. Also nice.

____________________________
Autocorrect is not my friend. Apologies for the typos.
05-31-2019 at 10:18 PM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
Xindaris
Level: Smitemaster
Avatar
Rank Points: 775
Registered: 06-13-2015
IP: Logged
icon Re: Hydra (+1)  
I generally run into some dilemma where my element needs to be "flying" to have custom behavior in response to pits/deep water, so I have to decide whether it's a fegundo (almost never) or a wraithwing (almost always), and don't get the option of using a rock golem/construct base x_x

This sort of thing would be easier to figure out if we had more direct control over the various vulnerability states.

____________________________
109th Skywatcher

Here are some links to Things!
Click here to view the secret text


[Last edited by Xindaris at 06-01-2019 11:09 PM]
06-01-2019 at 12:59 AM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
Dying Flutchman
Level: Master Delver
Avatar
Rank Points: 222
Registered: 01-27-2017
IP: Logged
icon Re: Hydra (0)  
Updated hold in first post. KituU found some unintendies, fixed puff behavior (and build new room around new behavior). Plus: secret!

Also changed: now correctly kills stalwards and soldiers, although I have no plans for using them in any room.

____________________________
Autocorrect is not my friend. Apologies for the typos.
06-01-2019 at 10:06 PM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
KituU
Level: Master Delver
Rank Points: 142
Registered: 07-02-2014
IP: Logged

File: The Island of Doctor More-so- v2 KituU demos.demo (8.5 KB)
Downloaded 1 times.
License: Public Domain
icon Re: Hydra (+1)  
Hi, played new version.
demos


06-04-2019 at 01:21 AM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores Quote Reply
Dying Flutchman
Level: Master Delver
Avatar
Rank Points: 222
Registered: 01-27-2017
IP: Logged
icon Re: Hydra (0)  
Thanks KituU,

Nice solutions you found. Pretty efficient.

Everything as intended, hurray!

Will with on the story some more and perhaps this one's already getting close to the finish line.

Unless someone wants to join in as a guest architect?

____________________________
Autocorrect is not my friend. Apologies for the typos.
06-04-2019 at 04:59 PM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
Dying Flutchman
Level: Master Delver
Avatar
Rank Points: 222
Registered: 01-27-2017
IP: Logged
icon Re: Hydra (+1)  
Short update: no update.

I've been busy, but this has not been forgotten.

I have some ideas for a more classical dungeon style set of puzzles, will try to implement those during the next couple of weeks.

Also thinking about the best mode of presentation. I'm currently thinking about setting the island part (The part you've seen so far) as a kind of dream/flashback to introduce the hydra and then follow up with a dungeon level. However, I also recognize that this will make a somewhat strangely disconnected two-level hold. The other option is to do the island as stand alone, and follow through with another hold, released shortly afterwards.

Question for those still following this thread: what would you do? One hold or two holds?

____________________________
Autocorrect is not my friend. Apologies for the typos.

[Last edited by Dying Flutchman at 06-23-2019 08:22 PM]
06-23-2019 at 08:14 PM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
KituU
Level: Master Delver
Rank Points: 142
Registered: 07-02-2014
IP: Logged
icon Re: Hydra (0)  
Hi, didn't understand if the follow up dungeon level would have any hydra.
Maybe 1 hold ? so there's not the feeling of wanting some more...
06-23-2019 at 08:41 PM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores Quote Reply
Dying Flutchman
Level: Master Delver
Avatar
Rank Points: 222
Registered: 01-27-2017
IP: Logged
icon Re: Hydra (0)  
Yes, I mean to build another level including other monsters and generally more dungeon style puzzles, including separated chambers within rooms, and more 'architecture interactions'. The island story would not make sense anymore.

I'm not sure if I should combine the island level and the dungeon level in a single hold, because thematically and narratively, they will be quite dissimilar. Yes, they'd both contain hydra, but that's about it.

Will give this some thought.

____________________________
Autocorrect is not my friend. Apologies for the typos.
06-23-2019 at 10:54 PM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
Dying Flutchman
Level: Master Delver
Avatar
Rank Points: 222
Registered: 01-27-2017
IP: Logged
icon Re: Hydra (0)  
Finally, an update [first post].

I've made puzzle rooms for a second level. I don't expect to add much more to this, perhaps one or two puzzles, if the inspiration suddenly grabs me by the throat.

I will be leaving for a couple of weeks tomorrow, so I wanted to share this with you. However, this still needs a lot of 'beautification' added. There's no structure, no story, no nice layout or gadgets.

So if you're curious, I'd be happy if you could comment on the puzzles. I've build makeshift corridors between the puzzle rooms, but you can also test them directly from the editor.

Don't bother to give aesthetic comments. That'll have to wait until after my holiday.

And storyline. There will be storyline to guide the player a bit and to give pretext for the puzzle rooms :)

Thanks for any input you're willing to give me!

____________________________
Autocorrect is not my friend. Apologies for the typos.

[Last edited by Dying Flutchman at 07-20-2019 10:31 PM]
07-20-2019 at 10:28 PM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
KituU
Level: Master Delver
Rank Points: 142
Registered: 07-02-2014
IP: Logged
icon Re: Hydra (0)  
Hi, first, happy holidays !

Played this new level, but exit level raft ends hold, and will not take to new dungeon, so can't upload demos

Excellent addition to hold !
comments

Click here to view the secret text

07-22-2019 at 03:56 AM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores Quote Reply
Dying Flutchman
Level: Master Delver
Avatar
Rank Points: 222
Registered: 01-27-2017
IP: Logged
icon Re: Hydra (0)  
Thnx for testing again.

It seems that quite a few mistakes have slipped through in my hurry to share before I left. Sorry for that.

But apart from that, I didn't see any major problems and can see what's wrong with the rooms that didn't work for you.

Obviously, I can't fix anything right now. But if you're really curious: 1W is the room with the cove full of oremites and a staff token, right? Just pretend that you must step on the token and then solve the room. That'll be fixed later.

____________________________
Autocorrect is not my friend. Apologies for the typos.
07-22-2019 at 08:37 AM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
KituU
Level: Master Delver
Rank Points: 142
Registered: 07-02-2014
IP: Logged
icon Re: Hydra (0)  
Hi.
1W has 2 sectors, the western sector has pressure plates and mirror and keg, and nothing is needed, you may just kill hydra
07-22-2019 at 07:07 PM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores Quote Reply
Dying Flutchman
Level: Master Delver
Avatar
Rank Points: 222
Registered: 01-27-2017
IP: Logged
icon Re: Hydra (0)  
quote:
KituU wrote:
Hi.
1W has 2 sectors, the western sector has pressure plates and mirror and keg, and nothing is needed, you may just kill hydra


Thx, now I see. Forgot to put in the conquer token :(

____________________________
Autocorrect is not my friend. Apologies for the typos.
07-22-2019 at 09:02 PM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
New Topic New Poll Post Reply
Caravel Forum : DROD Boards : Architecture : Hydra (Who wants to join me?)
Surf To:


Forum Rules:
Can I post a new topic? No
Can I reply? No
Can I read? Yes
HTML Enabled? No
UBBC Enabled? Yes
Words Filter Enable? No

Contact Us | CaravelGames.com

Powered by: tForum tForumHacks Edition b0.98.8
Originally created by Toan Huynh (Copyright © 2000)
Enhanced by the tForumHacks team and the Caravel team.