-
General
Sphere. Sphere? Sphere!
Richtig, hier geht es um Sphere!
Allerdings geht es mir bei diesem Thread in erster Linie nicht darum Vergleiche
mit den Makern zu ziehen, das kann jeder für sich selbst tun, sondern einen
Einblick in Sphere zu verschaffen.
Sphere ist eine mächtige RPG Engine, in Funktion ähnlich der Maker-Serie,
allerdings hat der Entwickler Chad Austin Sphere eher für fortgeschrittenere
Spiele-Entwickler konzipiert, als für absolute Neulinge, wie es bei der
Maker-Serie der Fall ist.
Sphere wurde komplett in C++ geschrieben und benutzt einige OpenSource Libraries,
auf die unten weiter eingegangen wird und ist selbst OpenSource Software ( => kostenlos ), sowie unter GPL lizenziert.
Sphere ist sowohl für Windows, als auch für Linux erhältlich.
Systemanforderungen
- Pentium 200 MHz
- 64 MB of RAM
- Video card with 2MB VRAM
- Sound card for audio
- Windows 95, 98, NT4, 2000, or later OR Linux
- DirectX 8 for fullscreen video drivers
- OpenGL-accelerated video card for hardware acceleration (sphere_gl)
Rendering
Das Rendering erfolgt in der Windows-Version wahlweise per DirectDraw oder OpenGL.
Es gibt einen 8-bit, 16-bit und einen 32-bit softwarebasierten Grafik-Treiber,
sowie einen 16-bit und einen 32-bit Grafik-Treiber, die eine zweifach vergrößerte
Ausgabe ermöglichen (wir erinnern uns, dass man im XP seine 2k/3 Sets erst hochschrauben muss, um sie zu verwenden. Sphere bietet euch an eure Sets weiterhin zu verwenden und die Ausgabe dann auf eine höhere Auflösung hochzuschrauben, was im Endeffekt auch viel besser aussieht), wahlweise interpoliert/skaliert mit den gängigsten Algorithmen wie z.B. dem hq2x Algorithmus (siehe ZSNES).
Die Treiber sind optimiert und dafür, dass sie softwarebasiert sind, sehr schnell.
Wem sie dennoch zu langsam sind, kann den hardwarebeschleunigten OpenGL
Treiber benutzen.
Skript
Es gibt in Sphere keinen "Event-Code", der ja sowieso ein Skript ist, sondern
alles wird mit echten Skripten gesteuert. Maps, Entities, Trigger, Areas
enthalten eigene Skripte (ähnliche Handhabung wie beim Maker-Event-Code,
allerdings kein Herumgeklicke, sondern man gibt direkt den Code ein), die bei einem bestimmten Ereignis,
wie z.B. bei Berührung mit einem Trigger ausgelöst werden.
Als Skript-Engine benutzt Sphere SpiderMonkey, eine in C implementierte JavaScript-Engine. JavaScript ist sehr einfach und dennoch mächtig genug um seriösen Code zu schreiben. JS unterstützt viele Programmierkonzepte, wie z.B. Duck-Typing, objektorientierte Programmierung, funktionale Programmierung, Closures, anonyme Funktionen, etc.
Wer sich JS näher ansehen möchte, ist mit dieser Seite bestens beraten, da sie alle wichtigen Bereiche in JS auf einem hohen und verständlichen Niveau abdeckt.
Input
Sphere unterstützt die komplette Tastatur (inklusive dem Toggle-Status
der Caps-, Num- und Scrolllock Tasten), Maus (rechte, mittlere und linke Maustasten
und das Mausrad) und Gamepads (bis zu 32 Tasten und bis zu vier Achsen).
Grafiken
Sphere benutzt Corona um Grafiken zu laden und zu speichern.
Folgende Grafik-Formate können geladen werden:
das selbe für Animation-Formate:
In folgenden Grafik-Formaten kann abgespeichert werden:
Sound
Sphere benutzt Audiere, welche folgende Soundformate unterstützt:
- Uncompressed WAV
- Uncompressed AIFF
- Ogg Vorbis
- FLAC
- MP3
- MOD, S3M, IT, XM
- MIDI
Audiere unterstützt außerdem folgende Ausgabe-Geräte:
- DirectSound (Windows)
- WinMM (Windows)
- OSS (Linux and Cygwin)
- SGI AL (IRIX)
Datei-Zugriff
Sphere stellt drei Datei-Objekte zum einfachen Zugriff bereit:
- RawFile (binärer Zugriff auf Dateien, keine Format-Abhängigkeit)
- File (normaler Text-Zugriff)
- Log (konzipiert für's Debugging)
Map-Engine
Spheres Map-Engine ist weit entwickelt, solide und erlaubt sehr viele Freiheiten. Tiles können beliebig verändert werden, auf Wunsch sind präzise Koordinatenangaben möglich (Gleitkommazahlen), solide Kamera-Steuerung, beliebiger Zugriff auf die Entity-, Trigger-, Area-Objekte, Entity-Objekten können beliebige und beliebig viele lokale Variablen zugeschrieben werden, etc. Um nur einiges zu nennen.
Man ist natürlich nicht gezwungen, die mitgelieferte Map-Engine zu verwenden und kann sich eine eigene skripten, je nachdem welche man gerade braucht (2d-Scroller, Isometrische Map-Engine, etc.). In den Spielen weiter unten findet ihr einige Spiele, die eine eigene Engine verwenden.
Hier ist noch ein sehr gutes Beispiel: "Rainis Manuscript", ein Spiel von Beaker (eine Demo hat er meines Wissens nach noch nicht veröffentlicht), verwendet eine eigene FF Tactics-ähnliche Engine: Link
Editor
Der Editor trägt einen großen Teil dazu bei, dass Sphere nicht - entgegen Behauptungen - nur ein Framework mit einer Map-Engine ist, denn der Editor ist sehr weit fortgeschritten und enthält enorm viele Tools, die bei der Entwicklung eines Spieles viel Arbeit abnehmen.
Je nachdem, welche Datei geöffnet ist, wird entweder der Map-Editor, der Image-Editor, oder der Skript-Editor (welcher übrigens auf Scintilla basiert, wenn es jemandem was sagt) angezeigt. Mit dem Editor ist es möglich Animationen, Fonts, Bilder, Logs, Maps, Skripte, Spritesets und WindowStyles (Messagebox-Templates) zu editieren, sowie Musik und Sounds abzuspielen.
Ich gebe zu, optisch macht der Editor nicht viel her, meiner Meinung nach ist das aber kein gewichtiger Punkt, solange die technischen Möglichkeiten stimmen. Es wurden übrigens mehrere Editor-Projekte vor Kurzem gestartet, und zumindest ein Projekt ist sehr vielversprechend (wird auch mit dem Gedanken der Plattformunabhängigkeit entwickelt, so dass er auch in Linux verwendet werden kann) und wird womöglich den momentanen Editor in einigen Monaten in Funktion und Optik übertreffen.
Einige Screenshots:
Map Editor
Script Editor
Image Editor
WindowStyle Editor + Project Tree
Ressourcen Tools
Ressourcen Import
Projekt Konfiguration
Grafik-Treiber Konfiguration
Scale32 (einer der Grafik-Treiber) Konfiguration
Sonstiges
- weitere mächtige Objekte
- Netzwerkunterstützung
- Built-in Pixel-Movement
- Built-in Leader-System (Hintereinanderlaufen)
- unbegrenzte Layer
- beliebige Auflösungen
- beliebige Tilegrößen
- beliebige Spritegrößen
- usw.
Games made with Sphere
Da Bilder mehr als 1000 Worte sagen und da bewegte Bilder wieder mehr Aussagekraft beinhalten, habe ich hier ein paar vielversprechende Spiele/Demos/Techdemos hochgeladen.
(falls ihr die MSVC++ 2005 Redistributable (Ansammlung von Bibliotheken, die zum Starten von Programmen benötigt werden, die mit MSVC8 kompiliert wurden) noch nicht installiert habt, solltet ihr das jetzt tun: Link)
Aquatis (27 MB) Screenshot
Eine kurze Demo eines deutschen Entwicklers, die besonders durch die eigenen Grafiken besticht.
Jack (35 MB) Screenshot
Vollversion eines genialen 2D-Scrollers. Ein Muss! STRG: normaler Angriff, ALT: Spezialangriff.
BloodWings (1,6 MB) Screenshot
Eine Menü-Demo, die benutzten Tasten sind A, S und Leertaste.
CityBuilder (1,2 MB) Screenshot
Wieder eine Demo eines deutschen Entwicklers, zeig wieviel Potential in Sphere steckt.
FFV-Engine (1,6 MB) Screenshot
In Sphere ist jede 2D-Engine möglich, sieht man an dieser nachgebauten FFV-Demo. Eingabetaste ist X.
Kefka's Revenge (1,8 MB) Screenshot
Eine ältere, zimlich witzige Demo, von der sich die meisten hier ein großes Stück abschneiden sollten.
Lithonite Engine v1.9 (1,1 MB) Screenshot
Lithonite ist eine Engine (oder Skript-Bibliothek), die es erlaubt wie in Chrono Trigger um Ecken zu "gleiten", so dass man nicht an jeder kleinen Ecke stehen bleibt, aber auch noch viel mehr!
Snow And Rain (1,1 MB) Screenshot
Eine Schnee- und Regen-Effekt-Demo, die es wert ist, gezeigt zu werden.
SuperKoopaTroopa (1,6 MB) Screenshot
Ein Versuch einen simplen 2D-Scroller zu skripten. Hat afaik nur einige Stunden dafür gebraucht und das Ergebnis ist genial.
Mit Hilfe der Config.exe im jeweiligen Projektordner könnt ihr andere Grafik-Treiber auswählen, bzw. Treibereinstellungen an den jeweiligen Treibern vornehmen. Probiert am besten die "scale"-Treiber mit den niedrig-auflösenden Spielen aus (bei hohen Auflösungen gibt es kaum Unterschied).
Sphere in Zukunft
Sphere wird auch weiterhin entwickelt, es sind wie gesagt mehrere Editoren in Arbeit, von denen mindestens eins sehr vielversprechend ist. Auch sind wir momentan an einer Überarbeitung der kompletten API, sowie Hinzufügen neuer nützlicher Funktionen zu der Engine beschäftigt. Sphere hat also definitiv eine Zukunft, was auch für euch Support bedeutet.
Wer Englisch kann, sollte sich mal Spheriki, welche Dokumentationen, Tutorials, Skripte, etc. enthält, sowie Spherical, die englische Sphere Community ansehen, wo man wieder haufenweise Skripte, Artikel, Tutorials und natürlich jede Menge Support erhält.
Ansonsten bin ich gerne bereit jedem hier Support zu geben, per PM, oder besser im Support-Forum für weitere Tools, damit es auch andere sehen können, die ein ähnliches Problem haben.
Zum Schluss noch einige Links:
Spheriki (Dokumentationen, Skripte, Tutorials, etc., rund um Sphere)
Spherical (englische Community)
Flik's Site (enthält viele nützliche Tutorials)
Geändert von Kyuu (17.02.2008 um 13:55 Uhr)
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln