# Präsentiere mein Spiel (zum downloaden)



## maracash (30. Mrz 2011)

Hallo alle zusammen,

hier endlich will ich heute mein Spiel präsentieren. Es gibt ja kein Thema dazu und die Grafik ist auch schnell gemacht worden. Aber guckt es euch selber an.

Hier ist der Link zum downloaden: http://alternativfoto.de/biletik/Archiv.zip

Viel Spass.

PS. *Vor dem 1. Spiel nach jedem Start* gibt es immer Möglichkeit ein Level selbst zu machen (im Menü: Leveleditor).

Ich muss aber die neue Levels immer neu übersetzen.


----------



## Antoras (30. Mrz 2011)

Ganz nett gemacht, nur hab ich bis jetzt nicht herausgefunden was das Ziel des Spiels ist und wie man über das 2. Level kommt.

Ein paar Verbesserungsvorschläge:

Du hättest in dem Thread sagen sollen worum es in dem Spiel geht usw. Erst auf Entdeckungsfahrt gehen zu müssen (Archiv entpacken etc.) ist mühsam.
Ich hab es schon angedeutet: Eine Anleitung fehlt. Wie komm ich z.B. über die Stacheln im 2. Level?
Die Prozessorauslastung liegt bei 100%. Da fehlt eindeutig ein Thread.sleep im Programm.
Die Menüleiste ist zu klein. Die Titel der Panels kann man nicht ganz erkennen. Die Grafiken für die Menübuttons sind zu klein.
Das Männchen bewegt sich immer nur ein Feld weit. Es wäre schön, wenn es sich z.B. bei einem Doppelklick bis zu der angeklickten Stelle bewegt.
Wieso verschiebt sich das Spielfeld? Mein Bildschirm ist groß genug, ist sehe das komplette Spielfeld. Da muss sich also nichts bewegen.
Exception beim Programmstart:

```
SCHWERWIEGEND: Can't find the file ==> LevelEditor.png
javax.imageio.IIOException: Can't read input file!
	at javax.imageio.ImageIO.read(ImageIO.java:1275)
	at packman.MyMenuButton.<init>(MyMenuButton.java:19)
	at packman.MyMenuPanel.<init>(MyMenuPanel.java:42)
	at packman.MyFrame.<init>(MyFrame.java:28)
	at packman.Main.packmans_frame(Main.java:17)
	at packman.Main.access$000(Main.java:7)
	at packman.Main$1.run(Main.java:62)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:642)
	at java.awt.EventQueue.access$000(EventQueue.java:85)
	at java.awt.EventQueue$1.run(EventQueue.java:603)
	at java.awt.EventQueue$1.run(EventQueue.java:601)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:612)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
```


----------



## dehlen (30. Mrz 2011)

also habe das ganze jetzt mal bis level 6 gespielt
was ich noch verbessern würde :
wenn ich noch 10% gesundheit habe und dann auf try again klicke kann ich es nochmal neu mit 100% gesundheit versuchen, das leben bleibt mir aber erhalten. 
Ich kann also quasi nicht gameover gehen.
Besser fände ich es wenn man das leben dann auch abgezogen bekommen würde.

Dann finde ich die sounds nervig bzw unpassend
diese geräusch wenn er sich verletzt ist grässlich und "Sie haben eine neue Nachricht" passt gar nicht, wenn man ein Dynamit legt.

Dann fände ich es besser, wenn man das Dynamit legt sollte man so 3 sek oder so haben um weg zu rennen, weil im moment bekommt man keinen schaden wenn man direkt neben dem dynamit steht, das würde ich noch ändern

Weitere verbesserung wäre, das man den geschafften level nochmal spielen kann und das je schneller man das level beendet umso mehr punkte 

@Antoras du kommst über level 2 heraus indem du das dynamit einsammelst und es per space zündest um dir den weg frei zu machen =)

EDIT: Huch das ist schon Level3 um Level 2 zuschaffen gehst du zuerst mal ganz klar zu dem diamant oben links dann gehst du über die stacheln zum zum zweiten diamant da hast du dann noch 20% gesundheit dann noch oben zu dem trank dadurch musst du noch über einen stachel -> 10 % ->Trank einnehmen -> 30% nun über die zei stacheln nach unten zum 3 diamant gehen und geschafft


