Entwickler-Ecke

Gemeinschaftsprojekte - C# Plattformübergreifende 2D-Game Engine inkl. Editor


callahan - Mo 15.10.12 19:08
Titel: C# Plattformübergreifende 2D-Game Engine inkl. Editor
Hallo liebe C# Fans,

für mein Hobby-Projekt:

"Scrige" - A SCRIptabe Game Engine

suche ich noch 1-2 motivierte und freundliche Mitstreiter. Dabei geht es um die Entwicklung einer effizienten platformübergreifenden 2D-Game Engine mit Scripting-Unterstützung, sowie einem dazugehörigen Editor um Spiele realisieren zu können. Die Engine basiert im Kern auf MonoGame (=XNA platformübergreifend) und wird voraussichtlich Farseer oder Box2D für
Physikberechnungen verwenden. Hierbei wird ein Entity-Component-Entwurfsmuster genutzt, wobei jede Entität in der Spielewelt optional über eine definierte API in C# skriptbar ist.

Die grundsätzlichen Ideen und Konzepte sind ein wenig an "Unity" angelehnt, wobei "Scrige" vom Schwerpunkt her die Realisierung von 2D-Spielen ermöglichen soll.

Warum das Ganze?
Ich bin generell ein großer Fan von Unity. Es gibt meiner Meinung nach derzeit kein anderes Komplettpaket (außer vielleicht UDK), was es Enthusiasten erlaubt rasch und relativ unkompliziert für verschiedene Platformen mit C# zu entwickeln. Allerdings wer mit "Unity" mal versucht hat ein 2D-Game umzusetzen, wird festgestellt haben, dass es ohne (meist kostenpflichtige) Plugins nur sehr schwierig bis gar nicht möglich ist. Es fühlt sich einfach holprig an, man muss die meiste Zeit tricksen und last-but-not-least leidet schnell die Motivation darunter und eine gute Idee wird nicht verwirklicht. "Unity" ist eben doch eher für 3D-Games ausgelegt.

Da ich Nintendo liebe und der Meinung bin, dass clevere und kreative 2D-Games (gerade im mobilen Bereich) immer noch sehr viel Potential haben und ich für meine Projekte stets auf der Suche nach etwas vergleichbaren war und mit vielen Tools und Frameworks auch schon „ins Klo“ gegriffen habe möchte ich das Werkzeug selbst machen.

Ziele
* Entwicklung der Engine und des Editors in C#
* Zielplatform zunächst Windows 8 Metro (auch Tablets, Phones)
* Zukünftig: Android, IOS, Xbox
* Exemplarische Entwicklung eines Spiels
* Spaß

Anforderungen
Auf jeden Fall benötige ich einen erfahrenen C# GUI-Entwickler, der nicht einfach darauflos hackt, sondern konsequent Design-Patterns wie MVVM, MVP, etc. auswählt und anwenden. Die Engine und der Editor sollen auf jeden Fall platformübergreifend mit Mono lauffähig sein. Daher ist WPF derzeit keine Lösung. Das Design sollte den schmerzfreien Umstieg auf ein anderes GUI-Framework jedoch möglichst berücksichtigen.
Für die Engine selbst wäre die Mitarbeit einer weiteren Person denkbar. Wenn jemand noch Fähigkeiten auf dem Gebiet von Game Art-Design hat, umso besser...

Die Spielregeln

Allgemein
Ich will das Projekt als unverbindliches Hobby-Fun-Projekt starten. Es soll analog zu "Unity" auf jeden Fall eine kostenlose Version zur freien Verwendung geben. Eventuell wird im weiteren Verlauf eine kostenpflichtig Version mit mehr Features oder der Unterstützung weiterer Plattformen, wie zum Beispiel Android oder IOS, geben. Eine Projektfinanzierung über Kick-Starter ist ebenfalls denkbar und kann diskutiert werden. Ansonsten gilt folgendes:

1) Der Spaß steht im Vordergrund
Das ist mir wirklich mit Abstand das wichtigste! Ich persönlich will etwas dazu lernen, mich mit Gleichgesinnten austauschen und gemeinsam im Team (auch kleine) Fortschritte feiern!

2) Die Vision wird geteilt
Wir haben ein gemeinsames Ziel, dass es zu erreichen gilt. Das grundsätzliche Konzept steht und kommt von mir. Die Feinarbeit und damit die Schönheit des Gesamtergebnisses kann nur durch das Team erreicht werden!

3) Projektleitung, Gleichberechtigung, Mitspracherecht, Teamgröße
Ich werde das Projekt leiten und dabei ist mir vor allem wichtig, dass jedes Mitglied zu jedem Zeitpunkt in der Lage ist, seine Ideen einbringen zu können und gleichzeitig die Ideen der anderen kritisch und konstruktiv hinterfragen kann. Es wird je nach Epertise und Motivation des Einzelnen eine Zuordnung zu einem Themengebiet geben. Aus diesen Gründen wird das Team auf eine „überschaubare“ Größe von 2-3 Entwicklern beschränkt.

4) Ehrlichkeit, kameradschaftliches Umgehen, Transparenz
Das sollte selbstverständlich sein, denn ich hasse es beschissen zu werden :) Probleme werden offen und früh diskutiert. Nach Lösungen wird konstruktiv und sachlich gesucht.

5) Zuverlässiges Arbeiten nach wohldefinierten Meilensteinen
Ich bin selbst seit Jahren im Bereich der Softwareentwicklung Vollzeit berufstätig und habe auch familiäre Verpflichtungen. Daher möchte ich in meiner kostbaren Freizeit möglichst stressfrei mein Hobby verfolgen. Damit das Projekt nicht „einschläft“ und dadurch Frust entsteht werden wir gemeinsam Meilensteine definieren und in regelmäßigen Runden den Projektfortschritt besprechen. Zusagen werden stets ernst genommen und ich lege -wie im Berufsleben auch- großen Wert auf zuverlässiges Arbeiten.

Weiteres (lose Sammlung)
In einem Kick-Off-Meeting werden Details geklärt. Für die dezentrale Entwicklung werden diverse freie Werkzeuge verwendet (Traq, SVN, Skype, n.V.).

Wer Interesse hat kann sich gerne bei mir melden! Es wäre schön, wenn Ihr etwas über eure Fähigkeiten sagen könntet.

<b>Kontakt:</b> callahan@trashmail.net

P.S.
Die eMail ist von nun an einen Monat gültig...