Frage

Ich möchte einige einfache Mario-ähnliches Spiel von Grund auf mit Sprache C schreiben, aber ehrlich gesagt habe ich keine Ahnung, wie dies zu tun, und ich kann nicht jede gute Anleitung dafür finden, die kostenlos ist.

Aber auf die actuall Frage habe ich nur so weit WinAPI Programme geschrieben, so dass alle Event-Handling und Benutzereingaben von OS behandelt wurde, mit einem Minimum an Arbeit, aber zu develope Spiel, mit zum Beispiel Menüs mit nicht-rechteckige Schaltflächen, Animationen und so, glaube ich, ist es nicht so etwas in WinAPI taht mit mir dies mehr als nur einige Basisroutinen Mauszeigers Lage und Drücken von Tasten helfen könnte.

So ist der richtige Weg, um Ihr Spiel zu schreiben gesamte Auslosung Teil Game-Engine schreiben von Objekten für Spieler, Feinde und sogar Hintergrund selbst, und nicht nur die Verwendung directdraw für die Ausgabe auf Bildschirm zu manipulieren?

EDIT: Ich möchte wirklich lernen, wie man Spiele von Grund auf neu zu schreiben, becouse es große Programmiererfahrung sein muss, und wenn Sie Spiele wie Kommandant betrachten scharf auf DOS, erstellt ohne Rahmen oder Bibliotheken, aber immer noch so groß ist.

War es hilfreich?

Lösung

Ein guter Ansatz dazu wäre, einen Blick auf die SDL-Bibliothek zu haben. Ich bin nicht, dass es unbedingt die beste Bibliothek für 2D-Spiele zu sagen, aber es ist leicht zu verarbeiten und die Bahn mit Tutorials und Open-Source-Code-Beispiele für einfache Homebrew 2D-Spiele überschwemmt wird, um loszulegen SDL geschrieben werden.

Andere Tipps

ich auch die SDL empfehlen, aber man sollte auf jeden Fall einen Blick auf lazyfoo Tutorial , das ist einfach toll.

ich SDL auch verwendet, sondern versuchen, sehen HGE . Es erfordert mindestens DirectX 8.0 so Ihre Anwendungen nur unter Windows arbeiten, aber auf ihrem Forum finden Sie viele Themen auf, wie die Portierung auf OpenGL zu finden. Meiner Meinung nach wird HGE einfacher sein, als SDL zu lernen, weil SDL eine niedrige Level-Bibliothek ist, und Sie werden lernen müssen, wie viele Dinge selbst zu behandeln. HGE ist mehr bereit, gerade aus dem Kasten heraus zu starten.

Als ich anfing, Programmierung Ich begann es mit Allegro tun, zurück in den guten alten DOS-Tagen. Es war die erste nutzbare Bibliothek, die mit SVGA-Bibliotheken gearbeitet und hatte eine gute Sprite-Unterstützung. Dann version3 kam und sie zusätzliche Unterstützung für Windows (unter Verwendung von GDI und directy X, Sie zur Laufzeit, die Engine zu verwenden wählen könnten). Das Linux-Port zum Leben erweckt, und alles ist gut.

Es ist eine sehr einfache 2D-Bibliothek, und es wird Ihnen die Grundlagen von Grafiken und Animationen unterrichten. Jetzt enthält es auch Audio-Unterstützung, die eine sehr notwendige Ergänzung (na ja, ich erinnere mich noch an V 2.9x ...). Sie sind in Betas für Version 5, und ich denke, das ist ein interessantes Projekt für Sie suchen.

http://www.talula.demon.co.uk/allegro/

Was euch reden, die WinAPI hat geringe Zeichenroutinen.

Obwohl eine etablierte Bibliothek wie SDL ist wahrscheinlich eine bessere Idee, die Sie Ihre eigenen Abstraktionen der WinAPI Zeichenroutinen ohne allzu große Schwierigkeiten schaffen könnten.

Dann ist es nur eine Frage der While-Schleife erstellen, die alle Zeichnungsanweisungen und Interpretation Eingang hat. Für 2D-Spiele ist dies nicht allzu schwierig.

Kurz gesagt, ja - es gibt nichts in der WinAPI, dass Ihnen viel helfen. Allerdings gibt es Dutzende von Game-Engines, dass Sie Ihr Spiel aufbauen könnten auf, dass eine riesige Menge an gruntwork aus zu schaffen, das Spiel selbst nehmen würde. Ein bisschen googeln wird dir helfen.

(Persönliche Empfehlung: obwohl es technisch ein 3D-Engine, so etwas wie Unity ein ausgezeichneter Motor ist, der für Tutorials enthält Erstellen von 2D-Spiele. Die Einheit ist nicht C, aber es hat Ihr Leben viel einfacher ...)