----------



## maracash (30. Mrz 2011)

*@Antoras*
Ein Paar Worte über das Ziel des Spieles (sammle Diamanten und bleib am leben) konnte man wirklich schreiben.



> Die Prozessorauslastung liegt bei 100%. Da fehlt eindeutig ein Thread.sleep im Programm.



Das Problem sehe ich jetzt auch. Nur die Lösung ist mir nicht ganz klar. Sleep reduziert wirklich die Auslastung, aber wo und wie ich es einsetzen soll, weiß ich noch nicht. Trotzdem danke für den Tipp.  :rtfm:



> # Die Menüleiste ist zu klein. Die Titel der Panels kann man nicht ganz erkennen. Die Grafiken für die Menübuttons sind zu klein.
> # Wieso verschiebt sich das Spielfeld? Mein Bildschirm ist groß genug, ist sehe das komplette Spielfeld. Da muss sich also nichts bewegen.


Das muss noch verbessert werden.

Aber 





> # Das Männchen bewegt sich immer nur ein Feld weit. Es wäre schön, wenn es sich z.B. bei einem Doppelklick bis zu der angeklickten Stelle bewegt.


das geht nicht, weil in den weiteren Levels gibt es auch Feinde, die sich auf dem Feld bewegen. Es kann dann für den Spieler zu unerwarteten Ergebnissen führen.

Was das Exception angeht, kommt bei mir nicht vor. Ich werde erstmal abwarten, bis sich noch jemand meldet.



*@dehlen*
Hi dehlen.



> wenn ich noch 10% gesundheit habe und dann auf try again klicke kann ich es nochmal neu mit 100% gesundheit versuchen, das leben bleibt mir aber erhalten.
> Ich kann also quasi nicht gameover gehen.
> Besser fände ich es wenn man das leben dann auch abgezogen bekommen würde.


Stimmt, es wird demnächst gemacht.



> diese geräusch wenn er sich verletzt ist grässlich und "Sie haben eine neue Nachricht" passt gar nicht, wenn man ein Dynamit legt.  :toll: :lol:


besser kann man es nicht beschreiben! Ich muss ja ein Paar neue Sounds suchen oder erstellen. Hast du vielleicht welche parat?




> wenn man das Dynamit legt sollte man so 3 sek oder so haben um weg zu rennen


mache ich auf jeden fall die zeit bisschen länger. es hat mich auch mal geärgert.



> je schneller man das level beendet umso mehr punkte


ich glaube das würde das Spiel noch spannender machen, danke!


----------



## Quaxli (31. Mrz 2011)

Geb ich doch auch mal meinen Senf dazu. 

Erst mal das Gemecker  :
1. Bei mir flackert die Spielfigur, wenn sie sich bewegt, zwischen dem weißen Strichmännchen und einem ausgemalten Männchen. Das ist wohl beabsichtigt? Richtig, toll finde ich den Effekt nicht, vor allem da das weiße Strickmännchen bei mir zu sehr dominiert. Das ist aber eher subjektiv. 
2. Ich finde die Bewegung zudem etwas "ruckelig". Du schreibst oben, daß es beabsichtigt ist, daß sich das Männchen immer nur ein Feld weit bewegt. Ich fände es jedoch besser, wenn die Bewegung von Feld zu Feld flüssiger wäre.
3. Warum packst Du die Grafiken nicht mit in das JAR-File? Dann sparst Du Dir das zippen und kannst es einfach so verteilen. Wenn man das zip-File entpackt flutet es das aktuelle Verzeichnis erst mal unnötigerweise mit Grafikdateien.
4. Ich würde es besser finden, wenn man aus dem Editor oder dem Spiel über "Exit" ins Hauptmenü käme und nicht jedes Mal das Spiel beendet wird.
5. Ich habe einen Level erstellt und gespeichert, aber nicht rausbekommen, wie ich den testen oder laden kann. Fehlt da noch was?

