Chess
May 14 2008, 1:27 am
By: Daedalus  

May 14 2008, 5:06 pm Daedalus Post #21



Quote from JaFF
Chess AI requires recursion, which is impossible to create with SC triggers...
Actually, it is possible. If we have the same definition of recursion that is. It is perfectly possible to create 'while' and 'for' loops and that kind of stuff. Theoratically (I'm still working on making it real) I can calculate thread levels of any position of the current sitution, that can be (theoratically) expanded to calculating thread levels of possible future situations. If so, you can make a very simple AI.
The key word is 'theoratically' though, since I'm afraid their will be at least one instance you will have to create triggers for every possible situation, though I haven't encountered them sofar.
Anyhow, it would be great to make a relative smart AI in a chess or cat 'n mouse type of game with each side controlling 1 or a few piece(s).



None.

May 15 2008, 1:08 am Atlos Post #22



For the check system, just copy your piece capturing system to the beginning of the turn (before you can do anything). Then check if your King is able to be captured. This is how I did it in my checkers map (will eventually be finished) since there is a rule where you have to make any available jumps so I first had to check for available jumps at the beginning of each turn.



None.

May 16 2008, 2:57 pm Daedalus Post #23



Quote from name:Urmom(U)
For the check system, just copy your piece capturing system to the beginning of the turn (before you can do anything). Then check if your King is able to be captured. This is how I did it in my checkers map (will eventually be finished) since there is a rule where you have to make any available jumps so I first had to check for available jumps at the beginning of each turn.
Well, in Chess you aren't allowed to make a move which puts your King under threat. That's why I'm checking for 'check(mate)' when you have just moved a piece: when the King is at threat the move will be reset.

Post has been edited 1 time(s), last time on May 16 2008, 4:35 pm by Daedalus.



None.

May 18 2008, 9:26 pm Daedalus Post #24



UPDATE:

I've finally got the whole threat level thingy done. If you don't understand what I'm saying it means that the game can now detect wether it is 'check' or not. I haven't looked at it yet, but 'checkmate' will be very simple to add now.
The fun thing is, is that at this point I spend a lot more time working at changing very small things and avoiding bugs rather then adding tons of extra triggers. I have spend days getting "check" to work properly but I only added 3 completely new triggers and 6 near-dublicates (1 for each piece type).

Anyhow, I thought I just keep you guys updated. I don't want to be one of those people who start a map, create a topic about it but stop after 1 week.


INPUT NEEDED!

I need some input from you guys. I am about to start working on adding 2 extra boards so you can play with 6 players. However either I have to figure out an effective way to re-use triggers (and locations, if possible) for the extra players or copy/past all (or most) triggers for each player. I kind of hate to massively duplicate triggers as I want to do as much as possible with the least amount of recources (triggers, locations, etc).
So, my question is: do you really want 3 boards in one game, or would 1 board be enough?



None.

May 19 2008, 12:27 am fritfrat Post #25



Just make the exact same locations, switches, etc. for other players as for the current players and just do some major "replace all" functions in a text editor (Notepad++, Wordpad). It doesn't matter how many triggers and locations are used as much as how much time it takes you. It won't take much time at all if you actually have the space, locations, players, and string limit available, so go for it.
And yes, most of triggering is small things like that :P



None.

May 19 2008, 1:01 am Falkoner Post #26



You could try putting all the location and switches and stuff back into a new map using Uberation, then just paste in the triggers again and then the text strings for them should be created automatically.



None.

May 22 2008, 2:44 pm Daedalus Post #27



Meh. I've decided not to include multiple boards... yet. I've ran into two more problems which will mess up things when I add 4 more players.
Since I am somewhat of a perfectionist I want to redo the whole system so it will work better for 6 players playing simultainiously.

The good news is that I will now be able to finish the map and this will not turn into vaporware. It's my first map I want to publish and I hate bad starts.



None.

May 23 2008, 3:26 am midget_man_66 Post #28



Wow, this looks like a lot of work. i cant imagine how one would even go about enforcing legal moves XD. Good luck, i only fear that people wont play this Beautiful, juicy map.

Post has been edited 1 time(s), last time on May 23 2008, 3:27 am by midget_man_66. Reason: damn typoes >.>



None.

May 27 2008, 11:55 am Daedalus Post #29



UPDATE:

I already said I finished 'check' like a week ago, but that was just the basics. Now it finally is working as it should, detecting 'checkmate' is only a step away now. It's been a pain in the *ss to trigger it though, but it great now it's working.
One drawback is that to detect 'check' it has to go through every piece on the board and activate a threat sign for all possible attack locations. Logically, units will block possible attack locations for units like Rooks and Queens, so that needs to be taking into account as well. The whole process takes some time, especially on a full board but I think I'll manage to reduce it a second or so, maybe a bit longer on a full board. I might add an option to disable detecting check if you want to play with someone who you trust and want to play instantly.

Also, I've done all the player 2 triggers and it seems to work perfectly.

All I've left to do now is:
- Special moves: En Pasant (not so hard, I think) and Castling (harder, but it can be done).
- Timer and different game types (Bullet Chess, etc)
- Graphics: different piece sets, location for captured pieces, etc.

UPDATE:
En Pasant is ready and working, for both players.

Post has been edited 1 time(s), last time on May 27 2008, 4:32 pm by Daedalus.



None.

May 27 2008, 4:53 pm Impeached Post #30



Sounds good.

To speed up the cycling through the units for check detect, perhaps you should copy/paste the cycle triggers a few times, so it'll cycle through pieces a few times per trigger run, instead of the normal 12x per second.



None.

May 27 2008, 5:11 pm Daedalus Post #31



That's a great idea! Thanks.
I'll first have to figure out what is required to make it run multiple pieces at the same time. I'll at least need to copy 56 locations. I'm not entirely sure wether it will work because multiple checks might interfear with each other.

By the way, with 12 times per second you mean the amount of trigger groups, right? So to make it fast I'll have to make sure as much triggers run inside the same trigger groups as possible.
Wether a trigger group contains 80 or 1 trigger wouldn't affect the speed (other then possible lag if your comp can't handle it), right?



None.

May 27 2008, 5:15 pm LoveLess Post #32

Let me show you how to hump without making love.

Quote from Daedalus
Terran
Pawn: Marine
Bishop: Goliath
Knight: Vulture
Rook: Siege Tank
Queen: Sarah Kerrigan?
King: Terran Civilian?

Protoss
Pawn: Zealot
Bishop: Dragoon
Knight: Archon?
Rook: Reaver
Queen: Dark Archon?
King: Hero High Templar?

Zerg
Pawn: Zergling
Bishop: Hydralisk
Knight: Lurker
Rook: Ultralisk
Queen: Infested Kerrigan
King: Defiler

(Picture of two Zerg sets, picture made in the editor)

The Toss should have High Temp as their Bishop, Dragoon as their Knight, Archon as King and Dark Archon as Queen.

For Terran, put Medic as queen and keep Civ as King.



None.

May 27 2008, 6:09 pm Demented Shaman Post #33



What about using drone/probe/scv?



None.

May 27 2008, 6:27 pm Daedalus Post #34



Quote from name:devilesk
What about using drone/probe/scv?
Hm, as which units? I don't really like to use those because they aren't offensive units. All the pieces on the board (except the king, maybe) are war units. Originally the units were infantry (pawns), cavalry (knights), bishops (elephants) and chariots (rooks). That is why also the reason why I used a war unit (hydralisk) as bishop and not a 'catholic bishop' support type unit, like a defiler or medic.

Queens are the most powerful units in the game so I reasoned that they should be represented by the (one of the) most powerful in-game units (story or combat wise) and logically preferably a female. Hence Kerrigan as Terran queen, Infested Kerrigan as Zerg Queen and Dark Archon as Protoss 'Queen'.



None.

May 28 2008, 3:36 am fritfrat Post #35



I just looked at your picture. You know that the queens need to be across from each other, right? :P

I agree with archon as king and DA as queen; they go together. The rest I think are fine.



None.

May 28 2008, 8:06 am Daedalus Post #36



Quote from name:fritfrat(U)
I just looked at your picture. You know that the queens need to be across from each other, right? :P.
Lol, yeah I do :P the picture was just a quick sketch to show the board, I guess I didn't pay attention.

Quote from name:fritfrat(U)
I agree with archon as king and DA as queen; they go together. The rest I think are fine.
I guess you and LoveLess are right. King = Dark Archon, Queen = Dark Archon and I changed the Knight to Hero High Templar.



None.

May 29 2008, 12:48 am Impeached Post #37



Quote from Daedalus
By the way, with 12 times per second you mean the amount of trigger groups, right? So to make it fast I'll have to make sure as much triggers run inside the same trigger groups as possible.
Wether a trigger group contains 80 or 1 trigger wouldn't affect the speed (other then possible lag if your comp can't handle it), right?
I was saying that since Hyper Triggers run 12 times per second, if you copy/paste your cycling trigger set they'll run in multiples of that instead.

Anyway, am wanting to play this; ETA? :D



None.

May 29 2008, 8:19 am Daedalus Post #38



ETA?
Hm, well if I worked a few days full-time on it it could be finished by sunday. But since I'm not going to do that it might take a week or two, I think. It all depends on wether I'll encounter more bugs and difficulty implenting new options and stuff. Luckily balancing is not required so that saves a lot of time.
Don't nail me to a date though, I don't have a lot of sparetime and it might still take a lot of intensive triggering.

Soon I will need a couple of players who can beta test this. You can already play a normal game with all the rules (except castling for now).



None.

Options
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[01:35 am]
Ultraviolet -- Vrael
Vrael shouted: NEED SOME SPORTBALL> WE GOT YOUR SPORTBALL EQUIPMENT MANUFACTURING
Gonna put deez sportballs in your mouth
[01:24 pm]
Vrael -- NEED SOME SPORTBALL> WE GOT YOUR SPORTBALL EQUIPMENT MANUFACTURING
[2024-4-30. : 5:08 pm]
Oh_Man -- https://youtu.be/lGxUOgfmUCQ
[2024-4-30. : 7:43 am]
NudeRaider -- Vrael
Vrael shouted: if you're gonna link that shit at least link some quality shit: https://www.youtube.com/watch?v=uUV3KvnvT-w
Yeah I'm not a big fan of Westernhagen either, Fanta vier much better! But they didn't drop the lyrics that fit the situation. Farty: Ich bin wieder hier; nobody: in meinem Revier; Me: war nie wirklich weg
[2024-4-29. : 6:36 pm]
RIVE -- Nah, I'm still on Orange Box.
[2024-4-29. : 4:36 pm]
Oh_Man -- anyone play Outside the Box yet? it was a fun time
[2024-4-29. : 12:52 pm]
Vrael -- if you're gonna link that shit at least link some quality shit: https://www.youtube.com/watch?v=uUV3KvnvT-w
[2024-4-29. : 11:17 am]
Zycorax -- :wob:
[2024-4-27. : 9:38 pm]
NudeRaider -- Ultraviolet
Ultraviolet shouted: NudeRaider sing it brother
trust me, you don't wanna hear that. I defer that to the pros.
[2024-4-27. : 7:56 pm]
Ultraviolet -- NudeRaider
NudeRaider shouted: "War nie wirklich weg" 🎵
sing it brother
Please log in to shout.


Members Online: Roy, jun3hong