Warum Thread für Spieleprogrammierung?

Y

yyannekk

Gast
Es wird ja immer empfohlen einen Thread für die mainloop zu nehmen (hab aber keine Erklärung gefunden). Habe gerade getestet dass es auch ohne geht, deswegen meine Frage...
Ich vermute dass die parallele Ausführung von Programm Code und Annehmen und Ausführen von Benutzereingaben dann besser funktioniert. Vielleicht hat da ja jemand Detailwissen.
 

ARadauer

Top Contributor
parallele Ausführung von Programm Code und Annehmen und Ausführen von Benutzereingaben dann besser funktioniert
ja genau um das gehts. sonst kannst du nicht auf benutzer eingaben "horchen" wenn das spiel gerade zeichnet oder etwas berechnet...
 
Y

yyannekk

Gast
Getestet habe ich ein Spiel welches einen Thread erzeugt in dem die mainloop läuft.
Habe die Klasse so umgebaut dass sie nicht von Thread erbt und new MainLoopClass().start() durch new MainLoopClass().run() (so vom Prinziep her...) ersetzt...
 

Cola_Colin

Top Contributor
Wenn du das als letztes in der main aufrufst, dann verwendest du den Thread eben dieser Methode weiter.
Nur in dem Thread von Swing, der die Benutzereingaben annimmt, solltest du nichts weiter tun als eben das.
 

Gregorrr

Bekanntes Mitglied
Geht man von der Annahme aus, dass man kein triviales Spiel programmiert, so dürfte dies doch einiges an Rechnerkapazität in Anspruch nehmen. Sei es die Berechnung einer komplexen KI, oder die Berechnung komplexer Spielszenen und das damit verbundene Rendern.

Nur weil dein triviales Spiel, auch ohne Parallelisierung gut funktioniert, ist das kein Anzeichen für irgendetwas.

Jetzt gibt es mind. 3 Gründe, warum man parallelisieren sollte (Annahme kein triviales Spiel):
- Effizienz der damit verbundenen Algorithmen
- Datenparallelisierung, so arbeitet eine Grafikkarte extrems parallel, d.h. die Berechnung der Pixel findet stark parallelisiert statt, weil es ansonsten gar nicht mit dem Aufwand klar kommen würde.
- Unabhängigkeit der Programmausführung (z.B. keine Abhängigkeiten bei einer GUI)
- daneben gibt es noch zig Gründe, einfach mal Googeln oder Wikipedia ist auch eine gute Anlaufstelle, aber das dürfte ja wohl klar sein....
 
F

Firephoenix

Gast
Mal ein einfaches Beispiel:
Dein Spiel soll unabhängig vom Pc auf dem es läuft mit sagen wir mal 60 Updates pro Sekunde laufen - damit du bewegungen etc einfacher darstellen kannst.
Von der Rechenleistung ist der PC aber in der Lage 600 Updates pro Sekunde zu berechnen.
Das bedeutet du musst den Thread deines Programms zwischen den Updates ausbremsen (i.d.R. mit sleep() ).
Da dein Thread aber nur 10% seiner Kapazität arbeitet wird er 90% einer Sekunde auf sleep() stehen.
In dieser Zeit werden auch Benutzereingaben nur mit Glück im Programm landen - und 10% Chance darauf, dass eine Eingabe angenommen wird sind schon sehr gering, gerade bei Spielen wo man viel und schnell herumklicken will.
(Das Beispiel ist etwas sehr konstruiert ;) aber es hilft hoffentlich die Problematik zu veranschaulichen)
Gruß
 

EgonOlsen

Bekanntes Mitglied
Jetzt gibt es mind. 3 Gründe, warum man parallelisieren sollte (Annahme kein triviales Spiel):
...und es gibt min. 4 Gründe, warum man es nicht tun sollte:

  • Der Spielablauf ist nicht mehr deterministisch.
  • Die VM garantiert nicht, wann welche Threads drankommen. Wenn es schlecht läuft, "verhungern" Threads.
  • Der Aufwand für Synchronisation steigt.
  • Der Code wird komplexer und schwieriger wartbar.

Threads sind fraglos dort sinnvoll, wo man auf IO wartet...also z.B. bei Netzwerkzugriffen, verzögertem Laden usw. Sie sind u.U. dort sinnvoll, wo Dinge einfach zu parallelisieren sind und im Ergebnis mehr Performance versprechen...also z.B. bei einem Softwarerenderer. Sie sind ebenfalls sinnvoll, wo eine nebenläufige Berechung sehr lange dauert...also z.B. die KI in einem Schachspiel, wenn parallel zum "Denken" das Spielfeld gezeichnet werden soll.
Es ist nicht sinnvoll, Dinge parallel auszuführen, nur weil es geht, man aber an sich kein Performanceproblem hat. Man schafft damit nur Raum für Fehler und unnötige Komplexität. Viele Ansätze die ich bisher gesehen habe, ignorieren nämlich die Tatsache, dass z.B. ein Renderthread und ein Logikthread teilweise parallel auf denselben Datem arbeiten und es damit alle Arten von lustigen Seiteneffekten geben kann, wenn man nicht gescheit synchronisiert.

Meine Empfehlung ist daher: Threads für IO (wo sinnvoll) und lange nebenläufige Berechnungen. Wenn man mit den Standard-Java-Methoden für Eingaben arbeitet (also irgendwelche Eventlistener benutzt), laufen die sowieso in einem eigenen Thread, also muss man da gar nichts extra tun. Keine Threads für die Spiellogik, sofern man nicht in massive Performanceprobleme läuft. Es macht mehr Ärger als er nutzt.
 

hdi

Top Contributor
Es ist nicht sinnvoll, Dinge parallel auszuführen, nur weil es geht, man aber an sich kein Performanceproblem hat.
Performance-Gewinnung ist nur ein Einsatzgebiet von Multi-Threading. Ein anderes liegt im Verlagern des Scheduling auf das OS. Es ist sogar so dass der Großteil von Multi-Threaded Anwendungen genau aus diesem Grund, und eben nicht wg. der Performance, auf mehrere Threads zurückgreift. Beispiel: Deine Notizbuch-Software checkt im Hintergrund auf anstehende Termine, um dich zu alamieren. Mit Performance hat das nix zu tun, auch nicht mit I/O. Und auch nicht damit, dass der main-Thread oder der EDT gerade viel beschäftigt sind und keine Zeit dafür hätten. Es geht einfach darum dass du nicht manuell im Code festlegen musst, wann genau was und wo passiert. Denn oft ist das einfach egal. Versuch mal, so einen regelmässigen Check in deinen main-Thread zu integrieren. Ist sogut wie nicht möglich. Also startet man einen neuen Thread, und das OS kümmert sich drum, dass er regelmässig ausgeführt wird. Die Sache mit dem "Verhungern" ist da in 99% der Fälle nicht von Belang, darum muss man sich nur in Extremfällen kümmern.
 
Zuletzt bearbeitet:

EgonOlsen

Bekanntes Mitglied
Performance-Gewinnung ist nur ein Einsatzgebiet von Multi-Threading. Ein anderes liegt im Verlagern des Scheduling auf das OS. Es ist sogar so dass der Großteil von Multi-Threaded Anwendungen genau aus diesem Grund, und eben nicht wg. der Performance, auf mehrere Threads zurückgreift...
Ja, schon klar. Das hat aber eher nix mit Spielen zu tun und darum geht es hier ja. Es gibt gerade im Java-Umfeld die Tendenz, alles mit Threads zu erschlagen. Und für performante und ruckelfreie Spiele ist das einfach eine schlechte Idee. Und das wollte ich nur rüberbringen.
 

hdi

Top Contributor
Es gibt gerade im Java-Umfeld die Tendenz, alles mit Threads zu erschlagen. Und für performante und ruckelfreie Spiele ist das einfach eine schlechte Idee.
Ach, papperlapapp!

Java:
for(final Bullet bullet: player.getDoubleActionMinigun().getFiredBullets()){
     new Thread(){
         @Override
         public void run(){
             bullet.flyOnePixel();
         }
     }.start();
}

Läuft 1A. :D
 
Zuletzt bearbeitet:

hdi

Top Contributor
Haha ja damn das ist mir auch aufgefallen. Ich hatte gehofft du hast es nicht gemerkt :D Naja, danke für den Link, vllt kann ich daran ja echt noch was optimieren ;)
 

Cola_Colin

