• Herzlich Willkommen!

    Nach der Schließung von inDiablo.de wurden die Inhalte und eure Accounts in dieses Forum konvertiert. Ihr könnt euch hier mit eurem alten Account weiterhin einloggen, müsst euch dafür allerdings über die "Passwort vergessen" Funktion ein neues Passwort setzen lassen.

    Solltet ihr keinen Zugriff mehr auf die mit eurem Account verknüpfte Emailadresse haben, so könnt ihr euch unter Angabe eures Accountnamens, eurer alten Emailadresse sowie eurer gewünschten neuen Emailadresse an einen Administrator wenden.

Um die Wartezeit auf D3 zu verkürzen....

  • Ersteller Ersteller TheKamikaZze
  • Erstellt am Erstellt am

TheKamikaZze

Guest
...bin ich auf die Idee gekommen, wieder etwas Diablo2 zu daddeln!
Nun, alles in allem immernoch ein Prima Spielchen, aber so einige Sachen gehen mir gegen den Strich.

Also bin ich zum entschluss gekommen: "Hey, wie wäre es, wenn ich dem Spiel meine eigene Note gebe?"

Wie stelle ich das am besten an?
- Mh, joa, da gäbe es zum einen mal die Methode Diablo zu rewriten... aber inanbetracht der Dinge, dass das Projekt erstmal spielbare Züge bekommen würde, wenn Diablo3 schon längst draussen ist und das Projekt eine ganze Menge Zeit kosten würde, die ich leider nicht mehr habe, ist das wohl eher nicht so sinnvoll.
- Okay, also anders, Diablo reverse engeneeren und mit Injections sowie Hacks rumspielen? Ne danke, das ist viel zu viel hackerei und auch eher sinnlos, wenn's da nicht ne trvere Methode gibt.
- Die da wäre:
diamodneh.png

(Alterrnativ könnte man für den Clientpart auch den Glidewrapper manipulieren anstatt via DX daran rumzuspielen, da ich allerdings wenn ich ehrlich bin noch absolut keine Erfahrung mit Glide habe, wäre das eher Plan B, doof an der Lösung via DX ist eigentlich, dass Macuser ausgeschlossen werden - zumindest ppc mac user, da D2 im wine perfekt läuft, wine auf ppc allerdings wohl kaum x86 ans laufen kriegt und mit qemu... naja, die performence wäre wirklich unter aller sau)

Zu den ganzen technischen Sachen hab ich auch das wichtigste mehr oder weniger realisiert - zumindest in der Theorie.

Zu den Spielinhalten habe ich zwar auch schon Vorstellungen (Halt die Sachen die mich an Dia in irgendeinerweise Fehlen oder mir gegen den Strich gehen) aber das ist noch nicht wirklich soviel, dass man sagen kann, es wäre ansatzweise ne Mod.

Ich habe zwar bereits an dem Diablo Clienten rumgespielt, ein paar Tiles geändert, ein paar Werte modifiziert, allerdings wirkliche Mod-Erfahrung habe ich nicht, daher suche ich hier in dem Thread eher mehrere 'Arten' von Leuten:
- Da wären die Kritiker: 'Ne du, das ist so doof gelöst, was wäre wenn, versuchs doch mal so'
- Da wären die Leute die am Diablo Client die 'eigentliche' Mod erstellen (Maps, Spells, Gegner, ...)
- Da wären die Coder die die (Quest) Scripts schreiben
- Da wären die Coder die den Kern vom Modmanager sowie dem 'Proxy' schreiben (Wo ich jetzt eigentlich schon davon ausgehe, dass ich das alleine machen werde, da die meisten hier dafür weder die Lust noch die Zeit haben)
- Und letztendlich natürlich noch die Grafiker/Designer.
- Hachja, und natürlich noch die ganzen Leute mit den Ideen 'Hey, so eine Quest wäre doch lustig', 'Hey, so ein Encounter / Boss / Normales Vieh wäre doch lustig', 'Hey, so ein Akt, so eine Map wäre doch lustig', ...

Hachja, übrigens, Modmanager / Pseudoproxy sind in C# geschrieben (Ja, die meisten Geeks unter euch spucken wahrscheinlich spätestens jetzt ihren Kaffee auf die Tastatur - allerdings habe ich eher einen Anti-C/C++/D-Fetisch - zumindest wenn's darum geht in diesen Sprachen zu schreiben :-)
(Durch Mono wirds allerdings auch auf allen Plattformen (abgesehen vom ppc mac) wie Linux, Solaris, *BSD, ... laufen)

Kurzfassung dieses Threads:
Jemand lust sich an diesem Projekt zu beteiligen?
Jemand was zu kritisieren?
 
Es gibt also eine Möglichkeit, neue Quests etc. quasi "drüberzulegen", ohne die Spielmechanik selbst dafür zu ändern ? Hört sich sehr interessant an, allein schon, wenn man die Grundlagen rausgreift und mit bisherigem Wissen kombiniert: Es wäre schonmal sehr hilfreich, wenn man weitere Quests in den Questbildschirm einfügt, ohne dass sie eigentlich in die Spielmechanik integriert sind. Schließlich lässt sich eine Menge über Drops und Cuberezepte lösen, was Questbelohnungen angeht....
 
Hi,

so schön es sich auch anhört, aber es ist nicht möglich. Quests sind komplett hardcoded und so lassen sich zwar die texte ändern und eventuell die Grafiken der NPCs tauschen aber ein wenn Spieler $Questmonster Killt gib 2 lvlups lässt sich NICHT realisieren weil das ganz einfach nicht über paketmanipulation machbar ist. Es müssten also große Teile sowohl des Client als auch des Servers gehookt und umgeschrieben werden vor allem der Pakethandler. Ich bleib lieber beim klassischen modden per Codeedits im Client und Server da ich keine zusätzlichen Vorteile eines Proxies sehe (ausser massivem Performanceverlust)

Ich werde das aber mal beobachten und wünsche Dir viel Erfolg mit Deinem Projekt.


Gruß

Seltsamuel
 
"so schön es sich auch anhört, aber es ist nicht möglich."
:rolleyes:

" Quests sind komplett hardcoded und so lassen sich zwar die texte ändern und eventuell die Grafiken der NPCs tauschen aber ein wenn Spieler $Questmonster Killt gib 2 lvlups lässt sich NICHT realisieren weil das ganz einfach nicht über paketmanipulation machbar ist."
Tjoa, stimmt, nicht alleine darüber. Deswegen gibts auch noch ein Clientseitiges Tool, dass Overlays auf dem Diablofenster abbildet und dem so Quests vorspielt.

Die Technik übernimmt dann der Serverpart "Gib ihn 5 Statpoints, wenn er die quest erfüllt" wäre mit SMSG_SETATTR lösbar :-)


"Es müssten also große Teile sowohl des Client als auch des Servers gehookt und umgeschrieben werden vor allem der Pakethandler."
Eben nicht.
Am Client wird nix geändert bzw ist das optional, beispielsweise Auflösung via Injection ändern oder derartiges.
Der Hauptpart wird aber via Overlay von dem Clientseitigem Tool übernommen.

Und der Server, tjoa, der Server ist eh grottig, ich glaube momentan wäre es schlauer d2gs zu rewriten statt via nem proxyinterface da irgendwie hacky das ganze zu manipulieren.

"da ich keine zusätzlichen Vorteile eines Proxies sehe (ausser massivem Performanceverlust)"
Alles ist damit realisierbar :-)
Und Performenceverlust, najaaaaaaaa, ich glaub da ist der D2GS eher der problematische Ressourcen fresser.
 
Ich will dir ja nicht auf den Schlips treten Kamikazze, aber ich glaube das was du vorhast, ist eher was mit "Wie fülle ich die Wartezeit bis D3 mit Arbeit" zu tun.

Erstmal ist dein Ansatz wirklich gut. Man erspart sich dadurch in gewissen Maße den Client zu hocken, allerdings ... ein Rewrite eines Serveremus? Ich kenn zwar dein Wissen um die technischen Hintergründe von D2 nicht, aber weiß du was für eine wahnsinnige Aufgabe das is? Zwar is das BNet Protokol gut dokumentiert im Internet zu finden, allerdings : Implementier das mal.

Zumal allein kaum schaffbar, haste dann vermutlich auch noch Problemen mit Copyright.

Und Samuel hat Recht. In der Theorie steigert sich durch den Einsatz eines Proxies der CPU Einsatz um Faktor 2, weil du ja wirklich jedes Paket scannen und dann erst an den Server weiterleiten willst.

Und als letztes sei mal noch auf die nötige Sync von Server und deinem Proxy hingewiesen. Das is mit dem bestehenden D2GS sicherlich ein Füllhorn an Bluescreens :D

Aber die Idee, den Server mal grundlegend neu zu coden, find ich pers. echt gut. Weil : Gecrackte Version eines in ein gecracktes System gehooktes System ... :autsch:
 
Hi,

ich bin mittlerweile ziemlich tief in die interna von D2 eingedrungen, so tief das ich zumindest eines ganz bestimmt sagen kann:

Das komplette rewrite des Gameservers nicht basierend auf einem Hooksystem zum vorhandenen Game ist eine Aufgabe die man zwar schaffen kann welche aber garantiert schneller zu lösen ist wenn man ein neues eigenes Spiel schreibt (mit sowas hab ich mal angefangen und werde das auch irgendwann beenden ^^).

Jedenfalls glaube ich das man bei Release vielleicht nicht bereits D4 spielt aber D3 durchaus alter Kaffee ist ^^.

