C#, CryEngine 3 SDK und LUA-Skripte

Boa-P

Lieutenant
Registriert
Apr. 2011
Beiträge
900
Hallöle,

also diese Jahr war es soweit und
ich habe mir nen neuen Rechner gekauft.
Daraufhin habe ich mich immer mehr auch
für das Modden und Programmieren interessiert
bzw. ml geschaut was da so möglich ist.
Naja und der Reiz ist schon da,
mal ne eigene K.I. und unter umständen
auch eigene Level dafür zu modden/programmieren.

Nun habe ich folgendes im Netz gefunden um mich
an die Thematik ranzutasten.
Naja und weil ich abe nicht immer und ewig
olle armeisen programmieren will habe ich
nochmal google befragt und auf folgendes gestoßen.

Gefunden wurden die LUA-Skripte die mit der
CryEngine 3 SDK verwendet werden könnnen.

Somit ist die von mir erdacht Kombi:
C#, CryEngine 3 SDK und LUA-Skripte.

Fragen:
Geht das auch oder fehlt da irgendwo nen Zwischenschritt?
Kann man mit der CryEngine sich auch Lagerhalle erstellen
um dann die K.I. darin Aggieren zu lassen?
Ist das Modden mit der CryEngine „anfänger freundliche“?
Sind anderen Engine´s besser?

Kann man sich sowas selbst beibringen???Ohne Anleitung
und ähnliches, quasi nur mit googel und Foren?

Ziel ist es, einen kleinen Mod für Crysis oder ähnliches
zu erstellen.

Naja Erfahrungen habe ich aufjedenfall in C# aber
wie zu Vermuten kaum im Modden und ähnliches.
Ich geb mich auch nicht der Illusion hin das ich mich erstmal
durch den Urschleim durch kämpfen muss und bin auch
gewillt dazu ;)

in diesem Sinne
Gruß Boa-Pinta
 
Zuletzt bearbeitet:
Hi,

du würfelst da ein bisschen viel durcheinander. Mit einem SDK wie dem CryEngine-SDK programmierst du nicht sondern gestaltest einfach nur. Dafür brauchst du weder C# noch sonst etwas. Mit Programmieren hat das nichts zu tun, eher mit einem Leveleditor.

Und mach dir mal keine Vorstellungen:

Naja und der Reiz ist schon da,mal ne eigene K.I. [...] zu modden/programmieren.

Eine K.I. programmiert man nicht "mal so". Was du willst ist nicht Programmieren sondern Spiel- / Leveldesign und Modding.

Wenn du wirklich Programmieren lernen willst dann fang ganz vorne an und lerne, das dauert seine Zeit.

VG,
Mad
 
Hallo erstmal

Du bringst da wirklich einiges durcheinander... für etwas gibt es ja gerade die CryEngine3, die man lizenzieren kann und schon KI Objekte enthält...

was du wohl meinst sind gescriptete Aktionen von Gegnern? Dies ist jedoch möglich, wenn auch sehr aufwändig udn wird in den meisten Games verwendet.

Zu der Frage mit C#: Du wirst mit C# nicht glücklich werden. Du kannst C# benützen, dazu das Stichwort Wrappen. Aber viel spass dabei! Da wäre es wohl einfacher dir gleich C++ anzueignen, wenn du C# beherrschst, ist der Umstieg nicht alle Welt.

Obwohl ich C# - Fan bin und deshalb mir keine andere C - Sprache angelernt habe, muss ich sagen, in diesem Beispiel wäre es wohl besser.

EDIT:
Falls du eine solide Engine mit C# haben willst, versuchs mal mit Unity
 
ok:
Also mit dem SDK könnte man die besipielhaft genannte
Lagerhalle erstellen. Sprich der Sandkasten oder
das drum herum in dem alles passiert.

Aber um auf das Verhalten/K.I. zugreifen zu können sind
dann quasi die LUA Skripte zuständig die mit c++
angewendet werden können.

Das das mit der K.I. net so leicht wird,
wie gesagt der Illusion geb ich mich net hin.
Ich denke sowas kann mich hoffentlich mehrere
Jahre beschäftigen ;)

Aber für Objekte in dem CryEngine 3 SDK
sind doch LUA Skripte zuständig oder hab ich
da was in den flaschen Hals bekommen?
 
Du willst alles auf einmal machen. Nicht gut, weil dich das vermutlich überfordern wird.

