Physball Beta

Saemon
Hi,

ich habe mal wieder ein Spiel programmiert. Es heißt Physball und ist ein Geschichklichkeitsspiel, das etwas an Breakout oder Peroxyd (falls das jemant kennt) erinnert.

Hier ein Screenshot:


Es ist in C++ mit Visual Studio .net unter verwendung der ZEngine, die auf SDL aufbaut programmiert.

Hier könnt ihr die Beta-Version runterladen: http://saemon.planetcoding.net/sonstiges/PhysballBeta3.exe (1,3MB)

Vielleicht könnt ihr es ja mal testen und Verbesserungsvorschläge/Bugs etc. posten. Man kann Levels überspringen, indem man "a" drückt, falls ihr keine lust habt alle zu spielen oder jedesmal wieder zurück ins Hauptmenü zu gehen.

Saemon
daHooligan
hab jetzt mal die ersten zwei level gespielt, ich hab nur noch ein Problem mit der GRafik, die ruckelt bei mir mit 6-8fps recht arg. Und jetzt sagt mir nichts von DirectX, Direct3D und dem Zeug, alles über 80 Zeichen in 24 Zeilen ist unnötiger Luxus
Saemon
Zitat:
Original von daHooligan
hab jetzt mal die ersten zwei level gespielt, ich hab nur noch ein Problem mit der GRafik, die ruckelt bei mir mit 6-8fps recht arg. Und jetzt sagt mir nichts von DirectX, Direct3D und dem Zeug, alles über 80 Zeichen in 24 Zeilen ist unnötiger Luxus


Was für Hardware hast du denn?

