ich würde gerne c/c++ lernen und später vll programierer für spiele werden hab auch schon viele tutorials gefunden weiß aber nciht welche tutorial ich nutzen soll und welchen compiler da die game-engine eigene script sprachen haben
games lernen
-
kiba -
25. Mai 2007 um 14:37 -
Unerledigt
-
-
Welche Programmiersprache Du lernst, welchen Compiler usw. ist ersteinmal voellig egal: Wenn du spiele programmieren moechtest, musst Du erstmal das programmieren selbst lernen, und dafuer brauchst du nicht die Sprache, in der du spaeter mal was machen willst, sondern eine die zum lernen geeignet ist.
Wir hatten das Thema vor kurzem schon mal hier im Forum:
-
das heiß das ich erst mal das prinzip der programierung lernen soll ich hab mit rpg maker 2000 gescriptet und war richtig gut könnte man das dardurch lernen und hab dann ein bischen ruby gelernt
-
ich hab mit rpg maker 2000 gescriptet
Diese Scriptsprachen repräsentieren nicht wirklich die Konzepte moderner Programmierung.
(der Vollständigkeit halber muss ich sagen, dass ich 'rpg maker' nicht kenne, jedoch ein anderes Authoring-System, und die in diesem Systemen integrierten Scriptsprachen sind sich alle sehr ähnlich)
-
Wenn du Spiele Programmieren willst, ist es sicher gut C++ zu lernen, und dann OpenGl oder DirectX....
Hier mal ein paar Seiten zum Thema (es gibt SEHR viel zu dem Thema im Internet):
http://nehe.gamedev.net/default.asp
http://fly.cc.fer.hr/%7Eunreal/theredbook/
http://wiki.delphigl.com/index.php/
http://open-gl.de/opengl.htm
http://www.opengl.org/sdk/ -
Wenn dich die Skripterei mehr interessiert, als das Programmieren der Engine, wärs auch sinnvoll, sich mit diversen Mod-Kits auseinanderzusetzen. Gibts afaik für Morrowind, Gothic, Neverwinter Nights usw.
Stories mit guten Dialogen, sinnvollen Quests usw. zu skripten, ist auch eine sehr anspruchsvolle Aufgabe, es muss nicht jeder an der Engine basteln.
-
Spieleprogrammierer ist ein Hardcore-Job, dazu musst du C++ im Schlaf können, mit 3D-Programmierung, Animation, Physik, Audio, AI, etc. Mehr Info: http://en.wikipedia.org/wiki/Game_programmer
Das hat nicht viel mit dem Schreiben von Game Scripts zu tun (außer dass du vielleicht den Compiler dafür schreibst). Das was du meinst, ist vermutlich Level Designer. -
Ist es nicht so, dass Programmier in dem Sinne (C++ ode ähnliches zu schreiben) rein garnichts mit dem zu tun haben, was der Spieler auf seinem Bildschirm sieht.
Eigentlich sind das ja die Game - oder Leveldesigner, die die ganze welt erschaffen, worüber man am ende staunt.
dachte ich bis jetzt zumindest. und die programmierer machen es möglich, mit sachen interaktiv umzugehen, wo man alles hilaufen kann, dass die lebensanzeige sinkt usw.
also so stell ich mir dass vor ???
mfg benny
-
Naja, jein. Rein gar nichts wär übertrieben, zB müssen die Programmierer die Graphikeffekte wie Wasseroberflächen oder Spiegelungen etc programmieren, die natürlich nur entwickelt werden, wenn das Spiel soetwas auch braucht. Die AI hat wohl auch sehr viel mit dem Spiel an sich zu tun.
Aber grundsätzlich hast du recht, der Programmierer sitzt die ganze Zeit vor sehr vielen Textzeilen (dem Programmcode) und nicht vor blitzenden oder blinkenden Bildern. -
ok danke und wie nennt man dann so jemanden. Programmierer ? In der Games Acadamy wird der glaube ich Game-Designer genannt.
und noch kurze frage, da ich mich grad viel für alte spiele interessiere (lerne gerade c++ und möchte gerne kleiner spiele wie pong oder tetris später proggen können). also zur frage:
pong z.b. oder space invaders. gabs bei den spielen nur einen programmierer oder auch schon einen "Designer" bei donkey kong (jumpman) weiß ich, das es nen designer, programmierer und dem myamoto gab (der erschaffer von mario).
doch für pong nen designer ?? andererseits kann ich mir auch nicht vorstellen, dass man so einen balken nur mit ner progarmmiersprache (c oder c++ oder was die da verwendet hatten) hinbekommt. hatten die damals auch schon sdl ? directx z.b. gabs ja damals noch garnicht.
also was haben die verwendet und wurde das von nem designer gemacht (die monster von si oder die balken von pong) oder hat die der programmierer selbst mit pixeln "gezeichnet"
mfg
-
ok danke und wie nennt man dann so jemanden. Programmierer ? In der Games Acadamy wird der glaube ich Game-Designer genannt.
Der Game Designer (nicht zu verwechseln mit einem Graphic Designer) ist eher für den großen Überblick verantwortlich (also zB der Spieletyp), die Feinarbeit macht der Level Designer (wobei wiederrum nicht gesagt ist, dass das nicht die gleiche Person sein kann).
Zitatdoch für pong nen designer ??
Naja, Pong wurde lt. Wikipedia 1971 von Allan Alcorn entwickelt, allerdings hatte selbst das schon zwei Game Designer, die Besitzer von Atari.
Zitatandererseits kann ich mir auch nicht vorstellen, dass man so einen balken nur mit ner progarmmiersprache (c oder c++ oder was die da verwendet hatten) hinbekommt.
Sicher bekommt man das hin. Allerdings war das Original garantiert in Assembler geschrieben, C wurde erst ein Jahr später, 1972, entwickelt, C++ überhaupt erst 1983 (da war ich schon auf der Welt! ;)).
Zitathatten die damals auch schon sdl ?
haha, SDL wurde 1998 veröffentlicht, das is eine gaaaanz andere Baustelle.
Zitatdirectx z.b. gabs ja damals noch garnicht.
Nein, das kam 1995 raus.
Zitatalso was haben die verwendet und wurde das von nem designer gemacht (die monster von si oder die balken von pong) oder hat die der programmierer selbst mit pixeln "gezeichnet"
Einen Balken zeichnen ist sehr sehr einfach (in höheren Programmiersprachen wie C wäre das eine Schleife in einer Schleife, fertig).
-
Zitat
Naja, Pong wurde lt. Wikipedia 1971 von Allan Alcorn entwickelt, allerdings hatte selbst das schon zwei Game Designer, die Besitzer von Atari.
Mhm, da fällt mir gerade ein, dass in einer hochwertigen 5 teiligen doku (premiere discovery channel) der gründer von atari (bushnell, welcher ja später von der vorstandsschaft gekündigt wurde) Allan Alcorn beauftrage ein Spiel zu programmieren. er war auch im interview und erwähnte keine anderen leute. muss ja nicht heißen, dass es keine andren mitarbeiter an dem spiel gab, aber es wurden keine erwähnt.
ZitatSicher bekommt man das hin. Allerdings war das Original garantiert in Assembler geschrieben, C wurde erst ein Jahr später, 1972, entwickelt, C++ überhaupt erst 1983 (da war ich schon auf der Welt! ;)).
Ja, klingt logisch
ZitatEinen Balken zeichnen ist sehr sehr einfach (in höheren Programmiersprachen wie C wäre das eine Schleife in einer Schleife, fertig).
Jupp, stimmt eigentlich. aber wie bekommt man den dann zum bewegen (das der dann auf die eingabe des spielers reagiert). erwarte jetzt keinen code aber ungefähr interessierts mich schon. Steckt man die schleife nach erzeugungt in eine klasse, die sich dann mittels schreibrechte vom benutzer ansprechen und sich somit bewegen lässt oder mit was für funktionen lässt der sich dann bewegen ?
Dachte bis jetzt immer, dass man sowieso directx oder sdl benutzen müsste, um sachen auf der konsole nach eingaben der pfeiltasten bewegen lassen zu können. da man ja mit der tastatur (schnittstelle) kommunizieren muss. wunderte mich aber immer, wieso man dann auch ziemlich leicht nen rechner programmieren kann. ist es also möglich pong oder tetris NUR mit c++ in einer konsolenanwendung zu programmieren ?
-
Jupp, stimmt eigentlich. aber wie bekommt man den dann zum bewegen (das der dann auf die eingabe des spielers reagiert). erwarte jetzt keinen code aber ungefähr interessierts mich schon.
Du musst nur den Startwert in y-Richtung verändern.
ZitatSteckt man die schleife nach erzeugungt in eine klasse
In Assembler gibts keine Klassen. Das läuft einfach via einem Register.
ZitatDachte bis jetzt immer, dass man sowieso directx oder sdl benutzen müsste, um sachen auf der konsole nach eingaben der pfeiltasten bewegen lassen zu können.
Nein, keyboard input funktioniert ohne diese ganzen Libraries. SDL ist sowieso nur ein wrapper um ein paar APIs des Systems.
Zitatist es also möglich pong oder tetris NUR mit c++ in einer konsolenanwendung zu programmieren ?
Naja, in einer Konsole hast du das Problem, dass du zeichenbasiert arbeiten musst, daher könnte sich der Ball und die Paddles nicht pixelweise, sondern nur Zeichenweise bewegen. Geht aber auch.
-
ok, dann ist eigentlich alles klar. danke für die schnellen infos
aber eine kleine frage hätte ich noch. hab zwar noch zeit bis dahin, aber ich hasse es wenn in meinem kopf unbeantwortete fragen herum schwirren
wenn man ein objekt von pong in ner konsolenanwendung machen möchte und diese mittels pfeiltasten bewegen lassen möchte, würde das nur über eine zeile gehen (ball) :
o
oder könnte man ihn auch über mehrere zeilen "gestalten" :
|
|
|
|weil somit wären ja auch die schläger nicht unbedingt hässlich.
mfg
-
ich würde dir raten das nicht über die konsole zu machen. Verwend doch einfach OpenGL. So einfache sachen wie Pong kann man damit sehr leicht realisieren.
-
IMHO kann man sowas mit der Standartausgabe sowieso nicht effektiv realisieren da du ja nur sachen hinzufügen kannst aber keine gesetzten characters entfernen bzw verschieben kannst.
-
in einer Konsole hast du das Problem, dass du zeichenbasiert arbeiten musst, daher könnte sich der Ball und die Paddles nicht pixelweise, sondern nur Zeichenweise bewegen. Geht aber auch.
witzig wär's, das einmal zu probieren:)
-
witzig wär's, das einmal zu probieren:)
Das auf jeden Fall, obwohl ich der meinung bin dass das nicht möglich ist.
Gut funktionieren würds mit java/java2D
-
IMHO kann man sowas mit der Standartausgabe sowieso nicht effektiv realisieren da du ja nur sachen hinzufügen kannst aber keine gesetzten characters entfernen bzw verschieben kannst.
Im Terminal kann man schon einiges machen. Kennst du moon-buggy?
-
Das auf jeden Fall, obwohl ich der meinung bin dass das nicht möglich ist.
Selbstveständlich ist es technisch möglich, in einer Konsole an beliebige Stellen zu schreiben. Man muß sich nur eine passende Library wie ncurses suchen, damit sollte das nicht so schwer sein, einen Pong-Clone zusammenzuschustern. -
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!