Somyeol2D - Casual Jump´n´Run

Stellt hier eure Projekte vor.
Internetseiten, Skripte, und alles andere bzgl. Python.
Antworten
BlazingSun
User
Beiträge: 4
Registriert: Mittwoch 27. April 2011, 15:29
Wohnort: Bremen
Kontaktdaten:

Hi Community,

ich habe mich hier mal angemeldet um das Projekt Somyeol2D, welches ich mit entwickelt habe, vorzustellen. Entwickelt haben wir dieses auf dem diesjährigen Global Game Jam innerhalb von 48 Stunden und es danach noch etwas verbessert, nachdem wir überraschend die Gamesauce-Challenge gewonne haben. Das ganze Spiel ist in Python geschrieben. Zum Zeichnen der Grafiken nutzen wir jedoch die JNGL-Bibliothek, welche auch eine Python-API bietet.

Das Ziel des Spiels ist es möglichst viele der Somyeols in ihr Haus zu retten. Dies ist jedoch gar nicht so einfach, da alle gleichzeitig gesteuert werden und sie auch unterschiedliche Fähigkeiten aufweisen.

Ich freue mich über jede Art von Feedback und ihr könnt uns natürlich auch gerne auf unserer Homepage http://www.somyeol.com besuchen.

Zum Vorgeschmack gibt es hier noch ein Video und ein paar Screenshots:

http://www.youtube.com/watch?v=2_ftaZ1SSa0

Bild
Bild
Bild

MFG

Jannik
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

Könntest du das Projekt bitte in einem anderen Archivformat zur Verfügung stellen? Ich kann keine debs entpacken.
Xynon1
User
Beiträge: 1267
Registriert: Mittwoch 15. September 2010, 14:22

Dann downloade doch das Zip :) (An die Python Scripte kommst du so zumindest ran)
"deb"s kann man zwar entpacken, sind doch aber gar nicht dafür gedacht.
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst.
Xynon auf GitHub
lunar

@Dauerbaustelle: Debian-Archive kannst Du auf der Kommandozeile mit "ar" und "tar" (für die inneren Archive) entpacken. Beide Programme sind eigentlich auf jedem Linux-System vorinstalliert. Alternativ kannst Du "bsdtar" aus "libarchive" oder jedes beliebige Archivprogramm, welches "libarchive" nutzt, verwenden (e.g. ark aus KDE).

Unabhängig davon wäre es natürlich schon, wenn man die Python-Quellen direkt herunterladen könnte.
BlackJack

Also bei mir sind beide Dateien unbrauchbar:

Code: Alles auswählen

bj@s8n:~/tmp$ 7z l Somyeol2d_110422.deb 

7-Zip 9.04 beta  Copyright (c) 1999-2009 Igor Pavlov  2009-05-30
p7zip Version 9.04 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,2 CPUs)

Listing archive: Somyeol2d_110422.deb

----
Path = Somyeol2d_110422.deb
Type = Deb

   Date      Time    Attr         Size   Compressed  Name
------------------- ----- ------------ ------------  ------------------------
2011-04-22 18:12:58 .....          572          572  control.tar.gz
2011-04-22 18:12:59 .....     10362441     10362441  data.tar.gz
------------------- ----- ------------ ------------  ------------------------
                              10363013     10363013  2 files, 0 folders
bj@s8n:~/tmp$ 7z x Somyeol2d_110422.deb 

7-Zip 9.04 beta  Copyright (c) 1999-2009 Igor Pavlov  2009-05-30
p7zip Version 9.04 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,2 CPUs)

Processing archive: Somyeol2d_110422.deb

Extracting  control.tar.gz
Extracting  data.tar.gz     Data Error

Sub items Errors: 1

bj@s8n:~/tmp$ unzip -l Somyeol2d_110422.zip 
Archive:  Somyeol2d_110422.zip
  End-of-central-directory signature not found.  Either this file is not
  a zipfile, or it constitutes one disk of a multi-part archive.  In the
  latter case the central directory and zipfile comment will be found on
  the last disk(s) of this archive.
unzip:  cannot find zipfile directory in one of Somyeol2d_110422.zip or
        Somyeol2d_110422.zip.zip, and cannot find Somyeol2d_110422.zip.ZIP, period.
lunar

@BlackJack: Ich kann beide Archive mit "bsdtar" bzw. "unzip" problemlos entpacken. Bist Du sicher, dass Du beide Dateien vollständig heruntergeladen hast? Mich wundert auch, dass 7z Debian-Archive verarbeiten kann ...
Xynon1
User
Beiträge: 1267
Registriert: Mittwoch 15. September 2010, 14:22

@BlazingSun
Wie du vieleicht mitbekommen hast, wäre es bedeutend schöner, den Source Code direkt als Downloadalternative bereit zustellen. Am besten einmal als zip(ohne die DLLs und EXEn) und einmal als tar.gz oder tar.bz2.
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst.
Xynon auf GitHub
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

lunar hat geschrieben:@Dauerbaustelle: Debian-Archive kannst Du auf der Kommandozeile mit "ar" und "tar" (für die inneren Archive) entpacken.
Danke für Tipp... hatte das wie alle Archive mit atool versucht zu entpacken, und das schrie nach dem Debian-Paketmanager, also nahm ich an, dass die Debianmenschen ein eigenes Format hätten...
Benutzeravatar
snafu
User
Beiträge: 6740
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Oder den Code gleich über einen Quelltext-Hosting-Dienst wie etwa GitHub zur Verfügung stellen. :)
BlazingSun
User
Beiträge: 4
Registriert: Mittwoch 27. April 2011, 15:29
Wohnort: Bremen
Kontaktdaten:

Xynon1 hat geschrieben:@BlazingSun
Wie du vieleicht mitbekommen hast, wäre es bedeutend schöner, den Source Code direkt als Downloadalternative bereit zustellen. Am besten einmal als zip(ohne die DLLs und EXEn) und einmal als tar.gz oder tar.bz2.
Hi,

ich werde heute Abend schauen, dass ich nochmal nur den Source hochlade. Ansonsten könnt ihr die Windows-Version ziehen und den Python-Ordner löschen. JNGL muss dann aber selbst kompiliert werden. JNGL gibt es hier: http://jngl.watteimdocht.de

MFG

Jannik
Xynon1
User
Beiträge: 1267
Registriert: Mittwoch 15. September 2010, 14:22

@snafu
Sowieso, dann hat man auch die Archive automatisch. Ich sagte ja bereit stellen und das wäre dann wohl die geschickteste Möglichkeit.

@BlazingSun
Wenn man sich den reinen Source Code schnappt, geht man davon aus die Abhängikeiten von diesem selbst erfüllen zu müssen. Es sollte einfach eine README oder INSTALL Textdatei dabei sein, in welcher man die Anhängigkeiten des Codes kurz definiert und eventuell noch die Links zu den entsprechenden Seiten reinstellt.
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst.
Xynon auf GitHub
BlazingSun
User
Beiträge: 4
Registriert: Mittwoch 27. April 2011, 15:29
Wohnort: Bremen
Kontaktdaten:

Hi,

gibt ab jetzt auch den Source ohne Bibliotheken auf unserer Seite.

MFG

Jannik
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

Ein Bisschen PEP 8 und der Drang, sich nicht selbst zu wiederholen täte der Codebasis ganz gut ;)

Ist die Kollissionsfindung eigentlich echt so ein Bottleneck, dass das Spiel flüssiger läuft, wenn ihr das in Cython schreibt?
derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

Ich würd das Spiel ja gerne installieren, aber leider ist keine setup.py vorhanden. Also schaute ich in der README nach, wie ich das Spiel denn zu installieren habe. Python2.7 habe ich schon, also ging ich zur nächsten Abhängigkeit über. Ich solle also JNGL über die Seite http://jngl.watteimdocht.de/ herunterladen und installieren können. Da gibt es aber keine Version für Linux+Python (nur Linux mit C++) oder für Mac.

Fazit: mach ne setup.py mit tolles clssifiern und so und schreib in die README und/oder setup.py, welche Betriebssysteme unterstützt werden.
BlazingSun
User
Beiträge: 4
Registriert: Mittwoch 27. April 2011, 15:29
Wohnort: Bremen
Kontaktdaten:

@Dauerbaustelle
Stimmt, das das Projekt manchmal etwas durcheinander ist liegt daran, dass die Codebasis innerhalb der 48Stunden entstanden ist, da macht man sich dann nicht wirklich Gedanken über Coding-Guidelines und implementiert auch doppelt, da selber machen fast immer schneller ist als im Code von anderen zu suchen. Als wir dann noch etwas verbessert haben, hatten wir auch nicht wirklich Zeit zum Aufräumen, da das ja auch ziemlich viel Arbeit ist. Jetzt noch Zeit darauf zu verwenden den Code aufzuräumen schaut schlecht aus, da wir schon unser nächstes Projekt gestartet haben. Nächstes Jahr gibt es vermutlich wieder ein Spiel im Rahmen des Global Game Jam in Python von uns. Vielleicht bekommen wir es dann ja besser hin uns an die Coding-Guidelines zu halten.

Zu dem Kollisions-Teil:
Das Auslagern hat sich definitiv gelohnt, da wir ja viele Objekte haben die miteinander geprüft werden müssen (und der Bewegungscode vermutlich auch nicht optimal ist) und es hat sich dadurch eine deutliche FPS-Steigerung bemerkbar gemacht. Mehr gebracht hat allerdings eine Box um die Somyeols zu erstellen und nur auf Objekte inenrhalb dieser zu testen. Vielleicht habt ihr ja noch Ideen wie man die Kollision weiter verbessern könnte, da ich nicht wirklich der Fachmann in diesem Gebiet bin und wir auch froh waren, dass alles soweit funktioniert.

@Derdon
Dem Debian-Package liegen vorkompilierte Versionen von JNGL in 32 und 64Bit bei. Ansonsten musst du JNGL selber kompilieren. Eine Anleitung dazu gibt es hier: http://jngl.watteimdocht.de/BuildLinux/ Da ich selber noch nicht für Linux kompiliert habe kann ich da jedoch auch nicht wirklich weiterhelfen.

MFG

Jannik
Antworten