Der Einstieg ins (Spiele)programmieren

  • Hallo
    Ich bin mir (fast) sicher diese oder ähnliche Fragen werden sehr oft gestellt und sind nicht allzu gerne gesehen.
    Daher versuche ich auch, wenn ich sie schon stellen muss, so klar und sachlich zu stellen wie möglich.

    Ich habe mich lange damit beschäftigt bzw mich gefragt ob ich mich nicht an dem Programmieren von Software und besonders Spielen versuchen soll.
    Ich habe bereits in mehrere Programmiersprachen reingeschnuppert, kann aber nicht behaupten das ich programmieren kann ;)

    Zuerst stellt sich mir die Frage. Was braucht ein Programmierer an Fähigkeiten um ein eigenes, ohne Hilfe anderer, Spiel zu programmieren.
    Natürlich sollte man eine Programmiersprache (C++?) beheerschen, dazu gehört wohl auch ein mathematisches Verständniss, vielleicht auch noch ein wenig Erfahrung mit Grafikprogrammen?
    Mehr weiss ich leider nicht.

    Also, was genau braucht man alles? Oder anders gefragt, mit welchen Hilfsmitteln (Programmen) kann man ein Spiel programmieren? Angenommen man hätte alle nötigen Fähigkeiten um ein Strategiespiel a la Civilization zu programmieren.
    Wäre nett wenn ihr mir Beispiele für die einzelnen notwendigen Programme geben könntet.


    Dann noch eine weitere Frage. Gibt es Studiengänge bzw. Schulen bei denen man solche Fächer belegen kann? Ich hab hier im Forum etwas von einer Schule in Zürich gelesen, scheint mir aber eher einmalig zu sein.

    Wäre nett wenn mir jemand ein wenig auf die Sprünge helfen könnte :)

    P.S: Und ja, ich weiss das man programmieren nicht von heute auf morgen lernt und ich mache mir auch keine Hoffnung das ganze durchzuhalten bzw in ein paar Tagen Gothic 3 oder sowas programmieren zu können.
    Das ganze dient nur meinem Interesse ;)

  • Also du musst zumindestens eine Hochsprache ziemlich perfekt beherrschen (Wie erwähnt ist C++ sehr empfehlenswert, aber mit dem neuen Managed DirectX gehts auch mit allen .NET Sprachen).

    Wieviel und welche mathematischen kenntnise du brauchst entscheidet sich vor allem dadurch obs 2D oder 3D (oder beides sein soll).
    Dann weiters solltest du wissen ob du eine fertige Engine verwenden willst, oder eine Engine selbst schreiben willst.

    Wenn da alles alleine machen musst musst du auf alle Fälle mit 2D Grafikprogrammen wie Photoshop ... und 3D Programmen wie Milkshape, 3DSMAX, Maya, Softimage, Lightwave, ... umgehen können.

    Wenn du einmal in die Welt des Spielens reinspuren möchtest schau dir mal eines der Anfängertools wie BlitzBasic oder DarkBasic an, damit kann man teils schon wirklich eindrucksvolle ergebnisse erziehlen.

    mfg
    wolfgang

    -------------------
    “If you hear hoof beats, you should look for horses, not zebras.”
    --
    "You, Sir, are an Idiot!" - George Hamilton

  • Nun, wenn du schon mal Civilization erwähnst. Freeciv hat eine neue Version veröffentlicht. Ist OpenSource, damit könntest in sowas ein wenig reinschnuppern. Kannst dir ja den Code besorgen, und herumexperimentieren. Da findest du dann wahrscheinlich auch in anderen Foren oder der Homepage [1] weitere Information. Macht allerdings nur Sinn, wenn dich ein Spielprinzip wie das von Freeciv reizt. Wenn's dich mehr zu 3D hinzieht, musst dich wo anders umsehen.

    edit: Auf der Homepage steht z.B. welches Programm für die Grafik verwendet wurde. Und zu unserer Überraschung war es Gimp ;)

    [1] http://www.freeciv.org

    mfg Fletz


  • ich empfehl dir nur, diverse browser basierende spiele mal anzuschauen und dann einen eigenversuch zu starten, dabei wirst schon mit einigen problem konfrontiert sein, die es zu lösen gilt.

    dazu brauchst nur mal ein paar script sprachen, entweder ASP (M$) oder PHP kombiniert mit javascript und wenns hoch her geht mit ner Datenbank.

    Wichtig ist mal, dann ein Konzept erstellen, Abläufe durchdenken und dann Stück für Stück realisieren.

    Wennst ein funktionierendes Game hast, dann kannst dich langsam mittels C++ in die Programmierung von komplexeren Spielen einlassen :thumb:

    00010011100010001010100111000
    {a,b,b} = { *tilt* } :ahhh:

  • Jo, so Probleme wie "ich will, dass das es das Auto schleudert", Kollisionsabfrage, und generell die Interaktion von den Objekten (Gegner, Schüsse usw.) Sollte man erstmal in 2D ausprobieren.

    In einen FBO rendern ist wie eine Schachtel Pralinen - man weiß nie, was man kriegt.

  • Aaaa ... muss man die ganze Message quoten, damit der zitierte weiß, dass er gemeint ist? Bitte bissl kürzen, das tut ja in den Augen weh.

    Mein Beitrag: Die Frage ist ja ein bisschen zu allgemein, vor allem da Spiele mittlerweile auf allen Plattformen in verschiedensten Ausprägungen zu finden sind. Vielleicht solltest du bisschen näher beschreiben wo du hin willst.

    Aufgrund deines Postings schließe ich mal auf 3D Spiele.
    Hier würd ich den Aufwand nicht unterschätzen. Man muss nicht nur Programmieren, sondern auch Grafik und Inhalt gestalten - wenn man nicht jemand hat, der dies für einen macht, was wohl meistens das bessere ist. Ich bin der Meinung, dass man sich besser einschränken sollte, und die Sache gut macht, als von allem ein bisschen zu machen und dann am Ende ein schlechtes Produkt zu liefern.
    Weiters stellt sich dann die Frage, wieso man die X-te 3D Engine programmieren sollte, wenn es bereits sehr gute frei erhältliche gibt, die einem den Programmieraufwand reduzieren und die Konzentration auf Grafik und Inhalt lassen. Irrlicht ist eine dieser Engines, wieviel die im Vergleich zu anderen taugt kann ich aber leider nicht berichten, ich kenne sie nur da ihr Autor in diesem Forum postet.
    3D Rendering und grafische Gestaltung allgemein ist auch nicht gerade eine Sache, die man schnell nebenbei macht, sondern die viel Zeit (und Talent) beansprucht.
    Die härteste Nuss ist für mich immer noch der Inhalt. Es gibt genügend grafisch & technisch interessante Spiele, die aber inhaltlich nichts hergeben. Wenn der Inhalt passt, nimmt der User auch Abstriche bei Grafik & Technik in Kauf ..

    Blablabla. Bitte konkreter werden wenn's geht, dann sind die Antworten auch weniger verwaschen ;).

  • Danke schonmal für die Antworten.

    JohnFoo

    Kommt darauf an wie man es sieht. Programmieren würde ich wenn dann Spiele aus der Vogelperspektive wie die alten RPGs (Zelda usw.) oder halt Civilization. Also dann eher 2D ;)

    Engine habe ich nicht gesagt das ich die selber coden will.

    Und das mein Post allgemein ist, ist logisch, da ich wie gesagt keine Erfahrung habe was das Spiele programmieren angeht. Daher sind meine Fragen auch sehr allgemein.



    Nunja, vielleicht war ich ein wenig übereilt. Vielleicht sollte ich wirklich erstmal dafür sorgen eine Programmiersprache gut zu beheerschen. Wie gesagt, ich kann keine ;)
    Leider fällt mir das lernen aus einem Buch sehr schwer. Ich habe z.B ein PHP Buch durchgearbeitet und bin genauso doof wie vorher :D

    Wenn mir aber jemand ein gutes Einsteigerbuch zur Programmierung (C++ oder so :)) empfehlen kann (am besten eins mit einem großen Beispielprogramm, welches man selber schritt für schritt lernt zu coden) wäre ich sehr dankbar und würde es nochmal versuchen :)

    Achja und:

    Zitat


    Dann noch eine weitere Frage. Gibt es Studiengänge bzw. Schulen bei denen man solche Fächer belegen kann? Ich hab hier im Forum etwas von einer Schule in Zürich gelesen, scheint mir aber eher einmalig zu sein.



    Danke schonmal. Bisher wart ihr mir schonmal eine große Hilfe ;)

  • Zitat von ravaged

    Kommt darauf an wie man es sieht. Programmieren würde ich wenn dann Spiele aus der Vogelperspektive wie die alten RPGs (Zelda usw.)


    Gibt ein Programm namens RPG Maker 2003, mit dem kann man SNES-Style RPGs machen (wie Lufia, das fällt mir da grad ein). Habs schon einmal in Aktion gesehen, hat ne Menge fertiger Grafiken, die man sich nur zusammen klicken muss. Ehrgeizige designen halt ihre eigenen dazu.

    Zitat

    Engine habe ich nicht gesagt das ich die selber coden will.


    Naja, aber wenn du sagst ..

    Zitat

    Was braucht ein Programmierer an Fähigkeiten um ein eigenes, ohne Hilfe anderer, Spiel zu programmieren.


    .. versteh ich's nun mal so ;). Na gut, dann halt designen.

    Zitat

    Nunja, vielleicht war ich ein wenig übereilt. Vielleicht sollte ich wirklich erstmal dafür sorgen eine Programmiersprache gut zu beheerschen. Wie gesagt, ich kann keine ;)


    Als ich noch keine konnte wollte ich das auch. Aber sobald du bisschen mehr programmieren kannst, wirst schon feststellen, wieso hier nicht jeder sein eigenes Spiel programmiert hat :D.

    Zitat

    Wenn mir aber jemand ein gutes Einsteigerbuch zur Programmierung (C++ oder so :)) empfehlen kann [..]


    Die C++-Programmiersprache. Deutsche Übersetzung der Special Edition von Bjarne Stroustrup, dem Schöpfer von C++. Vielleicht nicht leicht verständlich, aber sicher das Geld wert.

  • Zitat


    Gibt ein Programm namens RPG Maker 2003, mit dem kann man SNES-Style RPGs machen (wie Lufia, das fällt mir da grad ein). Habs schon einmal in Aktion gesehen, hat ne Menge fertiger Grafiken, die man sich nur zusammen klicken muss. Ehrgeizige designen halt ihre eigenen dazu.


    Nun es geht mir nicht darum auf die schnelle ein Spiel zusammenzubauen. Es geht mir mehr darum mir selber ein Konzept einfallen zu lassen und das dann umzusetzen.

    Und zu der Buchempfehlung:
    Scheint mir doch ein wenig zu schwer zu sein für einen Anfänger laut den Rezensionen.

    Noch etwas anderes:
    Ich habe hier von einem Freund ein sogenanntes "Game Programming Starter Kit 4.0" das er sich mal gekauft hat..
    Ist schon ein wenig älter (2001) und enthalten sind eine Engine Genisis3D + Tutorial dafür, Shadowrealm Model Animator, Visual C++ von Dirk Louis (nen Buch :P), Microsoft DirectX 7.0SDK, Visual C++ 6.0 Autorenedition und zu guter letzt noch den Quellcode von so nem unbekannten Spiel :D

    Ist das Teil brauchbar bzw kennt es jemand? ;)

  • Hi

    Ich hab mir vorgenommen, weil ich ja noch in die Schule gehe, und immer wieder Zeit in den Ferien hab, mal schon etwas vorzulernen. Ich und ein Kollege wollen innerhalb des nächstem Jahres genug lernen, um einen Mod zu UT04 (oder entsprechende Version) zu kreieren.
    Zweifellos eine grosse Sache? Was meint ihr dazu?
    Wir haben etwa 14 Wochen Ferien im Jahr. In den nächstem 2 Wochen werd ich mich einigermassen Pausenlos mit C++ beschäftigen. Kann zwar bi jetzt nur ein wenig Basic programmieren, aber ich bin optimistisch ;)
    C++ will ich soweiso lernen, weil ich das später eh brauche. Denk ihr 14 Wochen, und auch lernen nach der Schule wären genug?
    Kann mir jemand kurz auflisten, was für Kentnisse ich sonst noch brauche, um einen Mod zu programmieren?

    Den Rest reim ich mir mit gamedev.net zusammen, viele Dank 8-bit!

    mfg,

    TB2

    edit: Hab noch was vergessen: Ich komm bereits recht gut mit dem UnrealEditor klar und kann ohne weiteres Levels designen. Auch mit Maya komm ich gut klar, bis auf einzelne Themengebiete, aber auch darum werde ich mich noch kümmern. Mein Kollege hat übrigens etwas mehr Programmiererfahrung als ich, dafür hat er keine Ahnung von Maya und Co.

  • TB2: Dein Thema passt meiner Meinung nach nicht ganz so gut hier rein. Vielleicht solltest du es mal auf einer der http://www.mods.de seiten versuchen. Dort wird dir sicher eher geholfen.


    @alle anderen:
    Ich habe mir jetzt BlitzBasic mal angeschaut. Ist recht verständlich und ich werd mich nun mal dran machen und sowas wie nen Civ Clon coden ;D
    Mal schauen ob ich ein paar Erfolge feiern kann.
    Und bald werd ich dann wohl mal mit C++ loslegen, sobald ich ein geeignetes Buch oder vielleicht sogar einen Kurs in meiner Umgebung gefunden habe.

  • Zitat von JohnFoo

    Hört sich an, als hätten's die Deutschen im 2. Weltkrieg erfunden :D.

    hehe .. das gleiche hab ich auch gedacht, als ich den ersten artikel drüber gelesen hab :devil:

    -------------------
    “If you hear hoof beats, you should look for horses, not zebras.”
    --
    "You, Sir, are an Idiot!" - George Hamilton

  • also ich hab als erstes spiel mal einen space-invaders-klon gemacht. das ist ziemlich einfach.
    du kannst da schon mal viel erfahrung sammeln und einfachheitshalber zuerst mal
    im textmodus programmieren. dann bist du zwar 20 jahre hinter dem heutigen
    stand aber fürs erste reichts ja.
    wenn du das im textmodus mal zusammengebracht hast, kannst du das ganze ja
    nochmal mit grafik programmieren.
    und wenn du das auch zusammenbringst kannst du mal probieren ein windows-programm
    zu schreiben.
    ja und wenn du das 10 jahre lang durchziehst wirst du vielleicht irgendwann mal spieleprogrammierer ...

    intelligenz * schönheit = const

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!