FB18 - Das Forum für Informatik

fb18.de / Off-Topic / Allgemeines

Tetrismus

Tetrismus 2006-08-17 01:20
Wolf
Ich hab einen Tetris-Klon in Java programmiert. Er läuft auf 32-bit-Windows, Linux und MacOSX, wenn eure Grafikkarte OpenGL kann und ihr eine Soundkarte installiert habt.

Ihr bekommt den jeweils neuesten Release hier: SourceForge

Kommentare erwünscht.

Re: Tetrismus 2006-08-17 02:11
Slater
ich demonstriere für mehr Halflife 2-Clons, oder so..

Re: Tetrismus 2006-08-17 02:47
merkava IV
was ist mit iamd64-bit kompartibilität? rechnest Du da mit stress?

Re: Tetrismus 2006-08-17 03:03
Wolf
Nö, sollte eigentlich gehen, das profitiert dann nur nicht von den neuen Befehlssätzen, sondern benutzt die 32-Bit-Befehle.

Das liegt an den nativen lwjgl-Bibliotheken. Im Forum steht was dazu, ich werd's mir mal anschauen und hier nochmal posten.

Übrigens gab's Probleme bei der Eingabeerkennung, wenn man eine Taste gedrückt gehalten hat; das Delay zwischen der 1. Eingabeerkennung und der 2. war einfach zu gross. Das hab ich jetzt repariert.

Edit: Um lwjgl-Bibliotheken binär für amd64 zu bekommen, sollte man sich mit dem CVS von lwjgl verbinden, sich den Source saugen und die Bibliotheken dann mit dem entsprechenden buildfile bauen.
Ist aber eigentlich nicht nötig, um Tetrismus zu spielen, wenn ich das richtig verstanden habe.
Starting point ist hier.

Re: Tetrismus 2006-08-19 14:50
Wolf
Ich habe diverse Soundkarten- und Grafikkartenspezifische Bugs behoben, mehr Hintergrundbilder eingebaut, Blöcke mit Texturen versehen, die Schrift verbessert, mehr Sachen einstellbar gemacht, Minimalauflösung ist jetzt 800x600, die Eingabe ist weniger störrisch etc etc…

Insgesamt sollte es jetzt auf nahezu allen Zielsystemen laufen und besser spielbar sein.

Für Bugreports bin ich sehr dankbar :)

Re: Tetrismus 2006-08-20 23:41
Anonymer User
hi,
hier also der versprochene report: ich arbeite traditionell* (meint bei meinem Umzug 64-bit gab es nur Redhat/Core und SuSE/OSS mit 64bit und die Jungs aus Nürnberg haben dann für meine Anwendungen gewonnen) mit OSS/SuSE/Novell. auf 9.3 10.0 SuSE/OSS 32/64bit zerhaut sich JAVA<=1.50.0x, das sollte ein java problem sein.
bei 10.1 (32-bit/auf 64bit/dual core) kriege ich das fenster mit gesprayten farbstreifen und dann einen SegFault.
Sage doch mal auf welcher GNU/Linux oder sonstiger umgebung Du entwickelst. dann räum ich dafür noch mal platz frei und schau mir das an.

*Also nach Slackware, OpenBSD, FreeBSD und Debian.

Re: Tetrismus 2006-08-20 23:58
merkava IV
… SegFault.
Sage doch mal auf welcher GNU/Linux oder sonstiger Umgebung Du entwickelst. dann räum ich dafür noch mal platz frei und schau mir das an.

mist, das kommt davon wenn mensch zuviel feiert, dann gibt es ein vergessenes login. aber wie gesagt, ich kriege bei OSS10.1 mit allen updates ein sigsegv.

Re: Tetrismus 2006-08-21 19:53
Wolf
Es gibt ein Problem mit libopenal.so unter Linux. Das muss erstmal behoben werden.
Zur Zeit funktioniert's mit hoher Wahrscheinlichkeit nicht unter Linux mit ALSA.

Re: Tetrismus 2006-08-25 04:19
Wolf
Oben genannter OpenAL-Bug ist ab Release 0.63 behoben. Für weitere Bugreports bin ich sehr dankbar!

Re: Tetrismus 2006-09-09 23:30
Wolf
In Release 0.7 habe ich Ogg-Streaming implementiert. Ladezeiten sind also Geschichte.

Re: Tetrismus 2006-12-18 19:15
Fred
Ich hab einen Tetris-Klon in Java programmiert.
Ich auch. Hab aber momentan keine Zeit, daran zu arbeiten.

http://www.geocities.com/ackehurst/

Viel Spass :)

Re: Tetrismus 2006-12-18 22:41
Wolf
Sehr geil! Du hast die dritte Dimension elegant eingebracht. Es sieht insgesamt einfach gut aus. Nett finde ich auch das Zurücklegen von Steinen mit Backspace.

Es fehlt aber definitiv Sound und Highscores sowie ein Menu, in dem man Sachen wie Spielgeschwindigkeit etc einstellen kann. Mir z.B. dauert's einfach zu lange, bis es wirklich schwer wird, das würde ich dann gerne einstellen können.

Zu meinem Tetris noch ein paar Worte, weil mir grad danach ist: Das ist jetzt abgeschlossen, ich arbeite daran nicht mehr. Ich betreibe damit nur noch Leichenfledderei, d.h. ich 'schneide' den Code raus, den ich generell gut brauchen kann (z.B. Ogg Streaming oder die Initialisierungsgeschichten) und refaktorisiere ihn in ein Framework. Das ist fast fertig, ich poliere nur noch bei Bedarf.

Parallel entwickle ich eine OpenGL-Engine, die 3D-Spiele realisieren soll und auf dem Framework aufsetzt. Die ist noch in den Kinderschuhen, aber weil bald Weihnachten ist, gibt's nen Random Screenshot:
[img]http://img184.imageshack.us/img184/9760/engqd3.th.jpg[/img]
Das Model im Vordergrund hab ich in Blender gebraten und via .x-Format importiert. Im Hintergrund ist eine Cube-Wolke (für Kollisionserkennung, Stresstests und andere Sachen). Das Ganze ist in einer Skybox.
Bei dem Screenshot sind's ca. 10.000 Flächen, der Code kann aber bis zu 120.000 Flächen (ohne Culling) mit hoher Framerate und allem möglichen Schnickschnack wie mehreren Pointlights, Reflexionen und was weiss ich. Muss noch besser werden, aber ich gehe nach dem Schema 'Erst implementieren, dann optimieren' vor.

Schatten sind noch nicht implementiert, Physik auch nicht und Tausende anderer Sachen auch nicht… Ist halt ein großes Projekt für eine Person und geschafft ist erst ein sehr kleiner Bruchteil. Aber der Code, den ich vorher geschrieben habe, bewährt sich. Es haben sich einige Designüberlegungen bereits als sinnvoll erwiesen. Die großen Algorithmen hab ich im Griff (z.B. Kollisionserkennung). Ich denke, dass mit der Zeit eine brauchbare Engine draus wird. Und dann kommt die SPIELEFLUT! JAAA! MIT KOPF ABSCHNEIDEN UND EINGEWEIDE ESSEN! [img]http://www.fb18.de/gfx/2.gif[/img]