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

Maltrix

Frischling

  • »Maltrix« ist der Autor dieses Themas

Beiträge: 31

Wohnort: Hamburg

  • Private Nachricht senden

1

26.09.2014, 18:56

Ist Python das richtige für mein Projekt?

Hallo,

bin noch ziemlich neu hier und auf ganzer Linie ein blutiger Anfänger. Ich habe mir vor ein paar Jahren in den Kopf gesetzt ein Spiel zu entwickeln und will das jetzt endlich in die Tat umsetzen. Deswegen lerne ich seit kurzem Python 3 mittels Büchern, Turtorials und Videos. Bisher komme ich auch gut voran und verstehe tatsächlich was ich da mache ^^

Ich habe mich für Python entschieden da ich hier gelesen habe, dass es eine viel benutzte und leicht verständliche Sprache ist die vor allem für Einsteiger wie mich gut geeignet ist, was ich bisher nur bestätigen kann.

Nach längeren Recherchen habe ich allerdings ein paar dinge gelesen die mich verunsichern, ob python wirklich die richtige Sprache für mein projekt ist.

Um euch kurz zu erklären was für ein Mamuth-projekt ich mir da in den Kopf gesetzt habe: Ich will ein 2D Action RPG mit Super Nintendo Grafik erstellen. Mit Dungeons, Rätseln, verschiedenen Items, Diversen Endgegnern, simplen ingame Cut-Scenes, größeren maps die man erkundet, sidequests und diversen Bewegungsannimationen entwickeln. Kurz, Ich will ein vollwertiges Super Nintendo ähnliches Spiel auf dem stand von 1995 programmieren. Ähnlich wie "Zelda-link to the past" , Secret of Mana oder Earthbound. *hust* *größenwahn*

Mir ist bewusst was ich mir da vorgenommen habe und ich denke nicht dass ich das spiel vor 2018 fertigstellen werde aber mein Ergeiz ist recht groß.

in einem anderen Thread habe ich folgendes gelesen:" 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!" Bedeutet das, dass jeder der mein Spiel später spielen möchte sich erstmal Python runterldaden muss? Das wäre ja ziemlich kacke... wird mein Spiel mit python später lahmarschig laufen oder ist das nur der Fall wenn ich aufwendige 3D grafiken benutzen würde (was ich ja garnicht will)?

Auf diversen anderen Seiten lese ich auch immer wieder, dass man die nachteile von
interpretierten und kompilierten Sprachen kompensieren kann indem man sie kombiniert weswegen ich mit dem Gedanken spiele zusätzlich C++ zu lernen obwohl ich mich mit Python schon ziemlich wohl fühle und am liebsten so viel wie möglich damit mache, weil es so schön simpel aufgebaut ist.


Was macht da am meisten sinn? Mach ich mir da zu viele Gedanken? ist mein Projekt mit python anständig umzusetzen?

Über gute, hilfreiche Ratschläge würde ich mich riesig freuen :)



Mit freundlichen Grüßen,


Maltrix



PS.: Ich entschuldige mich für den ellenlangen Text aber ich wollte die Fragen so verständlich wie möglich formulieren.

2

26.09.2014, 19:18

Soweit ich weiß kannst du mit Python auch native Programme erstellen. Allerdings glaube ich, dass du dir das Projekt vorerst aus dem Kopf schlagen solltest ;) Wenn du noch nie programmiert hast, wirst du erstmal eine Weile beschäftigt mit lernen sein, und dabei solltest du erstmal klein anfangen und kleinere projekte fertigstellen. Dann kannst du immernoch das Projekt anfangen. Ich würde auch empfehlen, das Projekt ruhig anzugehen und Stückchenweise zu programmieren.

DeKugelschieber

Community-Fossil

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

3

26.09.2014, 20:20

Also was Performance angeht, vergiss mal was die Leute da so "labern".
Ob nun interpretiert oder nativ, für dich macht das im Grunde keinen Unterschied. Die Geschwindigkeitsunterschiede können tatsächlich gewaltig sein, aber das ist eher interessant wenn du in aufwendigere Techniken einsteigen willst. Und selbst für einfache 3D Grafik, durchaus mit Licht und Schatten, braucht man keine native Sprache. Bei AAA Spielen die das letzte aus der Hardware holen wollen, da wird das relevant.

Ob Python für deine Idee geeignet ist, ganz einfach: JA.
Und da du damit schon angefangen hast und offenbar gut klar kommst solltest du dabei bleiben.

Die Umsetzbarkeit für deine Idee ist natürlich so ein Thema, wenn man gerade erst anfängt. Es kommt ein bisschen darauf an was du sonst noch kannst und machen willst.
Eine eigene "Engine"? Dann dauerts länger. Kein mathematisches Verständnis? Auch eher schlecht.
Wenn du dir allerdings für die Grafik etwas fertiges nimmst, ein bisschen in die Mathematik dort einsteigst (ich weiß ja nicht, vielleicht kannst du das alles schon) sollte es aber relativ flott machbar sein. Zumindest ist es nicht unmöglich und auch nicht völlig überzogen.