Im Grunde müsstest du für alle Bereiche (Medien, LUA & C#, KI) jeweils Fachleute haben. Die Themen sind so komplex, dass es für jeden Bereich einen Studiengang oder zumindest eine Spezialisierung gibt. Für das Thema KI solltest du schon mal was von Wissensverarbeitung gehört haben, für LUA & C# solltest du schon mal was schon Skript- & objektorientierter Programmierung gehört haben. Und schließlich ist da auch noch der Bereich der digitalen Medien, der hat mit Informatik nur begrenzt was zu tun.

Du solltest dir ein paar Mitstreiter suchen, sodass auf jeden Bereich ein paar Leute kommen, die darin interessiert sind. Und dann wird es vermutlich auch mindestens ein Jahr dauern, bis ihr eurer Wissen so weit erarbeitet habt, dass da auch etwas halbwegs vernünftiges herauskommt.

Ich rate dir dringend, nochmal genau zu schauen, was du davon wirklich machen willst und dann auch nur in diesen Bereich aktiv zu sein. Einfach nur das SDK zu benutzen, weil es "da" und "cool" ist, bringt nichts, wenn du die Mechanismen dahinter nicht verstehst.
 
Zuletzt bearbeitet:
Hi,

Einfach nur das SDK zu benutzen, weil es "da" und "cool" ist, bringt nichts, wenn du die Mechanismen dahinter nicht verstehst

Das sehe ich z.B. anders. Wenn jeder Spieldesigner auch gleichzeitig Programmierer sein müsste gäbe es wenig Spiele. Gerade die Spezialisierung und die Kapselung sind meiner Meinung nach die großen Vorzüge eines solchen SDKs. Wenn er nur eine Crysis-Mod oder ein Level erstellen will reicht es ihm vollkommen aus, die Hintergründe müssen ihn doch nicht interessieren.

Beispiel: Du fährst sicherlich auch Auto - dafür musst du aber keine Ahnung haben, wie dein Getriebe genau funktioniert oder die Motorsteuerung geschrieben ist.

Nur nochmal ein Zitat des TE:

...eigene Level dafür zu modden...

Dafür reicht das SDK.

VG,
Mad
 
Naja, er will ja alles zusammen machen. Da braucht es schon eine Spezialisierung und demzufolge mehrere Leute.
Er redet ja selbst von KI, LUA etc.
 
Hi,

Naja, er will ja alles zusammen machen

Ich glaube, dann weisst du mehr als der TE selber ;)

Spaß beiseite, ich denke nicht, dass er C# oder LUA für seine Vorhaben brauchen wird. Er soll sich jetzt einfach mal das SDK herunterladen und einige Tutorials durcharbeiten, der Funktionsumfang (angefangen von KI über Physik bis hin zu Eventtriggern) reicht für ein normales Spiel ohne eine zusätzliche Zeile Code aus - deswegen gibt es ja auch genug Indi-Projekte komplett ohne Programmierer.

Wenn er irgendwann dann tatsächlich noch eine eigene KI (was ich stark bezweifle!) schreiben will kann er mit C++ anfangen und Informatik studieren - für einen Mod / ein erweitertes Level / ein kleines eigenes Spiel braucht er davon nichts.

Nebenbei @TE: Das Unreal SDK ist auch einen Blick wert.

VG,
Mad
 
Boa-Pinta schrieb:
(...)
Naja und der Reiz ist schon da,
mal ne eigene K.I. und unter umständen
auch eigene Level dafür zu modden/programmieren.
(...)
C#, CryEngine 3 SDK und LUA-Skripte.
Davon bin ich ausgegangen. Und so wie das klingt will er hauptsächlich an der KI schrauben und den Rest eher als Nebenbaustelle laufen lassen.
 
@e-Laurin

richtig den ansatz verfolge ich,
SDK "nur" für die Umgebung,
da können glaube ich andere mehr;)
Und ich würde mir beispielsweise ne Umgebung/Level
suchen was mir gefällt und dann mit der K.I. darin arbeiten.

die K.I. reizt mich halt mit am meisten.
somit wären doch im Fall von CryEngine 3 SDK die LUA-Skripte
zu empfehlen oder?
Und die lassen sich ja anscheinend besser mit
C++ als mit C# ausführen.

Plan:
C# mit Ant Me auffrischen und verteifen,
umspringen auf C++ und dann die passende
Umgebung suchen;)

@MadMan
In dem Sinne "nur" modden der K.I.
vllt grobe Level ala "halle mit 2 Kisten drin"
selber bauen.
 
Hi,

Und ich würde mir beispielsweise ne Umgebung/Level suchen was mir gefällt und dann mit der K.I. darin arbeiten

