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!

Nach oben Entwickler-Mailingliste

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!

Nach oben Offene Aufgaben und Wunschliste

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.

Nach oben Levelprogrammierung

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.

Nach oben Programmierung der Anwendung „Enigma“

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.

Copyright © 2003 - 2022 by Daniel Heck and contributors. The textual content is available under the Creative Commons License.