Im Großen und Ganzen finde ich das Spiel aber schon ganz gut, auch wenn noch einiges verbesserungswürdig ist.  Ich finde es immer sehr schön, wenn zu einem Spiel dieser Art auch ein Level-Editor spendiert wird (auch wenn ich noch nicht herausbekommen habe, wie ich einen Level spielen kann  ). Ich denke, wenn Du noch etwas Arbeit in den Feinschliff steckst, kommt dabei ein ganz gutes Spiel raus.


----------



## maracash (31. Mrz 2011)

> 5. Ich habe einen Level erstellt und gespeichert, aber nicht rausbekommen, wie ich den testen oder laden kann. Fehlt da noch was?



Bei neuen Leveln wird eine Textdatei erstellt. Ich muss leider diesen Text noch in mein Programm reinkopieren und dann mal übersetzen.

Wenn du was tolles erstellt hast, schick mir einfach die Datei zu oder poste hier. Ich setze es dann ein.


----------



## maracash (31. Mrz 2011)

> 3. Warum packst Du die Grafiken nicht mit in das JAR-File? Dann sparst Du Dir das zippen und kannst es einfach so verteilen. Wenn man das zip-File entpackt flutet es das aktuelle Verzeichnis erst mal unnötigerweise mit Grafikdateien.



wie geht das?


----------



## Antoras (1. Apr 2011)

maracash hat gesagt.:


> Bei neuen Leveln wird eine Textdatei erstellt. Ich muss leider diesen Text noch in mein Programm reinkopieren und dann mal übersetzen.


Ich empfehle dir, dein Programm in dieser Hinsicht ein wenig umzubauen. Ich würde die Daten für ein Level nicht im Source Code sondern in extra Dateien verwalten. Das hat den Vorteil, dass du jederzeit Änderungen an bestehenden Levels vornehmen und auch jederzeit Neue ins Programm einbinden kannst ohne, dass jedes Mal der Code neue kompiliert werden muss.



> wie geht das?


Wie geht was? Wie du die Grafiken in das JAR packst? Das hast du doch schon bei den Audio-Dateien hinbekommen, ist das gleiche Prinzip.

@dehlen
Danke für deine Tipps, ich bin jetzt auch weiter gekommen. Ich wäre nie darauf gekommen, dass es erforderlich ist der eigenen Spielfigur Schaden zuzufügen um weiter zu kommen. Ich hab immer versucht die Mauerstücke irgendwie zu verschieben...


----------



## ARadauer (1. Apr 2011)

maracash hat gesagt.:


> Das Problem sehe ich jetzt auch. Nur die Lösung ist mir nicht ganz klar. Sleep reduziert wirklich die Auslastung, aber wo und wie ich es einsetzen soll, weiß ich noch nicht. Trotzdem danke für den Tipp.  :rtfm:



zb bei sowas
In der MyGame gibt mir jad das

```
while (true)
    {
      this.mGame.GetStateMachine().Update();
    }
```

muss man das wirklch ein paar tausendmal in der sekunde machen? oder würde alle 100 ms auch reichen?


----------



## maracash (1. Apr 2011)

*HILFE! *



> 3. Warum packst Du die Grafiken nicht mit in das JAR-File? Dann sparst Du Dir das zippen und kannst es einfach so verteilen. Wenn man das zip-File entpackt flutet es das aktuelle Verzeichnis erst mal unnötigerweise mit Grafikdateien.





> Wie geht was? Wie du die Grafiken in das JAR packst? Das hast du doch schon bei den Audio-Dateien hinbekommen, ist das gleiche Prinzip.



das wundert mich auch. Das macht mich verrückt! Ich weiß es nicht, warum jar-Datei ohne Sounds aber nicht ohne *.png funktioniert. Ganze Zeit versuche ich es rausbekommen, aber es klappt nicht. Soll was in NetBeans bei Projekt-Konfiguration einstellen?


----------



## darekkay (3. Apr 2011)

Eine kleine Idee von mir - mit "Enter" sollte man auch ins nächste Level kommen können, ohne auf "Next Level" mit der Maus klicken zu müssen 

(btw - victory trompeten aus Cossacs? xD)


----------



## maracash (3. Apr 2011)

^ stimmt, das klingt sehr logisch. ich baue jetzt menü bisschen um, mal gucken, was daraus wird, aber ich werde deine idee im auge behalten.


----------

