Zum Inhalt springen

Wie bekomme ich Grundlagen zur Spiele-bzw. Engineentwicklung?


oxygen

Empfohlene Beiträge

Heyho liebe Community,

ich hoffe, dass mein erster Beitrag hier im richtigen Forum gelandet ist, wenn nicht sry!

Und zwar geht's darum: Ich mach jetzt gerade die 11. Klasse am Informationstechnischen Gymnasium, bin also noch im ersten Jahr dort. Wir programmieren dort c++, was mir ziemlich viel Spass macht, allerdings hängen wir immer noch bei strukturierter Programmierung mit Konsolenanwendungen rum, was mich ziemlich langweilt. Seit wir letztens Samstags mal an nem Tag der offenen Tür angefangen haben, objektorientiert mit graphischen Oberflächen zu Programmieren, lässt mich das ganze nicht mehr los. Ich überlege schon seit längerem, dass ich mich in die Programmierung von dreidimensionalen, gerenderten progammen, also zum Beispiel Spiele im Fullscreen, Demos und so einarbeiten möchte (hoffe, ich habe das verständlich erklärt). Deshalb würde ich von euch gerne wissen, ob ihr mir Tutorials oder ähnliches empfehlen könnt. Die Grunddinger vom Programmieren hab ich drauf, in objektorientiert sollte ich mich noch etwas einarbeiten, mit Klassen und so hab ich noch nichts gemacht, aber, wenn ich's brauch, werd ich's lernen. Vielen dank schonmal, hoffe es kommt was gescheites dabei raus, könnte mir gut vorstellen, so etwas später mal Beruflich zu machen, also in der Engineentwicklung zum beispiel, mit den Texturen und so hab ichs nicht so arg, will jetzt aber erst mal nen Einstieg da rein bekommen.

Edit: Ich habe mal so nen 2-Dimensionalen "Shooter" Programmiert, bei dem ein Bild immer über einen Hintergrund läuft und explodiert, wenn man es trifft, vielleicht gibt euch das am besten einen Einblick, was ich bis jetzt davon verstehe.

Link zu diesem Kommentar
Auf anderen Seiten teilen

der Link ist gut, aber eigendlich geht es mir um das Handwerkliche, sprich, ich weiß, dass ich ein Level aufbauen und die Objekte reinsetzten muss zum Beispiel, nur das "wie?" ist mein Problem, aber ich glaube, da bin ich in der DirectX-Sektion von Codeworx gut aufgehoben, oder?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

ich mag zwar nicht der "Böse" sein, aber bist Du sicher, dass das zurzeit nicht etwas "oversized" ist?

Also nur so der kurze Abriss, Du benötigst für die 3D Programmierung erst einmal mathematische Kenntnisse, sprich Lineare Algebra und hier speziell Vektor- und Matrizenberechnung (und die wirklich sattelfest, denn das ist dein Handwerkszeug).

Gerade wenn Du Spiele realisieren möchtest, dann musst Du Dich um Optimierungen innerhalb der Engine kümmern, z.B. Boundingboxes, kd-Trees, Gittermodelle z.B: Hierarchical Uniform Grid, usw.

Du musst Dir Gedanken machen, wie Du Deine Objekte der Welt beschreibst, eine Kugel oder ein Würfel sind ja noch recht einfach, wie sieht es aber mit komplexeren Objekten aus z.B. als Bsp eine Figur. Wenn Du sie animierst, wie berechnest Du Kollisionen für diese Objekte usw.

Dann benötigst Du Kenntnisse über Shader Programmierung, der Graphikkarte, wie Du z.B. bestimmte Berechnungen auf der Karte, anstatt auf der CPU machst.

Du musst die Welt modellieren, wenn Du möglichst "realisitisch" werden möchtest, musst Du Dich mit Themen wie z.B. Blinn-Phong-Modell für die einfachen Beleuchtungen, Shading, Texturierung (Cube-Maps, Environmental-Maps), usw. auseinandersetzen

Wenn Du die Engine komplett selbst entwickeln willst, dann musst Du dir auch mal die Graphikkarten Pipeline anschauen und verstehen wie die einzelnen Elemente funktionieren (Schlagwörter Scan-Conversion, Baryzentrische Koordinaten, Farbräume, usw).

Als Literatur wirklich für den Einstieg ist das Buch "Fundamentals of Computer Graphik" und die OpenGL-Bücher (3-Bände) zu empfehlen. Viele Unis haben im Bereich Informatik Scripte für Vorlesungen Computergraphik.

Wenn Du wirklich in diesen Bereich beruflich möchtest, dann solltest Du Dein Abitur machen, vor allem in Mathe wirklich gut sein, danach dann in die Richtung Informatik studieren und hier den Schwerpunkt Computergraphik wählen.

