Psyclodrome Screenshots (196kB, Zip, 3 Screenshots, 1280x1024, PICT - Format)
Psyclodrome Alpha2 Video (324kB, Zip, Microsoft RLE)

Die auf dieser Seite dokumentierten Source-Files sind im Rahmen eines unkommerziellen Projektes entstanden und sind nur für den privaten, unkommerziellen Gebrauch gedacht.
Für kommerziellen Gebrauch Frage an: yuri@yuri.at

The information on this site is grown in an uncommercial project and is for privat, uncommercial use only.
For commercial use ask : yuri@yuri.at

Um die auf dieser Seite zu Verfügung gestellten Source Codes zu kompilieren, benötigt man:
JDK rel. 2 ,
JAVA3D API rel. 1.1.2 und
JAVA Hotspot VM

To compile the source codes provided on this page, you have to install:
JDK rel. 2 ,
JAVA3D API rel. 1.1.2 and
JAVA Hotspot VM
Psyclodrome - status
yuri(RR): alexander barth, gerd trautner


in Zusammenarbeit mit Time's Up im Rahmen des Projektes "Hyperfitness".

Statusberichte

20. Jul. 99
Beta 1 Release von Psyclodrome.
Starten mit "_START PD.bat"
Letzter Stand der Dinge: Wrong Direction implementiert, Startcounter implemetiert, Netzwerk implementiert und Geschwindigkeitsabhängiges Lenken implementiert.
Bugreport bitte an Gerd@yuri.at oder Alex@yuri.at .
Beta 1 Release von Psyclodrome

22. Jan. 99
Alpha Release von Psyclodrome.
Durch Anwendung der naechsten Generation von Java´s Virtual Machine - HotSpot minimieren sich die durch den Garbage Collector enstehenden Ruckler. Dadurch wird auch für die Zukunft der Einsatz von Echtzeit Simulationen mit Java3D möglich. Durch weitere Veränderungen der Programmstruktur und des Timings reduzierten wir das Flackern der Kugel, welches in früheren Versionen auftrat.
Weiters haben wir einen Systemspeed Tester implementiert.
Bugreport bitte an Gerd@yuri.at oder Alex@yuri.at .
Alpha Release von Psyclodrome

12. Jan. 99
viewBehavior, füher als Thread implementiert, ist jetzt eine Ansammlung von Methoden (init(), update()), die nach Berechnung der neuen Ball Position/Rotationen aufgerufen werden. Grund: Die Threads localBallBehavior und viewBehavior liefen unsynchron, deswegen kam es zu Rucklern, wenn viewBehavior auf Positionsdaten zugriff, die alt, oder kurz darauf neu berechnet wurden. Weiters arbeiten wir an der Implementierung der Netzwerkfunktion und der Statusanzeige.
Sound implementier, aber leider nicht so verwendbar. Java3D unterstützt die Änderung der Soundgeschwindigkeit (für Beschleunigen und Bremsen). Die Umsetzung ist aber Zweckentfremdet: Man definiert ein Volumen(Bounds), in dem die Soundparameter(AuralAttributes) einstellbar sind. Die Soundparameter wirken aber nicht auf definierte Sounds, sondern dann, wenn die Viewplattform in das Volumen eintritt -> Man kan nur jeweils einen Soundparameter anwenden, was in unserem Fall (für zweite Kugel) unbrauchbar ist. Nach Auskunft von SUN wird diese Funktion aber in Java3D 1.2 vorhanden sein.
Balls

10. Jan. 99
Offizieller Name des Spiels: Psyclodrome

6. Jan. 99
Träger ViewBehavior implementiert, Ballverhalten modifiziert, Collision Detection modifiziert -> Spielbar!
Balls

1. Jan. 99
Alles beruht jetzt auf math. Formeln.....
TrackDemo

20. Dec. 98
JAVA3D Behavior für Kugelsteuerung ist unbrauchbar, weil so auf Performance optimiert, das Events, die auf Abarbeitung warten, gelöscht werden. Also wird die Steuerung der Kugel ein Thread sein. Ausgiebige Experimente mit Collision Detection von JAVA3D haben ergeben, daß sie für unsere Zwecke unbrauchbar ist. Die Collision Bounds lassen sich nicht drehen. Bounds sind immer eine Box, die das gesammte Objekt umgiebt und an den Koordinaten Achsen ausgerichtet ist. Darum müssen wir die Collision Detection selber programmieren.

14. Dec. 98
Aufgrund der für uns nicht erklärbaren Probleme mit der Collision Detection beschlossen wir, die Höhe der Kugel auf der Bahn mit einer mathematischen Formel zu Beschreiben. Das ist in diesem Fall eine "Schüssel", in der die Achterbahn liegt. Wir erwarten uns eine Steigerung der Performance (weil keine Collision Detection auf den Boden durchgeführt werden muß). Die Kollisionen mit der Bande und der anderen Kugel soll aber mittels Collision Detection durchgeführt werden. Der Ball soll durch ein Behavior gesteurt werden und nicht mehr durch einen Thread. Weiters optimieren wir unser Programm auf volle Ausnutzung der JAVA3D Funktionen.
TrackDemo

11. Dec. 98
TranformViewingPlatform: Die Kamera ist direkt hinter einem Würfel positioniert und führt alle Transformationen mit aus.
TransformViewingPlatform

11. Dec. 98
Collision Detection Beispiel BounceOff. Der Ball hat jetzt ein Behavior und wird nicht mehr von einem Thread gesteuert. Die Collision Detection funktionert nur unbefriedigend: Zwischen Ball und Boden ist ein "Luftkissen" und nach einiger Zeit fällt die Kugel durch.
BounceOff

10. Dec. 98
Das Ballverhalten ist jetzt ein Thread (BallThread). Man sieht endlich wieder was, nur...
Balls

10. Dec. 98
Endlich, eine Kugel. Collision Detection ist zwar ein, reagiert aber nur auf den ganzen Track oder falsch. Y-Koordinate ist auf 0 gesetzt. Das asynchrone Ruckeln kommt von Javas Garbage Collector, dem unser Programmierstiel nicht gefällt. Wir entschließen uns, die Collission Detection und die Vieport Transformation anhand von kleinen Beispielen zu testen.
Balls

6. Dec. 98
Runable, aber noch nicht doable. es dauert eine ewigkeit bis sie startet, aber dann tut sie gar nichts...
Balls

5. Dec. 98
Fertige Track, jetzt gehts um die Aktivierung der Spiellogik und der Collisiondetection
Balls

30. Nov. 98
MidiDatenauswertung läuft und wird via UDP Multicast an frei laufenden Thread von Spielcomputer gesendet. Weites werden die Positionsdaten via UDP zw. den Spielcomputern ausgetauscht: Senden ist eine Methode, Empfangen ein frei laufender Thread.
MidiIn Receive und Send
Anfänge des 3D-Tracks und fast fertige Balllogik.
Balls

6. Nov. 98
Anfänge der Ball - Logik
GameEngine