Frage

Ich bin Herumspielen mit 2D-Spiele-Entwicklung mit C ++ und DirectX in meiner Freizeit. Ich finde, dass der enterprisey Problembereich Modellierungsansatz nicht so viel helfen, wie ich mag;)

Ich bin mehr oder weniger für ein „best practices“ entsprechen grundlegendes Spiel-Engine-Design suchen. Wie Personen müssen miteinander interagieren, wie Animationen und Sounds sollten in einer idealen Welt, und so weiter vertreten sein.

Jeder gute Ressourcen haben sie empfehlen können?

War es hilfreich?

Lösung

Gamedev.net ist in der Regel, wo ich eine Vorstellung davon zu bekommen, was andere Menschen in der Spiel-Entwickler-Community wenden sind zu tun.

Das heißt, ich habe Angst, dass Sie werden feststellen, dass die Idee der „Best Practices“ in der Spieleentwicklung als die meisten volatiler ist. Spiele sind in der Regel solche speziellen Anwendungen sein, dass es fast unmöglich ist, geben keine Antworten „one size fits all“. Was für Tetris große Werke wird mit Asteroids als nutzlos, und ein Modell, das perfekt für Halo funktioniert, ist wahrscheinlich kläglich für Mario zum Scheitern verurteilt.

Sie werden auch schnell feststellen, dass es als „Industriestandard“ für die Textur, Mesh, Ebene, Ton oder Animationsformate nicht so etwas ist. Jeder rollt nur ihre eigenen oder verwendet, was auch immer auf der Plattform bequem ist. Sie sehen gelegentlich Dinge wie COLLADA , das ist schön, aber es ist immer noch nur ein Zwischenformat, das Schreiben von Exporteuren leichter machen .

Wenn Sie neu Entwicklung zum Spiel, mein Rat wäre dies: Setzen Sie sich nicht auf Anhieb über Ihre Code-Struktur töten. Versuchen Sie, ein einfaches Spiel, wie Asteroiden und nur hacken, bis es funktioniert, egal wie „hässlich“ ist der Code. Verwenden Sie einfache Formate, die Ihnen vertraut sind, ohne sich Gedanken darüber, wie gut sie in größeren Projekten halten werde. Mach dir keine Sorgen über Plugins, Skins, Editoren oder jede dieser anderen Flaum. Nur damit es funktioniert! Dann, wenn Sie mit diesen ersten, allen wichtigen Spielen fertig sind, ein andere holen, und dieses Mal um aufzuräumen einen oder zwei Aspekte des Codes (aber nicht über Bord gehen!) Von dort durchlaufen!

Ich verspreche Ihnen, dass diese bekommen Sie weiter schneller als jede Menge Stochern online für den „richtigen Weg“ jemals könnte (dies von jemandem kommen, der eine Menge Stocher getan).

Und ein letzter Gedanke für Sie: Wenn Sie fühlen sich wohler in einem gut definierten Raum arbeiten, werfen Sie einen Blick auf XNA oder eine ähnliche Bibliothek. Sie werden einige der „besten“ Formate vordefinieren zu verwenden und geben Ihnen Werkzeuge, mit ihnen zu arbeiten, was einen Teil der anfänglichen Vermutungen nimmt.

Viel Glück und vor allem denken Sie daran: Spiele (und ihre Entwicklung) werden soll Spaß machen! Seien Sie nicht bekommen auf den kleinen Sachen gefangen!

Andere Tipps

Machen Sie ein Spiel. Nachdem Sie fertig sind, machen eine andere. Schauen Sie, was Ihnen gefällt und was Sie nicht mögen und dann eine andere machen.

Aber im Ernst, können Sie alle „Best Practices“ lesen Führungen Design zum Spiel Sie möchten, aber es kommt letztlich auf Erfahrung. Der einzige Weg, um Erfahrung zu bekommen, ist, sich zu setzen und ein Spiel zu schreiben. Nachdem Sie dies ein paar Mal tun bekommen Sie ein viel bessere Vorstellung davon, wie ein Spiel zu schreiben.

So ziemlich jedes Buch, das Andre Lamothe als einer der Mitwirkenden.

GameDev Tonnen von Artikeln hat auch.

Ich kann Ihnen nicht zustimmen mehr: Enterprise-Anwendungen bereiten Sie sich nicht für Spiele-Programmierung

.

Ich habe ein paar kleine Spiele in Python, Java, HTML / PHP und Perl erstellt. Die Grundstruktur eines Spiels, wie Sie wahrscheinlich wissen, ist:

Hauptschleife:
handleInput ()
updateGameLogic ()
renderImages ()

Nun, das ist alles schön und gut für Single-Screen, Single-Threaded-Spiele, wie alles, was aus den 70er oder 80er Jahren. Aber ich diese Struktur nicht finden, eine besonders starke fit für Multi-Screen-Spiele (wie RPGs) oder etwas exotischer. Es ist nicht sehr gut fädeln. Der Code wird ziemlich funky, wie Sie eine Vielzahl von Eingängen zu handhaben müssen. Es ist nicht gut skalieren.

Doch bevor ich diese Metapher zu viel bash, bitte beachten Sie, dass dies ein guter Anfang. Ich würde sogar so weit geht Python / Pygame Lernen zu empfehlen und mit diesem Werkzeug des Aufbau Spielen beginnen, anstatt C ++, die das Design und die Umsetzung erschwert. Wenn Sie in Python Prototyp, werden Sie das Spiel nimmt Form viel schneller sehen und in sprachunabhängige Probleme laufen.

Für mich sind die härtesten, zeitraubende Aspekte der Spieleprogrammierung sind die Grafik- und Soundanlagen. Während ich bin ein bisschen ein Audio-Nerd und Amateurmusiker, glaubwürdig und passende Musik zu schaffen und SFX ist ein Projekt von ganz alleine. Ich habe kein zeichnerisches Talent, also muß ich vertrauen auf exisitng Bilder zu modifizieren oder mit frei verfügbaren. Zum Glück gibt es eine weithin verfügbaren kostenlosen Schriftarten, die für Spiele verwendet werden, können (anders und wenig, da sie fast überall schlecht sind).

Schließlich gibt es nichts, wie Open-Source zu sehen, wie andere Projekte damit umgehen. Schlacht von Westnoth ist ein ausgereiftes, mittelgroßes Spiel. Vielleicht möchten Sie sehen, was dort vor sich geht. Auch hier häufig Spiele in Python ihres Quellcode zur Verfügung stellen, so könnte man es Hunderte von Projekten schauen. Sie könnten auch atari 2600 ROMs dekompilieren, aber das wird man heute nicht mehr über die Programmierung viel erzählen. Der alte VCS war ein dediziertes Gerät, das seine Anwendungen in eine sehr systemabhängig Weise behandelt. :-D

Schließlich habe ich auch wie Andre LaMothe. Ich habe seine olde 1993 Buch, das eine Million Seiten dick ist. Obwohl es immer noch auf einigen generischen Spielideen eine schöne Referenz ist, eine Menge davon durch die Verfügbarkeit von freien verfügbaren Bibliotheken und Frameworks vermieden wird, die damals nicht gab.

Viel Glück mit Ihrem Projekt.

Da hat es noch nicht erwähnt worden ist, beginnen, warum nicht an einem bestehenden Motor suchen, der für die Gemeinschaft freigegeben worden ist? Da Sie 2D sprechen, würde ich mich zurück und empfehlen so etwas wie Missbrauch . Ja, es ist alte und die meisten interessanten Bits sind in Lisp - aber das Spiel wurde sehr beliebt für eine Weile, das bedeutet, dass sie etwas richtig machen wurden.

Wie es passiert, ich glaube, die Tatsache, dass so viel von dem ursprünglichen Spiel in Lisp war eine sehr nützliche Lektion ist. Suchen Sie sich die robusteste Sprache / Werkzeug und keine Sorge über die Leistung. Sie können jederzeit die langsamen Teile in C optimieren später.

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