Viele Fragen eines (eventuell) zukünftigen Spieleprogrammierers



  • Hi,
    bin absolut neu in der Branche, hab mich aber schon immer für Programmieren und Spieleentwickeln interessiert.

    Ich will später mal was mit Spieleentwicklung oder Programmmieren von Software machen. Derzeit gehe ich noch in die 10. klasse. Wenn ich dann mein Abi habe will ich Informatik studieren.
    Ist das das richtige bzw. die richtige Grundlage um später in so einen Beruf einzusteigen?
    Was muss man als Spieleentwickler bzw. -programmierer für eine Programmiersprache beherschen??
    Nächstes Jahr fangen wir bei uns auf dem Gym mit Programmieren an (glaube mit Turbo Pascal). Ist Pascal gut? Wie ist dann der spätere Umstieg auf C oder C++ (schwer oder leicht)?
    Was ist besser und wo ist der Unterschied zwischen C und C++?
    Welches von den beiden sollte man als Spieleentwickler bzw. -programmierer beherschen?
    Was für schulische Grundkenntnisse brauch man um solche Programmiersprachen zu lernen (z.B. in Mathe, Physik...)



  • Erstem falsches Forum

    zweitens: zum reinen Einstiegsprogrammieren braucht man nicht zuviel Mathe, sollte man Spiele programmieren wollen braucht schon etwas mehr, den ganzen Vektor/martizen scheiß halt.. will wirklich ausgefeilte algortihmen coden, braucht schon deutlich mehr.

    Pascal is ne gute Einstiegsprache, so gut wie einige andere auch um die Grundbegriffe zu lernen.

    c++ is ne erweiterung zu c, die gleichzeitig damit noch ein neues Progammierkonzept mitbringt (objektorienierung, streams, stl etc ..), aber von grundher keine andere Programmiersprache. Beherrschen sollte man min. beides, am besten noch weitere Programmiersprachen



  • tiger888 schrieb:

    Wenn ich dann mein Abi habe will ich Informatik studieren.
    Ist das das richtige bzw. die richtige Grundlage um später in so einen Beruf einzusteigen?

    Kommt drauf an. Wenn Du "nur" programmieren willst, wird eine Ausbildung ausreichen, als Dipl.-Informatiker wärst Du sonst eigentlich überqualifiziert.

    tiger888 schrieb:

    Was muss man als Spieleentwickler bzw. -programmierer für eine Programmiersprache beherschen??

    Kommt drauf an...
    Für gewöhnliche Vollpreisspiele als Minimum C++. Mehr können nicht schaden.
    Mittlerweile - wie Du sicherlich mitbekommen hast - werden auch für Handies Spiele entwickelt. Dort brauchst Du meistens Java.

    tiger888 schrieb:

    Nächstes Jahr fangen wir bei uns auf dem Gym mit Programmieren an (glaube mit Turbo Pascal). Ist Pascal gut? Wie ist dann der spätere Umstieg auf C oder C++ (schwer oder leicht)?

    Mit Pascal wirst Du in der Spieleentwicklung nichts erreichen können, es ist quasi tot.
    Aber als Einstieg ist es sicher i.O., genau wie BASIC, ist es leicht erlernbar, da es sich an der menschlichen Sprache orientiert.
    Zudem basiert Delphi, eine IDE + Sprache von Borland, darauf, die das RAD (schnelles Anwendungsentwickeln) für Windows und - mittlerweile - auch für Linux unterstützt. DAS wiederum wird für das Entwickeln von "normalen" Anwendungen (also keine Spiele) sehr oft verwendet. Falsch machen kannst Du also nichts damit.

    tiger888 schrieb:

    Was ist besser und wo ist der Unterschied zwischen C und C++?
    Welches von den beiden sollte man als Spieleentwickler bzw. -programmierer beherschen?

    "Besser" ist relativ und kann Dir in diesem Zusammenhang keiner beantworten.
    Einige schwören wegen der besseren Wartbarkeit und Strukturierung auf C++, andere auf C (Die Quake-Spiele sind z.B. vorwiegend in C geschrieben).
    Wenn Du C++ kannst, kannst Du eigentlich auch C, oder besser: Du könntest auch C können. 😃
    C++ ist eine "Erweiterung" von C mit vielen Zusätzen, die aber so mächtig ist, daß man es quasi eine eigene Sprache bezeichnen kann.
    C++ und C unterscheiden sich - so wie Du Dir das vorstellst - eigentlich gar nicht. Du kannst (fast) alle C-Programme auch mit einem C++-Compiler zu einem Programm machen.
    C++ unterstützt allerdings eine andere konzeptionelle Vorgehensweise (das Denken in "Objekten") als C, die man sich zunutze machen kann. Und diese beiden Vorgehensweisen unterscheiden sich ENORM!
    Java kann z.B. sogar nur objekt-orientiert benutzt werden. Punkt.
    Du solltest heutzutage möglichst schnell auch auf C++ satteln. Nur C'ler sind net mehr in. 😉

    tiger888 schrieb:

    Was für schulische Grundkenntnisse brauch man um solche Programmiersprachen zu lernen (z.B. in Mathe, Physik...)

    Um Programmiersprachen zu lernen brauchst Du kein Mathe und kein Physik, nur ein Verständnis der Sprache, in der Deine Lehr-Bücher geschrieben sind.
    Und: Du mußt abstrahieren können und logische Schlußfolgerungen machen können.
    Um das alte Klischeé wieder aufleben zu lassen: Für Mädels ist das nix! :p 😉
    Im Ernst: Aus-dem-Bauch-raus-Entscheider und In-Deutsch-und-Englisch-gut-seier-aber-von-Mathe-und-Physik-nix-raffer haben es schwer. Aber nicht weil man Physik oder Mathe bräuchte, sondern aus oben genannten Gründen.
    Eine gewisse Disziplin bei Programmierung von C oder C++ ist auch vonnöten.

    P.S.: Wenn Du eh Pascal machst, kannst Du Dir ja als Einstieg mal folgendes Buch zulegen: Game Programming für Kids
    Es ist in deutsch, liefert ein Delphi 3 als Vollversion mit (was auf Pascal basiert), und benutzt die Genesis3D-Engine, um eine erste kleine interaktive Welt zu gestalten (Türen, Aufzüge). Erwarte kein Quake. Das ist anfangs der größte Fehler. Aber vielleicht beflügelt es Dich ja was! 🙂

    Happy codin'! Willkommen im Club! 🤡 👍



  • Hi,
    erstmal danke!

    > Kommt drauf an. Wenn Du "nur" programmieren willst, wird eine Ausbildung
    > ausreichen, als Dipl.-Informatiker wärst Du sonst eigentlich überqualifiziert.

    Da ich erst in die 10. klasse gehe bin ich mir auch noch nicht so ganz sicher was ich da genau machen will. Entweder Software programmieren oder bei ner Firma arbeiten wo ich dann im Team PC Spiele entwickle.
    Bei Software brauch man doch eigentlich nur Programmierkenntnisse, oder?
    Das ist doch bei Spielen anderst, oder? Da brauch man doch auch Kenntnisse im 3D Bereich (Textuen mit Editoren machen, KI entwickeln...), oder?

    Noch eine Frage hätte ich aber. Du hast doch gesagt, das c und C++ sehr umfangreich sind. Wenn ich mir das nun mit Hilfe von Büchern und Tutorials aus dem Internet beibringe habe ich schiss, das ich nicht weit komme. Nicht das ich dann schon nach einer Woche vergeblich feststellen muss das ich mich übernommen habe. Anfangs ein Fenster zu erstellen das wird ja noch gehen. Aber wenn dann später kompliziertere Dinge kommen will ich ja auch noch das es mir Spaß macht und nicht das ich stur alles in mich reinstopfe und nur alles auswendig lerne.
    Deshalb ist es mir wichtig, gerade am Anfang mit etwas einfachem (für jeden nachvollziehbarem) anzufangen (so das Spaß und Lust auf mehr macht) und dann später größere Sachen zu machen.
    Meinst du ich würde das schaffen wenn ich gleich mit C/c++ anfange?



  • tiger888 schrieb:

    Bei Software brauch man doch eigentlich nur Programmierkenntnisse, oder?

    Hahahaha... nein.
    Einen Taschenrechner programmiert man "einfach so"...
    Bei einem Microsoft Word oder OpenOffice sieht das aber gaaaaanz anders aus...!!

    tiger888 schrieb:

    Das ist doch bei Spielen anderst, oder? Da brauch man doch auch Kenntnisse im 3D Bereich (Textuen mit Editoren machen

    Als Programmierer wohl kaum...

    tiger888 schrieb:

    KI entwickeln...

    ...ist auch ganz einfaches "Programmieren"...

    tiger888 schrieb:

    Noch eine Frage hätte ich aber. Du hast doch gesagt, das c und C++ sehr umfangreich sind. Wenn ich mir das nun mit Hilfe von Büchern und Tutorials aus dem Internet beibringe habe ich schiss, das ich nicht weit komme.

    Zurecht!
    Als ich mal klein (und seeehr naiv) war, habe ich's auch mal mit Büchern probiert. Dabei scheiterte es immer an 2 Dingen: Objektorientierung und Zeiger.
    Wenn ich jetzt so darüber nachdenke muß ich fast lachen, weil auch diese Dinge nicht wirklich "schwer" in irgendeinem Sinne sind. Man kann sie wohl nur schwer erklären, bzw. einen in das Stadium bringen, daß man den Kram auch wirklich begreift.

    tiger888 schrieb:

    Nicht das ich dann schon nach einer Woche vergeblich feststellen muss das ich mich übernommen habe.

    Wirst Du.

    tiger888 schrieb:

    Anfangs ein Fenster zu erstellen das wird ja noch gehen.

    "Fenster" haben mit C / C++ nix zu tun erstmal. Da legst Du Dich jetzt z.B. direkt auf Windows fest mit.

    tiger888 schrieb:

    und nicht das ich stur alles in mich reinstopfe und nur alles auswendig lerne.

    Ist aber auch mal wichtig. Du KANNST nicht ALLES können / wissen. Du mußt nur wissen, wo's steht, falls Du's doch mal brauchst.
    Fast keiner von den Spiele-Codern hier wird wissen, was das beschissene RegisterClass zur Erstellung eines Fensters wirklich macht, interessiert auch keinen, ist unwichtig (sofern man nicht wilde Spielereien an einem Fenster erlauben möchte), es wird einfach gemacht, basta.

    tiger888 schrieb:

    Deshalb ist es mir wichtig, gerade am Anfang mit etwas einfachem (für jeden nachvollziehbarem) anzufangen (so das Spaß und Lust auf mehr macht) und dann später größere Sachen zu machen.
    Meinst du ich würde das schaffen wenn ich gleich mit C/c++ anfange?

    Schwer zu sagen.
    Kommt auf Deinen Ehrgeiz an.
    Und gerade bei C++ brauchst Du davon 'ne Menge. C++ ist halt universell. Du kannst praktisch alles damit machen... WENN Du es kannst!!
    Wie gesagt, würde ich an Deiner Stelle - da Du eh Pascal lernen wirst - erstmal mit einem Zahlenratespiel, ggf. Textadventure in der Konsole anfangen.
    Für das erste grafische dann allerdings bloß nicht die alten DOS-Turbo Pascal-BGE Dinger ausbuddeln, sondern lieber die 25 Tacken für genanntes Buch ausgeben. Da bleibt die Sprache gleich, und Du lernst mal was RAD ist. Ggf. gibt's ein ähnliches Buch auch für 2D-Sachen, keine Ahnung. Dann würd' ich damit anstatt 3D anfangen. Für 3D braucht's Mathe und erstmal ein grundlegendes logisches Verständnis des Transformierens von Koordinatensystemen ineinander, etc.
    Wenn Du eh neu bist im Programmieren, dann würd' ich vor allem nicht versuchen, "nebenbei" neben Pascal auch noch C++ oder so zu machen...
    Lern eine Sprache RICHTIG, dann ist das syntaktische beim Umstieg auf andere Sprachen ein Klacks, in einer Woche ist das drin! 🙂



  • Sers!
    Ich weiß nich ob dieses Thema noch aktuell is aber ich bin 11 Jahre, gehe in die 5. Klasse und lerne jetzt schon Grafik Programmierung.

    Wenn du C++ lernst für Grafik Programmierung musst du glaube ich auch OpenGL oder DirectX oder sowas in der Art lernen.

    Ich lerne zurzeit Blitz Basic 3D, ist sehr gut für den Einstieg!
    BB3D ist auch eine gute Sprache um in die Grafik Programmierung einzusteigen, finde ich.

    PS:Viel Glück(ich will auch mal Informatik Studieren!)



  • Achso ja, ich rate dir echt ab mit Büchern anzufangen@tiger!

    Weil, meist versteht man es nicht, und man findet schwer leute die es dir gerne erklären.

    Privat Unterricht ziehe ich vor, würde ich auch nehmen, wenn mein Vater nicht immer das gleiche sagen würde:"Du bist noch zu Jung, und Konzentriere dich lieber auf die Schule!"

    Ich will von C++ nicht abraten(ich fange auch bald an damit zu Coden), aber stell dir vor, du willst einen Text auf dem Bildschirm ausgeben, in BB3D oder anderen Basic sprachen wäre das: PRINT "text"
    In C++ ist das viel länger!
    Obwohl die meisten Basic Sprachen echt voll der Arsch sind!

    Es ist aber gut das du mit Pascal anfängst! Jeder hat mir gesagt:"Fang mit Pascal an und steige später auf C++ um!"

    Viel Glück!



  • Ich habe aber auch gehört, das der Umstieg von Pascal auf C++ schwer sein soll und das man lieber gleich mit C++ anfangen sollte. Dagegen sollte der Umstieg von z.B. Java oder delphi auf C++ einfacher sein.
    Was stimmt nun?

    P.S. Wo kann man Privatunterricht für Programmieren bekommen?



  • privatunterricht nützt meines erachtens wenig.

    programmieren lernt man durch tun, tippen, ausprobieren, lesen, wieder tippen, lesen..hintergründe ergründen 😉
    fang einfach an.



  • Aber mit was nur. Ich habe keinen Bock irgendwann mit C++ anzufangen und dann da nichts zu verstehen --> das macht dann keinen Spaß. Deshalb habe ich ja auch gefragt von welcher Sprache der Übergang zu c++ am einfachsten wäre?

    Was können die einzelnen Programmiersprachen eigentlich? Hat mal jemand ne Liste, wo die einzelnen Möglichkeiten beschrieben werden?



  • Rancis schrieb:

    Ich will von C++ nicht abraten(ich fange auch bald an damit zu Coden), aber stell dir vor, du willst einen Text auf dem Bildschirm ausgeben, in BB3D oder anderen Basic sprachen wäre das: PRINT "text"
    In C++ ist das viel länger!

    cout << "text" << endl;
    😕



  • tiger888 schrieb:

    Aber mit was nur. Ich habe keinen Bock irgendwann mit C++ anzufangen und dann da nichts zu verstehen --> das macht dann keinen Spaß. Deshalb habe ich ja auch gefragt von welcher Sprache der Übergang zu c++ am einfachsten wäre?

    Was können die einzelnen Programmiersprachen eigentlich? Hat mal jemand ne Liste, wo die einzelnen Möglichkeiten beschrieben werden?

    so wird das nix..

    schau dir einfach mal ein tutorial an, zum bleistift das von volkard
    http://www.c-plusplus.net/c___1.htm

    dann hol dir von der compilerseite einen umsonst compiler, und teste, ob das überhaupt was für dich ist.

    nach dem tutorial kannst du dich dann an anderes ranwagen.



  • bei dem von volkard sind aber jede menge HTML Seiten. Welche ist die Anfangsseite?
    Welchen der Compiler soll ich nehmen?
    [url][/url]



  • such dir einen aus
    http://www.c-plusplus.net/compiler.htm
    und die index.html natürlich.
    müsste eine bei sein.



  • Ich brauche mal eure Hilfe:
    Ich hab mir den Dev-C++ Compiler geladen und es so wie es im Tutorial steht gemacht:

    #include <iostream.h>
    void main()
    {
    cout<<"Es kommt ein Mann zum Baecker und sagt: Ich moechte 99 Broetchen."<<endl;
    cout<<"Da fragt der Baecker: Duerfen es auch 100 sein?"<<endl;
    cout<<"Der Mann antwortet: Nein, wer koennte denn so viele essen?"<<endl;
    };

    Wenn ich das mir dann aber angucken will (klicke erst auf Compile Projekt, dann auf Run Projekt) erscheint das Bild aber für weniger als eine Sekunde und verschwindet dann wieder.
    Was mache ich verkehrt damit es nicht länger bleibt.



  • willkommen im club 🙂

    also:

    zum einen, bevor jemand schimpft: volkards tutorial ist ein wenig ... alt, nimm bitte folgenden code (cin mache ich fürs offenbleiben, geht auch anders)

    #include <iostream>
    using namespace std;
    int main()
    {
       cout<<"Es kommt ein Mann zum Baecker und sagt: Ich moechte 99 Broetchen."<<endl;
       cout<<"Da fragt der Baecker: Duerfen es auch 100 sein?"<<endl;
       cout<<"Der Mann antwortet: Nein, wer koennte denn so viele essen?"<<endl;
       char a;
       cin>>a;
    }
    


  • elise schrieb:

    #include <iostream>
    using namespace std;
    int main()
    {
    cout<<"Es kommt ein Mann zum Baecker und sagt: Ich moechte 99 Broetchen."<<endl;
    cout<<"Da fragt der Baecker: Duerfen es auch 100 sein?"<<endl;
    cout<<"Der Mann antwortet: Nein, wer koennte denn so viele essen?"<<endl;
    char a;
    cin>>a;
    }[/cpp]

    Danke,
    frage: Warum nicht: #include <iostream.h> 😕
    Was bedeuten nun: using namespace std; 😕
    int main()
    Für was steht folgendes?:char a; 😕
    cin>>a;
    Müsste nach der letzten Klammer ( } ) nicht ein ; stehen?

    Da du sagst das es ein altes tutorial ist, hast du noch ein neueres?



  • Hoi,

    cin fordert den Benutzer nach eine Eingabe auf. Diese Eingabe wird in "a" gespeichert.

    ich bin jetzt auch in der 10. Klasse und freue mich genau wie du schon auf den Informatik Kurs in der 11. Ich programmiere jetzt schon seit einigen Jahren mehr oder weniger intensiv mit C++. Meine erste Sprache war Qbasic, bin aber nach relativ kurzer Zeit umgestiegen. Ich rate dir mit C++ anzufangen, bei mir hats auch geklappt, obwohls manchmal schon ziemlich frustrierend war (pointer, polymorphie, ...).

    Wenn du dich dann ein wenig in C++ reingefunden hast, dann würde ich, wie Sgt. Nukem schon gesagt hat bei Genesis3D (www.genesis3d.com) rein. Du brauchst dir aber meiner Meinung nach kein Buch darüber zu kaufen, weil die Engine jetzt schon etwas älter ist und eine grosse Community hat, die schon viele Tutorials geschrieben hat. Alle anderen Engines, die ich ausprobiert hab, waren relativ kompliziert oder zu Script-lastig.

    Viel Glück noch!!! 🙂



  • tiger888 schrieb:

    [
    frage: Warum nicht: #include <iostream.h> 😕

    http://fara.cs.uni-potsdam.de/~kaufmann/?page=GenCppFaqs&faq=iostream#Answ

    Was bedeuten nun: using namespace std; 😕

    http://fara.cs.uni-potsdam.de/~kaufmann/?page=GenCppFaqs&faq=udirektive#Answ

    int main()

    http://fara.cs.uni-potsdam.de/~kaufmann/?page=GenCppFaqs&faq=main#Answ

    Für was steht folgendes?:char a; 😕
    cin>>a;

    http://tutorial.schornboeck.net/eingabe.htm

    Müsste nach der letzten Klammer ( } ) nicht ein ; stehen?

    Es kann, muss aber nicht dort stehen.

    Da du sagst das es ein altes tutorial ist, hast du noch ein neueres?

    volkards Tutorial ist Super. Lies es dir trotzdem durch.
    Die nicht standardkonformen Sachen wie void main() oder dem unguten iostream.h kannst du dir bei mir abgewöhnen: eigen Werbung



  • so, tiger888, da du jetzt auf der richtigen fährte bist, fang an zu lernen, und lese doch mal ein buch (ich rate immer zur bibliothek, dort stehen umsonst -gerne und gut- oft bücher über c++ rum).

    mit shades und volkards tutorial hast du genug zu tun die nächste woche... und ab jetzt heißt es eben: lernen, googlen, lernen, googlen..

    so long.


Anmelden zum Antworten