User blog:Sim533/Four Play Research

Everybody knows how to play connect 4. A game that we've been playing since we were young. But what I didn't know is that Nitrome released a connect 4 game as well a few years ago (about 9 to be exact! ) I've just found out on the wiki page about it: Four Play. I investigated a bit and found the game file.

How I found the actual game file
On the page, there was an interesting link to a web archive page of Nitrome's website back then in 2005. The good looking blog feature on the website had a link where we could download the Four Play game they made. It is the following link:

http://web.archive.org/web/20050923055447/http://www.macromedia.com/cfusion/exchange/index.cfm#loc=en_us&view=sn311&viewName=Flash%20Lite&page=0&scrollPos=0&subcatid=0&snid=sn311&itemnumber=3&extid=1026566&catid=0 (link 1)

Interesting stuff here. The link contains a few variables such as "scrollPos = 0" or "itemnumber = 3" or "extid=1026566". Also "cfusion" will be important!

The link itself - http://www.adobe.com/cfusion/exchange/index.cfm#loc=en_us&view=sn311&viewName=Flash%20Lite&page=0&scrollPos=0&subcatid=0&snid=sn311&itemnumber=3&extid=1026566&catid=0 (link 2) - has been unavailable. So most of us now think that the game is unavailable.

But let's remove the variables and we become following link: http://www.adobe.com/cfusion/exchange/index.cfm (link 3)

On the page, you are seeing all sort of products including coldfusion. Did you remember "cfusion"? Well that sounds close to what we found important, so let's click that.

On that page, we can see a lot of other products created for coldfusion. Just take the first one. The link for me is: http://www.adobe.com/cfusion/exchange/index.cfm?event=extensionDetail&loc=en_us&extid=1029486 (link 4).

Clicking the download button on the page of link 4 will give me following link: http://www.adobe.com/cfusion/exchange/index.cfm?event=dl&extid=1029486 (link 5).

What we can see is that the link is based again on a few variables. And we're seeing that extid again, which we had in the previous link as well. So in theory if we take link 4 and link 5, change the variable extid to 1026566 (the number was found in the first link), then we should be able to view what we want.

The extension detail link results fast in an error page because Nitrome removed it. But the download page didn't. And there it was, fourplay.swf, the game that not anyone was able to find.

Running the game
We have downloaded fourplay.swf, a flash file can be opened with Google Chrome. I'm not saying much more.

Server theory
As some of you may have noticed already, I've did a few edits on the Four Play page today and removed a lot of speculation. Most of the information on that page was false. And here's why.

Decompiling the swf file that we downloaded will result in the sprites and the code of the game. A game of 2005, that means that the code will be good readable.

Here's a part fscommand2("SetSoftKeys", "BACK", "EXIT"); endlobbyplayers = "wait"; myurl = "http://www.nitrome.com/connectfour/joinlobby.php?playername=" + playername; loadVariables(myurl, _self); tellTarget("_level0/upbutton") { gotoAndStop(2); }

if (endgetstatus == "done") { isinvitation = substring(retrievedplayerstatus, 1, 10); if (isinvitation == "INVITATION") { opponentname = substring(retrievedplayerstatus, 12, -1); mycolour = "red"; gotoAndStop("invite"); } else { endgetstatus = "wait"; myurl = "http://www.nitrome.com/connectfour/getstatus.php?playername=" + playername; loadVariables(myurl, _self); } }

Like mentioned on the page, there's a server which is inbetween the devices. Player A will connect with the server. The server knows that Player A is there. Player B will connect with the server. The server knows that Player B is there. So, that's my server theory.

Music
Well, I didn't hear anything. The decompiled swf file doesn't contain music either so that makes that this game has no music.

Conclusions

 * The game is server based (and it was probably the first game to have this)
 * The game can be downloaded (see first chapter), but that might change soon because of this.
 * Due to the server being down, the multiplayer part cannot be played anymore.
 * An early game might have been connect four, based on the map name in the codes.

 Sim533