in-game player swapping

This idea has floated around for quite a long time and I have said 324723 times that I will test it. I did so yesterday, and this is how it goes.

When a game begins, players get a message from the server along these lines:

(taken from mittens logs)

The gpid argument to the GO command is a code that the client can resend on login if he/she disconnects. It goes in the HELO command and looks like this:

On receipt of this the Tenhou server will thrust you back into the game so that you can resume. This begs the question of what happens if you try rejoining with a different ID. Well, the answer is that it can and does work to a degree.

Suppose that a game is started with ID1. ID1 then disconnects and ID2 logs in with the gpid from ID1's game. ID2 will then assume ID1's role seamlessly and be able to play in the game fine. What happens though is that ID1 keeps the change in ranking, and not ID2.

That's the theory, anyway.

Something which I can't really explain is that the ID2 that I used is now dead. That is, on login Tenhou sends the following error:

E1003 IDが正しくありません
Invalid ID

I have no idea whether or not this is a fluke or something I did wrong. I'll try and repeat it to see what happens. By the way, the game did not show up in the game records that are published. I hope the other players didn't lose their IDs...

Next to test: what happens if ID1 stays in game and ID2 tries to join with the gpid? Update: Nothing special happens, it just disconnects ID1 in favour of ID2.

tenhou is not full of bots

Seriously. There are only two bots that are run consistently, and none run in 7447. Sometimes they are tested in 7447, but it is incredibly unlikely that you will see or play them. You should not mistake fast/good players in 7447 (however unlikely it may seem) as bots.

There are only two bots that run on tenhou 24/7 anyway: mittens and nisemiton (a mutant version of mittens run by TRA). Both have green bars when you play them (i.e. their in-game sex is not male or female, but COM).

Other bots have existed in the past, but none run 24/7. Of interest may be some history on the original heavyweight bot, nagashibot+: http://arcturus.su/crap/c/nagashibot+-theory.html.

mittens placed 34/114

The tournament went really well. The results can be seen at http://blog.tenhou.net/article/32101991.html. Overall 114 people played, and 115 registered to actually play. It would have done better had it not disconnected in the middle of a good streak. Nonetheless, it's a good result considering how bad mittens is.

I wonder if there will be any comments about mittens seeing as it was still set to COM, and so had a green bar and did not have a voice (which it should!).

Game logs:

http://tenhou.net/0/?log=2009091218gm-0001-10022-f554787d
http://tenhou.net/0/?log=2009091218gm-0001-10022-1a98a22f
http://tenhou.net/0/?log=2009091218gm-0001-10022-25275742
http://tenhou.net/0/?log=2009091218gm-0001-10022-92913112
http://tenhou.net/0/?log=2009091218gm-0001-10022-f9292a8a
http://tenhou.net/0/?log=2009091218gm-0001-10022-fa79e1aa
http://tenhou.net/0/?log=2009091218gm-0001-10022-88ca0271
http://tenhou.net/0/?log=2009091219gm-0001-10022-00ca4406
http://tenhou.net/0/?log=2009091219gm-0001-10022-cfeff9b0
http://tenhou.net/0/?log=2009091219gm-0001-10022-8864f4a2
http://tenhou.net/0/?log=2009091219gm-0001-10022-9265f3c6
http://tenhou.net/0/?log=2009091220gm-0001-10022-a9207a29
http://tenhou.net/0/?log=2009091220gm-0001-10022-0faadf19
http://tenhou.net/0/?log=2009091220gm-0001-10022-f5ef9276
http://tenhou.net/0/?log=2009091220gm-0001-10022-af8a66a0
http://tenhou.net/0/?log=2009091220gm-0001-10022-5c225213
http://tenhou.net/0/?log=2009091220gm-0001-10022-84de3131
http://tenhou.net/0/?log=2009091221gm-0001-10022-56d206dc
http://tenhou.net/0/?log=2009091221gm-0001-10022-ff44b701
http://tenhou.net/0/?log=2009091221gm-0001-10022-acf9b10e
http://tenhou.net/0/?log=2009091221gm-0001-10022-fc9f7192
http://tenhou.net/0/?log=2009091221gm-0001-10022-9c89f27d
http://tenhou.net/0/?log=2009091221gm-0001-10022-f4823e84
http://tenhou.net/0/?log=2009091222gm-0001-10022-8cdf5880
http://tenhou.net/0/?log=2009091222gm-0001-10022-45761436
http://tenhou.net/0/?log=2009091222gm-0001-10022-975c2fdb
http://tenhou.net/0/?log=2009091222gm-0001-10022-315887a5
http://tenhou.net/0/?log=2009091222gm-0001-10022-621cc20c
http://tenhou.net/0/?log=2009091223gm-0001-10022-780725c5
http://tenhou.net/0/?log=2009091223gm-0001-10022-573e1e3a
http://tenhou.net/0/?log=2009091223gm-0001-10022-2ed7ab43
http://tenhou.net/0/?log=2009091223gm-0001-10022-0ab1f7e2
http://tenhou.net/0/?log=2009091223gm-0001-10022-35ecd59f
http://tenhou.net/0/?log=2009091300gm-0001-10022-2173fec7
http://tenhou.net/0/?log=2009091300gm-0001-10022-25909637
http://tenhou.net/0/?log=2009091300gm-0001-10022-de6d4188
http://tenhou.net/0/?log=2009091300gm-0001-10022-4272b45a
http://tenhou.net/0/?log=2009091300gm-0001-10022-59d68581
http://tenhou.net/0/?log=2009091301gm-0001-10022-c2109837
http://tenhou.net/0/?log=2009091301gm-0001-10022-2fa55bfe
http://tenhou.net/0/?log=2009091301gm-0001-10022-48f1e8c9
http://tenhou.net/0/?log=2009091301gm-0001-10022-61e98836
http://tenhou.net/0/?log=2009091301gm-0001-10022-298ee5f8
http://tenhou.net/0/?log=2009091302gm-0001-10022-16aba227
http://tenhou.net/0/?log=2009091302gm-0001-10022-f8d4fe6d
http://tenhou.net/0/?log=2009091302gm-0001-10022-e7e5ca2e
http://tenhou.net/0/?log=2009091302gm-0001-10022-df9bc599
http://tenhou.net/0/?log=2009091302gm-0001-10022-fea5ed76
http://tenhou.net/0/?log=2009091302gm-0001-10022-d8e25fbf

(mittens is always the one with the green bar)

poor judgement on defence

It seems the modification I made backfired. I'm fairly sure it was a result of the lazy way I implemented it. Tiles like 1,9 were considered much better to throw than honour tiles when, actually, they weren't. I should probably separate the decision making a little. I've reverted the change now, because shortly after the jump in rate it proceeded to plummet.

improving defence

mittens' greatest weakness is dealing in a lot I think. Here is a sample of the deal in rates of each tile: (note: 1~4z = ESWN; 5~7z = haku, hatsu, chun)

1m 98
2m 100
3m 130
4m 146
5m 187
6m 158
7m 181
8m 126
9m 99
1p 80
2p 149
3p 143
4p 174
5p 202
6p 193
7p 171
8p 164
9p 95
1s 101
2s 135
3s 163
4s 184
5s 184
6s 194
7s 176
8s 139
9s 112
1z 48
2z 34
3z 29
4z 29
5z 57
6z 47
7z 48

Originally mittens prioritised the above tiles in reverse order if they had the same likelihood of improving the hand. So, if 9m and 5s had the same "rank", the 5s would be thrown before then 9m - a mistake according to the above results. I've since changed this to have the following priority: 1,9 > 2,8 > 3,7 > 4,6 > 5. The process for honour/wind tiles is still the old reverse order system. That might need adjusting too, but I would like to see how this changes things first. mittens has gone up by about 30 in rate already (change was done yesterday).

forged tenhou names

I knew I could do try this months ago but I only just tried.

Names on Tenhou have a maximum length of 8 characters *1. Registering IDs is done over http by http://b.mjv.jp/regid?uname=# where # is the desired name. There isn't the 8 character limit here, though. I found a while ago that with a longer name, only 8 characters are displayed in-game and in the #START/#END etc. messages.

Given this, consider an existing 8 character name, is it possible to register that name plus another character, so as to create the illusion in-game that the original is in fact playing. It turns out it is, but only on names that are of only ASCII characters originally. I tried this with kyonko11 (some high level player I got from http://tenhou.net/sc/?rate4). Adding another 1 allowed registration and it came up as kyonko11 in-game. On the lobby screen it was kyonko111, though. Strange.

No harm done, though; the player keeps their rank. I have no idea whether it comes up as kyonko11 or 111 on the ranking list thingies.

*1:actual limit: 24!