Announcement: Be excellent to each other.


Caravel Forum : Caravel Boards : Contests : The Custom Element Contest! (Our contest for January / February)
New Topic New Poll Post Reply
Poster Message
Xindaris
Level: Smiter
Avatar
Rank Points: 492
Registered: 06-13-2015
IP: Logged
icon The Custom Element Contest! (+4)  
The Custom Element Contest!


Custom element? What's that?
A custom element (at least as far as this contest is concerned) is an object built through DROD scripting that has a consistent set of behaviors and interactions to be used in puzzles. Good examples of custom elements include TSS's Lemmings and Flowers, the multi-use trapdoor skell made, various things that show up in the Lavender Levels, and my very own WIP "Blocks". Note that a custom element doesn't have to be a thing on the map; it can also take the form of a new ability Beethro has, like the Lavendar Levels' hookshot.

The thing that distinguishes a custom element from just some character with scripted behavior is that, with maybe a few exceptions and caveats, a custom element should have a very general sort of use to it; it should usually exist as a specific character type with a default script. To a player, a custom element should just look like another thing that's in the DROD world; to an architect, a custom element should look like another tool in the box right alongside roaches and orbs and pressure plates with maybe a little bit of extra setup necessary.

The Rules:
-Each entry should take the form of a hold showcasing one (1) custom element the entrant has made, acting both as a tutorial for what the element does (for the player side) and as a demonstration of the sorts of puzzles the element is capable of making (for the architect side). If you want an example of the kind of thing I'm talking about, Blockerture Science Laboratories' first 4 levels each introduce a specific custom element in basically the way I'm talking about.

-Multiple entries per person allowed if you have more than one idea for a custom element.

-No duplicates! If your custom element is identical to something that already exists, that's boring. Even a slight modification can lead to big changes in use though, so a meaningfully different version of an existing custom element is okay. If you and somebody else happen to have accidentally made identical elements for this contest that's okay, but you should try to make your element interesting and unique enough that that isn't likely to happen.

-Try to make the demonstration hold nice and accessible for a beginner to your element. If there's some really difficult puzzle you've built for the element, it's better to put that in as a secret room or a non-required challenge room.

-It's not a requirement, but it would be great if you would be willing to give general permission for others to use and modify your element. Ideally the compilation hold for this contest will be anyone edit from the start so that architects who want to can just take the elements invented here and use them in new and exciting ways for their own holds.

-Don't worry too much about the graphics! They're only important functionally: Your element should distinct from the default ones so the player can clearly tell it's there. It doesn't have to be the prettiest thing in the world.

Voting:
When voting for this contest, please weight your votes more toward your opinion of the element and less toward your opinion of the hold. Of course, the hold will inevitably have some effect on your impression of the element, but try to rate a great element with a poor hold higher than a crummy element with a good hold, although the latter situation is rather difficult to achieve anyway. After all, if it's truly a crummy element how do you make a good hold out of it?

Prizes:
This is an official contest, so the prizes are the usual:

First place: 100 rank points and your pick from the Prize Pile
Second place: 50 rank points
Third place: 25 rank points
First-time entry: 10 rank points

If first place prefers, they can take instead of a prize pile item any requested game of current price ≤ $5 from any reasonably reputable online storefront (e.g. GOG or Steam), which I will provide.

Deadlines:
End of contest entry time is at Local Time:02-11-2017 at 06:00 PM, which is in negative 35 weeks, 6 days. If there seems to be a very good reason to extend this time, it will be extended. After that, the voting period will last until Local Time:02-25-2017 at 06:00 PM, which is negative 33 weeks, 6 days from now.

____________________________
109th Skywatcher

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


[Last edited by Xindaris at 01-30-2017 08:11 PM]
01-15-2017 at 04:25 PM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
Dischorran
Level: Smitemaster
Avatar
Rank Points: 1966
Registered: 09-10-2005
IP: Logged
icon Re: The Custom Element Contest! (+3)  
IMHO, one non-obvious point to be made about design and use of custom elements is that use of their interactions doesn't have to be exhaustive.

DRODscript is limited - chances are, the architect won't be able to have interactions with every element work smoothly. If the element chases Beethro, it probably won't respect invisibility or deal with multiple clones correctly. Modifying Beethro's movement behavior probably requires teleportation, making pushing and blocking not quite work as intuitively expected. You might be able to figure out where Beethro stabs a monster, but not a mimic. So on and so forth.

