Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

27.05.2010, 22:04

Python+Pygame Möglichkeiten

Hi ihr Progger,

Ich habe schon viele Programmiersprachen ausprobiert, bin bestimmt 4 mal wieder auf c++ gekommen und bin aber schließlich bei python bzw. pygame hängengeblieben. Durch ein paar ziemlich gute Youtube-Tutorials habe ich mir die Grundlagen angeeignet und mir gefällt die klare Syntax.
Aber wie weit komme ich mit diesen Mitteln? Python ist ja eine interpretierte Sprache und das hat den Nachteil dass der Interpreter auf dem ausführenden PC vorhanden sein muss und dass es ähnlich wie java durch die Interpretierung langsamer ist als kompilierte Sprachen! Pygame basiert ja auch auf der SDL, lohnt es sich also endgültig auf c++ und z.B. SDL umzusteigen, sich mal durchzubeissen? Oder meint ihr ich soll mit python weitermachen?
Ich brauche nur mal eine Entscheidungshilfe damit ich nicht noch ein 124. mal die Sprache wechsle sondern mich mal "spezialisiere".

Ich hoffe ihr könnt mir helfen,
mfg, Encode.

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

2

27.05.2010, 22:17

Also C++ bietet dir natürlich sehr viele Möglichkeiten und ein tieferes Verständnis sowieso (vor allem, wenn du noch was mit Informatik am Hut haben wirs in Zukunft).

Aber wirklich notwendig ist es eigentlich nicht.
z.B basiert PRPG lediglich bei den sehr performancekritischen Sachen (wie Rendering) auf C++ und der Rest ist in Python geschrieben.
Respektive das Spiel ist mit FIFE als Framework geschrieben, welche im Core auf C++ basiert, aber ansonsten ist selbst diese Engine Python.

Du siehst, dass man das als Hobbyentwickler schon sehr weit kommt.

Ich hoffe das hilft dir ein wenig.

3

27.05.2010, 22:21

Also sind das Engines oder Sachen wie Pygame?

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

4

27.05.2010, 22:56

FIFE ist eine Engine, welche halt auf ein paar 2D Sachen spezialisiert ist (isometrie). Prinzipiell ist es aber das gleiche, wie Pygame, wenn ich das richtig sehe, allerdings auf einer anderen Stufe, welche sich nicht wirklich vergleichen lässt.

PARPG ist dann einfach ein Spiel, welches auf FIFE aufbaut.

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

5

27.05.2010, 23:56

Python ist wesentlich besser für rapid prototyping geeignet als c++. Auch bin ich atm an Panda3D dran. Mal schauen wie die so ist. Aber im allgemeinen bietet es sich bei größeren Projekten immer an eine Trennung zwischen Daten, Logik und "Arbeitssachen" zu machen. C++ ist ohne zweifel mächtig, aber manchmal quälend langatmig. Um z.B. eine Comprehension von Python in C++ auszudrücken braucht man locker mal 20 Zeilen.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

ArthurII

Treue Seele

Beiträge: 132

Wohnort: Aachen

Beruf: Student

  • Private Nachricht senden

6

28.05.2010, 11:25

also ich selber bin über python in die welt der programmierung eingestiegen. Wir wollten das damals in der Schule machen, haben nur leider nie damit angefangen, da der Lehrer krank wurde...
habe auch schon mal ein kleines Game angefangen in python mit pygame zu schreiben. Hab mir nur leider damals !KEINE! gedanken über Performance usw gemacht, sodass das spiel bereits lange, lange vor vollendung vieeel zu lahm wurde.
Aus jetziger Sicht könnte man da vll mehr reißen.

Wenn du bei Python bleiben möchtest, kann ich dir nur raten deine Projekte klein zu halten oder nicht zu-zeit-kritische Sachen zu bauen: rundenbasierender Kram usw. Oder du guckst dir beides richtig an und nutzt beides. Da python in C++ geschrieben ist, besteht die möglichkeit daten zwischen den Sprachen auszutauschen -> nutz beide sprachen. mit python kann man komplexe sachen manchmal einfacher erreichen als mit c++.

Ganz großer vorteil noch von python und pygame, gerade für das lernen von openGL: viel einfacheres debuggen. "print" ist ein ganz tolles wörtchen...
TKinter als standard-lib von python ist zudem auch noch ne feine sache für GUIs.


Ich an deiner Stelle würde mir weiterhin die zweigleisigkeit offen halten und je nach projekt entscheiden was das beste ist.
Ich bin nicht verrückt - nur verhaltensoriginell!
Project-Seite: Aura

hanse

Alter Hase

Beiträge: 472

Wohnort: Wien

  • Private Nachricht senden

7

30.05.2010, 16:22

Also mit Python bist du sicher mal nicht schlecht drann. Du kannst damit auch hundertausende andere Sachen machen (Webzeugs z.B.). 2D Games lassen sich auch sehr schön in Python machen (da gibts sogar so n Wettbewerb http://www.pyweek.org/)
Zur Perfomance: Wenn du dir nicht gerade ne komplexe 3D Engine oder so baust, wirst du da eher keine Probleme kriegen. Natürlich solltest du bei der Programmierung ein bisschen auf die Performance achten.
Wichtig auch noch: PyGame baut auf SDL auf und die ist recht langsam (macht viel in Software), das könnte dir bei großen Mengen von Sprites Nachteile bringen. Es gibt aber noch andere Game Libs für Python: http://wiki.python.org/moin/PythonGameLibraries

Achja Python ist nicht in C++ geschrieben, sondern in C. (Zumindest die Standard Implementierung)

ArthurII

Treue Seele

Beiträge: 132

Wohnort: Aachen

Beruf: Student

  • Private Nachricht senden

8

30.05.2010, 21:32

Zitat von »hanse«

Achja Python ist nicht in C++ geschrieben, sondern in C. (Zumindest die Standard Implementierung)

hatte die info noch aus meinem ersten python-tutorial im hinterkopf behlalten, anscheinend ungenau...
Ich bin nicht verrückt - nur verhaltensoriginell!
Project-Seite: Aura

Stazer

Alter Hase

Beiträge: 468

Wohnort: Berlin

Beruf: Student

  • Private Nachricht senden

9

30.05.2010, 22:40

Ich würde mir auf die Lippen beissen und C++ lernen,da ich finde man
mehr Möglichkeiten und Freiheiten hat,als mit einer Skript Sprache.
Außerdem ist C++ natürlich schneller als eine Skript Sprache.

MfG Stazer

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

10

31.05.2010, 11:57

Schneller in der Ausführung aber auch langsamer in der Entwicklung.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Werbeanzeige