Performancetest: Kleines Spielchen

Status
Nicht offen für weitere Antworten.

Steev

Bekanntes Mitglied
Hallo liebe Forengemeinde,

ich habe ein kleines Spielchen geschrieben. Bei mir funktioniert das Spielchen zwar. Ich würde aber gerne wissen, ob das Spiel auch bei anderen performant läuft.

ballonShooter_screen1.gif


Unter folgendem Link könnt Ihr euch das Spiel herunterladen:

http://steev.st.ohost.de/BallonShooter.zip

Anleitung: Ballon Shooter

Installation:
1. zip-Datei entpacken
2. jar-Datei ausführen

Achtung, das Spiel startet sofort

Spielen:
Das Spiel ist ein Endlosspiel.
Ziel des Spieles ist es, so viele Punkte wie möglich zu erreichen. Für jeden Ballon, der nicht abgeschossen wurde, wird ein Punkt abgezogen, für jeden abgeschossenen Ballon gibt es zwei Punkte.
Damit das Spiel nicht zu einfach wird ist die Zeit und die Munition begrenzt. Man kann also nicht wahllos herumklicken.

Achtung, manchmal hängt an den Ballon eine Objekt. Wenn diese Objekte abgeschossen werden, gibt es Zusatzpunkte. Wird hingegen der Ballon abgeschossen, so fällt das Objekt herunter und es gibt keine Zusatzpunkte.

Die Objekte sind wichtig, weil es für manche Objekte zusätzliche Zeit, Munition oder Punkte gibt.


Über Rückmeldungen ob und wie das Spiel bei euch funktioniert würde ich mich freuen.
 
Zuletzt bearbeitet:
Wäre es in Ordnung wenn du die Sourcen uploaden würdest, würden mich mal interessieren. Funktioniert bei mir ohne Probleme.
 
Da spräche eigendlich nichts gegen. Allerdings benutze ich meine Engine EGE dafür, daher hält sich der Quellcode für das Spielchen in Grenzen.
...und dann habe ich noch das Problem, dass ich z.Z. nur mit einem Modem im Netz bin...

Ich probiere mal den Source hochzuladen...
 
Das kann ich mir denken 🙂

Ich gucke mal, ob ich das ganze irgendwie hochladen kann. Javadocs habe ich schon erstellt. Ich habe nur gerade einen Upload von 0.06Kbs...............das kann also noch etwas dauern.
 
So, der Source für das Spielchen ist online:

unter folgendem Link kann der Source heruntergeladen werden.

http://steev.st.ohost.de/BallonShooter_Source.rar

Ausführbar ist das ganze jetzt natürlich nicht mehr, da ja die jar-Datei der Engine fehlt. Die reiche ich aber sobald es geht nach...

[edit]
So, ich habe mal die JAR, die JavaDocs und den Source der Engine hochgeladen.

Die Engine:
http://steev.st.ohost.de/ege/EGE.jar

Der Source der Engine:
http://steev.st.ohost.de/ege/EGE_Source.rar

Die JavaDocs:
http://steev.st.ohost.de/ege/EGE_docs.rar

Viel Spaß damit
Gruß
Steev
 
Zuletzt bearbeitet:
Ja, funktioniert - die Performance war aber auf meinem Rechner weniger die Frage... :smoke: 😉 Noch ein paar Farben ändern, dann kannst du es als Werbespiel für Pro Familia einsetzen 😀
 
😀 Mach ich bestimmt

PS:
Auf meinem Rechner ist die performance auch kein Problem (AMD Phenom X2 955)
Aber gerade das ist ja ein Problem, weil man dann leich so programmiert, dass es nur noch bei einem selbst funktioniert 😉
 
Etwas irritierend finde ich jetzt die extreme Allgemeingültigkeit der Game Engine, und im Kontrast dazu die vergleichsweise ""Einfachheit"" des Spiels. War das ... eher ein "Test" für die GameEngine?
 
Ja und nein 🙂

Die Game Engine war das eigendliche Projekt. Da ich mit diesem Projekt jetzt weitesgehend "durch" bin, fange ich an meine Engine zu nutzen. Der eigendliche Test ist aber schon abgeschlossen.

Von daher sind diese Spielchen so eine Art "Test" der Engine, weil ich gucken will, ob ich mit der Engine klar komme.
 
Nettes Spielchen - läuft auch bei mir problemlos. 😀
Ich fand es nur sehr schwer, die Boni abzuschießen. 🙁
 
🙂
Das soll ja auch nicht zu einfach sein...

Das liegt daran, dass für alle Objekte eine Pixelgenaue Kollisionsabfrage verwendet wird. Die Boni-Objekte sind tw so klein, dass man dann nur auf etwa 16x16 Quadratpixel klicken muss.

Falls ihr meint, dass das zu schwer ist, mache ich für die Bonis einen Boundingbox-HitTest.
 
Also ich habe auch oft genug daneben geschossen, vor allem bei den Bonis.

Ich finde die Pixe genau Kollisionsabfrage aber toll. Soll ja nicht zu einfach sein. 🙂
 
Ich weis ja nicht wie es euch geht, aber ich finde das Spiel irgendwie langsam zu einfach. Wenn man einigermaßen Treffsicher ist, dann kann man das Spiel endlos spielen...

Wie könnte ich das Spiel anspruchsvoller machen?

Level mit steigender Geschwindigkeit und kleineren Ballons?
Weniger Zeit und Munition bei Pickups?
Mindestpunktzahlgrenze und höhere Abzüge für durchgelassene Ballons?

Ich habe keine Ahnung, vieleicht habe ihr ja ein paar nette Ideen...
 
Meine Vorschläge

1) wie wär's mit Wind? Also seitliche Bewegung der Ballons

2) Dieses Dynamit-Pickup würde ich überarbeiten:
• nur ein bestimmter Radius der Explosion, das gibt dem ein taktisches Element. Da sich die Ballons ja auch unterschiedlich schnell bewegen, gibt es einen Zeitpunkt bei dem ich die meisten Ballons damit zerstöre.
• ich würde da zudem einen Effetk einbauen für die Explosion / Druckwelle

3) "Ghost-Balloons": Sie sind unsichtbar und blenden sich zB alle 2 Sekunden nur kurz ein und aus. Damit muss man etwas mitrechnen und predicten wo das Teil grad ist bzw. wo es gleich auftaucht. Natürlich gibt so ein Ballon mehr Punkte.

4) Ich würde ne kleine Bonus-Runde einbauen: Wenn man x Ballons in Folge abgeschossen hat (kein Fehlschuss), schaltet sich ne Bonus Runde zwischen, wo man dann ne Maschine-Gun hat und durchklicken kann, und der Bildschirm ist prall gefüllt mit Ballons. Einfach aus Fun, um Punkte zu sammeln als Belohnung für die Zielgenauigkeit. Nach x Sekunden ist die runde zu ende und das normale Spiel geht weiter.

5) Du könntest ne Tiefenebene einbauen, sodass zB ein Ballon vorne, der schneller ist, einen hinteren überholt. Für einen Shot durch 2 Ballons könnte es dann auch Extra-Punkte geben.

6) Vllt die Grafik der Ballons etwas überarbeiten, so einen kleinen Spiegeleffekt vllt rein. NAch ca 30 Sekunden spielen kam es mir irgendwie vor als würde ich auf Sperma schiessen 😉
 
Danke für die Vorschläge,

das müsste eigendlich alles kein Problem sein, ich werde mich mal dran machen, das ganze umzusetzen.
Ein Shot durch mehrere Ballons ist jetzt schon möglich, nur dass man keine Extrapunkte bekommt 😛
Falls jemand noch Vorschläge zur Verbesserung hat, bitte posten, ich freue mich...
 
Die Vorschläge von hdi finde ich super :toll: :applaus:
Lediglich die Ghost-Ballons nicht ... das ist so "unrealistisch" ... 😉
Die "Tiefenebene" Könnte sich schon allein in unterschiedlich großen Ballons äußern - ggf. könnten weiter entfernte (kleinere) dann auch mehr Punkte bringen ... obwohl sie sich (wegen der größeren Entfernung) dann eigentlich auch insgesamt langsamer bewegen müßten.
 
So,

ich habe jetzt mal (fast) alle Vorschläge mit in das Spiel aufgenommen. Die neue Version steht euch unter folgendem Link zum Download zur Verfügung. Den Source habe ich jetzt nicht aktualisiert.

http://steev.st.ohost.de/BallonShooter2.rar

Ich hoffe das Spiel ist immer noch spielbar und performant.

Die Grundlegenden Neuerungen sind:
1. Es gibt jetzt einen Shop, wo man sich für Punkte Munition, Zeit, und Waffen kaufen kann
2. Es gibt einen Windsack, der anzeigt, wie der Wind weht
3. Die Ballon sind verschieden weit von der Kamera weg
4. Es gibt jetzt eine Pause-Funktion (Leertaste)
5. Wenn man 20 Mal hintereinander trifft wird ein Bonuslevel freigeschaltet
6. Kleinere Ballons und PickUps bringen mehr Punkte

Es gibt folgende Waffen:
1. Pistole: Die Standardwaffe, hat nur einen Schuss pro Klick
2. Shotgun: Schießt mehrere Kugeln pro Schuss und kann mehrere Ballons in der Umgebung treffen
3. Maschinengewehr: Wenn mann die Maus gedrück hält, dann hat man 59 Schuss, die geschossen werden, ohne Munition zu verbrauchen
4. Sniper: Schießt nur einen Schuss pro Klick, stellt aber ein Zielfernrohr bereit, mit dem an Objekte gezoomt werden kann (Mausrad)

Wenn Ihr noch weitere Verbesserungsvorschläge habt, dann postet doch bitte. Mich würde auch interessieren, ob das Spiel bei langsameren Rechnern gut läuft.
 
Zuletzt bearbeitet:
Für 20 Sekunden kommen nur große Ballons und die Wahrscheinlichkeit, dass an diesen PickUps hängen ist größer als normal.
 
Bei mir kann ich das Spiel nicht öffnen. Wenn ich die Jar manuell öffne kommt die Meldung das die Datei nicht geöfnet werden kann, und über java -jar:

Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:675)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:316)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374)
 
Hmm, das ist ja eigenartig. Was verwendst du für ein Betriebssystem und welche Version hast du ausprobiert?
 
ich hab mac osx und hab die beiden versionen ausprobiert..den source kompilieren kann ich auch nicht..
 
Kommt beim Kompilieren des Quellcodes dieselbe Fehlermeldung oder eine andere? Was hast du für eine Java-Version? (EDIT: Ups, wir haben uns überschnitten :-D)

Ach so, für das Kompilieren des Quellcodes benötigst du die class-Dateien der EGE-Engine. Die liegen in der JAR-Datei bei.
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.

Zurück
Oben