Top Contributor
Ach, papperlapapp!

Java:
for(final Bullet bullet: player.getDoubleActionMinigun().getFiredBullets()){
     new Thread(){
         @Override
         public void run(){
             bullet.flyOnePixel();
         }
     }.start();
}

Läuft 1A. :D

Lach nicht, ich habe mal einem Studenten bei einer Aufgabe geholfen, in der es um ein Schneegestöber ging, d.h. es sollten eben einige hunderte Schneeflocken gezeichnet werden, die zu Boden fallen und ne Schneedecke bilden.
Jede Flocke sollte laut Aufgabe ein Thread sein. Hat selbst auf meinem doch recht schnellen PC schon mit ein paar hundert Flocken angefangen die CPU ordentlich zu quälen.
Ein toller Prof, der sich so etwas ausdenkt :autsch:
 

Evil-Devil

Top Contributor
Threads lohnen sich wie schon oben gesagt bei verteilten Aufgaben. ID hatte zur aktuellen ID Tech 5 Engine und der Virtual Texture ein hübsches PDF zur Siggraph mitgebracht gehabt. Da ist unter anderem auch enthalten welche Zeit für den jeweiligen AUfwand vorgesehen ist.
http://s09.idav.ucdavis.edu/talks/05-JP_id_Tech_5_Challenges.pdf

Aus dem PDF hat gesagt.:
id Tech 5 does a lot of processing
–Animation blending ~2 msec
–Collision detection ~4 msec
–Obstacle avoidance ~4 msec
–Transparency sorting ~2 msec
–Virtual texturing ~8 msec
–Misc processing ~4 msec
–Rendering ~10 msec
–Audio ~4 msec
Und das bei stabilen 60Hz ;)
 

Empire Phoenix

Top Contributor
Wo ist das problem mit dem deterministisch? Warum nehmen immer alle an das man Threads nicht intelligent machen kann?

Man hat nen normalen update tick, aber statt
physic();
ki();
rendern();

macht man alle 3 gleichzeitig und am ende wartet man bis jeder fertig ist, synchronisiert die daten , und geht erst dann in den nächsten tick. Schon ist wieder alles schön deterministisch.
 

hdi

Top Contributor
Ne, in diesem Beispiel ist es in der Tat extrem schwer das sinnvoll und determnisitsch zu implementieren. Ein sychronized bringt dir keinen Determinismus. Die Methoden hängen doch irgendwie voneinander ab. Also wenn grad was in der Phsysik berechnet wird, zB wie sich ein Objekt x dreht weil es grad fällt, und die KI auch etwas mit x berechnet, dann was? Dann kommt's drauf an wer zuerst das Lock auf dieses Objekt bekommen hat, phsycis() oder ki(). Und das ist vom Scheduling abhängig und nicht-deterministisch.. Also, da ist schon was dran.
 

schalentier

Gesperrter Benutzer
...macht man alle 3 gleichzeitig und am ende wartet man bis jeder fertig ist, synchronisiert die daten , und geht erst dann in den nächsten tick. Schon ist wieder alles schön deterministisch.

Das ist aber deutlich komplexer, als einfach die drei Methoden in Threads auszufuehren, da die ja von einander abhaengen. Z.B. veraendert die Physik sicherlich die Positionen der zu rendernden Objekte. Also muss man pro Objekt zwei Positionen (gilt fuer alles von der Physik "beschreibbare", wie Geschwindigkeiten, Beschleunigungen, etc) speichern (die jeweils letzte und die von der Physik gerade neu berechnete). Gerendert werden dann die letzten Positionen, die KI rechnet auch mit den alten Daten. Anschliessend muessen die neuen Daten zu den alten Daten werden (per Kopieren oder irgendwie geschickt per Referenzenaustausch).

Das ist aber alles andere als trivial - und kostet zusaetzlich Performance, die erstmal durch die Threads wieder reingeholt werden muss, bevor sich das alles ueberhaupt lohnt.
 

Kr0e

Gesperrter Benutzer
Multithreading ist unausweichbar, sonst kannst du jeden Quad oder Dual Core in die Tonne kloppen und stattdessen wieder eure AMD XP 2600 rauskramen :D Und ja, es lohnt sich Threads zu benutzen und ein gutes OS wird Threads auch nicht verhungern lassen. Klar ist Synchronisierung ein komplexes Gebiet, aber Programmieren soll ja nich zu einfahc sein und ein wenig Kopfarbeit doch noch benötigen ;)
 

