??????
You are not logged in.
Pages: 1
Just saw the new schedule, its really unfortunate for people in a similar timezone / workschedule situation as me. Im always at work during tournament hours except on my day off (Sunday, which is the highest entry fee) so I wont be able to play the lower tournaments where Im comfortable.
I think the rising ante is perfect the way it is, Ive personally had games go up to round 15 on the ante. Every pick is a chance to work out part of your opponents strategy, so by the end of round 3 ( still a very low ante ) you've already seen your opponents strategy 9 times.
Personally I like hard cuts. No unnecessary waiting for animations to finish.
I had the same issue when I compiled on my system.
Just install the x32 bit packages and their dependencies. On debian this is easy as adding "i386" after the package name.
sudo apt-get install <package-name>:i386
also make usre ldd is linking to the right libgl.so files. You might have to put in some sym links to get it to reference the right one.
Here is an official page from the debian wiki describing some of this. https://wiki.debian.org/Multiarch/HOWTO
What you could also do is make the drop really count: you drop it and you can't get it again for 2 hours.
+1 for this solution. It was something I had thought of myself but never got around to making a post. Im glad to see it was brought up.
will we be able to see who is holding each amulet and the amount of points each player has accrued, same as the last contest?
EDIT: Never-mind, I just saw your post on the feedback thread.
The biggest problem with penny games, is that it puts an uneven amount of pressure on the amulet holder. The amulet holder is under a lot of pressure to play conservatively and not lose, and putting against someone who doesn't think they have anything significant at stake makes for a very unbalanced game. You could just tell the other player they were in an amulet match, but this could create other problems, such as the other player stalling for time to spite the amulet holder when they were losing (or even in cases where they weren't, just to be a troll). I think that if you want to play for an amulet, you need to be willing to risk an amount you actually care about losing. It doesn't have to be $1.00, even $0.10 would be better than nothing. But if a player doesn't have an amount they care about at stake, it may encourage them to try to exploit the contest even if profiting from doing so is unlikely (because why not if the contest only lasts a short time and they have no other chance of winning). You need to have some sort of deterrent against that, or players attempting to exploit the contest structure may end up taking over the game and ruining it for people trying to play seriously. That is definitely not what you want the first impression of your game to be.
I agree that some mechanism to balance the pressure between amulet holders and non holders is somewhat needed. I don't think that creating a flat minimum wager is a solution because we still have people that consider low amounts of money dispensable.
A possible solution may be a rising minimum wager (to be in the amulet queue) for each consecutive game played, proportional to your balance. This minimum wager would always be visible to you and could burn down at a determined rate. You may also need a global deposit limit in place for the duration of the contest for this to work. Say limit 3 deposits?
I have some other reservations about how the tournament went as well. While I think most of them did stem from the fact that there were just not enough players for the contest structure to really work the way it was supposed to, I still think it's possible they could present themselves in the real launch tournament as well. Keep in mind, if there is any downtime, and I mean any at all, where the player count drops below the total number of amulets times two, collusion and other strategies designed to exploit the system become viable. There are two changes that I think you should consider making to prevent this. One is to ensure that amulets are only dropped in proportion to the number of non-amulet games currently being played. So if all games are currently amulet games, or there are no other games being played, no amulets may be dropped. The higher the number of non-amulet games that are required, the more protection it will provide against collusion, but I'm not sure what the best amount would be. The other is to ensure that amulets are dropped randomly, and not in order of value. Dropping the amulets in order of value means that it is possible to quickly play a game, drop an amulet to bypass the amulet game system, and quickly win it back before anyone else gets a chance to pick it up. Random amulet drops would help to prevent this.
Edit: Or maybe there should just be an invisible timer put in place after you drop an amulet, that doesn't allow you to pick up another amulet for a period of time? That might be a more elegant solution. I think the key is just to make sure people don't exploit the ability to drop amulets...
I think amulets in the pool should always be distributed from highest to lowest in value. I also would amend what Ano said to "Or maybe there should just be an invisible timer put in place after you drop an amulet, that doesn't allow you to pick up that dropped amulet for a period of time?"
Other amulets would still be available to be picked up, or you could be matched against an amulet holder.
Any feedback on how you won? Did it feel broken? Was there an obvious "method" that was a shortcut to winning that I've missed?
It seems everyone has already brought up my thoughts, mostly the problem was the ratio between number of amulets and active players. Depending on ones time zone (and sleep schedule) it was difficult to find a game when holding and not holding an amulet, forcing me to adopt the drop-and-catch method and limiting the total games I could play.
This essentially put me out of the running for the high value amulets so when I received a low value (the $20 amulet) I held on to it as long as possible, while playing conservatively, and ensuring me the win.
One thing I believe will still be relevant in the official contest is the advantage given by playing a large number of games. The obvious reason is more possible exposure to games involving an amulet, the ability to pick up a high value amulet quickly after its dropped, and a higher points earned / points burned (the holding penalty).
EDIT: This could be solved by raising the minimum wager to be pulled into an amulet game (so $1-3 = amulet game), however this would give the more "financially sound" players an advantage because really what's losing $3 every 5 minutes when you make $40+ an hour?
I did find a certain amount of collusion was possible between two communicating players with the current active players ~5, albeit was time consuming and obvious what was happening if you looked at canto delirium.
All-in-all I had fun and was glad to be able to participate, so as everyone has said, thank you Jason.
I'd really like to advocate a drop amulet button again. I only played one amulet game and it's very clear that no one else is playing right now... I'm sort of just forced to watch my points decay. Obviously I'll have to start playing earlier in the day!
+1 For the "Drop Amulet" button. Being forced to watch your score tick down is painful.
Im not sure if this is desired but, I played an amulet game (the $75 one) against cat flask. The wager was 20c and neither of us had the amulet going in. At the end of the game I lost and cat flask gained the amulet, however my balance still shows I lost the 20c.
This may be my confusion but I thought in amulet games the amulet was the prize at stake and not the initial wager.
Ive been going through the server protocols and Im having trouble understanding the sha1 hmac.
Im using openssl in a linux terminal to generate the sha1 hmac.
echo -n "sequence_number . hash_version_number" | openssl sha1 -hmac "my_account_key"
Im confused about what hash_version_number actually is and how I should represent it and sequence_number (as ascii, hex, ect).
Thus far Ive assumed hash_version_number was the clients version number (ie. 15), and used 0 for the dummy sequence number.
Ive been doing the hmac as so.
echo -n "015" | openssl sha1 -hmac "my_account_key"
Then I just send it all to the server.
http://cordialminuet.com/gameServer/server.php?action=check_user&email=my_email@email.com&sequence_number=0&account_hmac=hmac_from_code_above
But Im DENIED. Im not sure where my confusion is, but maybe the answer will seem obvious tomorrow.
Even a board with a poor statistical advantage can win if played correctly, because the skill of CM is to accurately predict what your opponent will play for themselves and you.
The only argument for the game to have any aspect of chance is, given two players of significantly high skill levels, does the favour of the board determine the victor?
I believe the answer is no because I believe CM is and ideal skill based game (comparable to chess, go shogi), and there is no cap on the amount of skill one could have.
Post pick-2 forced win scenarios do exist in CM, these aren’t invisible to the opposing player if they can deduce the possible outcomes (of the game) and know the odds of you having one (of the forced wins).
Now Im curious, In boards containing post turn-2 forced win scenarios are the potential games resulting in these (% of 720) equal for both players? (does one player have a higher chance of getting a forced win?)
The money factor is variable from player to player. People who are well off and in a very high tax bracket playing for $100 might mean nothing to them. Then there is the majority of players who would consider $10 to be a big loss.
There is the simple desire to win as well. Ive player a few penny games late a night when thats all I can find, and Ill go all in the first round. (Again sorry, wasn't trying to bully you.) I didn't care if I won or lost because the wager was so low. However, if those games dragged on for more than 5 rounds, and both of us were still even in chips, I became "emotionally invested" because I had an opponent who presented a challange.
Sorry, that was me, I was curious to see how people would react to a player who consistently over-bets. I wasn't trying to bully you into folding I was going all in even when I got low numbers ( I remember one turn I got a 1 and still bet the full amount ). I also would only do this on low stakes games (games .10cents or less).
I wont actually use this play style anymore since I dont want to ruin the fun of the game for anyone else.
I would like to discuss the strategies and counter strategies for players who will adopt this play style. Im sure were going to see a lot of this after the release.
Personally I think anything less than a min is too short of a time. If you dont have adequite time to study the board it becomes less skill and more chance. Thats why Im for the chess timer scenario.
Edit:
Also I think a good feature to add is: if you run out of time (get gonged and the timer hits 0) it should only count as a leave if you havent selected anything for you or your opponent. Otherwise it goes with your last received picks.
Or there could be a time bank, like a timed chess game. Maybe you have 2 minutes total per round that you can use however you please.
+1 for this idea
Oh, one more thing. If a player is all-in, then the reveal phase should be skipped. As soon as the final rows/columns are chosen, it should just go straight to displaying the final result.
That would speed things up a smidge and skip an unecessary step. +1
For your original post, you probably just have slow opponents. If there were problems communicating with the server you would see the red [!] at the top of the game.
Also you get 1min before youre gonged, then 10 seconds. Thats really not that long if you think about. Remember patience is a virtue!
Context: you are forgetting about the picks for your opponent! Including picks for your opponent there are definitely 6!=720 ways of doing this.
I see where I went wrong.
Im still not sure the actual number is 720 though because it doesnt filter out duplicate moves, ie you couldnt choose both column 1 for yourself and your opponent.
Am I right in thinking this way?
Ill refine my method to take this into account and post back the results.
Sorry, you are right, the actual possible moves for a player to make is 720. That makes the possible sequence of plays each player could make combined to be 518400.
Also, Ive found what im calling the "Perfect Square" it gives no statistical advantage to either player. Im using it for a baseline to compare other magic squares against.
36 1 36 1 36 1
1 1 1 36 36 36
36 36 36 1 1 1
1 36 36 1 1 36
1 1 1 36 36 36
36 36 1 36 1 1
Now im curious about how many "perfect squares" that exist other than the one above?
Ive been watching this thread since Im doing my own statistical analysis using Octave.
I just happened to notice you said there are 720 possible moves your opponent (or yourself) could make. The actual number is 120 (unless im missing something?), which is a lot less to test against.
Whoops... Monte Carlo isn't needed. There are only 720 possible ways your random opponent can play. So, just need to simulate each of your 720 non-reactive strategies against each of those opponent strategies and see which one wins the most.
Im guessing you came up with the 720 with 6!
I actually generate the possible 120 moves with this funtion
# returns a set of unique possible moves a player could make
# size(result) = 120 3
# result = [ first_pick, second_pick, third_pick ]
function result = possibleMoves()
result = [];
for first_pick = 1:6
for second_pick = 1:6
for third_pick = 1:6
if first_pick == second_pick || first_pick == third_pick || second_pick == third_pick
# do nothing
else
# append possible move sequence
result(end+1, [1, 2, 3]) = [first_pick, second_pick, third_pick];
endif
endfor
endfor
endfor
# filter out duplicate move sequences
result = unique(result, "rows");
return;
endfunction
Also I would be interested in your spreadsheet LiteS if you want to share it.
Thank you very much!
Thanks, both of you, I was able to find what I was looking for.
It seems for what I want to do, using CM's existing graphics code, isn't really an option without some major surgery.
So what I've done is added an Adapter class that essentially forwards updates to a StrategyAnalysis module when a new grid is generated or a players choice is commited. Im then rendering any visual graphs in a separate window with a separate openGL context.
As for my original topic, and the title of this thread, a documentation of the different protocols used to communicate with the server would be the most useful for people wanting to create custom clients. Im not expecting to get a response detailing any of these but I'll share what I learn if anyone else is interested.
I should have been more specific.
What I want to do is give myself tools for analyzing the game board before the first pick, and after all susequent picks. I can display simple text data back on the command line but I want to be able to graph my data using CM's existing methods.
I will be attempting to do all of this from scratch tomorrow (Its my day off ) but figured I would ask first so Im not reinventing the wheel.
I know some of you have already poured through CM's code to create your own custom interfaces. I was wondering if we could start compiling a community documentation to ease the learning curve for others (like me!) who want to do the same.
Im going to be diving into Jason's source this weekend, before then, if anyone has any suggestions on working through it and building my own UI I would greatly appreciate it!
Also Ill share anything I learn here if anyone is interested in this idea.
Pages: 1