Welche Datenbanken für Games
-
Hallo,
ich bin jetzt langsam an der Stelle angelangt, das ich über eine Datenverwaltung nachdenken muss.
Um das ganze mal zu konkretisieren gebe ich mal ein paar Infos raus.
Ich bin am entwickeln einer kleinen 2D Engine um mir in RPG Maker manier meine Spielchen basteln zu können. Ich kann mitlerweile TileMaps auslesen, und die entsprechenden Texturen zuordnen, doch jetzt kommen wir schon zum unschönen Teil des Ganzen.
Im moment lese ich die Texturen nur per if bzw switch aus, was auf dauer sicherlich nicht die beste Methode sein dürfte. Nun war ich am überlegen eine Datenbank zu verwenden, aber habe damit einige Verständnisprobleme.
Welche Datenbank sollte ich verwenden?
Gibt es dazu ein Tutorial das mir näher bringt, wie ich das mit meinem C++ Projekt verknüpfen kann?mfg
-
Ich glaube irgendwie nicht, dass du eine Datenbank suchst. Ich glaube du suchst ein Dateiformat für Maps, oder? Wie bspw. welche Textur nun in welchem Abschnitt als Boden fungiert, etc.?
Datenbanken eignen sich heute (auf Grund der technischen Entwicklung) in erster Linie zur Massenspeicherung von relational verwalteten Daten. Ich glaube nicht, dass eine Datenbank sehr praktisch für diesen Einsatzzweck ist. Wobei ich da kein Experte bin. Zumindest ist es nicht Usus.
MfG SideWinder
-
Das ist ja nicht alles was ich damit speichern möchte.
Ich habe eine Zeit lang mit Mangos (Privat WoW) und ( Gegner Scripte) SD2 rumgewerkelt und dort die Datenbank für die Bosse und Mobs eigentlich recht lieb gewonnen. Dort konnte man einfach Einträge für die einzelnen Bosse machen und eben jedem Attribut auf einen Blick einen Wert geben.
So in etwa hatte ich das auch für mich später geplant.Aber um nochmal auf die Texturen zurück zu kommen. Ich finde es recht unpraktisch, jedes mal kompilieren zu müssen, nur weil ich eine neue Textur hinzufüge. Da kam ich auf die Idee, die Dateinamen einfach in einer Datenbank speichern zu lassen und eben dann diese per ID auszulesen.
mfg
-
Also leider kann ich dir nur ein Suchbegriff an den Kopf schmeißen: Multimedia-Datenbanken.
-
Eine Datenbank kann man im Allgemeinen aber nicht in Textdateien mal eben von Hand bearbeiten. Dafür gibt es Abfragesprachen ala SQL und dafür braucht es erst einmal Tools, etc.
Eine Textdatei oder semistrukurierte Daten ala XML lassen sich leicht mit einem Editor verändern und erlauben dir imho unmittelbareres Arbeiten.
Aber wie du willst, du kannst auch eine kleine Datenbank nehmen, bspw. SQLite. Gar keinen Falls würde ich dir eine Datenbank empfehlen die nicht "embedded" verwendet werden kann (also alle großen und "eigentlichen" Datenbanksysteme) weil du sonst dein Spiel nirgends mehr ankriegen willst (alle User müssten zuerst einen Datenbankserver installieren...)
Nicht in Frage kommen für dich also: Oracle, IBM, Microsoft SQL Server, etc. pp.
MfG SideWinder
-
Also weg von Datenbank, hin zu XML?
-
Ich hätte auch vorgeschlagen ein einfaches Text-Format zu verwenden. Wobei XML jetzt nicht gerade einfach ist. Einfach wäre JSON oder noch einfacher .ini Files.
Bzw. man kann auch gut Lua Scripte für sowas verwenden. Lua ist auch einigermassen einfach einzubinden.
-
hustbaer schrieb:
Ich hätte auch vorgeschlagen ein einfaches Text-Format zu verwenden. Wobei XML jetzt nicht gerade einfach ist. Einfach wäre JSON oder noch einfacher .ini Files.
Bzw. man kann auch gut Lua Scripte für sowas verwenden. Lua ist auch einigermassen einfach einzubinden.
Weils so schön ist, kann ich auch noch ein "Boost Serialization" in die Runde werfen. Hat den Vorteil, dass es recht einfach zu benutzen ist.
-
Also wenns nur um ein offline Spiel geht ohne zentrale Datenbank ( das lese ich eher raus ), dann nimm doch einfach sqlite. Relativ einfach zu verwenden, wenn Du SQL bereits kennst und die API ist auch nicht sehr schwer. Tools um die Datenbanken erstmal zu erstellen gibt es auch.
http://sqlitebrowser.sourceforge.net/
Wäre mein Tipp. Ich finde SQLite sehr gut, arbyte mich da auch grade rein.
rya.