2010-07-01: Little Goblin: ein Open Source Browsergame Framework / Engine
Beschreibung des LittleGoblin Frameworks
Seit einigen Monaten arbeite ich nebenbei an meinem ersten "richtigen" Computerspiel ... ein Fantasy-Browserspiel, das ich mit Grails (dem Groovy Pendant zu Ruby on Rails) erstelle. Schon nach kurzer Zeit hat sich herausgestellt, daß es praktisch kaum jemand ein Browsergame in Java oder gar Groovy schreibt. Manchmal wird Flash, meistens aber ein LAMP-Stack verwendet (bei dem das P für PHP steht). Die Projekte sind closed-source, und wenn sie quelloffen sind, dann oft deswegen, weil der Autor aufgeben hat. Und wer will sich schon in ein halbgares, gescheitertes Projekt einarbeiten... Es gibt, soweit ich weiß, kein Open Source Browserspiel in Grails / Java. Zumindest im Sinne eines Mehrspieler-Strategiespieles. Ich betrete also ein relativ unerforschtes Gebiet.
DRY = Don't repeat yourself
Ein wichtiger Ansatz in der Softwareentwicklung ist die Wiederverwendung von Komponenten. Wiederhole dich nicht. Wer zehn mal denselben Code schreibt oder kopiert, macht etwas falsch. Meistens schon beim zweiten mal. Und da Browserspiele eine bestimmte Infrastruktur brauchen, liegt der Gedanke nahe, ein Framework, also ein Grundgerüst, einen Rahmen zu bauen, der diese oft benötigten Komponenten bereitstellt. So kam ich von der Idee, ein möglichst einfaches Spiel zu schreiben, zu der Idee, etwas zu bauen, das sich in vielen Projekten wiederverwenden lässt. Normalerweise ist es keine gute Idee, mit einem Framework anzufangen, denn so etwas kann auch aus einer Vorliebe für unnötige Komplexität (Bloat!) entstehen und eher eine Verzögerungstaktik (Prokrastination) darstellen. Bei LittleGoblin ist das aber anders. Die Software hat mittlerweile einen Stand erreicht (auch wenn sie noch lange nicht fertig ist), bei dem ich trotzdem schon Ideen habe, wie ich sie sinnvoll für ganz verschiedene Spielprojekte einsetzen kann.
Infrastruktur
Dinge, die man braucht, aber deren Implementierung weniger Spaß macht als das Spiel an sich zu programmieren:
- Login als User
- Gilden / Allianzen / Orden: gründen, eintreten, verlassen
usw.
- Nachrichten - senden, empfangen.
(Die Liste ist noch relativ kurz, weil sie nur Dinge enthält, die schon einigermaßen funktionieren...)
Features / Konzepte, die schon existieren
- Quests (mit beliebig vielen Stufen, von beliebiger Komplexität -
einfache Ja/Nein Entscheidungen bis hin zu speziell programmierten
Ereignissen)
- aktivierbare Gegenstände + Shops
- EquipmentSlots - ein Character kann Gegenstände tragen, die mehrere Körperteile brauchen/ bedecken (auch wiederverwendbar für ein Raumschiff). Beispiel: 2-händige Waffen
- Waffen und Rüstungen, die Schaden erhöhen / vermindern können
- Schutz- & Schadenstypen (Fackel macht Feuerschaden, Stab des Chaos könnte magischen/chaotischen Schaden verursachen)
- sehr einfaches, rundenbasiertes Kampfsystem
- man kann Monsterbilder einbinden
- Reputation - für Aktionen bekommt der Character einen Ruf bei
verschiedenen Fraktionen.
Todo:
- Administrative Oberfläche, um neue Quests / Items / Monster usw.
einzubauen.
- Skills (Technologie-Baum / Tech-Tree)
- Crafting (wird ein wesentlicher Teil) & Produktionsketten
- Content
- CSS-Design
- Icons & Bilder
- 1000 Sachen mehr (Balancing, Playtesting, ...).
Die Entwickler-Webseite: http://dewarim.com/browsergame/status
Der Testserver: http://schedim.de

Zurück: 2010-06-27 Glücksstrategien
