Custom Map #673: Go!. By: Courtesy

Started by AutoPost, June 16, 2014, 06:47:53 PM

Previous topic - Next topic

AutoPost

This topic is for discussion of map #673: Go!


Author: Courtesy
Size: 86x86

Desc:
A map loosely based off an old game some refer to as "Go!" Advance across the board cautiously placing nullifiers to maximize AC retention. A simple map with simple CRPL. Big thanks to kwinse for helping me out!

planetfall

Ooh, implementing Go in CRPL. That would be a welcome break from trying to figure out how to do chess.
Pretty sure I'm supposed to be banned, someone might want to get on that.

Quote from: GoodMorning on December 01, 2016, 05:58:30 PM"Build a ladder to the moon" is simple as a sentence, but actually doing it is not.

Courtesy

Yeah I played around with the idea of really figuring out CRPL and genuinely making go.
But I settled for a far easier project till I know code a bit better.

Helper

Excellent fun!
I made two really significant mistakes, so the only thing to do is get back on that horse and go again.
Thanks,
H

kwinse

Great fun, great use of that script. :D

Courtesy

Quote from: Helper on June 16, 2014, 08:15:14 PM
Excellent fun!
I made two really significant mistakes, so the only thing to do is get back on that horse and go again.
Thanks,
H
What mistakes were those? I'm curious on what went wrong. So I can better prevent (or exploit) it in the future.

Karsten75

I couldn't see how scoring worked and it seemed I could advance regardless of whether I wiped out only Creeper emitters or both. I'm sorry, I quit halfway through.

Courtesy

Sounds like you're expecting more than I know how to do <3.
The board is aesthetic, you don't actually (unfortunately) play Go since I can't code that well. I had to ask for help with even basic scripts :x

Advancing without anti-creeper is simply harder than without it, you can continue regardless of if you destroy the anti--emitters. I apologize if it didn't make sense or didn't entertain you: I will do better next time!

Flabort

Quote from: planetfall on June 16, 2014, 07:13:48 PM
Ooh, implementing Go in CRPL. That would be a welcome break from trying to figure out how to do chess.
Wait, CHESS is on your summer projects list?
Dude, board games are ambitious.
My maps: Top scores: Sugarplum, Cryz Dal, Cryz Torri, Cryz Bohz (Click fetch scores, page courtesy of kwinse)

planetfall

Quote from: Flabort on June 16, 2014, 10:16:10 PM
Quote from: planetfall on June 16, 2014, 07:13:48 PM
Ooh, implementing Go in CRPL. That would be a welcome break from trying to figure out how to do chess.
Wait, CHESS is on your summer projects list?
Dude, board games are ambitious.

Eeyup. 4D chess, ideally -- I have some ideas, actually. Thing is, I'm not sure I can do even 2D chess without exceeding the opcode limit per frame, and that's just for hot-seat chess with the computer doing nothing but enforcing the rules.

rambling and off-topic

For example, what will the interface be? That has processing implications. Obviously, click on a piece to select, click again to move. But there are some interesting challenges in that. Do I want it to calculate beforehand which moves are valid? That way, I can just have it spawn clickable cores on those squares - click one, move the core (or more likely, simply set the initial location's Square.crpl's piece variable to "1" and the new location's variable to "WhitePawn" or whatever piece it is. That way, if all goes as planned, I can call "piece" 0 GetCoresWithVar to get all occupied squares since strings evaluate to 0, and then I can use StartsWith to determine their color. Though I'm not sure that will work.)

On the other hand, if I do that, it has to do check calculations on every potential move, which is... unpleasant. On the other hand I could just not display valid moves to the player - just select and it tests if the square being moved to is valid. However this would not provide instructions to those who don't know how to play chess, which would be especially terrible for 3D or 4D variants.

Besides, even if I did that, I would have to run a checkmate/stalemate detection at the end of each turn. So then why not just run through each piece on each turn, compile its possible moves, and store them in a list. If, at the end of doing this, no possible moves were found, test if the king is in check. If it is, checkmate, if not, stalemate. Sounds easy, right? It's certainly within the realm of possibility for my own limited coding expertise. But doing it with less than 1,000,000 opcodes? Less sure. If I do some black magic involving execution order (which is based on UID's) and splitting the calculation between multiple cores (each piece calculates its possible moves once a certain variable is set to true, then sets that variable to false, then the game controller core determines checkmate once the variables are all false again). Slightly annoying making pieces not selectable until the calculation is complete, but not impossibly complex. I've had a few more ideas on how to do it just while writing this.