schalentier

Gesperrter Benutzer
Haaach, solche pauschalen Aussagen sind doch Unfug.

Ein Mehrkernsystem bringt doch schon alleine deswegen sehr viel, weil ein modernes Betriebssystem von Haus aus Dutzende Tasks am Laufen hat. Deshalb jetzt auf Krampf jeden Pups multitaskfaehig zu machen, ist einfach mit Kanonen auf Spatzen geschossen.
Ich wuerde mich zur Aussagen hinreissen lassen, dass die allermeisten Spiele, die von Leuten hier im Forum entwickelt werden, besser nur genau einen Thread benutzen (evtl. noch ein oder zwei weitere fuer Netzwerk).

Ein Tetris oder Pacman braucht keine zwei Tasks. Natuerlich, zum Ausprobieren und Herumexperimentieren kann man auch mit mehreren Threads arbeiten - aber als Tipp fuer einen Anfaenger/Einsteiger ist das imho voellig unpassend.

Mal nur so als Info: Minecraft ist singlethreaded und funktioniert hervorragend. Besser man baut ein stabiles, funktionierendes und langsames singlethreaded Spiel, als ein verbuggtes und schnelles multithreaded Spiel.
 

Kr0e

Gesperrter Benutzer
Ich verstehe nicht ,warum multithreading+fehleranfällig in einem Satz so häufig hier genannt werden. Mehrere Threads bringen mehr Komplexität, sprich jemand der denkt es gäbe nur synchronized und wait und notify, der sollte in der tat die Finger von Multithreading lassen und lieber eine sicherere Variante mit einem Thread schreiben. Java ist eine der wenigen Sprachen mit solch umfangreichen Multithreading Optionen und diese zu ignorieren oder nur für seltene Fälle zu gebrauchen, halte ich für falsch. Wenn man dann noch viel Ahnung von so exotischen Saachen wie "Lock-Free-Programming" hat, kann man wirklich parallel verarbeiten lassen.


Außerdem stimme ich dir zu, dass es bei simplen Spielen nicht nötig ist, aber dennoch machen mehrere Threads durchaus Sinn. Die JME z.B. trennt Physik und Grafik, zwar gibt es auch Singlethread-Mode, dieser wird auch laut Seite glaub ich empfohlen, aber das heißt ja nichts.

Nun zu deinem Minecraft-Beispiel: Ich nehme an, du hast dir das Spiel genaustens unter die Lupe genommen, um das zu behaupten (Vermutlcih, weil du grad auch sowas ähnlcihes versuchst, oder ? Ich meine mich da an einen Thread zu errinnern). Jedoch weiß ich nicht inwiefern das als Beweiß gesehen werden kann, dass ein Thread ausreicht. Ich persönlich habe nur Spielererfahrung und empfinde das Spiel an vielen Stellen rucklig und unprofessionell. Woran das liegt, traue ich mich jetzt hier nicht zu mutmaßen. Es gibt aber ebenfalls eine JME-Version (Ganz frühe Alpha^^), genannt Mythruna, welche dieses Spielprinzip sehr viel schöner und ruckelfreier umsetzt. Ich vermute mal, das lieght auch daran, dass Minecraft eine komplette Do-It-Yourself-Produktion ist und dadruch natürlich nichtmal ansatzweise derart viel Erfahrung drinsteckt, wie bei JME.

Zum Schluss noch eine SAche: Threads allein würde ich auch garnicht mehr verwenden. Die Handhabung erfordert viel Boilerplate-Code. Mit einem ExecutorService werden die Thread sauber gemanaged und bei kleinen kurzlebigen Tasks bringt das viel Gewinn.

Gruß,
Chris
 

Empire Phoenix

Top Contributor
Ne, in diesem Beispiel ist es in der Tat extrem schwer das sinnvoll und determnisitsch zu implementieren. Ein sychronized bringt dir keinen Determinismus. Die Methoden hängen doch irgendwie voneinander ab. Also wenn grad was in der Phsysik berechnet wird, zB wie sich ein Objekt x dreht weil es grad fällt, und die KI auch etwas mit x berechnet, dann was? Dann kommt's drauf an wer zuerst das Lock auf dieses Objekt bekommen hat, phsycis() oder ki(). Und das ist vom Scheduling abhängig und nicht-deterministisch.. Also, da ist schon was dran.

