Page 1 of 5

CE change actions

Posted: Sat Nov 12, 2005 9:44 am
by Holger
I'm just thinking about (not yet implementing) the new concept of "CE change actions". That is an action other than changing the CE on a certain CE change condition.

So what can these actions be? An example is "game solved". So whenever the corresponding CE change condition is true, the game finishes just as if the player successfully entered the open exit.

Do you have other ideas for change actions? Some might be:
- kill the player
- increase/decrease level time
- restart game

If you have more ideas for action that would fit here, please let me know! :-)

Posted: Sat Nov 12, 2005 10:05 am
by Zomis
Wow, increadible... HOLGER posts a new thread in the New Ideas section :)
Anyways, here are some...(some taken from this thread

- fail level (kill ALL players)
- kill player number x
- add/remove x emeralds
- add/remove key x
- increase/decrease player movement
- display envelope x
- remove collected object x
- add/set/remove dynabomb size/count/power
- add/remove score
- output object z at position x,y, if empty/diggable/walkable/destructible...

Posted: Sat Nov 12, 2005 2:36 pm
by Mark
This would be an AMAZING concept, indeed!
If this were implemented someday, then this game
would (in my opinion) rival Star Craft. I make levels
for StarCraft, and I think that having Conditions before Actions
is the key to making stories in Star Craft. In R&D, many things
could be done with this!

Posted: Sat Nov 12, 2005 7:31 pm
by Tomi
Don't forget "toggle player gravity in the level", which would allow to create gravity ports (and gravity anything-else-you-want, like gravity tubes, gravity gates, gravity switches etc.).
And btw I don't like the name "change action", because "change" is only one of the "actions", so use just "action", or "effect", or something like that.

Posted: Sat Nov 12, 2005 8:19 pm
by Holger
> Don't forget "toggle player gravity in the level"

Good point!

My needs

Posted: Mon Nov 14, 2005 7:42 am
by asiekierka_unlogged
This is that which I need:

- display x text (not envelope, every text)
- kill player number x (1, 2, 3, 4)
- add/remove score (add/remove score is implemented CE, only change it)
- add/remove x emeralds
- add/remove key x
- output object z at position x,y, if empty/diggable/walkable/destructible...
- decrease player movement (incerase too, but its implemented non-ce)
- end the game (player X will win or lose)
- increase/decrease level time (incerase is implemented non-ce)
- change object(s) x to y (intros for levels)
- delete object(s) x (no comment)
- change if player X have X emeralds
- change if player X have X key
- change if player X have X score
- change if game solved for X player (for THE END)
- change if game fail for X player (for GAME OVER)
- restart LEVEL

cool yeah?

Posted: Mon Nov 14, 2005 8:02 am
by HerzAusGold
Warp to an other levelset (e.g. from normal EM to SnakeBite).


Posted: Mon Nov 14, 2005 5:06 pm
by asiekierka
I also need:

- if player press X key
- output the object X in looking direction of player Y
- press/touch object X (emulation).

Posted: Mon Nov 14, 2005 5:31 pm
by Tomi
Uh... are you sure you need all actions you wrote?! I'm curious what do you need for? Some of those (e.g. emeralds count, removing keys - can be implemented with CEs, but I think you'll have to find alternate solutions for some other (e.g. create e at x,y). Often, it's possible. For example, Alan's Defender has working score system (increase when you finish a level or rescue a human) and jb's Game Inside creates title screen elements in the monitor. "Delete object(s) x" can be done when you add changepage "element changes to empty space when (event)" in object x, and so on.

One more thing: One of the reasons why I like making CEs is that I have to think the way that "the feature isn't supported yet... how could I make it without it?" I like Game Inside, Defender etc. because it does wonderful things and only action thing it needs for them is extended change target. Sometimes I fear that when I'll finally finish some my great levelset, it won't be anything awesome anymore because there will be features that will make creating such things so easy... Change actions are a great idea in general, but I don't think so much are needed.

Posted: Mon Nov 14, 2005 5:46 pm
by Zomis
HerzAusGold wrote:Warp to an other levelset (e.g. from normal EM to SnakeBite).
Sorry, but I disagree with that idea.. because of these reasons:
1. A player might not have the SnakeBite levelset
2. If the player does has it, the directory (or name in the .conf file) might differ from what other people has
3. It would be pretty pointless... if the player wants to play SnakeBite, then he can manually change to that set.

However, I think that one "(change) action" could be to enable a hidden levels included in the levelset (which should be another discussion, and it has been mentioned earlier, and I do hope it's on the todo-list...)

Posted: Wed Nov 23, 2005 1:06 am
by Darkon
This may sound odd, but what about a freeze/unfreeze player which locks the player in its current direction and position until it is unfrozen (basically prevents key input while enabling the player to be warped around still)

Im sure someone could make some use out of that... dont ask me how mind

*edit* just thought, it could be used in conjunction with the other feature I mentioned, the *continuous input* so you could be moving up then the player is frozen which would cause the player to keep moving up but unable to change direction

Posted: Mon Nov 28, 2005 11:53 pm
by Holger
OK, here are some additional notes about the new "CE action" feature, which I quickly hacked into R'n'D the last days (don't expect everything already working perfectly -- there are most probably still some bugs here and there). (Also see the announcement of the pre-release version 3.2.0-3 in the announcement section!)

The new CE actions can be used instead of or together with the existing CE change feature; this means that if a specified CE change condition is true, it is possible to add a CE action, or to completely replace the CE change by an action instead. In contrast to a CE change, it is not only possible to specify more than one CE action for a certain CE condition, but also to get more than one CE action executed on the same condition (where a CE can only change once, so only the first CE change page is recognised for a certain CE change condition).

A CE action is separated into three parts:
- action (*what* should happen)
- operand (*how* to change or set a certain value)
- parameter (by/to *which* parameter should the value be changed/set)

If the CE action is "set <value>", it can be chosen if that value should be set ("=") to a new value or if it should be modified by a basic calculating operation ("+", "-", "*", "/") using the given value in the third select box.
Generally it is also possibly to use minimal, maximal or "normal" values (where the latter seems only to be useful for "set player speed) and to reset values (like time, gems, player speed, ...) to their respective initial values.

CE actions regarding an element (envelope, key) can be specified either by number (like key number) or by element (by specifying the target or trigger element from the same CE change page, if it is not used otherwise on that page).

A player within a CE action (for "kill player" or "exit player", for example) can either be specified explicitly by number, by trigger (the player who triggered that condition) or by using "any" for all players in that level.

The specification of a numerical value can either be done explicitly, by using the CE's score, the CE's count value (usually used for collecting and dropping) or the "delay" value on that CE change page. That way you can also easily specify a numerical value not listed in the select box.

Furthermore, you cannot only modify the level time, score and gem count, but also the CE's score and count value. Important note: While the CE score always gets modified for all CEs of this type globally, the CE count value gets modified for every CE in that level individually. This means that every CE in a level can have an individually different counter, even if the same CE is used more than once in that level. To make full use of that CE counter, there are two new CE conditions to change a CE or trigger the change of other CEs when that counter reaches zero.

Please have a look at these rather generic (and rather untested) new features; I had some things in mind which could be done using these new functions, but the full possibilities (or limitations) can only be explored by playing around with them. (For example, try to build an "emerald door" which does not open unless the player collects a certain amount of emeralds!)

If you should find any bugs, inconsistencies, obvious limitations or missing features/functions (and you most probably will ;-) ), please let me know!

Have fun! :-)

Posted: Tue Nov 29, 2005 12:27 pm
by Zomis
THANK YOU HOLGER! For letting RND enter a new era :)
I will try to test these things later today, even though I'm not home I've got a new Acer laptop to use ;) It sounds promising, and I swear I will do my best to test it!

Posted: Tue Nov 29, 2005 2:49 pm
by Darkon
Holger you deserve a cookie, or some other nice reward!

Gonna give this a go right now.

Looks like I'll finally be able to add more of the diamond caves 3 elements to that CE pack I was making.

Posted: Tue Nov 29, 2005 6:03 pm
by Alan
in a word......WOW!

Can't wait to have a go at this!

The link's broken though! :cry: