Ich möchte wirklich wissen, wie viele Spieleentwickler es vorziehen, mit einem riesigen Tisch für alle Gegenstände, einem anderen Tisch für alle Fähigkeiten und sogar einem anderen Tisch für alle Mobs in einem MMORPG zu arbeiten. Und diese Tabellen können mit tausend Datensätzen auf mehrere hundert MB anwachsen, aber die meisten Datensätze verwenden nur wenige Felder in einer Tabelle.
Ich weiß, dass einige Spieledesigner auf diese Weise arbeiten. Gibt es eine bessere Methode?
game-design
tools
mmo
data
Huang F. Lei
quelle
quelle
Antworten:
Ich wollte hier nicht antworten, aber als ich eine andere Antwort / Kommentare sah, änderte ich meine Meinung. SQL ist keine sehr gute Lösung dafür. SQL definiert Tabellen und fügt viele Daten in diese Tabellen ein. Dies ist nicht der Fall. Beim Erstellen / Testen des Spieldesigns möchten Sie meistens überprüfen, ob das riesige System ausgeglichen ist. Das bedeutet viele Tabellen, die sich gegenseitig beeinflussen. Eigentlich nichts Gutes für SQL - oder es ist, aber nicht einfach zu handhaben, weil Sie programmieren müssen, was nicht notwendig ist. Und Spieledesigner müssen es nicht wissen.
Als Spielprogrammierer / -entwickler können wir Excel und seine Verwendung für alles verachten, aber es ist ein ziemlich gutes Werkzeug für diesen Fall, insbesondere wenn der Spieleentwickler es gut verwenden kann und das Dokument gut erstellt ist.
Ich kann kein anderes Tool empfehlen, aber ich kann sagen, dass ich professionelle Spieledesigner kenne, die auch Excel verwenden. Ich gehe also davon aus, dass es ein gängiges Werkzeug ist.
quelle
Ich stimme den meisten Antwortenden zu, dass Tabellenkalkulationen manchmal anständige Entwicklungswerkzeuge darstellen können, insbesondere für Designer.
Wenn Sie diesen Ansatz weiterentwickeln möchten , verwendet das Resolver One- Tabellenkalkulationsprogramm Python für die Skripterstellung, sodass Sie auf einfache Weise eine Tabelle für Designer einrichten können, die sowohl komplexe Modellierungen als auch den Export in ein spielfreundliches Datenformat ermöglicht. Ich finde es viel einfacher, damit zu arbeiten als mit Excel's VBScript.
quelle
Excel ist eine hervorragende Lösung.Ich hatte mich gefragt, wie das gemacht werden sollte. Aber darüber nachzudenken, Excelist, während ein sehr beliebtes Werkzeug und völlig ausreichend für diese Aufgabe, würde ich nicht empfehlen , diese Praxis. Darüber hinaus bringt die tatsächliche Datenbank, wie @notabene vorschlägt, viel zusätzlichen Aufwand mit sich, den Sie wirklich nicht benötigen. Ich sehe einige Optionen, von denen eine der Verwendung von Excel ähnelt:... so oder so, kostenlos und Sie haben die vollständige Kontrolle.
Ich persönlich würde gerne mit binär serialisierten und verschlüsselten Daten arbeiten. Zwei Gründe:
Gibt es eine Notwendigkeit für eine dedizierte, true Spiel orientierte Datenbibliothek ? Vielleicht ... es sei denn, jemand weiß von einer solchen Bibliothek, die es bereits gibt.
Betrachten Sie die CSV-Datei jeder
Seite biszur Frage des OP als eine einzelne Datentabelle - ähnlich einer Tabelle in einer Datenbank. JedeSeiteDatei sollte die zugehörigen Daten enthalten:Dies hilft Ihnen dabei, ein hohes Maß an Organisation aufrechtzuerhalten, was sehr wichtig ist, wenn der Dateninhalt wächst, der Spielinhalt erweitert wird usw.
Bearbeiten
Nach dem tatsächlichen Versuch, .ODS (OpenOffice Calc-Datei) zu verwenden und eine Verbindung von einer Anwendung aus herzustellen, ist dies tatsächlich nicht möglich, da erste Beiträge auf der OO-Site dies implizieren. Ich konnte nichts spezielles finden, das den Codez bei der Implementierung zeigt.
Außerdem kann die Verwendung von Excel-Dateien während der Entwicklung eines Spiels in Ordnung sein , sodass Daten ohne Overhead aus einer Datenbank optimiert werden können. Wenn Sie dies jedoch vorhaben, muss MS Office installiert sein, damit Sie auf Microsoft Excel Interop COM verweisen können. Dies mag zunächst von Vorteil sein, aber ich möchte keinen Code entfernen oder ändern, um eine Anwendung für Alpha, Beta oder RC vorzubereiten. Eine sehr vereinfachte Bibliothek würde mehr Aufwand erfordern, als ich für nützlich halten könnte.
Ich werde CSV-Dateien für die frühzeitige Datenspeicherung verwenden. Es gibt einige Nachteile, aber insgesamt halte ich dies für eine viel bessere Option. Alles ist in meinen Bibliotheken enthalten. .Net bietet sehr nützliche Klassen zum Lesen dieser Textdateien. Als CSV-Dateien können die Daten auch leicht bearbeitet werden. Für spätere Entwicklungsstadien muss ich lediglich meine Datendateien in XML und später in eine verschlüsselte Binärdatei serialisieren lassen.
quelle
Solange die Art Ihrer Daten es erlaubt, sie in einer Tabelle zu speichern, ohne durch zu viele Rahmen zu springen, ergibt sich ein sehr gutes Format, insbesondere für Entwicklungsarbeiten. Am Ende möchten Sie es vielleicht in anderen Formaten speichern, aber die Tabelle bietet Ihnen einen sehr leistungsfähigen Editor, der SEHR hilfreich sein kann, wenn Sie sich entscheiden, Ihre Handhabung zu ändern!
Wenn Sie Excel verwenden, erhalten Sie eine Kopie der ASAP-Dienstprogramme. Dadurch wird die Tabelle zu einem noch besseren Editor.
quelle
Nun, für mich ist es so, dass Speartesheet-Programme mit solchen Dingen nicht richtig und effektiv umgehen können. RDB war eigentlich darauf ausgelegt, riesige Daten und Tabellen zu verarbeiten. Moderne RDB wurden entwickelt, um die "riesigen" Dinge zu bewältigen, und sie machen es sehr gut.
Der Punkt ist, um die beste Ausgabe der RDB zu erhalten, müssen Sie Ihre Datenbank auf die richtige Weise entwerfen. Wenn Ihr Datenschema schlecht war oder nicht alle Daten Ihres Projekts abdeckte, werden Sie mit sehr schlechten Ergebnissen, Leistung und Ausgabe enden.
Die Idee von RDB ist es, große Tabellen in kleinere zu unterteilen, damit Sie die Leistung und Lesbarkeit verbessern können. Wenn Sie eine sehr große Tabelle (Attribute oder sogar Datensätze) oder viele Neupartitionen haben und die meisten davon nicht verwenden, bedeutet dies, dass Ihr Entwurf der Datenbank einige Fehler aufweist.
In Ihrer Frage Huang F. Lei, wenn ich gebeten würde, eine MMORPG-Datenbank zu entwerfen, werde ich nicht alle Fähigkeiten in einer Tabelle und alle Mobs in einer Tabelle hinzufügen. Ich werde die Fähigkeiten nach Klassen und Verwendung in mehrere Tabellen unterteilen. Jeder Fertigkeitstyp hat eine eigene Tabelle oder sogar Tabellen. Für Mobs werde ich sie entweder nach ihrem Typ oder nach ihrem Standort in verschiedenen Welten aufteilen. Und so weiter.
Auf diese Weise kann ich die Tabellengrößen verkleinern, das Verfolgen der Daten erleichtern und die DB-Leistung verbessern.
In Excel hingegen werden alle Daten an einer Stelle "zerbröckelt". und ein Datenelement zu finden ist fast unpassierbar, episch, wenn Sie wiederholte Daten haben. Wenn die Daten größer werden, erhöht sich außerdem die Öffnungszeit der Datei.
Am Ende ist Excel meiner Meinung nach eine sehr schlechte Methode, um mit großen verwandten Daten umzugehen.
quelle