Wieso, die ki gibt für den nächsten tick an die physic befehle, aka vorwärts laufen.
Bei dem System dürfen die teile nie was woanders manipulieren, sonden schicken messages, an die anderen subsysteme. (Die dann theoretisch auch auf verschiedenen Computern sein können).

Wenn dann sichergestellt werden kann dass Messages garantiert im nächste tick von den jeweiligen zuständigen subsystem verarbeitet werden, wo ist dass dann nicht deterministisch?

ps. ..Locks, würdest du das ernsthaft so regeln wollen o_O
 
Zuletzt bearbeitet:

EgonOlsen

Bekanntes Mitglied
Ein Mehrkernsystem bringt doch schon alleine deswegen sehr viel, weil ein modernes Betriebssystem von Haus aus Dutzende Tasks am Laufen hat. Deshalb jetzt auf Krampf jeden Pups multitaskfaehig zu machen, ist einfach mit Kanonen auf Spatzen geschossen.
Ich wuerde mich zur Aussagen hinreissen lassen, dass die allermeisten Spiele, die von Leuten hier im Forum entwickelt werden, besser nur genau einen Thread benutzen (evtl. noch ein oder zwei weitere fuer Netzwerk).
Das ist genau der Punkt. Natürlich kann man alles beliebig kompliziert machen...aber dann wird das Spiel nie fertig, hat potentiell mehr Fehler und ob es dann wirklich schneller läuft, darf man auch bezweifeln. Und letztendlich ist es doch egal, ob was nun mit 60 oder 80 FPS läuft. Wenn das der Punkt wäre, wären wir doch alle nicht in diesem Forum, sondern in einem für C++. Ich bin z.B. dazu übergegangen, meinen Kram zu deckeln, auch wenn kein Vsync an ist. Robombs z.B. macht bei 75fps zu. Das erzeugt weniger Abwärme, Lärm und schont auf Laptops den Akku. Natürlich kann ich diverse Multithreading-Optionen aktivieren, einfach weil jPCT sie schon mitbringt. Ohne Limit wird das dann auch schneller...aber wozu? Mit Limit wird dann einfach nur "schneller gewartet".
 

Empire Phoenix

Top Contributor
Btw @ EgonOlsen

Es gibt hier auch leute die Programme schreiben die zu komplex sind für ohne multithreading.
Derzeit brachen bei mir physicberechnungen bis zu 40ms, bei einer gewünschten ticktime von 50ms ist es wenn man das ganze noch rendern und ki haben will schon sinnvoll zu multithreaden.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Minecraft PlayerBot (Listener Thread für jeden Spieler?) Spiele- und Multimedia-Programmierung 3
S Ein Thread für alle Animationen oder mehrere? Spiele- und Multimedia-Programmierung 2
0 Workaround für Thread.sleep()-Bug Spiele- und Multimedia-Programmierung 15
H Exeption in thread "Thread-2" NullPointerExeption: init methode? Spiele- und Multimedia-Programmierung 25
O Thread pausieren und wieder starten Spiele- und Multimedia-Programmierung 2
kaoZ Animation in eigenen Thread auslagern..... Spiele- und Multimedia-Programmierung 1
gamebreiti Daemon Thread Spiele- und Multimedia-Programmierung 4
M Point & Click Thread Probleme Spiele- und Multimedia-Programmierung 20
N JPanel Inhalt aktualisiert nach Thread.sleep nicht Spiele- und Multimedia-Programmierung 2
S Thread und jpanel-paintcomponent kombinierbar?? Spiele- und Multimedia-Programmierung 14
Kenan89 Alternative zu Thread Runnable Spiele- und Multimedia-Programmierung 2
O Universe <- show Thread Spiele- und Multimedia-Programmierung 14
C ***** bitte thread löschen *** Spiele- und Multimedia-Programmierung 3
A KeyListener - Thread Problem Spiele- und Multimedia-Programmierung 2
D Snake n+1-Thread Spiele- und Multimedia-Programmierung 2
B Applet startet, aber führt den Thread nicht aus Spiele- und Multimedia-Programmierung 7
G Thread startet nicht im Vollbild modus Spiele- und Multimedia-Programmierung 3
E TetrisApplet Thread Hilfe Spiele- und Multimedia-Programmierung 6
Developer_X Thread in Java3D Spiele- und Multimedia-Programmierung 8
D Methode in eigenem Thread auslagern Spiele- und Multimedia-Programmierung 9
S Probleme mit Thread beim Streaming Spiele- und Multimedia-Programmierung 1
F Problem mit Thread.sleep() Spiele- und Multimedia-Programmierung 7
Tapsi Thread wartet auf Threads Spiele- und Multimedia-Programmierung 7
M Thread.sleep() problem Spiele- und Multimedia-Programmierung 10
M Roundbased - Thread anhalten Spiele- und Multimedia-Programmierung 8
D Wasserstrahl animieren: ein Thread je Tropfen? Spiele- und Multimedia-Programmierung 7
S Thread unterbrechen Spiele- und Multimedia-Programmierung 3
B Server für Spiel aufsetzen, was Shutdown ist Spiele- und Multimedia-Programmierung 3
N Minecraft Frage für einen Minecraft Server Spiele- und Multimedia-Programmierung 2
Drachenbauer Speicher-Tool für ein Spiel schreiben Spiele- und Multimedia-Programmierung 13
B Deepmind Poker Bot für PokerStars konfigurieren? Spiele- und Multimedia-Programmierung 2
K Wie bekomme ich eine Transition für alle Objekte zum stoppen? Spiele- und Multimedia-Programmierung 1
E Organisation für Game Spiele- und Multimedia-Programmierung 1
Excess Ballerfisch für Android Spiele- und Multimedia-Programmierung 3
coolian ich brauche irgendeine gui lib für lwjgl2 Spiele- und Multimedia-Programmierung 51
krgewb Anderer Algorithmus für Bounding Box Spiele- und Multimedia-Programmierung 9
MiMa MP3 Dateien für Metadaten abgleichen Spiele- und Multimedia-Programmierung 0
Freshy Bot für Discord Spiele- und Multimedia-Programmierung 61
R Ideen für die Backend-Entwicklung eines Games gesucht Spiele- und Multimedia-Programmierung 8
G Mikrophon-/Audiosteuerung für einen Character Spiele- und Multimedia-Programmierung 1
P Tennis- Spielstand- Zähler für Schule programmieren Spiele- und Multimedia-Programmierung 6
M Logik für ein Quiz Spiele- und Multimedia-Programmierung 7
P Hilfe für Seminar Arbeit Spiele- und Multimedia-Programmierung 9
MiMa Metadaten für Multimedia Daten ermitteln Spiele- und Multimedia-Programmierung 4
G Übungsprogramm für Matheaufgaben Spiele- und Multimedia-Programmierung 1
F Algorithmus für bessere Kollisionsabfragen Spiele- und Multimedia-Programmierung 10
S Bilder Für Schachfiguren Spiele- und Multimedia-Programmierung 14
Timo_neu_in_java Suche etwas einfaches für Anfänger Spiele- und Multimedia-Programmierung 6
I Minecraft Suche Plugin Developer für Minecraft Netzwerk! Spiele- und Multimedia-Programmierung 2
S GUI erstellen für Text Adventure Spiele- und Multimedia-Programmierung 4
S Eigene Klasse vec_t - 3 oder 4 Einheiten für x, y, z und w Spiele- und Multimedia-Programmierung 11
R Vererbbarer GameLoop für Engine Spiele- und Multimedia-Programmierung 14
J Vektor für Gravitation erzeugen Spiele- und Multimedia-Programmierung 34
I Minecraft: Craftingrecipe für Braustand ändern Spiele- und Multimedia-Programmierung 9
Z Minimax-Algorithmus für TicTacToe Spiele- und Multimedia-Programmierung 5
H KI für Spiele Spiele- und Multimedia-Programmierung 1
S Pssende Datenstruktur für ein Netz Spiele- und Multimedia-Programmierung 5
S MouseEvents für Sprites Spiele- und Multimedia-Programmierung 3
I Spectator Modus für Spiel ähnlich zu Terraria Spiele- und Multimedia-Programmierung 8
K Bestes Bildformat für Spielegrafiken und deren Einbindung in Java Spiele- und Multimedia-Programmierung 2
J mehrere Listener für einen Button / Label Spiele- und Multimedia-Programmierung 1
C Port umleiten: lesen und schreiben für MCServer-Client über Skype Spiele- und Multimedia-Programmierung 0
J Musik Bibliothek für GUI Spiele- und Multimedia-Programmierung 7
B Hauptmenü für Spiel Spiele- und Multimedia-Programmierung 1
R Ratschlag für 2D-3D Engine für die Spieleentwicklung gesucht Spiele- und Multimedia-Programmierung 4
Androbin KI für Verfolgung im Raster Spiele- und Multimedia-Programmierung 2
A Bot für Browsergame Spiele- und Multimedia-Programmierung 2
H Tutorials für Fortgeschrittene 3D-Anwedungen Spiele- und Multimedia-Programmierung 2
lord239123 suche Graphiker für ein Pokemon-Spiel Spiele- und Multimedia-Programmierung 6
Furtano Vektoren für Bewegung für eine 2D-Simulation Spiele- und Multimedia-Programmierung 3
T Sinusgenerator für eine Hp Spiele- und Multimedia-Programmierung 8
J Menü für Snakespiel in einzelnem JFrame Spiele- und Multimedia-Programmierung 5
M Minecraft weitere Java Entwickler für minecraft projekt gesucht Spiele- und Multimedia-Programmierung 0
Guybrush Threepwood Ketzerische Frage: Opus-Codec für Java Spiele- und Multimedia-Programmierung 14
L Hilfe bei Klassendesign für Spiel Spiele- und Multimedia-Programmierung 2
N Animationen für ein 2D game Spiele- und Multimedia-Programmierung 6
S Aufbau für 2D Spiele Spiele- und Multimedia-Programmierung 7
L Client für ein Browsergame Spiele- und Multimedia-Programmierung 21
Devil0s Swing Elemente für Inventar? Spiele- und Multimedia-Programmierung 9
Kenan89 Ansatzfrage: Kartenspiel für 2 Spieler Online Spiele- und Multimedia-Programmierung 3
F Ideen für spiel Spiele- und Multimedia-Programmierung 4
P Spielfeld für RPG Spiele- und Multimedia-Programmierung 15
Hoppelmann Alphamap (Bild) für 3D-Terrain generieren Spiele- und Multimedia-Programmierung 2
S Algorithmus zur Ressourcesuche für die KI Spiele- und Multimedia-Programmierung 5
M Farbwerte für Flächen aus einem Bild erkennen Spiele- und Multimedia-Programmierung 3
K Einfache Engine für einfaches 3D gesucht Spiele- und Multimedia-Programmierung 10
C KI für Skatspiel - Wie können die Computerspieler eigenständig handeln? Spiele- und Multimedia-Programmierung 10
S Aufbau von Klassen für Spiel Spiele- und Multimedia-Programmierung 13
Kenan89 Kleines Projekt für Java Spiele- und Multimedia-Programmierung 5
M Empfehlungen für ein 2D-Jump'n'run Spiele- und Multimedia-Programmierung 4
A Grundlagensuche für Spiel Spiele- und Multimedia-Programmierung 8
C Wo ist der MP3 Plugin für JMF? Spiele- und Multimedia-Programmierung 3
qwerqer Design Pattern gesucht für Spielregeln Spiele- und Multimedia-Programmierung 2
M Java als Programmiersprache für kommerzielle Spieleentwicklung? Spiele- und Multimedia-Programmierung 3
K Game Engine für selbstprogrammiertes Spiel Spiele- und Multimedia-Programmierung 27
A Music für Android game Spiele- und Multimedia-Programmierung 3
Gossi Probleme beim Laden der Images aus dem "Tutorial für Java-Spiele" Spiele- und Multimedia-Programmierung 4
M Minecraft Suche Java Programmierer (für Minecraft) Spiele- und Multimedia-Programmierung 2
Luk10 Tipps für bessere Animationen / Grafik Engine Spiele- und Multimedia-Programmierung 2
T 2D Menü für 3D Spiel Spiele- und Multimedia-Programmierung 5

Ähnliche Java Themen

Neue Themen


Oben