Kapitel 1
Einführung
Einführung
Hallo und herzlich willkommen zu meiner kleinen Einführung in das Programmieren im Allgemeinen und die Entwicklung einer Spieleengine im Besonderen. Im Zuge der nächsten paar Dutzend Kapitel werden wir ein kleines Adventure inklusive Editor erstellen.
Das Tutorial ist zweigeteilt. In der ersten Linie geht es um unser Adventure, hier werden wir uns direkt mit PC Spielen und ihrer Erschaffung beschäftigen. Im zweiten Part werde ich allgemeine Dinge erklären(z.b. wie man die Entwicklungsumgebung installiert oder was eine Klasse überhaupt ist).
Immer dann, wenn etwas neues eingeführt wird werde ich parallel ein paar allgemeine Erklärungen posten.
Beginnen möchte ich mit einer kurzen Bestandsaufnahme, damit ihr wisst worauf ihr euch einlasst.
Um was geht es und was muss ich jetzt schon können?
(Warum sollte ich Physik studieren, wenn ich mir eine viel bessere Welt erschaffen kann?)
Programmieren ist mit das kreativste was ein Mensch überhaupt tun kann. Der Programmierer erschafft allein mit der Kraft seines Vorstellungsvermögens und den Gesetzen der Logik eigene Welten, Grenzen gibt es wenig.(nur zu wenig Ressourcen :-))
Dabei ist es heutzutage nicht weiter schwer selber kleine Programme zu schreiben. Die modernen Programmiersprachen sind weitestgehend selbsterklärend und nehmen dem Entwickler viele Dinge ab. Die Maschinensprache zu sprechen ist, im Gegensatz zur Darstellung des Programmierers in der SF (Maschinenpriester etc.), schon lange nicht mehr nötig. Aber natürlich von Nutzen.
Wie in allen Künsten gibt es aber einen riesigen Unterschied zwischen dem begabten Amateur und echten Meistern.
Jeder kann ein Lied am Lagerfeuer trällern, Beethovens Werke aber sind von solcher Exaktheit und Genialität, dass es unglaublicher Erfahrung und Wissens bedurfte sie zu erschaffen. Wer sich mit der Musik des 18.Jhd. beschäftigt wird vielleicht erkennen, dass die großen Meisterwerke quasi programmiert wurden. Sie folgen ganz klaren Regeln und MUSSTEN so geschrieben werden wie sie sind.
Dies ist das eigentlich geniale daran. Beethoven hatte den Schlüssel zur Musik gefunden, praktisch das Wesen der Musik begriffen.
So ähnlich müsst ihr euch die Chefentwickler bei Crytek & Co. vorstellen. Sie leben und atmen ihre Arbeit, der Rest der Menschheit kann nur zusehen und staunen.
Vergesst einfach, dass ihr im Zuge dieser Textreihe zu so etwas fähig werdet. Dies erfordert jahrelanges hartes Training und sehr viel mehr Einsicht in die Mathematik als man aus ein paar Büchern lernen kann.
Aber wenn ihr es bis zum letzten Kapitel schafft und immer fleißig trainiert reicht es locker für "Hoch auf dem gelben Wagen" auf dem Pfadfindertreffen; um den Kreis zu schließen.
Was brauch ich denn nu?
Für den Anfang reicht:
- Rudimentäre Kenntnisse der höheren Mathematik , oder wenigstens die Bereitschaft sich damit zu beschäftigen. Vor allem boolsche Logik wird essentiell werden. Wer schon mal ein Event für HOI2 geschrieben hat bringt Grundkenntnisse mit. Später wird Mathe immer wichtiger werden, spätestens bei 3D Grafik muss man einfach in der Lage sein ein Mathebuch zu lesen um an Informationen zu gelangen. Ein Mathe Leistungskurs ist sicher nie verkehrt, aber wie mir jeder Informatiker bestätigen wird ist die Schulmathe nach ca. 2 Wochen Studium am Ende ihres Könnens.
- Englisch. Die englische Sprache ist die Verkehrssprache unserer Welt und vor allem in der Informatik die Sprache der Wissenschaft.Das ich mich für C# als Programmiersprache entschlossen habe, hat aber einen Vorteil: Ihr gewinnt als Partner einen riesengroßen Konzern (Microsoft), und im Gegensatz zur von Fachblättern wie Bild verbreiteten Meinung ist der Support bei MS herausragend.Jedenfalls für Programmierer. Zu so gut wie allem, was euch (Anfänger) interessieren könnte gibt 's seitenweise deutsche Erklärungen und meist sogar Webcasts (Videotutorials direkt von MS). Ihr werdet es lieben, versprochen. Trotzdem sollte man wenigsten Leo.org kennen.
- Geduld, Geduld, Geduld. Es klingt komisch aber: Programmieren lernt man NUR durch Programmieren. Übung ist alles. Zum Glück könnt ihr so gut wie nichts kaputt machen. Also probiert herum und versucht so ständig etwas neues zu lernen.
Wenn diese Voraussetzungen gegeben sind können wir uns dem praktischen Teil widmen.
Benötigte Software:
Visual C# 2010 Express: http://www.microsoft.com/germany/expres ... ndows.aspx
Das ist die von uns benutzte Entwicklungsumgebung, praktisch der Werkzeugkasten. Die Express Version ist kostenlos und reicht für den Hobbyentwickler vollkommen. Die Kaufversionen haben keinen größeren Sprachumfang, sondern nur mehr Werkzeuge, die es dem Entwickler leichter machen. Die von mir verwendete Version kostet mehrere tausend Euro, die müsst ihr aber definitiv nicht ausgeben.
Visual Studio 2008 und 2010 erfordern mindestens XP SP3, Raubkopien müssen also vielleicht draußen bleiben.
Da ihr aber alle brave Entwickler seid ist das ja kein Problem.
Theoretisch könntet ihr C# Code auch mit Notepad schreiben, das ist aber eher was für Masochisten.
Leute mit langsamer DSL Verbindung und Vista/Win7 können auch gleich das hier:
http://go.microsoft.com/fwlink/?LinkID=189554
laden. Das ist das rundum sorglos Paket von MS. Hiermit erübrigen sich die anderen Downloads weiter unten.
NET 4.0
Jeder Windows 7 Besitzer hat das (hoffentlich) sowieso, der Rest findet es hier:
http://www.microsoft.com/downloads/en/d ... laylang=en
Bei der Installation von Visual C# 2010 Express sollte das eigentlich von selbst auf eurem PC landen. Wenn nicht, verwendet den Link.
Das .NET Framework ist ein riesiger Werkzeugkasten, das es euch ermöglicht moderne Programme zu schreiben.
Seine Ausprägung als C# ist entfernt mit JAVA verwandt. Nicht direkt, aber von der Idee her. Später dazu mehr.
XNA 4.0
Damit werden wir unser Spiel erstellen. XNA ist ein Aufsatz auf .NET, sozusagen ein Addon.
Für Vista und Win7 benötigt ihr diese Version:
http://go.microsoft.com/fwlink/?LinkID=189554
XP Besitzer müssen leider auf die Windows Phone Entwicklung verzichten und wählen diese Version:
http://go.microsoft.com/fwlink/?LinkId=197288
VS 2010 müsst ihr registrieren, dafür benötigt ihr eine Live ID.
Ist kein Problem und MS nervt auch eher wenig mit Spam, die Infos von MS sind sogar sehr gut.
Außerdem kann man sehr detailliert angeben zu welchen Themen man Informationen haben will. Die Masse wird euch noch gar nichts sagen, also lasst die Häkchen einfach weg.
Im nächsten Kapitel starten wir dann auch direkt mit dem ersten Programm. --->Kapitel 2