HTH Phil

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ok, jetzt weiß ich wenigstens mal ganz genau, was da dann so auf mich zu kommt, falls ich das ganze mache, danke schonmal dafür. Was ich eigendlich möchte, ist, mal die Grundlagen im Programmieren zu bekommen, mir ist klar, dass es hart wird, so viel zu lernen, dass ich ein Spiel programmieren kann, will eigendlich erst mal ein wenig hineinschnuppern, was ich seit gestern Abend mit den OpenGl-Tutorials von NeHe mache. Mein Abi hab ich vor, fertig zu machen und wahrscheinlich wirds auch ein Informatikstudium (schwanke noch zwischen Informatik und Softwaretechnik, hab ja aber noch etwas Bedenkzeit), nur Mathe ist da vielleicht ein bisschen das Problem, die meisten sachen versteh ich oder glaub zumindest, dass ich's versteh, in Klausuren bin ich dann aber trotzdem immer zwischen 2 und 4, meistens so um die 3. Beim Programmieren, wie wirs jetzt in der Schule machen, sieht das ganz anders aus, da hab ich in Informationstechnik-Software-Teil und Angewandte Informationstechnik, also Programmieren nen schriftlichen Schnitt von 1,0 bis jetzt (hoffen wir, dass es so bleibt, am Freitag kommt die nächste Arbeit (Strukturen, Struktogrammanalyse)). Werde mich jetzt einfach mal n bisschen mit OpenGL beschäftigen und dann weiter sehen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

wenn Du Informatik studieren willst, dann schaue Dir doch einfach mal an einer Uni einige Vorlesungen an. Ich kann Dir dazu wirklich raten, denn ein Studium in Informatik ist definitiv nicht programmieren! Du wirst Dich die wenigste Zeit mit Coding beschäftigen. Ebenso besteht die Informatik nicht aus der Computergraphik, sondern dies ist nur ein Teilgebiet. Im Bachelor sind andere Gebiete, die Du auch machen musst: technische Informatik (meistens Digitalelektronik und Elektrotechnik), theoretische Informatik (Berechenbarkeit, Automaten), angewandte Informatik (Algorithmen und Datenstrukturen), Mathe (Analysis und lineare Algbra). Die Computergraphik findet sich dann in der angewandten Informatik als eine oder zwei einzelne Veranstaltungen.

Zur Mathematik, es geht nicht darum dass Du gute rechnen kannst, sondern eben, dass Du mathematische Zusammenhänge erkennst und sie lösen kannst. Es sind meistens die Aufgaben, die in den Klassenarbeiten Transferdenken erfordern und viele Punkte geben.

Phil

Link zu diesem Kommentar
Auf anderen Seiten teilen

Mich mal in ne Vorlesung zu setzen hab ich mir auch schon öfters überlegt, muss ich glaube wirklich mal machen. Ich weiß schon, dass Grafik nur ein Bruchteil der Informatik ist, ich interessiere mich am meisten eigendlich für die ganze Software-Geschichte, also in deiner Beschreibung angewandte Informatik, ich bin halt nur der Meinung, dass ich im Moment bei der Grafik die meisten Defizite habe. Im Hardwaregebiet bin ich nicht ganz so gut wie im Softwaregebiet, zur Zeit haben wir Schaltalgebra, das hatte ich aber auch ziemlich schnell drin, das Einzige, was mir eigendlich wirklich sorgen macht, ist, ob ich an der Uni nicht bei den mathematischen sachen ab****en würde.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich habe mal eben den ersten Aufgabenzettel von meiner Analysis 1 Veranstaltung gesucht. Hier mal zwei Beispielaufgaben, die in der zweiten Vorlesungswoche gestellt wurden:

  • Beweisen Sie durch vollständige Induktion: $\sum_{k=1}^{n} k^3 = \frac{1}{4} n^2 (n+1)^2$
  • Finden Sie eine einfache Form für die unvollständigen Diagonalensummen im
    Pascalschen Dreieck, $\sum_{j=0}^{k} \binom{n+j}{j} \ mit \ n \in \mathbb{N}_0, 0 \leq k \leq n$ und beweisen Sie diese durch vollständige Induktion.

Die Mathematik kann man schon lernen, aber man sollte halt schon gute Grundkenntnisse haben.

Phil

Link zu diesem Kommentar
Auf anderen Seiten teilen

mein abiwissen war innerhalb der ersten, ungelogen, 45 minuten erschöpft und dabei war der Prof noch mit organisatorischen dingen dran :rolleyes:

Wer 'nur' mathe grundkenntnisse hat, wie vollständige induktion und w´rechnung, der soll sich ein informatik/mathematikstudium aus dem kopf schlagen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo

@baba: Ich gehe davon aus, dass man Leistungskurs in der Schule hatte und Abstraktionen gelernt hat. "Höheres Rechnen" reicht nicht. Aber das mit dem 45min kommt schon mal vor (auch später, dann muss man sich hinsetzen und arbeiten). Wenn das natürlich direkt am Anfang passiert, ist das eher schlecht. Der Schulstoff wird meistens in 1-3 Vorlesungen komplett wiederholt.