Und nochmal: Wenn du mit dem SDK arbeitest hat das "Modden" der KI nichts, aber auch gar nichts, mit echter Programmierung zu tun. Ich weiß ehrlich gesagt auch nicht, wie weit du damit überhaupt Eingriff in die "echte" KI kriegst und in wiefern du diese nur "lenken" kannst. Denn Quellcode der Engine (korrigiert mich wenn ich falsch liege, würde mich aber wundern) hast du ja nicht in der Hand mit dem SDK, echten Einfluss auf den Code der KI kannst du meines Wissens dadurch eh nicht.

Schau dir dazu einfach mal dieses Video an. Wegfindung, Kollisionsabfrage, Strategien und alles Weitere macht man über den SDK-Editor. Dafür muss nichts programmiert werden.

Wenn du tatsächlich an KI-Programmierung interessiert bist arbeite lieber einfache Tutorials in C++ durch und beschäftige dich damit.

VG,
Mad
 
alles klar schau ich mir naher mal an =)
ich dank dir für deine geduld und
werd mich dann mal reinlesen in die einzelnen themen
und mal gucken was davon wirklich das ist was ich machen will/kann.

so dann mal ran an den braten =)
 
Wenn du nur reine KI machen willst, dann lad dir Prolog. Da kann man richtig geile Sachen machen (Navigationssystem in nur zwei Zeilen programmieren ^^).
 
Ich habe auch schon mit Prolog programmiert, aber wie bitte soll das:
Navigationssystem in nur zwei Zeilen programmieren

gehen??
 
ok schau ich mir auch mal an =)
wenn ich noch Fragen haben sollte
bin ich hier ja wie immer gut aufgehoben =)

*blick auf Prolog schmeiß*

...und hier hoffentlich kurz berichten, was es am Ende geworden ist oder?
na logo
 
Zuletzt bearbeitet:
naja eine zeile hat dann halt 10 Befehle hintereinander ;) eventuell auch irgendwas rekursives ?^^
Wenn ich auch noch was loswerden darf: java ist auch ganz nett um spiele zu programmieren, ist relativ leicht anzuwenden, platformunabhängig (im gegensatz zu C#) und bietet massig Tutorials und Libraries wie z.B. die JMonkey Engine http://jmonkeyengine.org/ eine sehr gute und leicht anzuwendene open GL Game Engine. Ansonsten wenn du es etwas proffessioneller willst nimm C++ das ist etwas performanter (an die zweifler: ja etwas^^ java hat aufgeholt, aber auch nicht in allen bereichen was performance betrifft) jedoch auch weitaus schwieriger zu lernen... Von C# würd ich die Finger lassen dieses "Ding" ist ein Microsoft "Standart" mit dem nun wirklich keine Spiele programmiert werden sollten :)
Ergänzung ()

Also ich denke mit dem "Paket" -> Eclipse IDE eingerichtet für jmonkey sdk entwicklung , dem buch "java von kopf bis fuß" vom O'Reilly Verlag, und der Jmonkey api dokumentation sowie den tutorials bist du auf jedenfall bestens gerüstet etwas wirklich gutes auf die Beine zu stellen und das mit Erfolg und Spaß :)
kann ich dir nur ans Herz legen.
 
Code:
kante(a,b).
kante(b,c).
kante(c,d).
kante(d,f).
kante(a,e).
kante(e,d).
kante(e,f).
Das beschreibt eine Karte, die so aussieht:
unbenannt-png.253847

Klar, oder?


Jetzt das Navigationssystem:
Code:
pfad(X,Y):-kante(X,Y).
pfad(X,Y):-kante(X,Z),pfad(Z,Y).
Auf Deutsch:
Suche eine Kante von X nach Y. Gibt es keine, dann die nächste Regel: Suche eine Kante von X nach einem beliebigen Z und suche dann einen Pfad von Z nach Y. Einfache rekursive Funktion.
In anderen Sprachen programmiert man sich bei so etwas fast tot.

Abfrage geht so:
Code:
pfad(a,f).
Ausgeben wird er true, wenn er einen Pfad findet. Hier gibt er drei mal true aus, weil es drei gültige Pfade gibt.

Prinzipiell betrachtet, ist das ziemlich genau das, was ein Otto-Normal-Navi auch macht.
 

Anhänge

  • Unbenannt.png
    Unbenannt.png
    14,1 KB · Aufrufe: 2.106
Zuletzt bearbeitet:
Zurück
Oben