As tempting as it is to explore these possibilities and make puzzles based on invisibility not working, monsters only chasing the northmost clone, or whatever, one may achieve better results by just avoiding the strange cases altogether. The script doesn't deal with mimics well? Don't use mimics. Plenty of existing holds don't use mimics. Beats making the player get her head around behaviors that only really make sense if one has a comprehensive understanding of scripting's limitations.

I'd hardly say that Lavender Levels is the one true way to do scripted elements, but it does have notes on how I did and didn't use elements. Plus, the scripts might be useful to adapt.

____________________________
Click here to view the secret text

01-20-2017 at 08:51 PM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores This architect's holds Quote Reply
Nuntar
Level: Smitemaster
Avatar
Rank Points: 3202
Registered: 02-20-2007
IP: Logged
icon Re: The Custom Element Contest! (+1)  
quote:
Dischorran wrote: If the element chases Beethro, it probably won't respect invisibility or deal with multiple clones correctly.

Well, that case is precisely what the "Find natural target" feature was created to handle. In this topic I gave a simple example of using this feature to create an entity that chooses its target in the same way as a regular monster. There are a couple of hidden nuances in the script:

* If there is no target (player is invisible and there is no available decoy / stalwart), "Find natural target" returns the coordinates of the entity calling it. So, the script checks whether ReturnX and ReturnY hold its own coordinates, and if they do, it does nothing this turn.

* Because the target may move (or the algorithm may select a different target) every turn, it's necessary to do a loop and move with "Single step", rather than just outright move to ReturnX, ReturnY. This makes it easy to add new features to the monster's behaviour, because you regain control of it every turn; for instance, after "Label loop" you could add "Wait 0" if you wanted it to only move every second turn, or you could check if it's currently standing on a tarstuff switch token and if so, activate it -- or any other behaviour you desire.

____________________________
50th Skywatcher
01-20-2017 at 10:09 PM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
Dischorran
Level: Smitemaster
Avatar
Rank Points: 1966
Registered: 09-10-2005
IP: Logged
icon Re: The Custom Element Contest! (+1)  
quote:
Nuntar wrote:
quote:
Dischorran wrote: If the element chases Beethro, it probably won't respect invisibility or deal with multiple clones correctly.

Well, that case is precisely what the "Find natural target" feature was created to handle. In this topic I gave a simple example of using this feature to create an entity that chooses its target in the same way as a regular monster. There are a couple of hidden nuances in the script:

* If there is no target (player is invisible and there is no available decoy / stalwart), "Find natural target" returns the coordinates of the entity calling it. So, the script checks whether ReturnX and ReturnY hold its own coordinates, and if they do, it does nothing this turn.

* Because the target may move (or the algorithm may select a different target) every turn, it's necessary to do a loop and move with "Single step", rather than just outright move to ReturnX, ReturnY. This makes it easy to add new features to the monster's behaviour, because you regain control of it every turn; for instance, after "Label loop" you could add "Wait 0" if you wanted it to only move every second turn, or you could check if it's currently standing on a tarstuff switch token and if so, activate it -- or any other behaviour you desire.
That was, of course, a single example of many.

____________________________
Click here to view the secret text

01-20-2017 at 10:22 PM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores This architect's holds Quote Reply
Xindaris
Level: Smiter
Avatar
Rank Points: 492
Registered: 06-13-2015
IP: Logged
icon Re: The Custom Element Contest! (+1)  
I concur on working within one's limits. It can get increasingly difficult to account for all kinds of different interactions and some things are just plain impossible. I'd say a good custom element can handle at least some interactions with normal elements so it's not just a thing that only works in isolation, but there's no need to try and make it work with everything.

For that matter, if an element has a quirky, unintuitive behavior you just can't avoid, no matter what situation it's in, just because of the limitations of DROD, that's okay. Just make sure the behavior is incidental and not an integral part of your puzzles.

____________________________
109th Skywatcher

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

01-20-2017 at 10:42 PM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
mauvebutterfly
Level: Master Delver
Rank Points: 178
Registered: 05-03-2015
IP: Logged
icon Re: The Custom Element Contest! (0)  
I know you said not to worry about graphics, but I was curious about something. We need permission from Caravel if we want to modify their graphic. Who would I ask about that kind of thing?

It would be nice to at least use an existing monster/potion/horn/token as a template or reference so that the new element looks like it fits in.

On a side note, I've learned more about DRODscript in the past few days than in the past few years of playing DROD.

____________________________
106th Skywatcher
01-22-2017 at 09:21 AM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
Xindaris
Level: Smiter
Avatar
Rank Points: 492
Registered: 06-13-2015
IP: Logged
icon Re: The Custom Element Contest! (0)  
If you want to ask permission to use modified graphics, you should ask Schik. I think they'll need to know exactly what's being changed, though.

____________________________
109th Skywatcher

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

01-22-2017 at 03:29 PM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
NoahT
Level: Smitemaster
Avatar
Rank Points: 1009
Registered: 06-17-2003
IP: Logged
icon Re: The Custom Element Contest! (0)  
Could you compile a list of links to all existing custom elements so no one duplicates any of them?

____________________________
And in the end, the love you take is equal to the love you make.

My stuff:
Click here to view the secret text

01-22-2017 at 07:01 PM
View Profile Send Private Message to User Send Email to User Show all user's posts This architect's holds Quote Reply
Xindaris
Level: Smiter
Avatar
Rank Points: 492
Registered: 06-13-2015
IP: Logged
icon Re: The Custom Element Contest! (0)  
Honestly, with how hard it might be to discover for sure whether or not you've made something that already exists, just aim for a certain moderate level of complexity (not too hard to make but not so simple you think someone's certainly already thought of it), don't make it exactly like anything you personally know about, and even if it does turn out to be a duplicate I'll try and take on good faith, and say that anything that doesn't seem intended to be one isn't one as far as the rules are concerned.


But I can make an attempt at a list at least if you want, probably incomplete:

