Kirby
0x19
|
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
|
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
|
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
|
@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
|
Und ja ich weiß das ist von Spiel zu Spiel unterschiedlich.
|
ill
...
|
@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
|
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
|
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/scriptingCryEngine: https://docs.cryengine.com/pages/vi...pageId=26870363Unreal: https://docs.unrealengine.com/en-us...rints/ScriptingOh und siehe da: Creating An In-Game Shop - UnityUnity is the ultimate game development platform. Use Unity to build high-quality 3D and 2D games, deploy them across mobile, desktop, VR/AR, consoles or the Web, and connect with loyal and enthusiastic players and customers. Link: unity3d.com
Bearbeitet von Obermotz am 15.11.2018, 14:23
|
Kirby
0x19
|
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
...
|
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 Moderator10x
|
|
semteX
begehrt die rostschaufel
|
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
...
|
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
begehrt die rostschaufel
|
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
...
|
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.
|