to poroba
to komaxx
» komaxx » projects » FourWins3D
LAYOUT: default
_« shout »_

Chris (2010-07-26):
Alles Gute Zum Geburtstag!!

Michael (2010-06-21):
*ping* What's going? Long time no see!

epreueue (2010-01-29):
Very nice site!

KoMaXX (2009-10-22):
ahhh, damn, stop spamming! I really do not want to build any captchas in here!

your mum und dad (2009-02-28):
We've tried to stop the prime numbers shitting bear. Not possible!

Your mum (2008-11-25):
Gratulation for Dream-Diplom! 1,0 is very acceptable. I'm proud of you!

KoMaXX (2008-11-25):
Thnx! Indeed, the "look" was with me ;)

Michael (2008-11-21):
Good look with your exam on Monday!

Serena (2008-08-24):
You're welcome

KoMaXX (2008-08-21):
I just feel like shouting.


That's it. Thanks for listening.

Serena (2008-04-24):
Haha, yeah, was a fun game while it lasted

No 10 was a bitch though

your mum (2008-04-07):
Ich wünsche dir einen schönen letzen Tag in USA und einen angenehmen Heimflug! Ich warte dann auf deine sms vom Münchner airport.Vielleicht gibts ja auch vorher noch einen neuen Bericht. kisses

KoMaXX (2008-04-02):
... versucht hab' ichs ;)
Which misunderstanding? Just really large trees :D

your mum (2008-04-02):
Hallo, ich warte schon auf deine nächsten Ergüsse auf englisch! Bist Du eigentlich auch schon mal zu deiner Diplomarbeit gekommen? Du hast ja schließlich von einem Arbeitsurlaub gesprochen. Bussi

Flo (2008-04-02):
trees having 3000 meters in height ... and bigger ... awesome ;)
sorry for misunderstanding you ...

KoMaXX (2008-03-27):
Sorry, too lazy for translations ;)

No, not first class, just first row in economy!

Petra (your mum) (2008-03-27):
I've read your news about San Francisco. Aber es wäre nett, wenns gleich immer eine translation gäbe!Du bist also tatsächlich in die first class geswitched?!What a "dusselbauer"!

KoMaXX (2008-03-17):
thnx :)

Serena Fate (2008-03-16):
Oi, figured out the car in CeBit Pictures ... it's an Artega ( ... apparently has some "innovative" electronic gadgets or whatever ...

taromda (2008-02-15):
Dude, I'm playing Basketball for years now and never got injured. You're doing it wrong :-D

Phil (2007-12-12):
haha, that puctuation guide is great - and I knwo exactly what you mean ;)

KoMaXX (2007-08-30):
;) Yes, English is obligatory. It makes the whole world understand (hopfeully ;)) and keeps my skills in shape.

Anni (2007-08-14):
Ist toll Deine Homepage, aber musst Du denn alles auf Englisch schreiben??? :))

Flo (2007-07-18):
Matz schnallts net 5 > 3 --> :(

Flo (2007-07-18):
not even top three ... damn YOU sir!

KoMaXX (2007-07-18):
Hey andi, thanks for the feedback. The safari-incompatibility should be fixed (I hope)!

andi (2007-07-14):
SHOUT! Love your layout and the hair-flic, but my safari messes up the footer?

marc (2007-07-02):
Ja, gar net verkehrt, dein Layout! Aber füll mal die blinden links auf!

KoMaXX (2007-07-01):
First post ;) In your faces *loser*!

Valid XHTML 1.0 Transitional
last update: 2007-12-07

FourWins3DFourWins3D screenshot

What is it?

FourWins3D is the virtual equivalent of the board-game "Connect Four Advanced", which is the 3D-version of the classic 2D "Connect Four" by Hasbro. As in that game, the two players have to get four game pieces of their color in a row to win. Because it is threedimensional, there are quite a lot of possibilities for that.

What can the program do?

The program is the result of neglecting all good programming practices ;) It started during a short trip in the holidays, which was great, but had on minor satback: I forgot my "connect four"-set :( Ok, actually that was not that much of a problem. Whatever, in a sudden urge to test my fastcoding skillz, I implmented a first (crappy) version of FourWins3D as hhh (half hour hack). Well, it was playable but darn ugly (I have a screenshot, but won't show it ;) ). This way of coding - that is: just hacking, little thinking and NO comments - was really fun again, so it tickled me to pimp it a little. Well, the current version is fully 3D based on Managed DirectX 9, uses shaders for cool lighting and has a remote mode to play over the web. The program became more and more a tech-demo for me to test new stuff (at the moment I'm toying with volume-shadows).

Development status

The program works bugfree on my system, but wasn't really tested intensively on different systems, so the it must be considered still alpha. Although I'm still improving the code, that will not change unless I get some valuable feedback (*wink*). Version is 0.4.1

System Requirements

Well, I haven't really tested the code on much hardware, so I can't really tell what you need but here are my guesses:

If you tested the program and know more about, which hardware works and which doesn't, I would be more than happy to hear from you!


Just some screenshots. The first shows the "perspective incorrect" mode, the second a game with shaders turned off (and white won) and the last one a remote game (note the green light!) after black won.

FourWins3D screenshot 1 FourWins3D screenshot 2 FourWins3D screenshot 3


Actually, none. Just download the .zip file, uncompress it anywhere (optional on some machines), and launch it. If all requirements are met (see above) the game should launch directly.


     So, I assume you got the installtion done. So, what to do now? You should already see the turning board, but without any interaction possibilities besides the rotating the board manually. So, to actually play, try the menu. No surprises there: You can start a new game, quit or alter few settings. Hit "New Game" to open a dialog, where you have to specify what kind of game you want to play.

     For local game let the first radio button checked. It's a good idea to change the names of the players: After a game was won the players change colors - naming can prohibit confusion here.

     For remote game one player has to listen for the other one's attempt to connect (this player is the server and has to do more work). Therefore, activate the last radio button ("wait to get called"), enter your nickname if you want, and press "OK, start". After that, the program listens until someone connects. The caller has to select the second radio button ("remote player") and may also alter his nickname. Then a harder step follows: One has to find out the IP-address of the other: Therefore the listening player has to use ipconfig (->google) or something. Also, if the listening player is in a subnet like a private LAN, she has to activate port-forwarding for port 3232. If you don't understand, what I'm talking about, please feed your favorite search engine with "port forwarding", "NAT", "port", or so. I'm sorry, it is too complicated to explain here :/

     So, when A listens, posts her IP to B, and B calls A, a remote game should start. If everything worked, either player should see the cursor-position of the other player as moving green light on the board.

     By now, you should have managed to start a game. To play, the players alternately select a column on the board with the mouse (an active column is displayed red) and try to get four pieces of their color in a row. The program notices if one player managed to win, and accents the winning row. Then, in the popping up frame, if you select yes, another gam starts immediately - with changed colors.

Download! Gimme!

Here it is: Take it! But some words of warning first: I do NOT guarantee, that this software works and doesn't mess up your system. It was carefully (somewhat ;) ) developed and tested and should work - but I'm not liable, if anything goes wrong - I will try to help, though. NOTE: Do not open the software directly in your browser - doing so will most likely fail. Instead, storethe file on your local harddisc and open the file from there!

Windows: FourWins3D v0.4 (~ 250 kB)
Oh, and another thing: Please do NOT republish this file in any way (so, e.g. put it on your web-site) without my explicit permission. I DO want the traffic on my page. Feel free to link to this page (NOT the file directly), though ;)


Noone has asked anything so far. So, here is your chance: The very first question would already be recognized as "frequent" ;)