Alternative zu pyGame? [geschlossen]

7

Ich lerne etwas über Spielprogrammierung aus einem Buch über "pyGame". pyGame ist einfach, aber ... Python ist ein wenig komplex und unterscheidet sich von meinem vorherigen Programmierwissen.

Ich kenne "klassische" Sprache: C # (auch C / C ++), Java ... Ich weiß, dass viele Leute Python lieben, aber für mich ist es etwas schwieriger zu lernen!

Ich sehe also so etwas wie "pyGame" aus, aber für Java oder für c # ... Eine Bibliothek, mit der ich fast das Gleiche tun kann wie mit Pygame (also ... mehr mit weniger Code ... und Kopfschmerzen) .

stighy
quelle
5
Ehrlich gesagt würde ich einen Nachmittag mit dem Python-Tutorial ( docs.python.org/tutorial ) verbringen . Python hat ein paar Kuriositäten, aber es ist eine ziemlich einfache Sprache zu lernen.
drxzcl
3
Sie werden nicht viel finden, mit dem Sie mit weniger Code mehr erreichen können als mit Pygame. Das Rendering-Modell von Pygame ist auf modernen Computern (CPU-seitigen Framebuffern) so einfach, dass es dumm und nutzlos ist, und die Benutzeroberfläche ist nahezu so hochwertig, wie Sie es für diese Computer nur können.
3
Komplex? Python? sbrotfl. Dive in Python ist eine der besten Anleitungen, die ich je gelesen habe diveintopython.org/toc/index.html
o0 '.
Ich habe Python an einem Nachmittag gelernt (aus jahrelanger C ++ - Erfahrung) und innerhalb einer Woche habe ich mehr Funktionen in Pygame schneller geschrieben.
Dash-Tom-Bang
3
Bei einem zweiten Blick auf diese Frage ist sie sehr irreführend. Der Titel schlägt vor: "Welche anderen Bibliotheken gibt es für Python?" Die Frage ist jedoch, welche 2D-APIs es für Java oder C # gibt. das ist ganz anders.
Die kommunistische Ente

Antworten:

7

Liebe bietet eine ähnliche Komplexität wie PyGame, obwohl ich nicht sicher bin, ob Sie Lua viel einfacher finden als Python. Wenn Sie sich nur für etwas Direkteres entscheiden möchten, suchen Sie nach Bindungen für SDL ( z. B. SDL.NET ) für Ihre Lieblingssprache oder verwenden Sie sie sogar direkt in C. Viele PyGame-APIs sind nur Thin Wrapper für die SDL-Funktionalität.

Codierer
quelle
Vielen Dank, ich kannte SDL.NET nicht. Ich denke es ist was ich suche;)!
stighy
1
Nitpick: Es ist LÖVE.
Egarcia
Die LÖVE-Bibliothek ist eigentlich einfacher zu beginnen als die von PyGame, da viele nette kleine Dinge wie Sprite-Animationen bereits für Sie erledigt sind.
James
4

Ich bin nicht mit pyGame vertraut, aber wenn Sie nach einem einfachen Framework für die Spieleentwicklung suchen, warum nicht XNA 4.0 verwenden? Es ist kostenlos und ermöglicht das Erstellen von Spielen, die auf der XBox 360, Zune HD oder Windows Phone 7 gespielt werden können.

Der Vorteil dieser Funktion besteht darin, dass Sie Ihr C # -Wissen ganz einfach nutzen und sofort mit dem Erlernen des Frameworks beginnen können, anstatt mit der Sprache zu ringen.

Ich empfehle Ihnen dringend , XNA zu lernen, indem Sie dieser großartigen Reihe von Tutorials von Riemers folgen .


quelle
3
Da XNA mit beiden vertraut ist, ist es PyGame bei weitem nicht ähnlich. Die Grafik-APIs sind weitaus niedriger und bieten nichts Vergleichbares wie das grundlegende Sprite-System in PyGame.
Coderanger
Dann ist das erledigt; XNA wäre wahrscheinlich die beste Wahl für OP. Es ist sehr einfach zu bedienen und effektiv.
@coderanger: XNA hat Sprites. msdn.microsoft.com/en-us/library/bb194908.aspx . Sie sind erheblich besser als Pygame-Sprites, da sie tatsächlich Hardwarebeschleunigung verwenden können. (Und dadurch gute Rotation, Shader usw.)
1
Ich empfehle XNA für Anfänger. Ich habe ziemlich gute Erfahrungen damit gemacht.
Michael Coleman
1
Ich möchte darauf hinweisen, dass sich die Plattformunterstützung von XNA völlig von der von PyGame unterscheidet. Es ist kaum ein Ersatz, wenn Sie auf ein Nicht-MS-Gerät abzielen.
Egarcia
3

http://wiki.python.org/moin/PythonGames enthält die Liste der Python-Game-Engines / -Bibliotheken. Einige der Spiel-Engines in der Liste sind nicht nur Python. Ogre und Panda sind in beiden Fällen bekannt. Sie können C ++ verwenden.

udurak
quelle
2

Strg + C Strg + V von einer anderen Frage, die ich gepostet habe

Slick ist eine schöne 2D-Java-Bibliothek, die auf LWJGL basiert. Es behandelt die Spielschleife, das Rendern und enthält nützliche Funktionen zum Implementieren von Sprites.

Es wird mit vielen verschiedenen Demos und Beispielen geliefert.

Dinge wie Tilemaps, Sprite-Blätter usw. sind alle integriert. Grundsätzlich können Sie sich auf das Spiel konzentrieren und nicht darauf, wie man eine Engine schreibt.

David Young
quelle
Was macht Strg + P?
DMan
Tippfehler = p Strg + V
David Young
1

Wenn Sie C kennen, würde ich Allegro, die Programmierbibliothek für Spiele, empfehlen. Das habe ich verwendet, als ich zum Spielentwickler kam, und es hat mir damals gute Dienste geleistet. Es hat ähnliche Funktionen wie SDL, aber für mich war es immer einfacher und unkomplizierter. Sie sagen sogar auf der Website, dass es Bindungen für C # gibt, aber ich habe keine Ahnung, wie diese funktionieren.

http://www.talula.demon.co.uk/allegro/

Außerdem finde ich es sehr seltsam, dass Sie sagen, Sie kennen C ++, können aber Python nicht lernen. Python ist viel einfacher und benutzerfreundlicher als C ++.

Luker
quelle
1

Ehrlich gesagt glaube ich nicht, dass etwas besser sein kann als Pygame: SDL ist einfach genug, also eine gute Wahl. Wenn Python über Programmiererfreundlichkeit nachdenkt, ist es die beste Sprache aller Zeiten. Ich glaube nicht, dass du es besser machen kannst als Pygame.

Jokoon
quelle
0

SDL wird mit c erstellt und ist möglicherweise die beliebteste Programmierbibliothek für Spiele. Ich glaube auch, dass ich irgendwo gelesen habe, dass pyGame darauf basiert.

http://www.libsdl.org/

thbusch
quelle
0
  • Angel-Engine ist für einfaches Prototyping gedacht, aber ziemlich vollständig.
  • panda 3d ist eine vollwertige 3D-Engine, die von kommerziellen Spielen verwendet wird. Sie verfügt jedoch über eine relativ einfache Python-Oberfläche, wenn Sie keine Lust haben möchten (sehen Sie sich nur die einfachsten Beispiele an).

Beide sind gut dokumentiert.

MarkovCh1
quelle