Thankfully, the 3D chess board I want to use is the same size as the 2D chess board (4x4x4 vs 8x8) and the 4D one is only 4 times that size (4x4x4x4) so those won't have too many more potential moves to look at at once... in theory. Though more dimensions would mean more directions to look at for check. Blah.
[close]
Pretty sure I'm supposed to be banned, someone might want to get on that.

Quote from: GoodMorning on December 01, 2016, 05:58:30 PM"Build a ladder to the moon" is simple as a sentence, but actually doing it is not.

tornado

#10
I hate to point out an argument in that but 4d implies the capability to move pieces in TIME as the last argument I hear for dimension four was that it could be considerd as time so 4d ches is a game where you move a pawn and suddenly the board fills with black queens.
Also I am reading a book series where go is referenced
Here's a hint:try to make figures of eight.i hears they is hard to capture
Also avoid opponents bumping the table when you win.


Speaking of which playing that chess game sounds fun
Also here's a suggestion how about you have a core that manages a set section of the board then sets a variable to true and then sets it's activation variable to false then just run that in a string of cores.
However seing as I can't code cprl to save myself this suggestion may be completely worthless but I am willing to throw stuff at the wall to see what sticks and what doesn't and what turns in to three chickens and several tonnes of mixed building materials including lumps of ice
Now CEO of Particular Endeavors. http://knucklecracker.com/forums/index.php?topic=23752.new#new
We apologize for all inconveniences that we caused.
Quotefirst, you have to imagine a very big box, fitting inside a very samll box.
then, you have to build one

SuperDan

I think planetfall means 4 spatial dimensions and none of time.
Also there is no "4th" dimension, there are 4 dimensions(macroscopically), but they "can't" be numbered.
(an analogy: if you pour three cups of water together(simultaniously), you get water with a volume of three cups. In this water, you can tell that there are three cups, but not which is the first, second or third cup.)
:)
There are also 2 "types" of dimensions- spatial dimensions and dimensions of time. They can be completely separate, it just happens that in our universe there are as many dimensions as there are.

tornado

Quote from: SuperDan on June 18, 2014, 01:01:38 AM
I think planetfall means 4 spatial dimensions and none of time.
Also there is no "4th" dimension, there are 4 dimensions(macroscopically), but they "can't" be numbered.
(an analogy: if you pour three cups of water together(simultaniously), you get water with a volume of three cups. In this water, you can tell that there are three cups, but not which is the first, second or third cup.)
:)
There are also 2 "types" of dimensions- spatial dimensions and dimensions of time. They can be completely separate, it just happens that in our universe there are as many dimensions as there are.

Thanks for pointing this out
The only isue is it breakers my head
And I still don't get the 4d chess thing
Now CEO of Particular Endeavors. http://knucklecracker.com/forums/index.php?topic=23752.new#new
We apologize for all inconveniences that we caused.
Quotefirst, you have to imagine a very big box, fitting inside a very samll box.
then, you have to build one

Flabort

#13
Here.
Try this, and see if it helps you understand multiple dimension better.

That game is played on a 2x2x2x2x2 grid (5 spatial dimensions). The regular 2d game is played on a 4x4 grid, so in number of tiles, this one has twice as many as the original.

So in 4d chess (2d being 8x8), the board may look like this:
Spoiler

0X0X  X0X0  0X0X X0X0
X0X0  0X0X  X0X0 0X0X
0X0X  X0X0  0X0X X0X0
X0X0  0X0X  X0X0 0X0X

X0X0  0X0X  X0X0 0X0X
0X0X  X0X0  0X0X X0X0
X0X0  0X0X  X0X0 0X0X
0X0X  X0X0  0X0X X0X0

0X0X  X0X0  0X0X X0X0
X0X0  0X0X  X0X0 0X0X
0X0X  X0X0  0X0X X0X0
X0X0  0X0X  X0X0 0X0X

X0X0  0X0X  X0X0 0X0X
0X0X  X0X0  0X0X X0X0
X0X0  0X0X  X0X0 0X0X
0X0X  X0X0  0X0X X0X0
[close]

A 4x4 grid, extended into 4 grids in a third direction (represented horizontally) and then extended 4 rows of grids in a fourth direction (represented vertically). So you have a 4x4 grid of 4x4 grids of tiles.
My maps: Top scores: Sugarplum, Cryz Dal, Cryz Torri, Cryz Bohz (Click fetch scores, page courtesy of kwinse)