Frage

Ich möchte wissen, wie ein fps-Spiel mit SDL lib erstellen?

Gibt es Bücher, die mit Beispielen erläutern?

War es hilfreich?

Lösung

Diese gewinnt für die meisten offene Frage. Sie könnten buchstäblich ein Buch schreiben. Aber läßt sich zufrieden geben in die richtige Richtung ...

Schritt eins, werden Sie für ein Projekt wie dieses gute Debugging-Fähigkeiten benötigen. Pick-up-Code Complete von Steve McConnell. Lesen Sie die ganze Sache. Die investierte Zeit für sich selbst etwas mehr als zahlen, was Sie mit Lese- / Experiment könnte.

Erhalten Sie Ihre Hände auf einige Quellcode einiger Spiel. Irgendein Spiel. Stellen Sie sicher, Sie sehen etwas einfach, bevor Sie etwas groß und komplex zu sehen, und im Kopf behalten, wenn Sie bei jedem Spiel Code aussehen, dass sie ein kombiniertes Team mehr Zeit WAY in sie gesetzt haben, als Sie jemals haben. Der Punkt dabei ist, Code-Struktur zu sehen.

Hier finden Sie eine Referenz für die 3D-Mathematik, hat nicht, dass in der Tiefe sein, aber Sie müssen Sachen wie Punktprodukte hin und her kennen, in der Lage, herauszufinden, wie die Matrix für die Kamera in der Welt zu schaffen usw. (auch wenn Ihr Schreiben 0% des Rendering-Code)

(edit) Hier ist ein großes Buch auf 3D Mathe Mathematik für 3D-Game Programming und Computergrafik, Second Edition (Game Development Series) Dies ist nicht die Art, die man in der Schule lernen, es ist mehr wie eine Kreuzung zwischen trig und erweitern praktische Konzepte: Wie eine Toolbox für sich selbst erstellen die einfachen Physik, effizienter Kollisionserkennung, etc.

Sie müssen etwas über Rendering und Pipelines kennen. SDL bietet Ihnen ein Bein, aber stellen Sie sicher, dass Sie die Konzepte verstehen, was es tut.

Lesen bis über praktisches System-Design. Ihre verschiedenen Systeme werden Verriegelung haben. Denken Sie es gut aus. Ihr System ist nur eine gute in C oder C ++ sein können, ist es der Gedanke, der in, wie Sie Ihre Daten / Kontrolle gestellt wird, fließt das zählt, nicht, wie perfekt Sie Entwurfsmuster emulieren (obwohl diese sehr nützlich sind, als auch von groben)

Grundlagen der KI, nicht "real" AI, aber funktionelle AI; gibt es einen großen Unterschied. State-Maschinen sind groß, mit zu beginnen, und ausreichend für einen einfachen FPS.

ein wenig über Schätzung und Planung Lernen. Sie werden keine Zeit haben, um alles tun würde, wollen Sie richtig machen, um ein FPS zu machen. Sie werden sowohl Triage haben und lernen, wie Triage; sie sind zwei getrennte Dinge, wobei die letztere mroe schwierig. Erfahrung ist der beste Lehrer hier aus groben. (Obwohl die legendäre McConnell hat Buch über diese auch)

Haben Sie ein System Ihr Spiel in der Ebene einzufügen. Wenn es nur Sie als Programmierer, dann Ihre beste Wette ist ein Plug-in für ein bereits bestehendes Bearbeitungsprogramm wie 3DS Max zu schreiben. Ich kann es sehr für einen Programmierer Max über Maya empfehlen. Maya-Skript ist schön, aber es ist ausgerichtet auf cleveren Nicht-Programmierer. Ich finde 3DS Max mehr zu denken, nach dem Vorbild der, wie ein Programmierer würde über das Erstellen und Bearbeiten Ihrer Welt.

Sie können Jahre damit verbringen, Herstellung von Werkzeugen, damit Sie dieses Recht zu tun, so dass Sie die Dinge so tun wollen, die Sie schnell bearbeiten können, und genau Wenn Sie Ihren eigenen Editor zu machen, binden sie in Ihre Spielwelt. Wenn Ihre Welt ist nicht WIRKLICH 3D und Sie wollen viel Niveau machen schnell Sie Ihre Level-Daten als so etwas wie dieses speichern, die Sie viel Zeit sparen Wo X eine Wand ist, sind die anderen Buchstaben Spiel Objekte, die ein Schmutz einfachen Parser in Spielobjekte und Weltkoordinaten übersetzen

 xxxxxxxxxxxxxxxxxxxxxxxx
 xx..........P..........x
 xxxxxxx...........I....x
 xR....xxx...........E..x
 xx.................0xxxx
 xxxxxxxxxxxxxxxxxxxxxxxx

Aber es hängt alles von Ihrem Spiel. Mein Punkt ist, dass man zurückgreifen müssen „Ghetto-Codierung“, wie Sie Ihre Spieldaten erhalten in Ihre Welt sehr wichtig ist, und Sie müssen sich etwas einfallen lassen, die sowohl schnell ist für Sie und schnell zu implementieren, mit Ihnen zu arbeiten.

Und was es ankommt, ist das, was Ihr Ziel ist hier? Wenn es zu lernen, ist etwas, das absolut richtige Weg zu codieren, erwarten die meiste Zeit verbringen auf Code iteriert, die vor einem Monat anständig schien, aber jetzt, dass Sie echteize, was Ihre Anforderungen sind, es könnte wirklich einen weiteren Durchgang benutzen. Haben Sie keine Angst zu umschreiben, lernen Sie eine Menge damit zu tun, aber wenn Sie Ziel-Funktionalität ist, werden Sie wahrscheinlich benötigen, um herauszufinden, wo einige Dinge zu hacken in (wie das Einbetten nad Spieldatenkoordinaten in Code-Dateien) Es IS ok so lange hacken, wie Sie wissen, wo Sie gehackt haben, und haben sorgfältig gehalten es von Ihrem guten Code trennen, so können Sie zurückgehen und richtig, den Code schreiben, wenn Sie die Chance bekommen.

Das Endergebnis ist, müssen Sie entscheiden, was Ihr Ziel dabei ist, das Lernen, oder die Funktionalität und finden Sie das Mittelweg zwischen.

Andere Tipps

Herunterladen das Beben 3 Quellen unter fileshack und von ihnen lernen.

Obwohl die sehr lange Beitrag ist wertvoll auf lange Sicht, ich fühle es nicht die richtige Augenblick Motivation, Dinge auf dem Bildschirm nicht geben. Hier einige Fakten, zusammen mit meiner Meinung

-SDL ist eine 2D-Grafik-Bibliothek, können Sie ein FPS in 2D nicht schreiben, deshalb muss man mit einer 3D-Bibliothek gehen, entweder DirectX oder OpenGL

-SDL hat die Fähigkeit, „sync“ mit openGL, es für Grafiken verwenden, aber es gibt nicht eine ganze Menge Hilfe Online für dieses Thema

Ich schlage vor, Sie zu Lazyfoo.net gehen, die Ressource für die Spieleprogrammierung mit SDL eines absolut erstaunlich Anfänger ist, es zeigt Ihnen, wie Sie den Bildschirm zeichnen, sondern auch lehrt, wie man diese Spiele auf die Programmierung anzuwenden. Nach gehen durch diese, werden Sie in der Lage sein, einen tetris Klon zu machen, oder die meisten anderen 2D-Spielen

Danach werden Sie für 3D bereit sein (es ist viel komplizierter, erfordert ein besseres Verständnis der Mathematik, und braucht viel mehr Code einfacher, Dinge zu tun), wenn Sie mit openGL gehen Besuche NeHe des Tutorials, sie sind zur Zeit an einem neuen Satz, arbeiten mit SDL mit openGL, weil die älteren Tutorials, obwohl wertvoll, codiert sind ziemlich schlecht und verwenden Sie die Fenster (win32) API

im Auge behalten, Spiele-Entwicklung ist eine der anspruchsvollsten und lohnende Programmierung werden Sie stoßen, so viel Glück

Während nicht spezifisch SDL, die NeHe OpenGL-Tutorials sind ein guter Anfang für das Lernen über, wie man tun 3D.

Wenn dies Ihr erstes Spiel ist, werden Sie wahrscheinlich wollen niedriger zielen als ein FPS. Schreiben eines einfachen 2D-Tetris-Spiel mit SDL wird euch alles lehren Sie brauchen, um über diese Bibliothek kennen.

So ziemlich alles, was die „Tricks des Game Programming Gurus“ in dem Titel schon sagt werden Ihnen zeigen, wie ein FPS-Spiel zu machen. LeMothe liebt sie.

Edit:. Vergisst diese Titel

Ich fand diese Seite vor einiger Zeit, als ich das Spiel mit SDL , Sie ‚ll so Beispielprogramme finden Sie den Download starten hier

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top