Move order for pieces Log Out | Topics | Search
Moderators | Register | Edit Profile

Zillions of Games Discussion Forum » Designing Games for Zillions » Move order for pieces « Previous Next »

Author Message
Marcelo Portella (Portella)
New member
Username: Portella

Post Number: 1
Registered: 7-2008
Posted on Tuesday, July 29, 2008 - 11:25 pm:   

I have created 2 chess variants with zillions some years ago. Now I'm thinking of another variant, but since I don't use zillions for a while and remember about some of it's limitations, a just want to know if it's possible to program the following rule.

I want to have each piece on the board moved once (if they have possible moves) before being able to move the first one for the second time. If possible I would like the order to be chosen randomly every "turn" (turn=one move each piece).

If it's impossible to chose the order randomly, a previously established order would suffice, but player can't be able to choose wich piece to move, that is, he must move each piece once in a previously determined (randomly or not) order and will be able to move the first piece only when all others with possible moves have moved.

Is it possible?
M Winther (Kalroten)
New member
Username: Kalroten

Post Number: 86
Registered: 1-2007
Posted on Wednesday, July 30, 2008 - 12:18 am:   

You can have external invisible dummy pieces to denote whether a piece has been moved or not. So that's no problem.

You can put a dummy piece randomly on an external invisible board and let each square of the board denote the real piece to be moved. In order to initiate randomomization one could push a button each turn, but perhaps there is another way.
But aren't these rules a little awkward?
/Mats
M Winther (Kalroten)
New member
Username: Kalroten

Post Number: 87
Registered: 1-2007
Posted on Wednesday, July 30, 2008 - 9:44 am:   

The best way is perhaps to let a die determine which piece to move. See my Oblong Shatranj:
http://hem.passagen.se/melki9/oblongshatranj.htm
/Mats
Marcelo Portella (Portella)
New member
Username: Portella

Post Number: 2
Registered: 7-2008
Posted on Wednesday, July 30, 2008 - 12:18 pm:   

Thanks Mark.

But if I forget about the randomness. Since I'm planning a large board game, I think it will, perhaps, be overwhelmingly unpredictable with this random factor.
Just for marking a piece that has already moved, can you recommend me some rule with an example of what you stated above.
Thanks a lot.
Greg Schmidt (Gschmidt2)
New member
Username: Gschmidt2

Post Number: 70
Registered: 1-2007
Posted on Wednesday, July 30, 2008 - 2:25 pm:   

[But if I forget about the randomness. Since I'm planning a large board game, I think it will, perhaps, be overwhelmingly unpredictable with this random factor.]

Also, I believe randomness hinders Zillions ability to lookahead and find good moves. I think the best any program can do is to assume your opponent "makes" the luckiest random moves and that you "make" the unluckiest moves. It would then try to find a "best" move under those circumstances.

-- Greg
Marcelo Portella (Portella)
New member
Username: Portella

Post Number: 3
Registered: 7-2008
Posted on Wednesday, July 30, 2008 - 8:15 pm:   

That's one of the reasons I gave up with random selection of pieces. At first I thought that having only one piece available to move at a time would make zillions life easier, but then I realised that the engine would probably have to deal with the possible variations for each piece anyway.
Well, I still want to have all pieces moved before being able to move the first one again. If you can point me to some rule where I can see an example of a method for freezing the moved pieces and then unfreezing all of them when the last one is moved, I would be grateful.
Greg Schmidt (Gschmidt2)
New member
Username: Gschmidt2

Post Number: 71
Registered: 1-2007
Posted on Wednesday, July 30, 2008 - 9:05 pm:   

Unfortunately, I'm not aware of any games that have the property you describe. The best I can suggest at the moment is to look at the "set-attribute" keyword in the help file. I think a possible answer to your problem might involve using piece attributes.

-- Greg
Keith Carter (Keithc)
New member
Username: Keithc

Post Number: 164
Registered: 8-2000
Posted on Wednesday, July 30, 2008 - 10:33 pm:   

I have an idea that uses an attribute and two move priorities. Would this work? The attribute would be not-moved? and would start out true. The top move priority requires the not-moved? attribute of the piece to be true. Moving the piece changes it to be false. The second move priority requires the not-moved? attribute to be false. As part of the second priority move description the board is scanned and all friendly piece not-moved? attributes are reset to true.

For example

Knight
Priority one move
If not-moved? = true
Knight move description
Change not-moved? attribute to false

Priority two move
If not-moved? = false
Knight move description
Scan board setting all friendly pieces not-moved? attributes to true
Marcelo Portella (Portella)
New member
Username: Portella

Post Number: 4
Registered: 7-2008
Posted on Wednesday, July 30, 2008 - 11:44 pm:   

Thank you all, Mats, Greg and Keith.

Keith, I think it's a good idea. For such a long time I'm away from zillion, that I even forgot we could set move priorities. I think it may work... will give it a try. thanks
Marcelo Portella (Portella)
New member
Username: Portella

Post Number: 5
Registered: 7-2008
Posted on Sunday, August 03, 2008 - 10:57 pm:   

Keith, the way you recommended work fine.

I was willing to do something now that I really think might be impossible with zillions. It will probably be possible with axiom, but I'm no programmer and don't have the time to learn it at the moment being.

Just to be sure, I will place the question. I want to have a random result after the move is done. For example, I move a piece to capture another and a dice is rolled to see if it succeeds. I thought about the possibility of previously rolling the dice using a random player without showing the results to the player, but then zillions AI would know the result on it's turn and play accordingly, what would be unfair. Is this possible to do with zillions?

Add Your Message Here
Post:
Username: Posting Information:
This is a private posting area. Only registered users and moderators may post messages here.
Password:
Options: Enable HTML code in message
Automatically activate URLs in message
Action: