Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - caffeine

#1
Tetris / Classic Tetris World Championship Elo ratings
October 06, 2019, 02:57:40 PM
Out of curiosity, I wrote a Monte Carlo simulation for a hypothetical 16-player knock-out tournament. I modeled it using CTWC's format with the Elo ratings derived from the previous 7 CTWC tournaments as well as 2018/2019 Westcoast, Mideast, Eastcoast, Southern, and Desert Qualifiers. Got the data for many of the qualifier events that I couldn't find on video or FB from Chris_F's excellent database on the CTWC discord. Here's the program, and here's the output:


1st 2nd 3rd or more
28% 11% 61%  Joseph_S
19% 11% 70%  Jonas_N
11% 10% 79%  Green_T
9%  9%  81%  Harry_H
9%  9%  82%  Koryan
7%  8%  85%  DanQZ
4%  7%  89%  Alex_K
4%  6%  90%  Quaid
2%  5%  92%  Svavar_G
2%  5%  93%  Eli_M
2%  4%  94%  Noztrom
1%  4%  95%  Jeff_M
1%  4%  95%  Matt_B
1%  2%  97%  Bo_S
0%  2%  98%  Beastinshen
0%  2%  98%  Shakil_A


Edit: corrected method for finding probability of a win using WHR and reran the program.
Edit2: reran but with best of 5 matches for top 8.
#2
That's a great question, and also something I have been interested in.

Probably the simplest way to capture connectivity is a method introduced by Dellacherie's algorithm: "row transitions." You look at each cell, side by side, and count the number of times there's a transition from empty to filled or vice versa. Walls count as filled. An empty board will have 40 transitions. An empty board with one filled cell in the middle will have 42. This is a robust measure and is very good when building a Tetris bot.

Another simple method is to find if there are any pieces that force a hole on a surface. This true/false measure also has value when building a bot, mainly because it helps the bot avoid building surfaces that don't accommodate S and Z.

Another method is to, for each piece and for each orientation of that piece, and for each column that orientation can be placed on, count the number of placements that do not create a hole. While playing with this, I have found that it is quite good at matching my intuition of what a good surface looks like.

This can also be efficiently calculated by keeping track of column heights and column height differences. This is unfortunately not such a useful feature for bots, since it creates a strong perverse incentive for the bot to cover up problem surfaces with pieces even at the expense of creating holes.

There is the Pagerank Tetris algorithm, which was cleverly implemented by Ryan Heise. It is excellent at matching my intuition of what good and bad surfaces should look like. The algorithm itself is actually a Value Iteration Markov Decision Process without discounting. Nullpomino supports an implementation of it. You just have to run it first in order to build up a database. You can even configure Nullpomino to show you what placements its Pagerank bot would do.

Since MDP value iteration converges on provably optimal policies, there's no doubt why it appears to evaluate surfaces well. It does so, however, under limited conditions.

Nullpo's implementation of Pagerank did not exactly match the results I've gotten independently. This could be because of the way endgame conditions were encoded, how many iterations were run, or perhaps some other reason. For example, of the 9^8 possible stacks we can represent with Pagerank Tetris, many are not actually reachable in a real game. If the implementation does not account for that, and is simplified to the point that these unreachable surfaces are reachable, then that would  tarnish the quality of the policy.

Although I haven't tested it personally, I would expect Pagerank not to be very useful as a feature for bots in general, for the same reasons I mentioned earlier. It is nonetheless an interesting idea to have it as feedback for the user. I've thought about possibly creating a "trainer," which would be a 9x9 playfield where the user could only select surfaces that do not create holes. The game could then tell how good the user's placement was and make recommendations, perhaps even give them a score at the end saying their average Pagerank.

What I'm particularly interested in is a more holistic approach that looks at not just the surface, but the entire playfield and guides the user accordingly. This would be similar to how chess players use software to analyze their games. Of course, it's necessary to first have a bot with superhuman skill if the guidance is actually going to be useful.
#3
Tetris / Tetris 99 (Nintendo Switch)
March 11, 2019, 08:03:40 AM
To sum up a discussion in Discord, Doremy said that Attacker mode doesn't split up attacks. Doremy wasn't sure if it was sending the same amount of lines to each attacker, or maybe there was a slight deduction per opponent.

This video shows how the first attack sends 9 to Doremy as well as sending to many other players, so it wouldn't be possible for that attack to be an even split: https://mobile.twitter.com/doremypuyotet/st...589445788688384

Therefore, using Attacker mode is advantageous, but not for the reason previously speculated on. It let's you send more lines total because it is sending the base attack multiple times.

Then, stacking high and attracting targets from those set to attacker mode allows you to not only increase your base attack, but also replicate that attack many times over.
#4
Strategy/Help / 40L Help
March 11, 2019, 05:33:25 AM
Yeah the low DAS may explain some of the misdropping. Another thing to keep in mind is that it's expected to start off faster than your average speed, since you can mentally prepare ahead of the game by seeing the next pieces.
#5
General / Seattle / Vancouver
December 17, 2018, 08:00:48 AM
World's ok-est Tetris player.
#6
Tetris / the earlier years of Tetris
December 11, 2018, 05:50:24 AM
Quote from: Okey_Dokey
I wonder if his version IDs (v0, v1, v2, v3.12)  were just randomly chosen or if you can find them somewhere (only in the machine code I assume).

Vadim said, "3.12, by the way, is a fudged number. We didn't have accurate versioning or build numbers and just picked a plausible number for the final official version."

Quote from: Arcorann
caffeine: the dates cgwg provided are for E60 Tetris not IBM PC Tetris. I have one of the copies dated 4 April 1986.
I didn't realize that. We can add a fourth copy's date. Someone familiar with digital cyrillic date abbreviations correct me if I'm wrong, but I believe that's February 3rd, 1986.
[!--ImageUrlBegin--][!--ImageUrlEBegin--][img width=\\\"500\\\" class=\\\"attach\\\" src=\\\"https://i.imgur.com/lnsYJGg.jpg\\\" border=\\\'0\\\' alt=\\\"IPB Image\\\" /][!--ImageUrlEnd--][/a][!--ImageUrlEEnd--]



[a href=\\\"https://www.youtube.com/watch?v=O0gAgQQHFcQ]From this video.
#7
Tetris / the earlier years of Tetris
December 10, 2018, 06:11:14 AM
In an email with Vadim, he mentioned the following: "I first visited the computer center and started working with computers in September 1984."
#8
Tetris / the earlier years of Tetris
December 07, 2018, 10:01:24 PM
QuoteFor what it's worth, these are the file datestamps that I see from some different dumps of the original Tetris:
  • April 4, 1985
  • April 4, 1986
  • April 12, 1986
I checked the first one, and it seems feature-complete, including an optional piece preview.
That strengthens the "Vadim got his age wrong" theory. There's also this article in which he claims he was 15 (as it happens, the article was published June 6, 2009).

Vadim mentions, "Pajitnov and I kept adding features to the program for a couple of years. Since the latest version is dated 1986, then they very well could've worked on it in 1984.

The following passage comes from The Tetris Effect, in which the author claims to have interviewed key players on and off the record:
[!--quoteo--][div class=\\\'quotetop\\\']QUOTE[/div][div class=\\\'quotemain\\\'][!--quotec--]
Pajitnov played through version 3.12 of the game. Two months after work started on the IBM version of Tetris, this felt like a good place to stop and try to find a larger audience.
[/quote]

This seems to conflict with Vadim's  account. Perhaps when he says he added features "for a couple of years," he was referring to the two player version that he mentions that he and Pajitnov worked on "a couple of years later," and not version 3.12.

From The Tetris Effect:
[!--quoteo--][div class=\\\'quotetop\\\']QUOTE[/div][div class=\\\'quotemain\\\'][!--quotec--]A few months after Genetic Engineering's disappointing showing, and after Pavlovsky, with Gerasimov's help, had completed their Antix version of the Qix/Xonix game, Pajitnov was ready to give the tetromino another shot. At on of the trio's regular brainstorming sessions, be announced a new concept that included some of the elements of the earlier game but in a more pointed, challenging version.

[...]

The next time Gerasimov and Pavlovsky heard more about the tetrominoes and the glass container, Pajitnov had finished his solo coding marathon and had the first version of the game up and running on his Electronica 60 computer.

[...]

Gerasimov and Pavlovsky watched as Pajitnov, wired after weeks of frantic late-night coding, walked them through the game he called Tetris.[/quote]

If 3.12's real date is April 12, 1986, and it took two months to get to that point, then that puts the Electronica 60 version in late January or early February of 1986. If 3.12's real date is April 4, 1985, then that puts the Electronica 60 version in late January or early February of 1985. So either the timeline is wrong, the date stamp is of a later copy, or the 1984 figure is wrong.

To go further down the rabbit hole, Xonix 1.0's date stamp is March 25, 1984. Various sources confirm Xonix's release date as 1984. Vadim says that their clone, Antix, was developed in the span of "a few weeks." At the earliest, that would be late April. Add in another few weeks for Pajitnov's coding marathon, and we're now in May or June. This means that the only way that June 6, 1984 works is if Xonix had already crossed over to the Soviet Union and made waves at the computer center within a month of its release (or if an earlier version than 1.0 was available). The date on the Antix that Vadim provides is Oct 19, 1985.
#9
Tetris / the earlier years of Tetris
December 06, 2018, 01:28:13 PM
Quote from: Arcorann
The site has some obviously wrong info (1985?) and doesn't directly address the claims made by the Wikia person, but it does provide corroborating evidence.

That's an interesting find. I haven't seen that before. Seems like what's most likely is that that slashdot poster is telling what he/she believes to be true, but doesn't realize that Mirrorsoft was licensing the game through Stein's relationship with Elorg.

The year 1985 is a mysterious year for Tetris. Throughout my whole life, I remember 1985 being the year Tetris was made. One of the best sources for Tetris history is the book Game Over, originally published in 1993. The author shared many details of the Tetris story that weren't published anywhere else, so it would seem that he interviewed those who were either friends and family of, or were important figures in Tetris history themselves.

In the book, 1984 is never mentioned in relation to Tetris, but he does state that the game won 2nd place in a computer game competition in November of 1985. Up until recently, Vadim Gerasimov's website describing his personal recollection of the Tetris story listed it as having been in 1985-1986.

Then in 2009, they started promoting it as the 25th anniversary of Tetris, making 1984 the origin date. Before then, I had never heard of anyone saying it was 1984. The simplest explanation is that one article erroneously listed 1985 as the date early on, and everyone after that point copied over the error. It's also possible the people involved just remembered it incorrectly until it was anniversary time.

Here's the thing. Vadim says he was 16 years old when his teacher first brought him to the Computer Center where he met Pajitnov and Pavlovsky. He goes on to say:
[!--quoteo--][div class=\\\'quotetop\\\']QUOTE[/div][div class=\\\'quotemain\\\'][!--quotec--]A few months after we started working together, Pajitnov came up with the Tetris idea. Before we met he had a computer game called Genetic Engineering. In that game the player had to move the 4-square pieces (tetramino) around the screen using cursor keys. The player could assemble various shapes. I don't remember the exact objective of that game, but it seemed rather dull.

At one of our meetings Pajitnov told Pavlovsky and me about his new idea of tetramino falling into a rectangular glass and piling up at the bottom. He believed the game might be successful. Shortly after discussing the idea Pajitnov made a prototype for Electronica 60, then I ported it to the PC using our development system. Pajitnov and I kept adding features to the program for a couple of years.
[/quote]
If he was 16, and Pajitnov wrote the prototype a few months after that point, then that places the origin date in November of 1985 at the earliest, which also coincides with the competition mentioned in Game Over.

At some point after 2009, Vadim updated his site to say "1984-86," but he did not change the age at which he says he first visited the Computer Center. The simplest explanation is that when he originally wrote the article, he searched for the origin date and saw it listed as 1985. He then worked out his age from there. Then after 2009, he corrected the origin date, but forgot to update his age.

The other possibility is that June 6, 1984 is the original date that "Genetic Engineering" was written, not Tetris, but they decided to go with that date anyhow. This seems likely, and would explain Vadim's timeline. However, if true, then it's very weird how pre-2009, the date was listed as June 6th, 1985 from various sources. Where did June 6th come from, if not from "Genetic Engineering?" If it did come from that game, then why was the pre-2009 month and date correct, but not year? Maybe the powers that be didn't know the exact date for "Genetic Engineering," but did know it was 1984, so they decided to "borrow" the erroneous month/day that was already circulation, and just update the year. Maybe whoever made the original mistake got the month/day correct, but got the year wrong. Very mysterious.

Edit:

Here's the excerpt about Stein and the Hungarian programmers from Game Over:

[!--quoteo--][div class=\\\'quotetop\\\']QUOTE[/div][div class=\\\'quotemain\\\'][!--quotec--]In June 1986, Stein was at SZKI in Budapest to see Hungarian programs when, on a nearby computer, he noticed “Tetris.” He sat down to try the game and couldn’t stop playing. “I was not a game player,” he said, “so if I liked it, it must be a very good game.” He asked the director of the institute where the game had come from, and was told that it had been sent by a friend at the Computer Center of the Academy of Science in Moscow.

The same day, Stein claims, he was shown another “Tetris,” this one on a Commodore 64 and Apple II ["Bolgar's" version?]. It was the same game, Stein says he was told, adapted by Hungarian programmers. Although they had obviously converted the Russian program to the other machines, Stein says he told the Hungarians he would license the original PC game from the Russians and the Commodore and Apple versions from the Hungarians.[/quote]

It goes on to pave the following timeline:

June 1986 - Stein first plays Tetris at SZKI
N/A - Mirrosoft / Spectrum Holobyte buy Tetris rights from Stein.
November 5, 1986 - Stein offers Russians bigger deal.
November 13, 1986 - Stein "misreads" fax and assumes he has a deal for PC Tetris rights.
April 1987 - Stein informs Russians that the PC rights have been sold to Mirrosoft/Spectrum Holobyte.
January 1988 - Mirrorsoft releases Tetris for PC (not knowing Stein hasn't secured rights). Henk Rogers sees said game at trade show the same month.


Given that timeline, the December 1987 review adds up, since it is common for reviews to come out shortly before the game. What doesn't add up (as was already mentioned) is the Slashdot poster placing its development in the Summer of 1985. Game Over says that Victor Brjabrin sent the game (presumably the IBM PC version) from Russia to Budapest. That could've happened as early as 1985, which means that the Hungarian programmers could've ported it to C64 also in 1985. The earliest that Mirrosoft could've paid someone to work on it would've been in the Summer of 1986, and 1987 at the latest. It seems like 1985 is Tetris's Bermuda Triangle.

Edit 2:

If we really wanted to verify the anonymous Wikia story, someone could reach out to the author of that December 1987 review to see if the programmer (who he mentioned speaking with) was a British schoolboy named Phil.
#10
Strategy/Help / Movement finesse issues?
November 30, 2018, 02:12:05 PM
Quote from: Jayegg
Quote from: caffeine
Check with the wiki guide: https://harddrop.com/wiki/0G_60_Hz_SRS_Movement_Finesse

What piece, what wall, which rotation? Are you sure you're completely letting go of the left/right button before rotating?

Ok, well ive tried rotating the pieces again, but for some strange reason i have to let go of the piece and wait for a second,  before i can actually move it off the edge.
I'm not sure I understand. The sequence should go sometime like:
  • Press and hold the "move right" button.
  • Wait for the piece to hit the wall.
  • Let go of the "move right" button.
  • Rotate.
Is that what you're doing? Are you sure you're letting go of the move button completely before pressing the rotate button?
#11
Strategy/Help / Movement finesse issues?
November 29, 2018, 06:27:40 AM
Check with the wiki guide: https://harddrop.com/wiki/0G_60_Hz_SRS_Movement_Finesse

What piece, what wall, which rotation? Are you sure you're completely letting go of the left/right button before rotating?
#12
Tetris / Classic Tetris World Championship Elo ratings
October 22, 2018, 08:14:00 PM
I recomputed the ratings with the 2018 match results added in. Here is the input I used for the program. Please let me know if there are any errors. The format is [winner] vs [loser] [Winner wins = 'W', Winner loses = 'L']. For matches I could not find info on, I used "WLW."

2018 NES Power Rankings

569 Joseph_S
478 Jonas_N
399 Harry_H
387 Green_T
384 Koryan
313 Alex_K
306 ZZYZX
291 Eli_M
233 Svavar_G
230 Matt_B
172 Terry_P
169 Josh_T
165 Jeff_M
160 Ben_M
155 Trey_H
149 Jani_H
112 Chad_M


Edit: I ran the algorithm this time with 0 days elapsing between tournaments. It seems to be a more accurate method than adding 365 days between tournaments.
Edit2: Updated with more accurate 2018 round 0 info factored in.
#13
Tetris / microblizz, what is trenchs?
September 29, 2018, 09:01:17 AM
I can't speak for micro, but when I refer to the term "trench," I'm talking about when there's a narrow opening 2 or more rows deep that require certain pieces to fix:

[fumen]http://fumen.zui.jp/?v115@5eA8AeA8CeE8AeA8CeE8AeA8AeA8AeE8AeI8KeA8Ie?A8AeC8BeB8AeA8AeG8AeA8AeG8AeI8UeA8BeA8FeA8BeB8E?eA8BeF8AeB8AeF8AeI8KeAgH[/fumen]

#14
Tetris / Running a Classic Tetris competition
September 08, 2018, 03:47:03 PM
Quote from: Johnno73
Obviously if CTWC has sanctioned this event as the offiial "Aussie Championship" I don't want to step on toes, but I would really like to have CTWC involved if at all possible.

If you can't get in touch with them and you want to hold your own tournament, I can't imagine why there would be anything but good vibes (so long as it's clear it's a separate tournament). More Tetris events can only be a good thing. I know there are plenty of great Australian players out there, and apparently there's even a regular Australian Tetris meetup going on.
#15
Introductions / Ahoy!
September 08, 2018, 03:42:05 PM
[!--quoteo--][div class=\\\'quotetop\\\']QUOTE[/div][div class=\\\'quotemain\\\'][!--quotec--]Particularly from the glory days of Tnet2. So some of you might remember me as NOISEassault.
I was a friend to some, a villain to others , and unfortunately a jackass to many.

I wound up quitting high speed Tetris entirely around 2008 or so, and have matured a great deal since then.[/quote]

I think many of us who are still around and got introduced to multiplayer Tetris through Tetrinet had similar experiences. To be fair, it was no where near as bad as it used to be on other game platforms of the day such as Starcraft and CS. Still, when you combine that age group and anonymity, it can get pretty brutal.