Also die ZEngine (http://zengine.sourceforge.net/about.php), die ich benutze, verwendet OpenGL auch für 2D-Grafik, um Rotationen, Alpha-Blending etc. hardwarebeschleunigt darzustellen. Es könnte also sein, dass man eine 3D-Karte braucht, um eine gute Framerate zu erreichen, auch wenn das Spiel komplett 2D ist. Ich hab da leider keinen Rechner, mit dem ich das testen könnte. Mit 1,0 Ghz und Geforce 4 lief es jedenfalls flüssig.
daHooligan
athlon XP 2100+, 1,7GB RAM, GeForce MX 440 und XP Prof.
egal... ich spiel aber nicht viel und von daher ist mir das komplett egal...
was kann eigentlich bei dem spiel "schief gehen", also dass man ne Kugel verliert, ich hab jetzt bis Level 2 gespielt und keine nennenswerte Trägheit der Kugel/kaum Zugkröfte der "Seile" gespürt...
Saemon
Zitat:
Original von daHooligan
athlon XP 2100+, 1,7GB RAM, GeForce MX 440 und XP Prof.


Das ist seltsam. Bei mir ist die Performance viel besser:
p3 1,0 ghz, geforce 4 ti 4200 gibt ca. 75 fps
athlon2800, onboard grafik gibt ca. 30 fps
athlon3200, geforce fx 5600 gibt ca. 75 fps (mehr geht vermutlich wegen vsync sowieso nicht)

Es scheinen also eigentlich sowohl CPU als auch Grafikkarte bei dir ausreichend zu sein...

Zitat:

was kann eigentlich bei dem spiel "schief gehen", also dass man ne Kugel verliert, ich hab jetzt bis Level 2 gespielt und keine nennenswerte Trägheit der Kugel/kaum Zugkröfte der "Seile" gespürt...


Der Ball kann durch Minen zerstört werden, davon gibt es später z.T. ziemlich viele. Trägheit und Zugkräfte gibt es eigentlich schon. Wenn man im Hauptmenü die Schwierigkeit hochstellt, dann bewegt sich alles etwas schneller, evtl bemerkt man das dann deutlicher.
daHooligan
o.k. werds nochmal versuchen... es gehen mehr als 76 fps siehe screenshot Augenzwinkern
Saemon
Hat das inzwischen noch jemand getestet?

Eine Rückmeldung (wie es gelaufen ist etc.) wäre für mich sehr hilfreich.
Chico
jap
als so bei mir hats zwar nicht funtionirt weil ich an einem ars** langsamen laptop arbeite aber von dem was ich gesehen habe empfehle ich einen Vollbildmodus. Ein eigenes Icon und ne Demo für nicht-dsl-ler zum testen,
wenns eim gefällt kann mans ja komplett runterladen.

Chic cool
Saemon
Zitat:
Original von Chico
jap
als so bei mir hats zwar nicht funtionirt weil ich an einem ars** langsamen laptop arbeite aber von dem was ich gesehen habe empfehle ich einen Vollbildmodus. Ein eigenes Icon und ne Demo für nicht-dsl-ler zum testen,
wenns eim gefällt kann mans ja komplett runterladen.

Chic cool


Einen Vollbildmodus gibt es prinzipiell, nur keine Auswahlmöglichkeit dafür. Man kann aber in der settings.ini fullscreen=true setzen. Evtl. mache ich das in der fertigen Version zur Standardeinstellung.

Ein eigenes Icon wäre eine Überlegung wert.

Die Idee mit der Demo bringt wenig, da das einzige, was man einsparen könnte, die Levels sind. Die sind alle zusammen gerade mal rund 25kb groß, was ja fast nichts ausmacht. Außerdem kann man 1,3MB ja auch ohne DSL noch in akzeptabler Zeit herunterladen.
survivor
me = Laptop-User -> 3,5 FPS; CPU-Auslastung: 100%

hab die ersten paar Level gespielt. Finde schade, dass es bei mir nicht richtig läuft, da ich das Spiel so für zwischendurch ganz nett finde. Kannst du das Spiel nicht noch etwas optimieren, dass es auch auf etwas langsameren PC's / Laptops läuft?
Chico
bei mir dauert der download 15 Min. Motzen heulen

Chic smile
Chico
noch was der laptop hat 32mb abeitsspeicher. Kotzen
Saemon
Zitat:
Original von survivor
me = Laptop-User -> 3,5 FPS; CPU-Auslastung: 100%

hab die ersten paar Level gespielt. Finde schade, dass es bei mir nicht richtig läuft, da ich das Spiel so für zwischendurch ganz nett finde. Kannst du das Spiel nicht noch etwas optimieren, dass es auch auf etwas langsameren PC's / Laptops läuft?


Ja, du hast recht, vielleicht sollte ich an der Performance noch etwas optimieren. Ich frage mich aber auch wieso das eigentlich so viel Leistung braucht. Es gibt ja ähnliche Spiele, die man auf einem 486er gut spielen kann.

Ich habe auch noch auf weiteren PCs die Performance getestet:
Athlon XP 2400, Geforce 4 MX läuft perfekt
P4 2,6Ghz, Geforce FX 5600 läuft perfekt
Laptop P2 300Mhz, onboard (keine 3D-Grafik) nur ca. 1,5 fps

Auf halbwegs aktuellen PCs läuft es also gut, aber auf älteren gibt's geruckel. Die Frage ist natürlich, woran das genau liegt. Die CPU Leistung spielt sicher eine Rolle, aber die Grafikkarte hat evtl auch Einfluss. Da die ZEngine OpenGL auch für hardwarebeschleunigte 3D-Grafik benutzt, läuft das Spiel vermutlich auf Rechnern ohne 3D-Karte oder ohne OpenGL-Treiber sehr schlecht.

Zitat:

noch was der laptop hat 32mb abeitsspeicher.

Das ist natürlich sehr wenig. Ich habe mal nachgeschaut und Physball alleine braucht wohl ca. 22MB Ram. Insofern denke ich, dass 64-128MB schon das Minimum sind. Aber ich nehme mal an, dass dein Laptop auch von der CPU her etwas langsam ist.

Evtl könnt ihr ja mal noch eure genauen Konfigurationen posten? Also CPU, Ram, Grafikkarte
survivor
Prozessor: Intel Pentium III 1000 MHZ
Arbeitsspeicher: 256 MB DDR-RAM
Gafikkarte: NVIDIA GeForce2 Go 32 MB
Saemon
So, jetzt hab ich mal etwas nachgeforscht, wieso die Performance so schlecht ist. Es lag daran, dass ich die Schrift (z.B. unten die Scoreanzeige) in jedem Frame neu generiert habe. Jetzt wird die nur neu generiert, wenn es auch nötig ist.

Deshalb gibts es jetzt eine neue Version: http://saemon.planetcoding.net/otherpics/Physball.exe (80kb)
einfach die alte exe durch die neue ersetzen!

Weitere Änderungen:
-Schwierigkeit ist jetzt standardmäßig auf mittel, nicht auf leicht
-eigenes Icon eingefügt

In der neuen Version erreiche ich auf einem Athlon3200 mit Geforce 6800 stabil 1000 fps (mehr geht einfach nicht, vsync ist im nvidia-Treiber auf aus) und auf einem P3 1,0 ghz mit Geforce FX 5600 cs. 500 fps (etwas schwankend).

Testet mal, ob es jetzt besser läuft! smile
daHooligan
auch mit der neuen exe hab ich nur ca. 7-8 fps-....
survivor
bringt bei mir leider auch keine verbesserungen heulen schade
Chico
Ich habs noch mal mit nem besseren pc heruntergeladen und dieses Problem

code:
1:
2:
3:
Physball.exe - Komponente nicht gefunden
Die Anwendung konnte nicht gestartet werden, weil MSVCR71D.dll nicht gefunden wurde. Neuinstallation der Anwendung könnte das
Problem beheben.
Saemon
Zur Performance hab ich noch etwas rumprobiert. Hier mal einige FPS-Messungen mit der aktuellsten Version ohne vsync:
Athlon3200 GF6800 ca. 1000 fps
P3 1000 GF FX 5600 ca. 500 fps
Athlon2200 Radeon 32MB SDRAM ca. 125 fps
Athlon2800 onboard Grafikkarte ca. 30 fps

Die Leistung scheint also vor allem von der Grafikkarte und nicht von der CPU abzuhängen. Leider habe ich keine weiteren Rechner, auf denen ich testen könnte, wieviel MHz und welche Grafikkarte genau nötig sind.

Zitat:
Original von Chico
Ich habs noch mal mit nem besseren pc heruntergeladen und dieses Problem

code:
1:
2:
3:
Physball.exe - Komponente nicht gefunden
Die Anwendung konnte nicht gestartet werden, weil MSVCR71D.dll nicht gefunden wurde. Neuinstallation der Anwendung könnte das
Problem beheben.


Hast du http://saemon.planetcoding.net/sonstiges/PhysballBeta1.exe heruntergeladen und entpackt die exe durch die neue (http://saemon.planetcoding.net/otherpics/Physball.exe) ersetzt? In dem selbstentpackenden Archiv müssten eigentlich alle nötigen DLLs drin sein.
Chico
ich habs noch mal heruntergeladen jetzt funktionirts auch und ich finde die Spiel ideea garnicht schlecht.
Vorschläge: es müßte einen onlinehigscore, mehr levels
und leveleditor geben.