Rein für die Computergraphik, so wie der OP es beschrieben hat, reichen Matrizen, Vektoren und Nullstellenberechnung für komplexere Polynome. Damit kann man dann schon mal, bei genügend Programmierkenntnissen, einen hübschen Raytracer (ohne Kaustiken) oder eine kleine OpenGL Animation bauen.

Bei größeren Projekten, sprich einem kompletten Spiel, bei dem z.B. noch physikalische Sachen beachtet werden müssen, sollte man direkt ein ganzes Team beschäftigen ;)

Phil

Link zu diesem Kommentar
Auf anderen Seiten teilen

hm, das wird bei mir schwierig, wir haben gar keine LK's mehr! Mathe haben wir zum Beispiel keine Auswahlmöglichkeit, wie intensiv das ganze sein soll, sind 4 Stunden pro Woche. Nächstes Jahr müssen wir dann Physik oder Chemie 4-Stündig wählen und als Profilfach haben wir ja eh IT.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

mmh Mathe-GK ist wirklich nicht so toll. Als wenn Du wirklich beabsichtigst Informatik zu studieren, dann setzt Dich hin und lerne Mathe, und noch mal Mathe und Mathe. Besorge Dir evtl auch von Unileuten die Sachen aus den ersten 2 Semestern und versuche Dich selbst schon mal ein zu arbeiten.

Ich kann nur sagen, die Schulmathematik wird in maximal 2-3 Lesungsstunden komplett wiederholt und dann fängt man noch einmal von vorne an, aber dann richtig, ich denke da nur an Körper und die dazugehörigen Axiome und dazu die Beweisaufgaben. Die Lineare Algebra fängt erst einmal allgemein in der Mengenlehre an und geht dann über Abbildungen zu Gruppen, Körpern usw.

Und wenn man davon dann nachts träumt, dann hat man es verstanden :D

Phil

Link zu diesem Kommentar
Auf anderen Seiten teilen

@baba: Ich besuche ein Technisches Gymnasium, aber seit 2004 ist in allen Gymnasien das Abi mit LKs und so weiter abgeschafft, im normalen Gymnasium kann man noch Neigungsfächer wählen, was wir auf dem TGI ja nicht brauchen, haben ja schon Informatik und dann musst halt noch Chemie oder Physik 4-Stündig wählen und darfst nicht unter 32 Stunden kommen. Du musst in Deutsch, Mathe einer Fremdsprache (bei mir Englisch, da ich 4 Jahre Französisch hatte, muss ichs jetzt nicht mehr machen, sind viele von der Realschule dabei, dies müssen), Profilfach (IT), einer Naturwissenschaft und einer Sozialwissenschaft mündlich ins Abi, wenn ichs noch richtig weiß. Wenns dich interessiert kann ich nachschauen, hab so ne Übersicht irgendwo rumliegen.

Edit: das Mündlich bezieht sich nur auf die Sozialwissenschaft, also Geschichte oder Reli, müsste ich aber wirklich nochmal nachkucken

Link zu diesem Kommentar
Auf anderen Seiten teilen

a) Ich weiss nicht wie weit ihr seit, aber du aolltest sicher in grundlagen der Strukturierten/Modulierten Programmierung sein (Pointer, Referenzen, etc.)

B) solltest dich erstmal, wie schon gesagt/schrieben mit objekorientierter programmierung beschäftigen, bis das ALLES ff für dich ist.

c) DANN kannst du anfangen dich mit Grafik zu beschäftigen.

Persönliche Empfehlung von mir wäre z.B dass du dich mal mit der irrlicht engine auseinandersetzt und damit rumspielst.

so far

wenns noch fragen gibt, ich bin auch grad neuling auf dem Gebiet, also scheu dich nich auch vermeindlich "doofe" fragen zu fragen.

Notfalls auch per PM, kann keine Antwort versprechen, aber ich kann mich damit beschäftigen ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

ich hab heute die zeitschrift consol.AT - consol.FUSION - consol.TV in die finger bekommen und gleich an diesen thread gedacht.

darin ist eine mehrseitige abhandlung, ein simples ping-pong mit VS.NET zu erstellen - und zwar genau so, wie man es machen sollte, von grund auf.

vielleicht solltest du damit beginnen.

s'Amstel

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ist klar, dass ich mich auch mit den Grundlagen beschäftigen muss. Um euch ein Bild zu machen: Zeiger hatten wir schon, in der nächsten Zeit werden wir uns mit rekursiver Programmierung beschäftigen und unser Lehrer hat letztens gemeint, dass er bis zum Ende des Schuljahrs noch mit Objektorientierter Programmierung anfangen will, da kann ich aber einige Dinge, zum Beispiel kann ich .gif-Dateien auf ein Canvas zeichnen, habe zum Besipiel mal einen 2D-shooter Programmiert, in dem ein Smilie sich zufällig bewegt, wenn man auf ihn trifft, explodiert er. Die Treffer werden gezählt und in einer .txt abgespeichert, als Highscore eben. Mit Klassen und Vererbung habe ich mich bis jetzt noch nicht beschäftigt.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...