Entwicklung
Würden Sie gerne an Enigma mithelfen? Enigma wird von einer kleinen
Gruppe Freiwilliger entwickelt. Wir arbeiten in unserer Freizeit, die
naturgemäß recht begrenzt ist. Falls Sie uns helfen möchten,
sind Sie jederzeit willkommen!
Falls Sie Interesse haben, an Enigma tätig zu werden, melden Sie sich
bitte bei der
Entwickler-Mailingliste an. Hören Sie den Fragen anderer zu,
stellen Sie eigene Fragen. Antworten Sie auf die Fragen anderer,
veröffentlichen Sie eigene Beiträge wie Levels oder Patches oder
bieten Sie Ihre Hilfe an.
Bitte bemerken Sie dabei, dass aufgrund der Internationalität der
Entwicklergruppe alle Mails auf der Liste in Englisch geschrieben werden
sollten. Falls Sie Dateien anhängen, stellen Sie bitte sicher, dass
die Gesamtmail die 300 kByte-Grenze unserer Mailingliste nicht
sprengt. Größere Mails werden automatisch verworfen!
Obschon Enigma die Version 1.00 erreicht hat, verbleibt eine lange Liste
offener Aufgaben. Bei vielen Punkten fehlen uns Ressourcen oder manchmal die
Fähigkeiten, diese Aufgaben anzugehen. Hier ist eine Liste offener
Punkte, für die wir definitiv Ihre Hilfe brauchen.Wenn Sie die
benötigten Fertigkeiten besitzen und etwas Freizeit opfern können,
überlegen Sie sich bitte, uns damit zu helfen.
Nicht programmierrelevante Aufgaben
- Übersetzungen. Enigma kann noch andere Sprachen als
Englisch und Deutsch unterstützen. Wenn Sie uns helfen wollen,
Enigma an Ihre Landessprache anzupassen, kontaktieren Sie uns bitte.
Dies betrifft nicht nur die Knöpfe und Levels in Engima, sondern
auch die Handbücher, FAQ, Enigma-Wiki und diese
Webseite.
Einfach
- Bessere Grafiken. Wie Ihnen vielleicht aufgefallen ist, mangelt
es uns zur Zeit etwas an Künstlern. Wenn Sie mehr Talent haben als
wir, würden wir nur zu gerne unsere Sprites, Logos und alle
weiteren Bilder gegen bessere austauschen.
Einfach-Mittelschwer
- Sounds. Enigmas Sounds sind zur Zeit unvollständig und
einige könnten (müssten!) aufgefrischt
werden.
Mittelschwer
- Tech-Support. Je größer Enigmas Fangemeinde wird,
desto mehr technische Fragen und Probleme treten auf mag-heut.net und
der Entwickler-ML zu Tage. Manche Fragen wurden vielleicht schon in
einem anderen Diskussionsfaden behandelt oder sind sogar in der FAQ
vertreten. Jeder von Enigmas Powergamern mit etwas Erfahrung in der
Installation auf einem oder mehreren Betriebssystemen kann uns helfen,
den Grund für die auftretenden Probleme herauszufinden und die
Fragen zu beantworten. Immer wieder auftauchende Fragen bieten im
Umkehrschluss auch Stoff für neue Einträge in der FAQ.
Einfach-Mittelschwer
- Beratung über Opensource-Lizenzen. Wir versuchen Enigma so
viele sinnvolle Teile wie möglich hinzuzufügen. Gleichzeitig
wollen wir aber sicherstellen, dass Enigma stets ohne
Einschränkungen weiterverbreitet werden kann. Allerdings sind die
involvierten Lizenzen manchmal schwer zu interpretieren und schwierig zu
kombinieren - und wir haben uns tatsächlich schon an einigen
Ärgernissen dieser Art den Kopf gestoßen. Wir wünschen
uns dafür eine Kontaktperson, die sich mit diesem Themenbereich
auskennt, und die wir von Zeit zu Zeit befragen können.
Einfach-Mittelschwer
Programmierrelevante Aufgaben
- Levels. Enigma lebt von einem steten Strom neuer (guter)
Levels. Warten Sie nicht, bis Sie alle Level durchgespielt haben, bevor
Sie anfangen, eigene Level zu schreiben. Sammeln Sie Ihre Ideen, suchen
Sie Hilfe im Abschnitt über die Levelprogrammierung und vergessen Sie
nicht, Ihre Ergebnisse zu veröffentlichen!
Einfach-Mittelschwer
- Portierungen und Packaging. Sind Sie vertraut mit
Anwendungsentwicklung und Packaging auf einer Plattform? Wir würden
gerne unser Packaging für die bereits unterstützten
Plattformen (Windows-Installer, Linux-Pakete für weitere
Distributionen, …) verbessern. Wir brauchen Programmierer, die
fortlaufend testen und die Entwicklerversion von Enigma auf so vielen
Plattformen wie möglich pflegen (Mac OS X, Visual
Studio, …). Würden Sie gerne Enigma auf neue Plattformen
portieren, beispielsweise Spielkonsolen oder Handhelds?
Einfach-Schwer
- Automatisierung des Spielergebnis-Uploads. Wir würden gerne
einen Autoupload für Rekorde und Wertungen anbieten, vergleichbar
dem existierenden Autodownload der fertigen Statistiken. Client- und
Serversoftware werden hierfür gleichermaßen benötigt.
Mittelschwer
- Tastatureingabe, Zwischenablage. Enigma basiert auf der
Bibliothek SDL, die keine geeignete Möglichkeit zur Eingabe von
Umlauten oder Nicht-ASCII-Zeichen anbietet. Gleichartige
Unterstützung zur Eingabe aller Zeichen auf allen Betriebssystemen
wäre erstrebenswert. Wir suchen auch nach einer Möglichkeit
Copy-and-Paste einzubinden.
Mittelschwer
- Leveleditor. Da die existierenden Leveleditoren weder aktuell
noch portierbar sind, erwägen wir einen Java-basierten Editor, eine
Erweiterung des XML-Levelformats und ein Interface zu Enigma. Ein
nützlicher Editor ist reichlich Arbeit und alles andere als einfach.
Mittelschwer-Schwer
- Netzwerk-Spiel. Dies ist ein großes und nicht-triviales
Unterfangen, da Enigma nicht für die Benutzung in einem Netzwerk
designt wurde. Der Hauptteil der Arbeit sind folglich interne
Umstrukturierungen. Wenn Sie Herausforderungen mögen und tief
im C++-Kern von Enigma arbeiten können, nehmen Sie bitte Kontakt
mit uns auf.
Schwer
Bitte bieten Sie uns Ihre Hilfe auf der Entwickler-Mailingliste an. Es
gibt noch viel mehr offene Aufgaben als wir hier aufgelistet haben, und
natürlich sind Sie eingeladen, uns eigene Ideen und Beiträge
vorzustellen.
Obwohl Enigma keinen Leveleditor einschließt und Sie sich
möglicherweise in die einfache Skriptsprache Lua einarbeiten
müssen, ist das Entwickeln eines Levels einfacher als es zunächst
vielleicht den Anschein hat.
Enigmas Referenzhandbuch erklärt
detailliert das Levelformat und alle Spielobjekte, die Sie verwenden
können. Sie sollten zumindest die Kapitel 1-3 überfliegen und
daran denken, dass Sie Details über jedes Objekt hier nachschlagen
können.
Sie finden natürlich auch auf der Entwickler-Mailingliste und im Forum Hilfe.
Sobald Sie denken, dass Ihr Level fertig ist, setzen Sie das XML-Attribut
„status“ auf „stable“ und veröffentlichen Sie den
Level auf der Mailingliste und/oder dem Forum. Die Spieler dort werden Ihren
Level testen und kommentieren. Wenn keine Abkürzungen gefunden werden
und damit die Entwicklung des Levels beendet ist, sollten Sie den Status auf
„released“ stellen und die Version erneut veröffentlichen.
Wir sammeln die Levels aus diesen Quellen und werden Sie bei verbleibenden
Fragen kontaktieren.
Wenn Sie die neuste Entwicklerversion von Enigma herunterladen wollen,
müssen Sie den Quelltext aus dem
git Repository auf GitHub auschecken. Für anonymen Zugriff, rufen Sie einfach
git clone https://github.com/Enigma-Game/Enigma.git
auf, um den aktuellen master Branch des nächsten
großen Releases
herunterzuladen. Bitte beachten Sie dabei, dass diese nur einen
Schnappschuss in der Entwicklung darstellt, und die Revision sicherlich
unvollständig und sogar instabil sein kann.
Für die Entwicklungsarbeiten empfehlen wir eine Unix-Plattform zur
Kompilation. Dort erfolgen Kompilierung und Installation einfach durch:
./autogen.sh && ./configure && make && make install
Für Informationen, wie man die Anwendung für Windows
kompiliert, lesen Sie die Datei doc/README.mingw32.
Informationen zu Mac OS finden Sie in der Datei doc/README.macosx.
Vorsicht: Die Informationen in diesen Dateien sind möglicherweise veraltet.
Bitte kontaktieren Sie uns über die Mailingliste, falls Sie Schreibzugriff
für das Repository benötigen.