"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

Programmiersprache von Spielen?

Kirby 15.11.2018 - 07:20 5664 20
Posts

Kirby

0x19
Avatar
Registered: Jun 2017
Location: Lesachtal/Villac..
Posts: 829
Hallo liebe Community.

Ich wollte eben nachfragen ob jemand weis wie man die Programmiersprache (in der das Spiel programmiert wurde) herrausfinden kann.

Weis da jemand was?

bzw. Kann man das herrausfinden?

Gruß Kirby.

davebastard

Vinyl-Sammler
Avatar
Registered: Jun 2002
Location: wean
Posts: 11525
die 3d engine vom spiel ist afair meistens C++ dann kommt oft noch irgend eine scriptsprache dazu.
ich bezieh mich jetzt auf mainstream spiele am PC, keine indie games, 2d adventures oder handygames usw.

Umlüx

Huge Metal Fan
Avatar
Registered: Jun 2001
Location: Kärnten
Posts: 8902
C++ wird wohl die wichtigste sein die man als basis braucht. C# wird auch gern noch verwendet oder sogar java als zweiter schritt.
kommt drauf an, ob du von null beginnen willst oder ein vorhandenes framework oder engine wie Unity nutzt

Kirby

0x19
Avatar
Registered: Jun 2017
Location: Lesachtal/Villac..
Posts: 829
@Umlüx
Naja ich starte nicht von null.

Ich will nur herrausfinden wie man die Programmiersprache des Spiels herrausfindet.

Ich will mich an umprogrammieren üben und kann die Cpp basics schon.

Also die engine wird meist in Cpp geschrieben (laut euch).
Wenn dem so ist dann liegt es nur mehr an meinem verständniss.

ABER: Wenn die engine in Cpp geschrieben wird und das spiel aber so ne art händler mit items hat, wird dann der händler (item shop) in ner anderen sprache geschrieben (sciptsprache wie oben erklärt) oder werden die ganzen itemlisten auch in Cpp integriert?

Kirby

0x19
Avatar
Registered: Jun 2017
Location: Lesachtal/Villac..
Posts: 829
Und ja ich weiß das ist von Spiel zu Spiel unterschiedlich.

ill

...
Avatar
Registered: Nov 2003
Location: Salzburg
Posts: 2053
Zitat aus einem Post von Kirby
@Umlüx

ABER: Wenn die engine in Cpp geschrieben wird und das spiel aber so ne art händler mit items hat, wird dann der händler (item shop) in ner anderen sprache geschrieben (sciptsprache wie oben erklärt) oder werden die ganzen itemlisten auch in Cpp integriert?

Das wird sich so pauschal nicht beantworten lassen.

Stimmt schon dass die meisten Engines in C oder C++ geschrieben sind, aber sicherlich nicht alle. Weiters kann das eigentliche Spiel in einer anderen Sprache geschrieben worden sein und die Engine über Interfaces und Wrapper anspricht.

Du könntest dein Glück mit einem Hex-Editor versuchen und mit diesem mal deine Executable ansehen, einige Compiler packen da ein bisschen Meta-Daten rein die noch vorhanden sein könnten.

Ansonsten einfach mal "Reverse Engineering" googlen, Mittel und Wege dürfte es viele geben.

Umlüx

Huge Metal Fan
Avatar
Registered: Jun 2001
Location: Kärnten
Posts: 8902
mit 'null' meinte ich ob nun z.b. Unity hernimmst oder gleich eine eigene engine bauen willst.
so etwas wie dein händlerbeispiel oder quests sind dann oft eher gescriptet (z.b. C# oder LUA). das muss die c++ basis aber natürlich supporten.

wirklich gut kenne ich mich leider auch nicht aus, ich interessiere mich nur ein wenig dafür.

Obermotz

Fünfzylindernazi
Avatar
Registered: Nov 2002
Location: OÖ/RI
Posts: 5262
Tatsache ist, dass sogut wie alle Spiele heute auf einer Engine basieren. Da gibts viele davon - Unity, CryEngine, Unreal Engine und so weiter.
Diese Engines sind ueblicherweise in C++ geschrieben und benuetzen DirectX und aehnliche Libraries.

Wenn du nun ein Game erstellen willst, dann faengst du heute nicht mehr bei Null an, sondern kaufst dir eine dieser Engines. In den Engines steckt eine Menge Mathematik, vor allem Algebra -> da zahlt es sich aus, nicht selbst Hand anzulegen.
Du kannst anschliessend diese Engine ueblicherweise in ein Programm, das du selbst geschrieben hast (ein sog. "Wrapper"), also dein Spiel, einbinden.
Dafuer kannst du diverse Programmiersprachen verwenden, aber auch hier ist C++ ueblich.

Du kannst anschliessend die Spiel-Engine scripten, d.h. mit einer Scriptsprache kannst du Level, NPCs, einfach alles definieren. Was die Engine nicht bietet, musst du selbst in deinem Wrapper dazu programmieren. Ich denke, auch dein Item-Shop faellt in diese Kategorie.

Wenns dich wirklich interessiert - an der TU Wien gibts einen Masterstudiengang zur Spieleentwicklung.

Gibt uebrigens eine ganze Menge Doku zum Engine scripting:
Unity: https://unity3d.com/de/learn/tutorials/s/scripting
CryEngine: https://docs.cryengine.com/pages/vi...pageId=26870363
Unreal: https://docs.unrealengine.com/en-us...rints/Scripting

Oh und siehe da:
Bearbeitet von Obermotz am 15.11.2018, 14:23

Kirby

0x19
Avatar
Registered: Jun 2017
Location: Lesachtal/Villac..
Posts: 829
Ich danke euch mal für die ganzen hilfreichen antworten.

@Obermotz --> ich werd eher net studieren gehen. bin ja noch in ner mechatroniker lehre ^^

Werd mal n blick auf unreal engine werfen da mein spiel welches umprogrammiert werden sollte auf dieser basiert.

Wie war das imt dem Hex editor? Metadaten wie einfache if/else abfragen oder einfache inputs oder wie?

ill

...
Avatar
Registered: Nov 2003
Location: Salzburg
Posts: 2053
if/else sind keine Metadaten, nein

Mit Metadaten meine ich eher Daten wie Kommentare, Signaturen etc., welche in diesem Fall ein Compiler in eine kompilierte Executable schreibt und durch welche man auf den verwendeten Compiler und dadurch in weiterer Folge auf die verwendete Programmiersprache schließen kann.

Ich hab deine Frage nämlich so verstanden, dass du nicht wissen wolltest, wie Spiele grundsätzlich geschrieben werden, sondern dass du nachschauen wolltest, in welcher Sprache ein bestimmtes Spiel geschrieben worden ist.

Der Hex-Editor ist im übrigen auch nur ein erster Schritt, den man machen kann und der jetzt nicht sonderlich aufwendig ist. Wenn der nichts hilft artet so etwas nämlich recht schnell in regelrechte Detektivarbeit aus (mit Sachen wie Dependency Walker verwendete DLLs finden und diese analysieren und und und...). Da ist es oft besser man bemüht Google um die Antwort oder fragt mal ganz nett aus Interesse beim Entwickler nach :)
Bearbeitet von ill am 16.11.2018, 11:31

charmin

Super Moderator

Avatar
Registered: Dec 2002
Location: aut_sbg
Posts: 13879
auf udemy gibts gute kurse zur Unreal engine.

nach meinem opengl kurs den ich grad mach, kommt der da:

https://www.udemy.com/unrealcourse/

semteX

Risen from the banned
Avatar
Registered: Oct 2002
Location: Pre
Posts: 14339
versteh mich ned falsch, aber von deinen fragen zu urteilen bist du auf nem skill - level, wo du ned "ne engine umschreiben" wirst. eventuell wäre es gscheiter existierende engines zu verwenden um das umzusetzen, was du gerne hättest. Die professionellen engines sind so ultra komplex (und vor allem extrem optimiert), dass du sowieso keinen tau hast was die eigentlich machen.

für java gibts zum beispiel die jmonkey engine, wenn ma vom programmiern etwas weiter weg will (und auf 10000 tutorials zurückgreifen): Unity framework

add: der online kurs vom charmin schaut toll aus!
Bearbeitet von semteX am 16.11.2018, 11:37

ill

...
Avatar
Registered: Nov 2003
Location: Salzburg
Posts: 2053
Zitat aus einem Post von Kirby
Ich will nur herrausfinden wie man die Programmiersprache des Spiels herrausfindet.

Versteh ich den Satz hier irgendwie falsch?

Er will nicht wissen, wie man ein Spiel programmiert, er will wissen, in welcher Sprache so ein Ding, das da auf seine Platte herumliegt, geschrieben ist.

semteX

Risen from the banned
Avatar
Registered: Oct 2002
Location: Pre
Posts: 14339
Zitat aus einem Post von ill
Versteh ich den Satz hier irgendwie falsch?

Er will nicht wissen, wie man ein Spiel programmiert, er will wissen, in welcher Sprache so ein Ding, das da auf seine Platte herumliegt, geschrieben ist.

er will sein spiel "umprogrammieren", welches auf der unreal engine basiert... was auch immer das bedeuten mag. gefühlt hat sich der thread schon 3x gedreht

ill

...
Avatar
Registered: Nov 2003
Location: Salzburg
Posts: 2053
Aaah, der Satz dürft mir entgangen sein, danke!

@Kirby

Ja, lass das, ich wüsst auch nicht, wie man das sinnvoll anstellt. Irgendwelche Ingame-Shops die ihre Artikel z.B. über eine Web-Schnittstelle ziehen kann man vielleicht noch beeinflussen, alles andere ist entweder nicht möglich oder zumindest unfassbar aufwendig. Da wüsst ich auch nicht, wo ich anfangen würd, sowas is einfach nur ungute Arbeit.

Da würd ich dir eher zu Spielen raten, die gute Mod-Integration anbieten. Da könnt auch die Motivation auch nach 2 Tagen rumhacken noch da sein.
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz