ZFX
ZFX Neu
Home
Community
Neueste Posts
Chat
FAQ
IOTW
Tutorials
Bücher
zfxCON
ZFXCE
Mathlib
ASSIMP
NES
Wir über uns
Impressum
Regeln
Suchen
Mitgliederliste
Membername:
Passwort:
Besucher:
4606919
Jetzt (Chat):
7 (0)
Mitglieder:
5239
Themen:
24223
Nachrichten:
234554
Neuestes Mitglied:
-insane-

ZFX
Sonstige Foren
Jobs
Suche KI-Programmierer für SinglePlayer-Rollenspiel
Normal
AutorThema
Schrompf Offline
ZFX'ler


Registriert seit:
04.04.2006

Sachsen
Suche KI-Programmierer für SinglePlayer-RollenspielNach oben.
Guten Tag.

Unser Hobby-Entwicklerteam Dreamworlds Development braucht Verstärkung. Die Seite ist stark veraltet, aber bis Mitte März sollte eine Rundum-Erneuerung geschafft sein. Für unser Projekt "Splitterwelten" (Projektpräsentation auf Developia) suchen wir einen Programmierer, der sich um alle Aspekte der Künstlichen Intelligenz in diesem Projekt kümmert. Genauer gesagt sind folgende Aufgaben zu meistern:


  • Orientierung und Bewegung von Wesen im Raum - kurz "Wegesuche"
  • Steuerung von Wesen durch einen Tagesablauf
  • Verhaltensänderung als Reaktion auf die Umwelt (Spieler, Fraktionen, Wildtiere, Gegenstände)
  • Kampfsteuerung
  • Interaktion mit dem Spieler: Gespräche, Seitenbemerkungen wie z.B. Grüße, Reaktion auf Spieleraktionen wie Waffe ziehen, Diebstahl, etc.
  • Möglichkeit zur Einflussnahme oder vollständigen Kontrolle aller genannten Punkte über Skript und API


Wie auf den Screenshots in obigem Link vielleicht zu erkennen, ist die Umgebung für die zu steuernden Wesen etwas komplex. Die Welt kann sehr groß werden, weswegen jegliche Wesensteuerung damit klarkommen muss, daß sie ab einer gewissen Entfernung abgeschaltet wird und daß sie jederzeit - Sekunden oder auch Tage später - reaktiviert werden kann und dann je nach Umgebung, Tageszeit und aktueller Situation wieder passend in ihre Tätigkeit reinkommt. Die Welt ist frei formbar und durch Streaming-Technologie nahezu unendlich in jede Richtung ausdehnbar, was die Wegesuche zu einer ganz eigenen Herausforderung macht. Wir haben zwar momentan eine primitive Wegesuche drin, aber die basiert auf von Hand verteilten Wegpunkten, was bei Welten dieser Größe keine Lösung darstellen kann.

Das Projekt

"Splitterwelten" soll wie gesagt ein Einzelspieler-Rollenspiel werden. Es wird ein Spielstil ähnlich der Gothic-Serie angestrebt, wobei natürlich selbst Gothic 1 vom Umfang her für ein Hobby-Projekt weit außerhalb des Erreichbaren liegt. Das Spiel wird wahrscheinlich in der Egoperspektive gespielt, nach meinen Vorstellungen auch mit einigen Physik-Elementen. Das ist aber noch nicht entschieden, da wir noch nicht wissen, ob wir die ganzen Implikationen von spielrelevanter Physikeinbindungen unter Kontrolle bekommen.

Umgebung: C++ mit Visual Studio .Net 2003 unter Windows
Tools: Visual Studio, Subversion, Mantis
Fremd-Code: DirectX, TinyXML, ZLib, Squish, QT, AngelScript, Ageia PhysX
Eigen-Code: inzwischen etwa 10 MB, bestehend aus: ursprünglich plattform-abstraktes Framework, eigene Engine, erste Grundlagen von Spiellogik, umfangreicher Editor
Hardware: guter Prozessor, min. 1GB RAM, gute Grafikkarte mit min. Shadermodell 2.0

Das Team
An der alten Homepage kann man noch erkennen, daß es uns bereits sehr lange gibt. Kern der Gruppe bilden Stefan und ich, Zwillingsbrüder, 27 Jahre alt und davon inzwischen 20 Jahre mit der Programmierung befasst. Wir haben beide bereits hauptberuflich Erfahrungen in der Software-Entwicklung sammeln können, teilweise auch in der kommerziellen Spieleentwicklung. Wir haben auch bereits unter diesem Namen ein kommerzielles Projekt veröffentlicht, einen 2D-Shooter für den Amiga mit am Ende 10 Leuten über 4 Jahre. Kommerziell gesehen eine Katastrophe, aber sehr lehrreich und es hat auch eine Menge Spaß gemacht.

Im Team gibt es außerdem noch Christian (23), der ursprünglich als Programmierer eingestiegen ist, inzwischen aber unser Frontmann für Charaktere und Monster ist. Und das in beeindruckender Qualität, vor allem für jemanden, der eigentlich Programmierer ist. Mit Marlin (19) haben wir auch einen dedizierten Game Designer an Board, der momentan noch nicht so viel zu tun hat, demnächst aber mit steigender Arbeitsbelastung rechnen muss. Dann gibt es noch Peter (21), der uns gelegentlich mit Grafiken aushilft. Und wir haben bereits einige Angebote vom Sound-Experten erhalten, teilweise Profis mit schwindelerregenden Fähigkeiten.

Anforderungen

Folgende Eigenschaften wären wünschenswert:

  • Ausdauer und Einsatzwillen, auch wenn gelegentlich der aktuelle Punkt auf der Aufgabenliste mühsam und ruhm-arm ist.
  • Erfahrung mit C++, am besten einige Jahre
  • weiterführende Erfahrungen, z.B. mit Design Patterns oder mit der Arbeit in großen Projekten von Vorteil
  • Ausdauer. Wir rechnen mit einer Fertigstellung zum Jahresende 2008 und KI ist ein Dauerthema, das nie wirklich abgeschlossen werden kann.
  • Bereitschaft, sich in bestehenden Quelltext einzuarbeiten und Stilvorgaben zu folgen
  • DSL-Flatrate für EMail, ICQ, Teamspeak, Subversion, Bugtracker, FTP, usw.
  • Ausdauer. Ja, nochmals. Deren Wichtigkeit kann man eigentlich nicht überbetonen.
  • Zeit. Das echte Leben hat natürlich immer Vorrang, aber daneben sollte regelmäßig ein bisschen Zeit verfügbar sein, sonst ist eine Zusammenarbeit sinnfrei.


Wir bieten

Tja, was können wir bieten. Geld kann ich definitiv keins versprechen. Das Projekt wird allein vom Datenvolumen her zu groß, um es als Shareware auf irgendwelchen Download-Seiten anzubieten. Und für eine kommerzielle Verwertung über einen Publisher müssten wir eine Qualität abliefern, die wir eigentlich unmöglich als Hobbyentwickler erreichen können. Die Chancen auf Verdienst sind also dünn.

Dann bleiben noch:

  • ein engagiertes Team aus netten Menschen
  • ein ambitioniertes Projekt mit Aussicht auf Erfolg
  • eine Menge Erfahrungen in anspruchsvollen Themen und damit
  • potentiell eine gute Referenz für den Einstieg in die Spielebranche


Ich hoffe, ich habe mit dieser ausführlichen Beschreibung niemanden vergrault. Falls jemand Interesse an der KI-Programmierung hat, meldet Euch! Hier im Thread, per EMail an thomas[bei]dreamworlds[pkt]de oder auch per PM. ICQ auf Anfrage, alle größeren Gespräche dann sowieso per Teamspeak, sonst tippt man sich die Finger wund.

Vielen Dank für eure Aufmerksamkeit.

Bye, Thomas

[edit] "Suche" in Thread-Titel eingefügt.

1 Mal gendert, zuletzt am 13.02.2007, 16:30:31 Uhr von Schrompf.
13.02.2007, 16:25:52 Uhr
Dreamworlds Development
Lord Delvin Offline
ZFX'ler


Registriert seit:
05.07.2003

Baden-Württemberg
166781460
Re: Suche KI-Programmierer für SinglePlayer-RollenspielNach oben.
Naja also an sich hört sich das ja echt interessant an, aber irgendwie finde ich das ganze ein bisschen unvollständig:

1. was habt ihr schon zu den einzelnen Punkten
2. was darf ich verwenden
3. was für genaue vorgaben gibts bei den einzelenen Punkten, vor allem aber beim pathfinding. Ich meine einen Menschen bzw. ein kleines Sozialsystem zu scripten würde mir schon Spaß machen, aber ich hab' eigentlich kein interesse mir aus einem 3DModel oder Scenegraphem, is ja äquivalent, einen Weggraphen zu basteln und den zu optimieren und dann noch einen sinnvollen weg da durch zu finden.

Außerdem würde mich interessieren, obs sinn macht bei euch einzusteigen, wenn man ein mensch ist, der getrezen werden muss, damit er weitermacht
mfg
LordD
14.02.2007, 14:08:57 Uhr
Schrompf Offline
ZFX'ler


Registriert seit:
04.04.2006

Sachsen
Re: Suche KI-Programmierer für SinglePlayer-RollenspielNach oben.
Ich wollte den Beitrag nicht noch länger machen, daher sind ne Menge weiterführender Erklärungen rausgefallen.

Zitat von Lord Delvin:

1. was habt ihr schon zu den einzelnen Punkten


Wenig. Momentan gibt es eine Basisklasse und Infrastruktur dazu, so daß man einem Szenegraph-Objekt Leben einpflanzen kann. Das ist die Basis-Spiellogik-Klasse. Davon abgeleitet gibt es ein paar Experimental-Klassen wie Zustandslogik (z.b. Tür, die beim Anklicken zwischen zwei Zuständen hin und herwechselt), Gegenstandslogik (kann eingesammelt und im Inventar verwaltet werden) und WesenLogik (ein Charakter). Letzere bildet die Basis für alle selbstbewegenden Einheiten im Spiel, hier "Wesen" genannt.

In der Wesenlogik gibt es eine Schnittstelle für eine steuernde Intelligenz. Die Intelligenz ist dann wieder eine Basisklasse, von der wir zwei Testklassen abgeleitet haben: die SpielerIntelligenz nimmt Eingaben von Tastatur und Maus an und erstellt daraus Bewegungsbefehle, die NscIntelligenz kann momentan nur Wegpunkte ablaufen und erstellt Bewegungsbefehle an die Wesenlogik, um diese Wegpunkte zu erreichen. Mit ein bisschen Skriptanbindung haben wir jetzt einen Zustand, bei dem unsere Kellerassel in die Taverne auf den Dachboden sprintet, dabei Türen auf und zumacht und wieder rausrennt irgendwo in den Wald.

Zitat:

2. was darf ich verwenden

Die Frage verstehe ich nicht. C++ darf verwendet werden, jegliche externe Bibliothek nach Abwägung von Nutzen, Lizenz und Preis. Die Tools sind dagegen vorgeschrieben. VisualC++ 2003, Subversion. Wir wechseln evtl. auf die 2005er, aber das ist noch nicht raus.

Zitat:

3. was für genaue vorgaben gibts bei den einzelenen Punkten, vor allem aber beim pathfinding. Ich meine einen Menschen bzw. ein kleines Sozialsystem zu scripten würde mir schon Spaß machen, aber ich hab' eigentlich kein interesse mir aus einem 3DModel oder Scenegraphem, is ja äquivalent, einen Weggraphen zu basteln und den zu optimieren und dann noch einen sinnvollen weg da durch zu finden.


Die Wegsuche um statische und dynamische Hindernisse drumrum ist leider eine der Kernaufgaben. Die erste Aufgabe im Falle einer Zusammenarbeit wäre wahrscheinlich, ein Konzept dazu zusammen im Teamspeak auszuarbeiten, dann einen Präprozessor in den Editor einzubauen, der aus einem existierenden Szenegraphen die nötigen Informationen extrahiert und schlussendlich die Wegesuche selbst auf Basis dieses Datensatzes.

Perfekt wird man das nie hinbekommen. Aber wenn es halbwegs läuft, wäre der nächste Schritt dann die Infrastruktur für einen Tagesablauf oder allgemein für NPC-Handlungen, egal ob nun durch Zeit getriggert oder durch Aktionen wie Angriff, Erblicken eines Feindes usw. Das Skripten des Tagesablaufs selbst baut ja erst darauf auf und wird eigentlich in groben Zügen vom GameDesigner vorgegeben.

Zitat:

Außerdem würde mich interessieren, obs sinn macht bei euch einzusteigen, wenn man ein mensch ist, der getreten werden muss, damit er weitermacht


Hmm... etwas Eigenmotivation sollte schon sein. Treten kann ich Auf Dauer wird es aber mühsam, wir haben ja alle auch noch anderes zu tun. Und ein Motivationstritt ist über ICQ oder Teamspeak nicht sonderlich wirksam. Gerade Fernzusammenarbeit erfordert eine ordentliche Portion Arbeitsmoral, fürchte ich.

Bye, Thomas
14.02.2007, 14:45:17 Uhr
Dreamworlds Development
Normal


ZFX Community Software, Version 0.9.1
Copyright 2002-2003 by Steffen Engel