Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

41

21.08.2009, 09:23

Du kannst immer Integer nehmen, denn die Kollisionserkennung sollte mit dem Bild übereinstimmen und da sind auch keine Floats möglich.
Zumindest mein Monitor zeigt nur ganze Pixel an und erzeugt keine neuen Pixel zwischen den existierenden ;)

Also kannst du mit Float arbeiten und die Ausgabe mit Kollisionserkennung in Integer verarbeiten.

42

21.08.2009, 09:51

Zitat von »"chriss"«


Also kannst du mit Float arbeiten und die Ausgabe mit Kollisionserkennung in Integer verarbeiten.


und genau das hatte ich ja versucht. doch dann wird leistungshungriger und ungenauer

Iljaronaldo

Treue Seele

Beiträge: 99

Wohnort: Hadamar

Beruf: Schüler[9.Klasse Realschule]

  • Private Nachricht senden

43

21.08.2009, 10:04

Zitat von »"David Scherfgen"«

Es erinnert mich ein bisschen an "World of Goo". Sehr hübsch!
Edit: Oh, hat schon jemand geschrieben ;)

War auch mein erster Gedanke.

Sehr schönes Spiel. 8)
tutti colpevole, nessuno colpevole. - Wenn einer Schuld ist, sind Alle Schuld.
Die Mafia ist wie ein Staat. Sie mordet nicht, Sie richtet hin.

Wenn man zwei Stunden lang mit einem Mädchen zusammensitzt, meint man, es wäre eine Minute. Sitzt man jedoch eine Minute auf einem heißen Ofen, meint man, es wären zwei Stunden. Das ist Relativität. (Albert Einstein)

Mein System

xardias

Community-Fossil

Beiträge: 2 731

Wohnort: Santa Clara, CA

Beruf: Software Engineer

  • Private Nachricht senden

44

21.08.2009, 10:20

Zitat von »"fred2507"«


mit floats wäre die kollisionserkennung nicht mehr so effizient. das spiel läuft bei mir so wie es ist ohne lock mit 2500 fps. mit den floats sin es 1800.

Naja.. auf die 700 fps kann ich verzichten, mehr als 60 sehe ich sowieso nicht ;)

Edit: Ich war mal so frei und habe es in meine Dropbox geladen.. rapidshare ist immer so umständlich ;)
http://dl.getdropbox.com/u/346381/J_R_0.59.zip (fred2507, sag bescheid wenn du das nicht möchtest).

45

21.08.2009, 10:25

hätte ich aber floats die ich für die kollisionsberechnungen auf einen integer bringen müsste, wäre das doch recht ungenau.

in 2d ist das halt anders als in 3d. in 2d muss man nämlich alle positionsangaben in ganzen zahlen angeben. is ja auch logisch oder? ein pixel kann ja nich 0,3 pixel neben einem anderen liegen.

46

21.08.2009, 10:27

Zitat von »"xardias"«


Edit: Ich war mal so frei und habe es in meine Dropbox geladen.. rapidshare ist immer so umständlich ;)
http://dl.getdropbox.com/u/346381/J_R_0.59.zip (fred2507, sag bescheid wenn du das nicht möchtest).


super, das finde ich richtig gut, danke. werde alle links austauschen.

Black-Panther

Alter Hase

Beiträge: 1 443

Wohnort: Innsbruck

  • Private Nachricht senden

47

21.08.2009, 10:40

Zu deinen Performance gedanken. Ist zwar lobenswert, dass du das ständig im Kopf behältst, aber für dieses Spiel glaube ich dennoch, dasses absolut irrelevant ist. Durch die Art wie es aussieht und sich spielt, kann man zur Optimierung sehr viele annahmen machen, und das ganze WIRKLICH beschleunigen. Ich würd dann die Einbußen der Kollisionserkennung hinnehmen, und das ganze dann frametime-unabhängig machen....

Edit: Außer du hast vor jetzt massiv AI zu schreiben. Mit neuralen Netwerken und dergleichen...
stillalive studios
Drone Swarm (32.000 Dronen gleichzeitig steuern!)
facebook, twitter

48

21.08.2009, 11:25

Zitat von »"fred2507"«

hätte ich aber floats die ich für die kollisionsberechnungen auf einen integer bringen müsste, wäre das doch recht ungenau.

Falsch. Aus Sicht des Spielers ist es sogar genauer. Denn er will ja auch da Kollision angezeigt bekommen, wo er es auch sieht.

Der Spieler sieht ja deine Figur. Sagen wir mal sie besteht nur aus einem einzigen Pixel.
Dann befindet sie sich an dem Startpunkt. Jetzt bewegt sich der Spieler und durch die Frametime verschiebt sich der Pixel um 0.4 nach rechts.
Da es aber nur ein fester Raster an Pixeln gibt würdest du abrunden und an der gleichen Stelle darstellen wie vorher (passiert bei 2D eigentlich zwangsweise).
Also ist es für den Spieler doch nur logisch, dass die Kollisionserkennung dort berechnet, wo der Spieler die Figur auch sieht.

Angenommen der Spieler bewegt sich um 0.2 Punkte weiter (also insgesamt 0.6) würdest du die Figur auf dem nächsten Pixel anzeigen lassen (wieder zwangsweise durch den Monitor). Also schadet es nicht einen Pixel weiter die Kollision zu prüfen.

Sogesehen bleibt optisch alles wie bei deinen 60 Frames. Nur wenn sich die Figur mal 2 Pixel bewegt und der Spieler die 1800 Frames hat, sieht er auch den Zwischenschritt.

Das mit dem Performanceverlust ist schade aber ich finde das Spiel erhällt dadurch mehr Vor- als Nachteile. Eventuell kannst du durch die Anpassung an die Zeit auch deinen Bug los werden (du hast geschrieben es ruckelt verdammt wenn die Frames unter 60 liegen).

49

21.08.2009, 11:30

wie ich schon sagte werde ich die frametimes noch neu machen. aber was mir jetzt ma wichtiger ist sind levels und gegner zu designen und die gegner zu bewegen.

wenn das spiel unter 60 fps fällt, ruckelt es nicht gleich, sonder wird langsamer. das ruckeln tritt ersr unter 25 fps auf (ganz normal also für etwas frametimeunabhängiges).

50

21.08.2009, 12:53

spiel läuft bei mir flüssig:

win 7 64bit
88er gts 320mb
4 gig ram
am2 athlon 64 x5200+ x2

mir gefällt das spiel auch sehr gut und auch das design. es ist ja noch nicht final, aber was man noch einbauen könnte, wären sounds, highscores (wie schnell man die levels durchgespielt hat z.b.), ein menü.

ansonsten mach weiter so ;)

Werbeanzeige