Trying to develop XOR for RnD

All about creating levels and level sets, custom elements and custom artwork.

Moderators: Flumminator, Zomis

r0lZ
Posts: 93
Joined: Sat Oct 20, 2007 6:24 pm

Post by r0lZ »

Thanks, Holger!

I'm not sure I will modify the current implementation of XOR, as it works fine now, but maybe I'll do it, as I don't like the current complexity. I have to evaluate if I can simplify the current method enough with the new features. And I have to find some free time...

Anyway, I'm glad I have been able to suggest some useful improvements.

Thanks again for your wonderful program!
Zomis
Posts: 1502
Joined: Mon Jun 21, 2004 1:27 pm
Location: Sweden
Contact:

Post by Zomis »

r0lZ wrote:I'm not sure I will modify the current implementation of XOR, as it works fine now, but maybe I'll do it, as I don't like the current complexity. I have to evaluate if I can simplify the current method enough with the new features. And I have to find some free time...
Programmer's rule #2½: Don't fix what isn't broken.

But then again, it's always nice to see if things can be done differently. And luckily, you've already released the current version of the levelset so many "backups" exist. :)
User avatar
Holger
Site Admin
Posts: 4071
Joined: Fri Jun 18, 2004 4:13 pm
Location: Germany
Contact:

Post by Holger »

> I'm not sure I will modify the current implementation of XOR

Of course not, if it works fine -- as Zomis said, if it isn't broken, don't fix it! :-)

But then, it would be very nice if you could at least test both new features/methods to see if I did it all right and if it would work for you the way you expected it to work (if you haven't already solved it).

Then I could release it with the next stable version of R'n'D, which people then can safely use to play your XOR level set (for which the current stable 3.2.4 is not sufficient, if I remember right)! :-)
r0lZ
Posts: 93
Joined: Sat Oct 20, 2007 6:24 pm

Post by r0lZ »

Anyway, I have no intention to "fix" anything. Just, perhaps, to simplify things, as understanding the current implementation is horribly difficult, even for me! And, of course, I keep the current version as a working backup, and trying to use your new features in XOR is the best way to test them. As I said, I only needs some spare time...

Also, there is still something that doesn't work like in the original version. Normally, when the player dies, his friend should continue the game, alone. Similarly, if the friend dies, the player should not die. Currently, if one player dies, the other one dies also. For that reason, I had to modify slightly a level. But the modification you did, Holger, are not sufficient to solve that problem. Maybe you could have a look at the problem reported earlier. Currently, when the player dies, the game is over. It is still possible to swap the friend and the player, but the new player cannot move any more. Therefore, the game cannot continue. Is it possible to fix that? According to Zomis, that worked fine in the past. This modification is not crucial, but would be a nice addition to the current version.

BTW, do you have an idea of the release date of the new final version?
Zomis
Posts: 1502
Joined: Mon Jun 21, 2004 1:27 pm
Location: Sweden
Contact:

Post by Zomis »

r0lZ wrote:and trying to use your new features in XOR is the best way to test them.
That's a good point, since XOR was the project which made Holger implement those features.
r0lZ wrote:According to Zomis, that worked fine in the past.
Yep, I'm sure that it was possible using "Change when explosion of player1" in the past. I have no idea about when that stopped working though.
User avatar
Holger
Site Admin
Posts: 4071
Joined: Fri Jun 18, 2004 4:13 pm
Location: Germany
Contact:

Post by Holger »

> Yep, I'm sure that it was possible using "Change when explosion of
> player1" in the past. I have no idea about when that stopped working
> though.

Very strange -- I think I remember this, too, but even though I tested this with nearly all versions back to 3.0.0, I wasn't able to get this to work with any of them! :-o

But I just put it back into my current working version -- "change to <player> when explosion of <player>" now works again, therefore being able to reanimate the player as described!

Another (probably very old) problem I noticed that seems to be the cause for the bad behaviour r0lZ described above: If player 1 enters the exit, the level is solved (even if other players died before); if player 1 died, no other player can solve the level anymore. This is bad, inconsistent and to be treated as a bug.

What is probably needed is a possibility to select any of the following multi-player "player survival modes" for games with more than one player (be it a network game or a local game with more than one player):

1. If the first player reaches the exit, the level is solved. (The other players may either die or just not reach the exit.)
2. All initially existing players must reach the exit.
3. All surviving players must reach the exit.

(I'm not sure if case 3 is useful or makes any sense at all.)

For XOR, I think that case 1 would fit.

r0lZ, I re-read nearly the whole (looong) thread, but I'm a bit confused now: Do you think that the modifications described in this post solve your problems regarding the special two player situation in XOR? Do you currently use multi-player mode or single-player mode with a pseudo-player swapping technique? (I think both could work for XOR style playing when properly done, but I'm not sure anymore at the moment... :-/ )
r0lZ
Posts: 93
Joined: Sat Oct 20, 2007 6:24 pm

Post by r0lZ »

The original game must be played by one human alone. Currently, I use only one real player, and a "friend" CE, with the swap players technique. This is the best way to simulate the behaviour of the original game (although the player must collect an additional element as soon as possible, not needed in the original game, or he cannot be swapped with the friend.)

Anyway, I have tried to implement the game using two real players, but, given the obligation to freeze both players when something else moves, that doesn't work well in network or two human modes, as a player is frozen abruptly when the other player has pushed something. Very confusing and frustrating. However, I still would like to implement that technique, just to test if it is playable anyway, as playing XOR in two players mode would certainly be a nice addition.

Note that I haven't tested how the player that has not triggered the move of the object is handled in a real two humans game. If he is frozen when he is moving, he is perhaps frozen between two cells. I don't know what happens is one of those cells is hit by a moving element. If I cannot detect the presence of the player because he is not completely in one precise cell, I will not be able to kill him when needed. In the other hand, if he is killed because there is still one or two pixels in the cell that has been hit, it's not good neither. As you can see, I still have to test many things if I want to implement a two humans version.


With the current method (1 player and 1 friend CE) I had two different problems to leave the remaining player alive when the other is killed.

Without being able to give the control back to the friend when the player dies, it was impossible to clone the original behaviour. Your fix should be sufficient to solve that problem.

The second problem happens in the other direction. If the friend dies and I don't kill the player, the real player can still drop the additional CE, and that causes the friend to revive, beneath the player. It's unacceptable, but it is perhaps possible to avoid that problem. I haven't really tried yet, as I have decided to kill both players when a player dies. However, I remember that I haven't been able to remove the CE that the player holds when the friend dies. Replacing that CE by another CE so that it cannot be used anymore to revive the friend when it is dropped doesn't work neither, as the replacement occurs only if the CE is on the playfield, and not when it is owned by the player. Do you have a suggestion for this problem? Is it possible to remove a collected element owned by a player, or to replace it?
BrownSky
Posts: 27
Joined: Mon Sep 24, 2018 4:04 am

Re: Trying to develop XOR for RnD

Post by BrownSky »

anyone got a copy of the implementation of XOR on RnD mentioned in this discussion I could grab?

The source website is down (and archive.org can't help).

Thanks heaps.

John
User avatar
Holger
Site Admin
Posts: 4071
Joined: Fri Jun 18, 2004 4:13 pm
Location: Germany
Contact:

Re: Trying to develop XOR for RnD

Post by Holger »

These are the two archives I have stored from user "r0lZ":

- XOR_v0.1.zip
- XOR_v0.9.zip

Please find attached to this post!
Attachments
XOR_v0.1.zip
(83.03 KiB) Downloaded 9404 times
XOR_v0.9.zip
(234.49 KiB) Downloaded 9299 times
Post Reply