Page 15 of 22
Re: Gemeinsames Game für Übungszwecke
Posted: Wed 3. Nov 2010, 17:40
by badanation
Von beender geschrieben:
mich würden eher die grundlegenden dinge interessen. beispielsweise wie das projekt aufgebaut ist, angefangen von dem main-loop bis hin zur nutzung von xml dateien.
verwendet ihr threads um möglich viele fps zu erreichen? bzw. wie habt ihr das spiel optimiert. arbeitet ihr mit primitiven formen und dem canvas, oder macht ihr alles mit opengl?
d.h. mich interessiert nicht wie ihr das spiel im gesamten aufgebaut habt, sondern nur wie das grundgerüst aussieht. so in der art tutorial...
grüße
Re: Gemeinsames Game für Übungszwecke
Posted: Wed 3. Nov 2010, 18:42
by mortara
'Erstmal nur Teamintern' wäre auch meine Präferenz für den Quellcode, aber wenn Interesse besteht, kann ich gerne einzelne Schnipsel hier vorstellen.
Der Aufbau ist eher simpel. Keine extra Threads bislang, und kein wirkliches Mainloop. Die Aktualisierungen mache ich über einen Timer, der in regelmäßigen Abständen die Updateprozedur aufruft. Bislang keine Optimierungen, ich versuche den Code erstmal 'Einsteigerfreundlich' zu halten. Falls wir irgendwann mal Probleme mit der Framerate kriegen, müsste man das angehen.
Gezeichnet wird direkt auf den Canvas, OpenGL ist (noch) nicht ....
Re: Gemeinsames Game für Übungszwecke
Posted: Wed 3. Nov 2010, 18:59
by badanation
Von beender geschrieben:
schonmal danke für die info. ich entwickel gerade ein spiel, bei dem die geschwindigkeit konstant zunimmt, d.h. von wenigen pixel pro frame geht die geschindigkeit auf mehrere pixel pro frame hoch. das ganze führt zu einem art ruckeln...
gruß
Re: Gemeinsames Game für Übungszwecke
Posted: Wed 3. Nov 2010, 19:06
by mortara
Wenn der Timer feuert, errechne ich mir die genaue Zeit seit dem letzten Update in Sekunden (als double), und multipliziere das dann mit mit einem 'Geschwindigkeitsfaktor' (den man in den Optionen des Spiels sogar ändern kann!). Das Ergebnis dieser Multiplikation benutze ich dann zum Updaten der Positionen der Objekte (die sich ganz simple nach klassischer Mechanik bewegen, also mit Vektoren für Position, Geschwindigkeit, Beschleunigung usw.):
Beispiel
Code: Select all
void SpaceObject::Move(double t)
{
VY = VY + AY * t;
VX = VX + AX * t;
Y = Y + VY * t;
X = X + VX * t;
}
Das ganze versuche ich noch so 'Objektorientiert' wie möglich zu halten, auch wenn es vielleicht hier und da Performance kostet....
Re: Gemeinsames Game für Übungszwecke
Posted: Tue 30. Nov 2010, 16:47
by mortara
Soooo ..... nach langer Zeit mal wieder ein Update vom mir, damit das hier nicht vergessen geht.
In dieser Version schiessen die ersten Aliens zurück, es gibt paar Änderungen an den Punkten die man für einen Abschuß bekommt, und ich habe eine neue Steuerungsvariante eingebaut, die 'Wisch-Steuerung' ......
Viel Spaß damit!
Edit: Anhang entfernt, weil veraltet
Re: Gemeinsames Game für Übungszwecke
Posted: Tue 30. Nov 2010, 21:46
by emse88
Also ich hab mir die neueste Version mal runtergeladen und aufs Wave gepackt. Ich muss euch sagen, ich war überrascht, wie geil das ganze schon ausschaut. Spielen tut es sich total flüssig. Die Steuerung ohne Kippsensor fand ich etwas zu schwierig, es ist sehr schwer links/rechts und schießen zu koordinieren. Mit Kippsensor fand ist das ganze zu langsam. Also meiner Meinung nach sollte das Raumschiff schneller nach links/rechts fliegen beim Kippen.
Achja und wie einer hier schon sagte, das "Geschwindigkeitsgefühl" kommt bei den Hintergründen mit den Planeten nicht so gut rüber, es sieht eher so aus, als ob sich die Sterne bewegen würden. Außerdem sieht man bei roten Hintergrund beispielsweise rote UFOs nicht so gut.
Ich weiß ja nicht, ob noch Platz für weitere Programmierer ist, aber da ich jetzt wieder etwas mehr Zeit haben werde für solche Entwicklungsgeschichten, würde ich ja gerne einsteigen. Ich habe auch aufgrund meines Studiums schon einige Spiele wie Brettspiele oder Rennspiele geschrieben, zwar in Java. Aber C++ kann ich auch und da würde ich gerne mal mitmachen.
Ich möchte in naher Zukunft ein eigenes Projekt fürs Wave beginnen. Eine Art Pinball nach dem Vorbild des alten PC Klassikers "DX Ball". Und das soll richtig gut werden. Nicht, wie viele Versuche, die sogar im Appstore gelandet sind. Naja, das wäre eine gute Übung für mich, ehe ich mich an ein eigenes Projekt machen würde.
Re: Gemeinsames Game für Übungszwecke
Posted: Tue 30. Nov 2010, 23:00
by adfree
@ emse88
Danke fürs Probieren.
Wir sind für jede Kritik offen.
Und wir freuen uns über jede Unterstützung. :love:
MfG
Re: Gemeinsames Game für Übungszwecke
Posted: Tue 30. Nov 2010, 23:20
by emse88
Ja also ich hab zwar auch nicht jeden Tag gleich viel Zeit und ich bräuchte auch ersma ne Weile, ehe ich mich in den Code eingelesen habe, aber besonders an Wochenenden habe ich manchmal nichts zu tun und hätte da auch Zeit zu proggen.
Muss mir nur noch einer sagen, bei wem ich mich melden muss, um zum Team aufgenommen zu werden und die SVN Daten zu erhalten...dann könnte es meinerseits bereits am Freitag Nachmittag losgehen mit Code lesen

Re: Gemeinsames Game für Übungszwecke
Posted: Tue 30. Nov 2010, 23:24
by mortara
Hallo emse88,
jede Hilfe ist wirklich willkommen! Im Moment programmiere ich das noch alles alleine, aber es gibt schon genug 'Baustellen', die ich gerne
abgeben, bzw. gerne jemand anderem überlassen würde ....
Du solltest dich zuerst an Sam65 wenden, um für in des Dev-Team des Forum zu kommen, dann an Catscratch für den Zugang zum SVN Server (Sourceforge account benötigt), danach wieder an mich, wenns ans programmieren geht!
Re: Gemeinsames Game für Übungszwecke
Posted: Wed 1. Dec 2010, 11:39
by emse88
Ja wunderbar, freut mich. Ich werde dann alles mit den beiden abklären und mich dann an dich wenden.