Von Deinem Overlaysystem würde ich gern wissen wie die Engine in den Berechnungen Deine zusätzlich "vergebenen" und auf das Clientinterface gepinselten Punkte denn auch in Berechnungen mit einbeziehen soll?

Ich will wirklich nix schlechtmachen, ganz im Gegenteil ich bin ziemlich interessiert an neuen Ansätzen aber ich denke das wird ne Sackgasse oder zumindest ein Tunnel ohne Licht am Ende.


Gruß

Seltsamuel
 
"Ich kenn zwar dein Wissen um die technischen Hintergründe von D2 nicht, aber weiß du was für eine wahnsinnige Aufgabe das is? Zwar is das BNet Protokol gut dokumentiert im Internet zu finden, allerdings : Implementier das mal."
Ponyhof ists nicht, das stimmt schon, aber irgendwo da liegt ja der Reiz :-)

"Zumal allein kaum schaffbar"
Dafür war der Thread hier gedacht...

"haste dann vermutlich auch noch Problemen mit Copyright."
Noja, eher weniger, lebe hier in Deutschland, protokoll analysieren ist drinne, ich darf halt nur kein Content von Blizzard vertreiben, was ich mit meiner Planung eh nicht machen werde, da mein hauptziel erstmal der Kern des Servers ist, alle Gameplay spezifischen Sachen können dann 3rd Party Scripts übernehmen die auf kuriosen Seiten auf Taiwanesischen Servern angeboten werden :-)

"Und als letztes sei mal noch auf die nötige Sync von Server und deinem Proxy hingewiesen. Das is mit dem bestehenden D2GS sicherlich ein Füllhorn an Bluescreens "
Jo, deswegen halt ichs auf eher für sinnvoll den Server zu rewriten.

"wenn man ein neues eigenes Spiel schreibt (mit sowas hab ich mal angefangen und werde das auch irgendwann beenden ^^).",
Jain.
Habe genauso mit sowas schon rumgespielt, Ergebnis war n fertiges Protokoll, nette ideen n halbwegs vernünftiger serverkern und n client den man via netcat betätigt :-)

Das Problem am von 0 Anfangen eines Spiels ist nicht der Code oder die Technik, sondern viel mehr der Content. Alle potentiellen Spieler erwarten Grafik auf Niveau von Spielen die ihre Designer/Artists(Landschaften, 3d models, 2d texturen, sounds, ...) bezahlen. Und eben genau das kannst du nicht. Und wenn sich die Programmierer an Blender, Gimp und co setzen kommt leider was ganz anderes raus, ganz egal wie gut der Code ist oder was die Engine technisch packt, wenn eine Person aus 12 Polygonen besteht, hat da keiner groß bock drauf - und ein Spiel wie Diablo braucht Athmosphäre die eben über den Content rübergebracht wird.

"Jedenfalls glaube ich das man bei Release vielleicht nicht bereits D4 spielt aber D3 durchaus alter Kaffee ist ^^."
Öhm, D3 wird, lass mich nicht lügen, um ~2010/2011 rauskommen, der Serverkern wird in 3, 4 Monaten stehen, die Basisscripts vielleicht in einem Monat - den rest übernimmt dann die jeweilige Mod, ausgeliefert wird n Vanilla D2 Server.

"Von Deinem Overlaysystem würde ich gern wissen wie die Engine in den Berechnungen Deine zusätzlich "vergebenen" und auf das Clientinterface gepinselten Punkte denn auch in Berechnungen mit einbeziehen soll?"
Die dazugehörigen Berechnungen übernimmt alles der Clientmanager, wie auch immer man es nennen mag.

Die Technik dahinter zum abfragen wann er was wie wo wann macht?
Schonmal ein 'Trojaner' geschrieben? :-)

"Ich will wirklich nix schlechtmachen, ganz im Gegenteil ich bin ziemlich interessiert an neuen Ansätzen aber ich denke das wird ne Sackgasse oder zumindest ein Tunnel ohne Licht am Ende."
Auch wenn's nie fertig wird oder sonstwas, es gibt zum einen Erfahrung und zum anderen hätte man ne Basis für einen D3GS :-)
 
An deiner Stelle würde ich ja doch mit Injections arbeiten, das macht allein schon die bugsuche viel einfacher, weil man jede funktion einzeln testen kann, ob sie funktioniert :)
und @neues Spiel schreiben: Der COntent ist doch (so oder so) vorhanden, in gewissen Dateien mit der Endung .mpq. Wenn du Interesse hast, D2 neu zu schreiben, und asm&C magst (drin schreibst) kann ich dich auch weitervermitteln, da gibts schon ein Team, das das versucht.
MfG
Corni
 
Würde mich über jede Information darüber freuen, klingt interessant
 
Warum buddelst du den Thread aus? Das hätte man auch woanders posten können~.~

MfG
AlphA
 
Zurück
Oben