Anzeige:
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 30

Thema: Wollen Spiele programmieren - doch welche Sprache?

  1. #1
    stephan17
    Gast

    Wollen Spiele programmieren - doch welche Sprache?

    hi !

    wir sind drei jungs, 17 jahre alt, und wollen ein spiel entwickeln, das uns allen spass bringt. das spiel soll natürlich nicht was weiss ich groß sein und soll auch nur auf 2D basieren. zwei von uns haben programmiererfahrungen. ich habe qbasic und visual basic ein paar jahre benutzt und mal hier und da in c und c++ reingeschnüffelt. jetzt weiss ich leider nicht welche sprache wir verwenden sollen. es soll auf keinen fall eine komplizierte sprache sein, nicht wegen den lernaufwand, sondern einzig und allein weil das projekt wahrscheinlich daran zuerst scheitern würde; uns geht es in erster linie nicht um die geschwindigkeit. mit java würde ich nicht so gerne programmieren, da ich gehört habe, dass java in erster linie für webanwendungen geeignet ist. habe von python einiges gutes schon gehört. ausserdem gibt es ja noch pygame, python bindings, mit denen man python spiele schreiben kann.......was sagt ihr. lohnt sich python??

  2. #2
    Registrierter Benutzer
    Registriert seit
    19.04.2003
    Beiträge
    194
    Hallo!

    Also ich hab keine Erfahrung mit Python respektive Pygame, und den ganzen Spässen dazu, aber ich würde dir vorschlagen mal C oder gleich C++ zu lernen und dann dazu SDL (www.libsdl.org) verwenden! Damit lassen sich relativ easy und in kurzer Zeit 2D-Games erzeugen (hatt eine Space-Game mit Netzwerkunterstützung in ca. 5 Tagen [naja hab auch schon mehr Programmiererafhrung als du :P]) (wenn du willst kann ich dir den Sourcen schicken, PM an mich) ! Aber im Allgemeinen lernst du hier viele Sachen und kannst du das Game anschließend leicht erweitern!

    Ich würde dir vorschlagen, mal klein einzufangen, und dich dann langsam hocharbeiten! Und wichtig ist es genau zu wissen was du willst!!!

    mfG
    Going to church does not make a person religious, nor does going to school make a person educated, any more than going to a garage makes a person a car.

  3. #3
    Registrierter Benutzer
    Registriert seit
    17.09.2001
    Beiträge
    1.182

    Hmm..

    Ich würde 2D-Games entweder in Java oder in C++ machen. Java powert Server, dekstopanwendungen, 3d-spiele etc., wieso nicht auch ein 2d-spiel?
    Für C++/C spricht die große anzahl an verfügbaren Libraries und dass es sehr viele GPL_Bibliotheken gibt.
    Geändert von Lin728 (20-08-2017 um 17:41 Uhr)

  4. #4
    Registrierter Benutzer Avatar von fs111
    Registriert seit
    23.03.2002
    Beiträge
    594
    Alles was ich so gehört habe, ist pygame eine tolle Art und Weise Spiele zu schreiben. Das ist ja nur ein Wrapper über die SDL, hat aber den angenehmen Vorteil Pythons Eifnachheit und Eleganz zu haben. Ich würde es einfach mal testen.

    fs111

    P.S.: Python lohnt sich immer!

  5. #5
    Registrierter Benutzer Avatar von oracle2025
    Registriert seit
    18.03.2002
    Beiträge
    136
    Ganz meine Meinung


    --> Python hält was Java verspricht *duck*
    Niemand dringt hier durch und
    gar mit der Botschaft eines Toten.
    Du aber sitzt an Deinem Fenster und
    erträumst sie Dir, wenn der Abend kommt.

  6. #6
    stephan17
    Gast
    also kann man generell sagen dass man einfach und schnell kleinere spiele in python schreiben kann?

  7. #7
    Registrierter Benutzer
    Registriert seit
    17.09.2001
    Beiträge
    1.182

    Ja...

    Die Sprache Python ist super, nur hat sie nachteile, welche sie für meinen Einsatz absolut ungeeignet erscheinen lassen (aber für dich egal sein können):

    * Sehr langsam. Wirklich kein Scherz, bin Java-Verwöhnt.
    * Man benötigt um was anständiges machen zu können, Tonnen von Python-Wrappern welche selbst auf nativen Bibliotheken aufsetzten, somit ist die platformunabhängigkeit vorbei. Das ist meiner Meinung der Hauptnachteil. Man muss den user entweder nötigen sich die Wrapper selbst zu installieren (oder gar zu kompilieren) oder man liefert diese mit dem Spiel mit und riskiert, dass aufgrund von abi/api problemen das Spiel nur mehr auf 60-80% der Linuxkisten läuft. Unter Windows ists ganz egal.
    * Etwas kleiner Funktionsumfang der "Standardbibliothek".

    Was solls, jede Sprache hat Vor/Nachteile. Man muss sich für den jeweiligen Einsatzzweck das Beste heraussuchen.
    Geändert von Lin728 (20-08-2017 um 17:41 Uhr)

  8. #8
    Registrierter Benutzer Avatar von SeeksTheMoon
    Registriert seit
    22.02.2002
    Beiträge
    762
    oder ihr schnappt euch eine C++ Spieleengine wie ogre oder crystalspace. 2D-Support bieten die auch.
    Für Java gibts auf sourceforge auch ein Spiele-SDK unter der GPL, das wäre eine weitere Möglichkeit.
    I haven't lost my mind - It's somewhere on a backup-disc

  9. #9
    Registrierter Benutzer
    Registriert seit
    25.01.2003
    Beiträge
    222

    Re: Ja...

    Original geschrieben von ceisserer

    * Sehr langsam. Wirklich kein Scherz, bin Java-Verwöhnt.
    * Etwas kleiner Funktionsumfang der "Standardbibliothek".
    stimmt so nicht,
    python ist zwar langsamer als java, aber deswegen "sehr langsam" ?
    und auch der umfang der standardbibliothek ist mehr
    als ausreichend (was soll denn da fehlen ?)

    und zum thema, es gibt auch mehrere sprachen
    die extra dafür gemacht worden sind, zb.
    blitz basic oder dark basic (beides leider nur für windows)
    beides leider komerziell aber nicht so teuer dass
    man es sich nicht leisten könnte.

    gruß
    Arthur
    Geändert von arthur (14-03-2004 um 15:25 Uhr)
    ---------
    irc.mrunix.de #mrunix

  10. #10
    Registrierter Benutzer Avatar von fs111
    Registriert seit
    23.03.2002
    Beiträge
    594

    Re: Ja...

    Original geschrieben von ceisserer
    Die Sprache Python ist super, nur hat sie nachteile, welche sie für meinen Einsatz absolut ungeeignet erscheinen lassen (aber für dich egal sein können):

    * Sehr langsam. Wirklich kein Scherz, bin Java-Verwöhnt.
    * Man benötigt um was anständiges machen zu können, Tonnen von Python-Wrappern welche selbst auf nativen Bibliotheken aufsetzten, somit ist die platformunabhängigkeit vorbei. Das ist meiner Meinung der Hauptnachteil. Man muss den user entweder nötigen sich die Wrapper selbst zu installieren (oder gar zu kompilieren) oder man liefert diese mit dem Spiel mit und riskiert, dass aufgrund von abi/api problemen das Spiel nur mehr auf 60-80% der Linuxkisten läuft. Unter Windows ists ganz egal.
    * Etwas kleiner Funktionsumfang der "Standardbibliothek".

    Was solls, jede Sprache hat Vor/Nachteile. Man muss sich für den jeweiligen Einsatzzweck das Beste heraussuchen.

    lg clemens
    Langsam ist Python überhaupt nicht, das ist a) meist schneller als Java, vorallem wenn man es in pyo-Bytecode kompiliert, und es skaliert um längen besser. Python ist mir noch nie mit OutOfMemory abgestürtzt, wie Java das bei großen Datenmengen tut.

    Des weiteren ist die Standardbibliothek, bis auf XML, was aber ganz einfach nachzurüsten ist, sehr gut ausgerüstet. ICh kann Python nur empfehlen, und die Firma in der ich arbeite, wird die gesamte Produktion damit gemacht, und alle Tools sind in Python geschrieben (gemischte Solaris/Linux Umgebung). Java mag ich auch, ist aber längst nicht so elegant wie Python, denn in Java braucht man immer erst zig Objekte, um überhaupt irgendwas machen zu können, ich sage nur Dateien einlesen.... Alles in allem ist meiner Meinung nach Python Java überlegen, auch wenn beide ihren Reiz haben.

    fs111

  11. #11
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828
    Für Java gibts auf sourceforge auch ein Spiele-SDK unter der GPL, das wäre eine weitere Möglichkeit.
    Und die heisst? Ich hab mit game und Java leider nichts gescheites gefunden...

    MfG Bischi

    PS: Bin interessiert!

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

  12. #12
    Registrierter Benutzer
    Registriert seit
    25.01.2003
    Beiträge
    222

    Re: Re: Ja...

    Original geschrieben von fs111
    Langsam ist Python überhaupt nicht, das ist a) meist schneller als Java, vorallem wenn man es in pyo-Bytecode kompiliert, und es skaliert um längen besser. Python ist mir noch nie mit OutOfMemory abgestürtzt, wie Java das bei großen Datenmengen tut.

    Des weiteren ist die Standardbibliothek, bis auf XML, was aber ganz einfach nachzurüsten ist, sehr gut ausgerüstet. ICh kann Python nur empfehlen, und die Firma in der ich arbeite, wird die gesamte Produktion damit gemacht, und alle Tools sind in Python geschrieben (gemischte Solaris/Linux Umgebung). Java mag ich auch, ist aber längst nicht so elegant wie Python, denn in Java braucht man immer erst zig Objekte, um überhaupt irgendwas machen zu können, ich sage nur Dateien einlesen.... Alles in allem ist meiner Meinung nach Python Java überlegen, auch wenn beide ihren Reiz haben.

    fs111
    python bytecode verkürzt leider nur die ladezeiten,
    nicht aber die laufzeit performance
    und python hat auch schon seit der version 2.0 ein
    xml interface, dass zwar nicht alle features unterstützt
    aber sicherlich für die meisten anwendungen ausreicht.

    und um die frage welche sprache besser ist zu beantworten, meisstens die die man besser kann/kennt

    gruß
    Arthur
    ---------
    irc.mrunix.de #mrunix

  13. #13
    Registrierter Benutzer Avatar von fs111
    Registriert seit
    23.03.2002
    Beiträge
    594
    OK, dann nimm für die Laufzeit eben Psyco (psyco.sf.net), damit wird noch mal ne Ecke schneller.

    fs111

  14. #14
    Registrierter Benutzer
    Registriert seit
    17.09.2001
    Beiträge
    1.182

    Hmm...

    Das Python langsam ist, ist ganz klar, da es interpretiert wird. Der Python-Interpreter ist sicherlich einer der schnellsten Interpreter überhaupt, aber halt noch immer ein Interpreter.
    Psycho ist ein wirklich guter Ansatz, aber ich sehe da noch viel mehr Potential, derzeit bringt Psycho im Schnitt 3-4x höhere Performance, der Java-Hotspot mach das ganze im Schnitt 6-10x schneller. Da lässt sich aber noch viel machen.
    Was ich bei Python schade finde ist, dass sich die Authoren nicht dazu durchringen können (und in näherer Zukunft auch nicht wollen) psycho standardmäßig mit python zu verteilen, oder wenigstens einen offiziellen unstable-psycho-tree zu machen. Erkläre deinem User, dass er psycho installieren soll und du verliert 30% deiner Zielgruppe (wenns nicht gerade Entwickler sind).
    Was mit skalieren gemeint ist verstehe ich zwar nicht, aber nun gut. Ich kenne keinen Python-Garbage-Collector der für multiprozessorsysteme ausgelegt ist, Python hat keine JIT, Monitoring ist bei Python langsamer usw...

    Zum Thema Standardbilbiothek:
    Da fehlt mir so ziemlich alles, für das ich in python bindings (mit nativen Bibliotheken) brauche. Gui, eine mächtige sound-api, platformunabhängiges drucken usw.
    Bei Java fehlen mir nur standardmäßige Open-GL-Bindings sonst ist so ziemlich alles native dabei. Ebenso bei Mono.

    Ein großer nachteil an Java ist meiner Meinung nach, dass es nicht GPL oder ähnlich ist. Soweit ich bei open-source projekten ohne strenge Hirarchie gesehen habe, ist das aber auch meist nicht möglich selbst derart riesengroße Standards zu implementieren ohne ein Vorbild zu haben, an dem man sich orientiert. Sonst gibt es einfach zu viele Meinungen die die Entwicklung verlangsamen. Hat man ein Vorbild (Mono, RectOS, Wine) geht das ganze ziemlich gut.
    Ein gutes Beispiel ist SWING. Lange hat man SWING verflucht (mich eingeschlossen), doch nun läuft es auf meinem P4-2.6 Ghz um einiges besser als SWT, und das obwohl swing unter X im Vergleich zu Windows eher mäßig perormt.
    Geändert von Lin728 (20-08-2017 um 17:44 Uhr)

  15. #15
    Registrierter Benutzer Avatar von fs111
    Registriert seit
    23.03.2002
    Beiträge
    594
    OK, dann versuch mal bitte ein Java Programm mit mehreren Millionen Datensätzen binnen kurzer Zeit zu hantieren, oder aber XML-Dateien so um die 50 Megabyte mit XInclude zu vereinen und dann via XSLT umzuwandeln, da wirst Du sehen, wie Java alle viere von sich streckt. Python läuft auch wennn nötig mit zwei oder auch vier Gig-Speicher, bei Java muss ich die Mehrbenutzung erst mittels eines Schalters an die JVM übergeben. Python ist nicht wirklich eine interpretierte Sprache, da man mit den pyc/pyo-Dateien genau wie bei Java auch nur den Bytecode zum ausführen braucht.

    Das sind alles Punkte, die IMHO Python besser machen.

    Zum Thema psyco: Das ist ja auch nicht ganz trivial, immerhin muss man da ja ganz nah an den Kernel, um das benutzen zu können. Unter FC1 bspw. funktioniert es mit dem Standardkernel in der Standardkonfiguration gar nicht, weil hier ein exec-Shield drüber liegt, der die Arbeit von psyco verhindert. Wenn man den ausschaltet, geht es aber prima.

    fs111

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •