Artikel-Schlagworte: „Editor“

Excel Iterator / Restrukturierungstool

Montag, 19. April 2010

Veröffentlichung: April 2010
Programmiersprache: C# (VB.net)
Interfaces: Microsoft Office 11.0 InterOp, MSXML 6.0

Basierend auf meinem Plugin / Script System (http://www.smokingfish.de/?p=119) , einem einfachen Programm zum iterieren von Daten und div. Klassen z.B. zum automatisieren von Excel ist dieses extrem nützliche Tool entstanden.

Es ermöglicht dem Benutzer anhand einfacher C# oder VB.net Scripts aus div. Quelldaten möglichst gleicher Struktur resultierende Tabellen zu erstellen.

Zum Beispiel: Ich habe 200 Excel Files mit je 5 Tabs. Jedes Tab ist mit 200 Werten gefüllt. Diese Dateien gibt es in 3 verschiedenen Versionen. Diese Versionen untereinander sind jedoch von der Struktur identisch.
Das Tool kann nun durch definieren einer Struktur für eine fertige Datei und dem kopieren aller Werte, aller Quelldateien, eine neue Datei erstellen die nur exakt die Daten in der Struktur erhält wie ich sie gerne hätte.

Ab einer gewissen Anzahl an Werten ist ein umstrukturieren von Hand nicht mehr praktikabel, ein Makro ab einer gewissen Anzahl von Dateien ebenso nicht mehr. Hier kommt dieses Tool zum Einsatz und generiert aus den Quelldaten genau das was ich haben möchte.

Weitere Merkmale:
- Scripts verfügen über diverse Ereignisse die vor oder nach dem Start sowie bei jeder bearbeiteten Datei aufgerufen werden
- Das Script wird zur Laufzeit kompiliert und ist in der Ausführung genauso schnell wie das eigentliche Programm
- Es stehen Klassen zum Lesen und Schreiben von Excel Dateien zur Verfügung, es können aber nach dem selben Prinzip weitere Formate hinzugefügt werden
- Scripts haben vollen Zugriff auf alle relevanten Funktionen des Hauptprogramms

R-PG Minerva SourceCode

Sonntag, 16. August 2009

Grösse: 22,0MB
Letzte Änderung: ~2007

Inhalt: Der gesamte Quellcode des Minerva Projekts.
Zusätzlich sind AniQ,Rani und einige andere Tools enthalten.

Downloadlink:
Download!

Downloadlink , Video 1: Download!

Downloadlink , Video 2: Download!

Downloadlink , Video 3: Download!

R-PG Minerva

Sonntag, 16. August 2009

Veröffentlichung: Nie veröffentlicht (Entwicklung ca. 2002-2007)
Programmiersprache: Visual Basic 6.0, C++, C, C#, VB.net, ASM(x86)

Noch bevor ich das erste ernsthafte Projekt angegangen bin hab ich vor und während meiner Ausbildung mit zeitweise bis zu 15 Leuten im R-PG Team am Projekt Minerva gearbeitet. Zusammen mit noch 2-3 anderen habe ich das Projekt ca. 2002 ins Leben gerufen. Aktiv waren wir bis ca. 2005-2006 und hatten 2007 sogar noch ein letztes Teamtreffen.

Das Hauptaugenmerk lag zu beginn auf der Entwicklung eines RPG Entwicklungssystems, ähnlich dem RPG Maker 2000, der selbst heute noch weit verbreitet ist. Das gelang uns auch ziemlich gut.

Mit der Zeit kamen immer mehr Leute in das Team und nebenbei wurde so eine fantastische Spielwelt erschaffen, es wurden Storys geschrieben, Artworks gezeichnet, Spielgrafiken erstellt und Musik komponiert. Dieser Teil des R-PG Teams taufte die Spielewelt “Phoenix”. Phoenix sollte sogar mal einen Nintendo DS Ableger bekommen, so wurde zu Promotionzwecken sogar eine Musik CD produziert und auf der GamesConvention an potentielle Sponsoren verteilt.

Nur leider haben wir immer wieder neue, bessere Ansätze gefunden um das Editorensystem noch flexibler und besser zu machen. Dazu gehörten auch diverse komplette Umstrukturierungen der gesamten Codebase. Das kostete Zeit – und warf uns wieder ein Stück zurück. Wenn ich im nachhinein so draufschaue, waren wir 2007 zwar technisch wesentlich besser aufgestellt als noch 2003, doch stand 2003 bereits ein wunderbar spielbares Mini RPG – soweit sind wir mit den späteren Iterationen nie wieder gekommen.

So kams am Ende wie es kommen musste und das Projekt wurde erst hängen, dann fallen gelassen.

Wie ich aber damals schon auf der offiziellen Homepage des Projekts geschrieben habe, es hat unglaublich viel Spass gemacht in einem so grossen Team an einem so interessanten Projekt zu arbeiten. Die Erfahrungen die ich damals sammeln konnte sind heute unbezahlbar und haben mir den Einstieg in die kommerzielle Programmierung wesentlich vereinfacht.

Aus dem Minervaprojekt sind einige tolle Tools und Techniken gewachsen die ich in naher Zukunft Stück für Stück herauslösen und hier publizieren werde. Hier eine grobe Übersicht der besonders interessanten Techniken und Tools aus Minerva und ein bisschen Trivia:

- Minerva ist ein extrem flexibler RPG Editor
- Karten waren in ihrer Grösse nicht limitiert und konnten beliebig detailliert aufgebaut werden
- NPC’s verfügten über umfangreiche Darstellungsoptionen und konnten komplett in VBScript gescriptet werden
- Die gesamte Logik neben der eigentlichen Spiellogik konnte in Scriptlayern ebenfalls in VBScript gescriptet werden
- Das Datenbanksystem basierte auf XML und konnte mit einem visuellen XML Editor direkt bearbeitet werden
- Minerva verfügte über ein tolles Partikelanimationssystem
- Minerva konnte RPG Maker 2000 Maps importieren
- Minerva unterstützte die Dateiformate vom RPG Maker 2000, inklusive der AutoTile Spezifikation
- Minerva benutzte ein Pathfinding System nach Dijkstra
- Minerva basierte am Ende auf DirectX8 und hatte einen zusätzlichen Software Renderer und ein Interface zur Implementierung weiterer Engines
- Sound wurde mit FMOD oder DirectSound3D (3D Sound wurde unterstützt) abgespielt
- Server/Client Code war bereits vorhanden um später Onlinefunktionen zu bieten
- Ein Frameskipping System für ältere Rechner war implementiert
- Die Kollisionsabfrage war in ASM geschrieben und Pixelgenau
- Der Scripteditor konnte Intellisense und Syntax Highlighting
- Die GUI benutzte zuletzt VBEclipse

- Es wurden eigene Dateiformate unterstützt wie AniQ und RANI
- Das Tool AniQ konnte Animationsfolgen erstellen
- Das Tool Rani konnte Flash ähnliche Animationen erstellen
- Der RipHelper konnte Grafiken aus vorhandenen Spielen rippen
- Der FontCreator konnte bunte BitMap Fonts generieren
- Der MenuEditor konnte Menüs visuell erstellen

Das Projekt ist seit Mitte 2008 offiziell beendet und der SourceCode für jeden downloadbar.

Pocket RPG Maker Sourcecode

Sonntag, 28. Juni 2009

Grösse: 13,8MB
Letzte Änderung: ~2008

Inhalt: Alles was ich an Daten zum Pocket RPG Maker noch auftreiben konnte. Beinhaltet eine lauffähige Version des Editors und des Player. Sourcecode ist komplett vorhanden, inklusive einiger alter Versionen. Zusätzlich ist die PC und Pocket PC (ARM) Version der Grafikengine (Smoki2Dmd) und eine ältere Version der Java Runtime dabei.

Downloadlink: Download!

Pocket RPG Maker

Sonntag, 28. Juni 2009

Veröffentlichung: ~01.01.2008
Programmiersprache: Microsoft Visual C# mit Compact Framework, Java (J2ME), Microsoft Visual C++, Assembler (x86), Assembler (ARM)
Plattform:Microsoft Windows, Microsoft Windows Mobile

Sonstiges: Entwickelt zwischen 2005 und 2008

Der Pocket RPG Maker war eines meiner grösseren Projekte, in der Zeit wo ich auch an Minerva, einem Windows basierendem RPG Entwicklungssystem gearbeitet habe.

Am Pocket RPG Maker habe ich dann parallel hauptsächlich alleine gearbeitet. Das System war dem RPG Maker 2000 nachempfunden und die GUI für einen mobilen Einsatz konzipiert.

Letztendlich war es tatsächlich möglich kleine Spiele in dem System umzusetzen und sie sowohl auf Windows als auch auf PocketPC’s und Smartphones laufen zu lassen.

Im späteren Verlauf bekam das Programm noch eine eigene Grafikengine (Smoki2DMemoryDraw, kurz S2Dmd) verpasst, eine reine Software Engine mit allen notwendigen Renderfunktionen. Zusätzlich wurden so div. Filter und Renderparameter möglich (z.B. das rendern von Grafiken mit Alphachannel) und auch Vollbild Filter wie Scale2X, bekannt aus allen grösseren Emulatoren. Die Engine wurde mit ASM Code optimiert und komplett auf ARM portiert.

Viele der aus dem RPG Maker 2000 bekannten Funktionen waren schon vorhanden, besonders hervorzuheben war ein Blockbasierendes Scriptsystem – das heute wohl gut mit XML im Aufbau verglichen werden könnte. Das System hat es mir erlaubt einen Scripteditor zu bauen der eben diese Scripts nur zu visualisieren brauchte, ohne den Aufbau in irgenteiner Form zu verändern. Im Endeffekt sah dieser Editor dem aus dem RPG Maker schon sehr ähnlich.

Zusätzlich verstand das System alle RPG Maker Grafikformate und nutzte sie auch. Besonders schön war das auch komplexere Systeme wie das Tilesetformat komplett inkl. Autotiles unterstützt wurden.

Gegen Ende der Entwicklungszeit gab es erste Testversionen einer JAVA(J2ME) Runtime für Java fähige Handys. So liefen die ersten Pocket RPG Maker Maps damals auf meinem alten Sony Erricson Handy inkl. NPC’s und Autotile Maps.

Heute ist kaum abzusehen ob ich je wieder an diesem oder ähnlichen Projekten arbeite, also gibt es im nächsten Post den kompletten SourceCode zu dem Programm, inkl. der Grafikengine für ARM und x86 und einer früheren Version des J2Me Ports.