Visionaire - Adventure Game Engine Tipps und Konzepte zur Entwicklung eines Spiele Editors Alex...

11
Visionaire - Adventure Game Engine Tipps und Konzepte zur Entwicklung eines Spiele Editors Alex Hartmann

Transcript of Visionaire - Adventure Game Engine Tipps und Konzepte zur Entwicklung eines Spiele Editors Alex...

Page 1: Visionaire - Adventure Game Engine Tipps und Konzepte zur Entwicklung eines Spiele Editors Alex Hartmann.

Visionaire - Adventure Game Engine

Tipps und Konzepte zur Entwicklung eines Spiele Editors

Alex Hartmann

Page 2: Visionaire - Adventure Game Engine Tipps und Konzepte zur Entwicklung eines Spiele Editors Alex Hartmann.

Überblick

• Tipps & Konzepte– Entwicklung– Administration– Dokumentation

• Visionaire– Beschreibung– Live-Demo– Features

Page 3: Visionaire - Adventure Game Engine Tipps und Konzepte zur Entwicklung eines Spiele Editors Alex Hartmann.

Entwicklung (C++)

• Alle Variablen initialisieren

• Assertions verwenden

• Programm im Debugger testen

• Notation festlegen

• Auskommentierten Code löschen

Page 4: Visionaire - Adventure Game Engine Tipps und Konzepte zur Entwicklung eines Spiele Editors Alex Hartmann.

• Skripte verwenden, um Administration zu automatisieren

• Svn Branches minimieren

• Build # verwenden

Administration

Page 5: Visionaire - Adventure Game Engine Tipps und Konzepte zur Entwicklung eines Spiele Editors Alex Hartmann.

• Programm-Beschreibung

• Source Code Kommentare

• Interne Dokumentation im Wiki (Architektur, Abläufe, etc.)

• Build changes dokumentieren

Dokumentation

Page 6: Visionaire - Adventure Game Engine Tipps und Konzepte zur Entwicklung eines Spiele Editors Alex Hartmann.

Visionaire Engine

• Adventure Engine

– u.a. bei „The Whispered World“ und „Zak McKracken between time and space“ eingesetzt

• Programmiert in C++– Verwendet Bibliotheken OpenGL,

SDL, wxWidgets, ffmpeg uvm.• Flexibel erweiterbar

Page 7: Visionaire - Adventure Game Engine Tipps und Konzepte zur Entwicklung eines Spiele Editors Alex Hartmann.

Aufbau

Editor

Projektdatei (xml)

Player

Multimedia-Dateien (Bilder, Sounds, Videos)

DEMO

Page 8: Visionaire - Adventure Game Engine Tipps und Konzepte zur Entwicklung eines Spiele Editors Alex Hartmann.

• (De-)Serialisierung von und nach XML• Versionierung

– ermöglicht einfache Erweiterung• Code Beispiele

– Definition der Objekttypen (Tabellen)

typeGroup.AddType(TTypeData(VCharacterPosition, t_point));typeGroup.AddType(TTypeData(VCharacterFont, t_link, 23));...

TVisionaireObject character = game.GetLink(VGameCurrentCharacter);Character.SetValue(VCharacterPosition, wxPoint(100,200));

Datenstruktur

– Zugriff über Feld-Konstanten

Page 9: Visionaire - Adventure Game Engine Tipps und Konzepte zur Entwicklung eines Spiele Editors Alex Hartmann.

• Einfache Konfiguration in xml-Dateien– GUI zum Editieren der xml-Dateien

– Konfiguration erzeugt Editor-Aufbau

<Field value=„ButtonCondition“><ObjFilterPair parentLink=„0“>

<ObjFilter>\eButtons</ObjFilter><ObjFilterArray>

<ObjFilter>\eScenes\VSceneObjects\eObjects \VObjectConditions\eConditions</ObjFilter>

<ObjFilter>\eScenes\VSceneConditions \eConditions</ObjFilter>...

Editor Konfiguration

Page 10: Visionaire - Adventure Game Engine Tipps und Konzepte zur Entwicklung eines Spiele Editors Alex Hartmann.

• Undo/Redo mittels Command Design Pattern

• Vollständige Scripting-Unterstützung mit Hilfe von Lua

local character = getObject(„Characters[Tom]“)local direction = character:getInt(VCharacterDirection)if direction == 180 then

character:setValue(VCharacterPosition, (200,600))end...

Besondere Features

Page 11: Visionaire - Adventure Game Engine Tipps und Konzepte zur Entwicklung eines Spiele Editors Alex Hartmann.

Danke fürs Zuhören

Fragen & Antworten

Visionaire sucht Entwickler

www.visionaire-studio.net

[email protected]