EDIT: Ich möchte wirklich lernen, wie man Spiele von Grund auf neu zu schreiben, becouse es große Programmiererfahrung sein muss, und wenn Sie Spiele wie Kommandant betrachten scharf auf DOS, erstellt ohne Rahmen oder Bibliotheken, aber immer noch so groß,

Das ist eigentlich nicht ganz richtig. Commander Keen (und alle DOS-Spiele) Verwendung Bibliotheken tun: bereitgestellten die von DOS, BIOS, usw. Ohne Bibliotheken einen oder anderen Form, würden Sie nicht in der Lage sein, etwas Sinnvolles mit C. Für Spiele-Programmierung zu tun, was Sie wirklich tun wollen alle das niedrige Niveau Details zu jemand verlassen sonst.

Ich würde empfehlen, Allegro als Anfang Spiel Programmier-Bibliothek.

Überprüfen Sie dieses heraus Spiel dev Start

Sie haben wirklich eine große Ressource in Bezug auf Spiele-Programmierung und viele Anfänger Sachen. SDL ist gut, aber Sie sollten, bevor über das Lernen grundlegenden Spieltechniken betrachten Programmieren beginnen und sogar vor dem Denken über die api / libs starten Sie verwenden.

Klar, wie viel „Intelligenz“ Sie braucht (Ki), sollten Sie über das Laden / Speichern eines eine frühe Zeit, ... so viel Dinge, die Sie im Auge behalten sollten, wenn Sie Ihr Projekt zu beenden. Haben Sie ein Game-Editor benötigen? (Also..work) Was ist Sound / Grafik? Schreiben all dieses Zeug auf eigene Faust wird viel Zeit in Anspruch nehmen (wenn Sie keine Erfahrung haben). Erstellen der Inhalte ist ein weiteres großes Thema, das viel Zeit in Anspruch nehmen kann, wenn man es überhaupt zu machen.

Vielleicht wird es Ihnen helfen, auf einige dev Kinder einen Blick zu haben, denn das gibt Ihnen die Idee, wie ihr Motor funktioniert. Wie diese (veraltet) Dev kid

Ich habe gerade ein ähnliches Projekt ein paar Tagen begann man vor, es überprüfen kann sich über GitHub .
Es sollte Ihnen einige Ideen darüber, wie das Spiel aufgebaut ist. Sowie einige Details über eine Scroll-2D-Karte mit Kollision (was ziemlich kompliziert stellt sich heraus, wenn Sie es 100% fehlerfrei erhalten möchten). Oh, und es ist mit SDL so viele hier haben bereits vorgeschlagen.

Was mich betrifft, das ist mein erstes C-Projekt. Aber ich muss zugeben, dass ich vor ähnliche Sachen in Java und Python getan haben, so dass dies ein guter Weg war für mich schnell lernen C. Und da es das Lernen und nicht produktive Sachen, ich bin mit Klar C99, das macht die Aufgabe sogar „witzige“.

Aber zurück zum Spiel, müssen Sie wirklich über Ihr Design denken vor Sie beginnen Codierung, es auf einem Blatt Papier aufschreiben, oder wenn Sie wie ich sind und Sie nicht haben Baum Sachen in Reichweite schreiben sie in Pseudo-Code.

Denken Sie darüber nach, wie viele mögliche Spielzustände wie möglich, nichts ist schlimmer, als neu implementieren die gesamte Player / map / was auch immer Sachen von Grund auf neu, nur weil man nicht vor über Feature XYZ dachte.

Design ist sehr wichtig, wenn Sie mit nicht ein Ziel zu beginnen, wird Ihr Projekt einen Punkt erreichen, wo sie versagt, genau wie mein Tuff es tat, gut auch wegen fehlender Musik und jemand versäumt, die Feinde haben entworfen würden, etc.

Beim Reden von Grafiken und solche, bedenkt, dass das Spiel von viel mehr als nur die Ebene Code bestehen. Wenn Sie nicht gut in Grafiken nehmen dann die Rechnung bei der Gestaltung. Weil Sie schnell Ihre Motivation verlieren, wenn das einzige, was auf dem Bildschirm farbige Rechtecke.

Arcade Adventure Set (ursprünglich als Buch veröffentlicht) ist wahrscheinlich eine der umfassendsten Anleitungen, wie ein 2D-Side-Scrolling-Spiel zu schreiben. Obwohl eine ältere Referenz haben viele Grundlagen für die Entwicklung eines 2D-Side-Scroller nicht verändert.

Der vollständige Quellcode Beispiele und einige Werkzeuge ein Side-Scroller zu entwickeln, werden zur Verfügung gestellt, wie Downloads . Es gibt nur eine externe Bibliothek verwendet, um Grafiken Primitiven zu behandeln. Da dies ein älteres DOS-Programm ist, können Sie ein DOS-Emulator wie DOSBox oder ändern Sie die Beispiele verwenden, um für moderneren Umgebungen.

Ich schlage vor, Sie Kapitel 1 bis 9 und Fokus auf den Kapiteln 10 bis 17 abschöpfen.

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