-The things in the Lavender Levels (I don't know specifically what everything there is because I haven't finished it)
-The custom elements in TSS (Lemmings, Flowers, Darts, etc.)
-Multi-use trapdoors
-Blocks, Teleblocks, Momblocks, Gravblocks (from my own hold, Blockerture): pushable-by-all objects which drop trapdoors when pushed off of them; the latter three each have their own ways of "self-moving" or "extended pushes". You're not likely to make a copy of the latter three by accident because they're pretty complex machines
-Opals, which are just pushable-by-body-only objects that can hold down buttons and block monsters. By GerAvos, appear in Avos' Dungeon.
-Float Feather mechanics from Beethro's Awakening (another of my own): When the player attempts to move in the direction of a pit/water tile, if it is only a one-tile gap of pit/water in that direction between floor and floor and moving twice in that direction would be open to a wraithwing, the player character is teleported to "jump" and immediately "land" on the tile on the other end of the gap.
-The "Wheel" from Beethro's Awakening: Kind of a complex door; not very easy to replicate by accident. Based loosely on the rotator things from the Legend of Zelda Oracle of Ages/Seasons games.
-The "sword" enemies in Tower of Din (I don't know much about these besides that they exist)

Anyone who's familiar with them, feel free to name more custom elements that have been made or fill in details where necessary.

____________________________
109th Skywatcher

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


[Last edited by Xindaris at 01-22-2017 08:05 PM]
01-22-2017 at 07:56 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: 3202
Registered: 02-20-2007
IP: Logged
icon Re: The Custom Element Contest! (+2)  
I can think of a few more:

* Temporal Adventure has the bubble gun (like TSS's darts, but shoots a bubble) and three colours of Chronovore, which either target timeclones only or Beethro only.
* Reverse mimics are found in The Wrong Way (and probably in other holds; I don't even know whether TWW was the first)
* Chance for Paradise has a slew of custom elements, which are individually listed in the Deadlies thread.
* Torus has the Torus Roaches, which can wrap around, and beeline towards the player by the shortest distance taking wrap into account.
* Here's the link to Lavender Levels, which you already mentioned.
* Gardeviance has sphere dispensers, which open doors of a particular colour, but you can only hold two at a time.
* Beethro Budkin's Big Burrito Butt Blast
* Weeping Angels from Blackout only move if the player is facing away.
* Entropy has the Guardian, which (iirc) moves towards wherever you last killed a monster.
* The custom player role from Ordvan might count; it was counted as a custom element in the Deadlies.
* Carrion beetles from Duncan the Graveyard Guard are a sort of anti-golem; they won't move diagonally if an orthogonal move is blocked (or something like that?)
* The Frankenstein's Wanderer contest was all about a custom monster. Two of the entries were eventually published as A Strange Creature and Operation Frankenstein.
* Finally, here's the link to skell's custom trapdoors, including two-use, orthogonal-only and a type that activates when an adjacent trapdoor is dropped. These haven't been used in a hold yet, but we're planning on including them in Entry Point.

____________________________
50th Skywatcher
01-22-2017 at 09:34 PM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
Xindaris
Level: Smiter
Avatar
Rank Points: 492
Registered: 06-13-2015
IP: Logged
icon Re: The Custom Element Contest! (+1)  
New note on submissions:
We're coming up on time for the submission period to end and voting to start. In order to facilitate having the compilation and voting thread together as soon as possible, all entrants please do these things:

-Let me know in your entry post what title your entry should use in the compilation. Some of the entries have a different hold name from the level name and I need to know which of the two to actually use. If you don't do this, I'm going to just guess between the two the one I think sounds more like the intended title.
-If you update a previously-submitted entry from the time of this post onward, please PM me to let me know. I will be checking periodically for new submissions, so there is no need to PM me about that, but I'm ignoring the existing ones from here on out unless I am informed they were changed. If you are able to tell me what was changed specifically in the PM, that will also help.

____________________________
109th Skywatcher

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


[Last edited by Xindaris at 02-08-2017 07:55 PM]
02-08-2017 at 07:52 PM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
disoriented
Level: Smitemaster
Rank Points: 1198
Registered: 08-07-2007
IP: Logged
icon Re: The Custom Element Contest! (0)  
Thanks for doing this Xindaris.

Hopefully you're ok with compiling all the entries into a compilation hold, including a central hub that can be used to go from entry to entry. My hope is that this compilation is the same hold that will be submitted to HA (after tweaks and fixes) so that any demos players record during testing will still be valid.

____________________________
34th Skywatcher
02-08-2017 at 09:14 PM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores This architect's holds Quote Reply
Xindaris
Level: Smiter
Avatar
Rank Points: 492
Registered: 06-13-2015
IP: Logged
icon Re: The Custom Element Contest! (0)  
I am making a compilation hold, but a few things have to be mussed with, which is most of why the above post I posted happened:

-In order to give anonymity for voting phase, the easiest way to purge the level-builder's name from the level is to copy it room-by-room.
-Updating from here on out will involve copying new version of room or all the new rooms or whatever into the compilation. Updating the scripting needs me to move everything to a new compilation hold except for the updated level by copying the levels but the updated one, get rid of the old hold, rename the new hold to the intended final name, and then copy all the rooms from the level with altered scripting back in.
Click here to view the secret text

-Once the voting is over I'll want to probably recopy the whole levels again so the by-lines say who actually made each level, in addition to of course changing the notes in the hub so they also say who made the room. Also the rooms in the hub itself will probably be improved from the barebones way it is pre-voting in order to save space.

I have no idea whether the process of doing all that will mess with demos. Demos from testing the entries as individual holds may be even worse unless you actually know how to "transfer" a demo from one hold to another with an identical level. It seems like something that should be doable but there's no tool I know of for it.

____________________________
109th Skywatcher

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


[Last edited by Xindaris at 02-08-2017 10:14 PM]
02-08-2017 at 10:09 PM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
disoriented
Level: Smitemaster
Rank Points: 1198
Registered: 08-07-2007
IP: Logged
icon Re: The Custom Element Contest! (0)  
Yeah I see the problem now. I've asked Schik if there's any wizardry he knows that can make this task easier.

____________________________
34th Skywatcher
02-08-2017 at 10:34 PM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores This architect's holds Quote Reply
Schik
Level: Legendary Smitemaster
Avatar
Rank Points: 5095
Registered: 02-04-2003
IP: Logged
icon Re: The Custom Element Contest! (+1)  
I was able to take Blind Race #2, change it so that all levels were created by the account that made the hold itself, and it was still recognized as official and demos worked. So Xindaris, if you just make the hold as if it's the final version, I can take it and hack out all the extra player info for people to play to vote on it.


____________________________
The greatness of a nation and its moral progress can be judged by the way it treats its animals.
--Mahatma Gandhi
02-09-2017 at 01:13 AM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores Quote Reply
disoriented
Level: Smitemaster
Rank Points: 1198
Registered: 08-07-2007
IP: Logged
icon Re: The Custom Element Contest! (0)  
Get your votes in! The contest voting period is nearly over!

http://forum.caravelgames.com/viewtopic.php?TopicID=42097

____________________________
34th Skywatcher
02-23-2017 at 08:39 PM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores This architect's holds Quote Reply
New Topic New Poll Post Reply
Caravel Forum : Caravel Boards : Contests : The Custom Element Contest! (Our contest for January / February)
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.