Was ich dir noch empfehlen kann: lern nicht nur die Sprache, sondern auch Software Design. Dazu gibt es viele gute Bücher und Guides. Wenn du deine Sprache zwar verstehst, aber nicht weißt wie du dein Programm aufbaust wirds schnell frustierend. Vieles dabei lernt man aber automatisch mit der Zeit.

Viel Glück und Spaß noch mit Python ;)

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

4

27.09.2014, 11:28

Du kannst mit Python zwar nicht nativ entwickeln, es gibt aber Möglichkeiten dein Script mit dem Interpreter zu koppeln und eine exe Datei zu erstellen. Die kann dann ohne Pythoninstallation ausgeführt werden. Machen kannst du das mit py2exe. Das klappte früher nicht für die neueren Pythonversionen, kann aber sein das sich das geändert hat.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

Maltrix

Frischling

  • »Maltrix« ist der Autor dieses Themas

Beiträge: 31

Wohnort: Hamburg

  • Private Nachricht senden

5

27.09.2014, 12:14

Wow danke, meine Fragen wurden jetzt echt zu 98% beantwortet. :)

@ Rolfo: Keine sorge, mir ist schon klar dass ich nicht morgen munter drauf los programmieren werde und ich erstmal kleinere Projekte entwickeln sollte. Das habe ich alles schon bedacht ;) Ich will aber jetzt schon auf mein eigentliches ziel hinarbeiten.

@ DeKugelschieber: Danke DAS wollte ich hören :) Eine eigene "Engine" wollte ich aber jetzt eigentlich nicht schreiben...Welche ich verwenden werde weiß ich noch nicht aber darüber mach ich mir auch erst wirklich Gedanken, wenn ich Python besser verstehe. Was die Grafik angeht; klar werde ich anfangs wahrscheinlich auf fertige Sprites zurückgreifen aber mein endgültiges Spiel soll 100% eigene Sprites benutzen... Ich denke aber, dass es das kleinste Problem sein wird meine eigenen Sprites herzustellen. ich hab mir das mit der Laufgeschwindigkeit auch fast schon gedacht nur weiß ich ja nicht, was in Entwicklerkreisen so alles als "groß" bzw. "aufwendig" gilt^^ Die Idee noch zusätzlich Software Design zu lernen klingt für mich sehr sinnvoll. Damit würden sich wahrscheinlich einige Problematiken und Fragen die ich mir zur zeit stelle erübrigen. Ich denke, sobald ich Python besser beherrsche werde ich das in Angriff nehmen.

@ Schorsch: Ah gut. wenn du sagst, dass sowas möglich ist bin ich ziemlich beruhigt. Ich werde mich dann, wenn es soweit ist nochmal intensiver mit dem Problem beschäftigen aber für den Moment reicht mir die Gewissheit, dass es technisch machbar sein müsste.

DeKugelschieber

Community-Fossil

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

6

27.09.2014, 12:23

Achso das hatte ich vergessen: du kannt Python auch mit ausliefern, also eine exe, die den Python Interpreter + dein Python Programm startet.
Zumindest habe ich das schon bei einigen großen Spielen die Python als Scriptsprache nutzen gesehen...

Maltrix

Frischling

  • »Maltrix« ist der Autor dieses Themas

Beiträge: 31

Wohnort: Hamburg

  • Private Nachricht senden

7

27.09.2014, 12:56

Ah super :) ich hab mir sowas als lösung schon gedacht... war mir nur nicht sicher ob und wie das geht. dankeschööön :)

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

8

27.09.2014, 14:29

Übrigens eine Stärke von Python ist, dass es für fast alles schon fertige Lösungen oder zumindest Teile gibt. In deinem Fall wäre das Pygame oder ggf. Panda3d. Wobei Pygame eindeutig eher für 2D geeignet ist.
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.

Maltrix

Frischling

  • »Maltrix« ist der Autor dieses Themas

Beiträge: 31

Wohnort: Hamburg

  • Private Nachricht senden

9

27.09.2014, 16:35

ja pygame wurde mir jetzt schon öfter ans Herz gelegt. Ich denke, dass ich mir das dann mal genauer anschauen sollte. Ich programmiere ja mit python 3. Hat das irgendwelche Auswirkungen auf die Benutzung von pygame? Ich denke ja mal, dass pygame ursprünglich für python 2 entwickelt wurde und da gibt es ja nun mal ein paar Sachen die anders sind. (z.B. "input()" bei python 3 und "raw_input()" bei python 2)

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

10

27.09.2014, 16:53

Ich habe auch mit Python 3 angefangen, aber bin dann zu 2 gewechselt, weil es dafür einfach mehr gibt. Die Unterschiede sind schon da aber verkraftbar.
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