AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Eigenes 3D MMORPG mit Delphi möglich?

Ein Thema von Zudomon · begonnen am 8. Dez 2011 · letzter Beitrag vom 2. Mär 2021
Antwort Antwort
Seite 3 von 24     123 4513     Letzte » 
Zudomon

Registriert seit: 14. Feb 2007
84 Beiträge
 
Turbo Delphi für Win32
 
#21

AW: Eigenes 3D MMORPG mit Delphi möglich?

  Alt 8. Dez 2011, 16:28
Klassen entsprechen nicht unbedingt meiner Denkweise... in ITA und Studium bin ich immer mehr zu Klassen übergegangen... in meiner letzten Engine hatte ich dann auch mehrere Patterns verwendet... und als es dann zum Multithreading ging musste ich schmerzhaft erfahren, dass jedes erzeugen einer neuen Instanz das Programm zum stocken bringt... und das, obwohl jeder Thread einem eigenen Prozessorkern zugewiesen wurde. Dafür habe ich keine Lösung gefunden. Aber vielleicht wisst ihr ja Rat.

In dem neuen StoneQuest ist es sowieso sehr schwer, Multithreading einzubauen, weil es hier auch darum geht, die Daten zur Grafikkarte zu schicken und umgekehrt... z.B. werden die Cluster zum Teil auf GPU berechnet. Und wer glaubt, DX9 sei Multithreading, der hat sich geschnitten. Es gibt zwar ein Multithreading Flag, aber das bedeutet nur, dass man von verschiedenen Threads aus auf die API zugreifen kann, ohne dass es abstürzt. Intern wird das alles sequenziell verarbeitet. Anfangs hatte ich mich gewundert, wie ich noch nichtmals eine Textur füllen konnte im Workerthread, obwohl die währenddessen garnicht von DX genutzt wurde.
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#22

AW: Eigenes 3D MMORPG mit Delphi möglich?

  Alt 8. Dez 2011, 19:10
Gut, dass man sich die API locken sollte, wenn es passieren könnte, dass einem ein zeichnender Thread in einen auf der GPU rechnenden reingrätscht, das klingt nachvollziehbar . Um das "unruckeliger" zu machen - natürlich sehr von der konkreten implementierung abhängig - müsste man sich einen Mini-Scheduler zwischenbauen, und ggf. die Granularität der Rechnungen erhöhen, so dass ein Zeichenthread öfter mal dazwischen an die Reihe kommen kann.

Was man so bisher gesehen hat, so ist mir irgendwie nicht ganz klar, worauf deine Frage hier abzielt. Du hast ja bereits ausgesprochen umfangreiche Dinge fertig, und die nötige Theorie an der Hand. Alles, was nun noch fehlt, ist fast schon nur noch Content, Content, Content. Und Content.

Man reagierte hier übrigens so "seltsam hämisch", weil wir nicht allzuselten Gäste hier haben, die sich als ihr aller erstes Lernprojekt mal "sowas wie WoW, oder Assassins Creed" bauen wollen, aber beim Verstehen von IntToStr() schon scheitern. Um genau zu sein, bist du der erste seit grob geschätzt 5 Jahren die ich hier täglich lese, der derart vorzeigbare Ergebnisse vorweisen kann, bzw. auch das Hintergrundwissen dazu hat. Dein Eingangsposting klang in seiner Formulierung allerdings sehr ähnlich, wie die zuvor angesprochenen "mal eben nen Weltklassespiel in 2-3 Wochen machen, ich fang grad erst an mit Delphi". Sieh uns bitte nach, dass wir bezüglich "Spieleproggern" hier schon ziemlich geprügelt und getreten sind
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.336 Beiträge
 
Delphi 11 Alexandria
 
#23

AW: Eigenes 3D MMORPG mit Delphi möglich?

  Alt 8. Dez 2011, 19:48
Ich habe mich ehrlich gesagt recht verarscht gefühlt bei den ersten Postings.
Die Demos finde ich aber dann schon beeindruckend - wobei mich die ganze Spielerei nicht wirklich interessiert.
Dass man das so mit Delphi so realisieren kann, hätte ich nicht gedacht.
Ich könnte mir aber vorstellen, dass es dennoch andere Entwicklungsumgebungen und Engines gibt, die einen diesbezüglich noch besser unterstützen.
Aber das solltest Du vermutlich selbst besser einschätzen können.

Ich nutze die VCL und mehr brauche ich auch nicht (maximal vielleicht mal FM o.ä.).
Grafische Anwendungen und Spiele sind hier eher selten vertreten. Insofern wirst Du vermutlich hier nicht von vielen Erfahrungen profitieren können.

Aber bis hierher: Respekt
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Zudomon

Registriert seit: 14. Feb 2007
84 Beiträge
 
Turbo Delphi für Win32
 
#24

AW: Eigenes 3D MMORPG mit Delphi möglich?

  Alt 8. Dez 2011, 20:14
Huhu!

Also ich muss mich auch bei euch entschuldigen. Ich mag es allerdings nicht, das Menschen immer so schnell im urteilen und Verurteilen sind. Heute hatte ich von jemanden erfahren, dass da wieder irgendwo ein 14er 10 anderen c++ und c# beibringen wollte um dann mit denen ein großes Projekt zu starten. Und er bräuchte aber dann noch jemanden, der das Team dann in Sachen 3D berät. Ich habe selbst auch schon oft solche Post gelesen und auch schon mal geurteilt. Allerdings immer unter dem Vorbehalt, dass alles möglich ist. Grenzen existieren nur im Kopf. Natürlich war ich auch so naiv und dachte, nachdem ich mein erstes Dreieck über 3D-Karte rendern konnte, dass ich in einem Monat mein 3D-Shooter fertig habe. Seit dem sind 12 Jahre harte Arbeit vergangen. Spiele entwickeln ist mein Leben und ich habe mir schon immer gewünscht, mal was großes zu machen... allerdings sind wirklich größere Sachen dabei noch nicht rum gekommen... wenngleich sich die Sachen die ich habe garantiert sehen lassen können.
Früher wurde mir auch immer gesagt, dass man keine Spiele mit Delphi machen kann, dass ich ein Team bräuchte, dass es Wahnsinn ist, eine eigene 3D-Engine zu schreiben usw. . Aber ich habe immer festgehalten an dem, was ich geglaubt habe. Und das, obwohl ich das Gefühl habe, die ganze Welt redet dagegen. Naja, und vorhin bin ich dann mal auf die Idee zu kommen, zu schauen, wie es wäre, wenn man mal selbst so einen größenwahnsinnigen Thread startet und vor allem, wie die Reaktionen sind, wenn dann da letztlich doch Ausnahmsweise etwas hinter steckt.
Also seit mir bitte nicht böse, dass ich am Anfang schon etwas den Anschein erwecken wollte, nicht zu wissen, wovon ich rede
Aber wenn ich euch eins sagen kann, dann nachdem ich so lange Zeit Erfahrung gesammelt habe, dass es auf jeden Fall möglich ist. Warum da normalerweise ganze Teams Jahre dran sitzen? Weil die anders arbeiten. Programmieren ist eine große Macht... hierarchie und prozeduralität Werkzeuge, die effektiver sind als tausende Menschen. Natürlich muss man abstriche machen... prozedural generierter Content hat nicht die menschliche Kreativität. Allerdings denke ich, dass man das schon mehr oder weniger vereinen kann. Wie genau, dass kann ich auch nicht sagen. Ich bin ja auch in der Lernphase und lerne jeden Tag immer einen ganz kleinen Teil dazu.

Was aber nicht heißt, dass mich die Eingangs gestellten Fragen nicht interessieren würden... denn ich möchte eure Meinung wissen. Wenn ihr auch mal meine Meinung wissen wollt... also ich selbst bin mir sehr sicher, dass man ein MMORPG mit Delphi hinbekommt... für mich ist es sogar nur damit Möglich... weil ich mir bei Delphi vorkomme, wie ein Fisch im Wasser... mit C++ oder anderen Sprachen bin ich nicht annähernd so effektiv.

Eigentlich wollte ich auch bis Ende des Jahres die Finger vom Multiplayer lassen, aber dann ist es mir Anfang dieser Woche relativ klar geworden, wie man das ganze ohne allzu großen Aufwand realisieren kann.
Wie gesagt, Grenzen existieren nur im Kopf... ich glaube, dass man das MMORPG ohne Serverfarm laufen lassen kann. Jeder Cluster hat nur ein paar Kilobyte Daten... die werden hinterher über HTTP ( hab das jetzt noch über FTP ) an meinen Webserver als Backup übertragen. Untereinander tauschen die Clients die Daten aus. Dabei regelt noch eine Datenbank, welche User gerade eingeloggt sein und in welchem Cluster ( noch nicht implementiert ) diese sich befinden... und es wird dann eben immer ein p2p über UDP mit den nahesten Spielern aufgebaut. P2P Netzwerk für die erste Iteration von StoneQuest habe ich schon gemacht und es hatte funktioniert.
Da also jeder Spieler sich untereinander nur mit ein paar Clients austauscht... das ganze ist ja auch skalierbar, umso weiter die entfernt sind, oder umso mehr Leute in der Nähe sind, umso größer können die Sendeintervalle sein. An den Webserver braucht dann immer nur alle paar Sekunden eine Sicherung gemacht werden. Auch da kann man gut optimieren, weil sich ja Spieler untereinander absprechen können, wer dann letztlich das Cluster sendet... und falls die Daten zuviel werden, dann kann man einfach auf mehrere Webserver verteilen. Das einzige Problem sehe ich in der Datenbank... nehmen wir wirklich mal eine Million Spieler, die online sind, so weiß ich nicht, ob eine Datenbank das verwaltet bekommt in relativ kurzer Zeit, aber vielleicht kann man da auch aufteilen. Also wenn ich da nun kein gravierenden Denkfehler gemacht habe, dann sollte tatsächlich ein MMORPG mit beliebig vielen Spielern möglich sein.

Was den Content angeht, da es sich um ein Minecraft ähnliches Spiel handelt, wird der Content zum Teil vom Spieler geschaffen. Einen anderen Teil gebe ich vor, eben prozedural... das Gras funktioniert ja schon. Einen rudimentären Baumgenerator habe ich auch. Farnkraut habe ich bereits gemacht... also was Vegetation angeht, fühle ich mich gewappnet.
Wo ich noch etwas bedenken habe sind in der Tat Tier und Mensch... statt jedes Modell einzeln zu machen, würde ich mich gerne an einen Wirbeltiergenerator ran machen... ob das Erfolg hat, wird sich zeigen.

PS: Bisher habe ich mich nur immer auf ZFX herumgetrieben... ich freue mich, nun auch bei euch angekommen zu sein

Im Anhang: Prozedurale Bäume, Gräser und Farne... wobei das Lebel von letzterem in meinem eigenen 3D-Editor gemacht sind.
Miniaturansicht angehängter Grafiken
20100404c.jpg   20100405.jpg   20100414.jpg   20090805.jpg   20090805b.jpg  

  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.007 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#25

AW: Eigenes 3D MMORPG mit Delphi möglich?

  Alt 8. Dez 2011, 20:20
Und was hat jetzt nen Minecraft Klon (mit einer zugegebenermaßen recht ansehnlichen Engine) mit nem MMORPG zu tun?
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Benutzerbild von wicht
wicht

Registriert seit: 15. Jan 2006
Ort: Das schöne Enger nahe Bielefeld
809 Beiträge
 
Delphi XE Professional
 
#26

AW: Eigenes 3D MMORPG mit Delphi möglich?

  Alt 8. Dez 2011, 20:31
Ich kenne Minecraft nur von Bildern - weiß also nicht, wie das läuft. Allerdings muss ich mich den anderen anschließen. Ich hatte am Anfang auch das Gefühl, dass hier ein Anfänger was ganz großes erledigen möchte.... Das nimmt man dann eben nicht so "ernst". Ich möchte an dieser Stelle meinen Respekt aussprechen, das sieht bis hier hin super aus - und um deine Frage zu beantworten, das kann man bestimmt mit Delphi(/FreePascal) hinbekommen!
http://streamwriter.org

"I make hits. Not the public. I tell the DJ’s what to play. Understand?"
  Mit Zitat antworten Zitat
Zudomon

Registriert seit: 14. Feb 2007
84 Beiträge
 
Turbo Delphi für Win32
 
#27

AW: Eigenes 3D MMORPG mit Delphi möglich?

  Alt 8. Dez 2011, 20:44
Minecraft fand ich sehr faszinierend... die Möglichkeit zu bauen, blockbasiert, dass macht eine Menge Spass... dabei hat Minecraft auch einige RPG Elemente, aber eben nur auf sehr niedrigem Niveau. Das würde ich gerne besser machen. Im Unterschied zu WoW wird meine Welt dann von jedem Gestaltbar sein... und jeder geht dem nach, was am meisten Spass macht.
Hier hatte ich mal ein paar Dinge festgehalten, die mir gefallen würden.
Da es RPG Elemente und MMO wäre, würde ich sagen, es wird ein 3D-MMORPG... allerdings wird das ganze auch in einer sehr dynamischen Welt statt finden. Was zu Anfang nur als vereinfachung begann, das Autoupdating, stellt sich nun als mächtiges Instrument raus. Vorher war das ganze eher Sommerlich gehalten... seit dem ersten Advent spielt das ganze nun in einer gefrosteten Umgebung, die Hasen haben Weihnachtkapuzen auf... die Bäume sind Schneebedeckt und im Hintergrund dudelt Jingle Bells... und bald kommen dann Bäume mit geschmückten Lichtern dazu... ein großer Weihnachtsbaum soll da auch noch rein... natürlich ist das nur als kleines Gimmik, aber es zeigt, das die Welt dynamisch ist. Nicht nur durch das, was von den Spielern gebaut wird. Ich finde sowas sehr interessant und habe das Gefühl, eine eigene Matrix aufzubauen. Und ich kann es kaum erwarten zu erleben, wohin die Reise noch geht. Ideen habe ich unzählige ( auch andere haben schon sehr coole Ideen mit einfließen lassen ). StoneQuest könnte etwas werden, was so noch nicht existiert.
Wenn später jedes Modell einzigartig ist, dann wird auch jeder Zweig, den man von einem Baum schneidet dem Baum fehlen... und die Werkzeuge und Waffen die man daraus baut, sind entsprechend einzigartig. Lässt man an einem größeren Zweig ein Sprössling dran, so wird der da für immer dran hängen... auch wenn der Zweig schon zu einem Bogen verarbeitet ist.
  Mit Zitat antworten Zitat
Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#28

AW: Eigenes 3D MMORPG mit Delphi möglich?

  Alt 8. Dez 2011, 20:48
Die Bilder sind echt beeindruckend. Weiter so! Vom P2P-Prinzip bin ich ebenso begeistert.
Gib nicht auf, du bist wirklich auf dem richtigen Weg!

Möglicherweise könntest du auch mal im DelphiGL-Forum vorbeischauen, die haben mit sowas mehr Erfahrung als die meisten hier in der DP. Fragt sich nur, ob man dort so begeistert davon ist, dass du dich für Direct3D entschieden hast
  Mit Zitat antworten Zitat
Zudomon

Registriert seit: 14. Feb 2007
84 Beiträge
 
Turbo Delphi für Win32
 
#29

AW: Eigenes 3D MMORPG mit Delphi möglich?

  Alt 8. Dez 2011, 21:17
4 Jahre habe ich mit Delphi + OpenGL gearbeitet.

Was natürlich nicht heißt, dass da nicht auch mal ein Softwarerenderer, diverse Raytracer und sogar ein D3DX9 Pathtracer entstanden wären
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#30

AW: Eigenes 3D MMORPG mit Delphi möglich?

  Alt 8. Dez 2011, 22:03
Das ist schon ziemlich sexy Zeug! Vor allem glänzen meine Augen beim Begriff "prozedural" wie irre. Ich liebe berechneten Kram über alles, und dein Editor schaut durchaus sahnig aus. Nicht nur optisch, auch die Bearbeitungsfunktionen scheinen sehr ergonomisch umgesetzt, was vielen 3D Programmen (Game-Editoren wie CAD und Maya-Likes) oft abgeht. Daher an dieser Stelle auch erstmal ein großer , nicht zuletzt, weil mir die Materie selbst nicht ganz unbekannt ist, und ich einschätzen kann, wie irre viel Zeit und Hirn da rein fließen muss, um bis da hin zu kommen, was ich gesehen habe. Ein wenig Neid kommt da aber auch mit, weil Beruf und mangelndes kontinuierliches Durchhaltevermögen (gibt so schrecklich viel Interessante Dinge, argh) bisher daran gehindert haben, mehr als eine Hand voll Proof-of-Concepts und diversen GPGPU Kram zu bauen.
Und gerade in der Delphi-Welt, ist man mit so weit getriebenen 3D-Dingen ein totaler Exot. Nicht, weil es mit Delphi nicht ginge - im Gegenteil. Eher, weil Delphi/Pascal seit je her in Industrie und Datenbankanwendungen, und somit eigentlich einer komplett anderen Welt verhaftet ist. Nicht technisch, aber was den Entwicklerkreis im Allgemeinen angeht. Eigentlich schade für so eine schöne Sprache, die gerade aus mathematischer Sicht so viel gefälliger ist als C-likes.

Die P2P-MMO Idee ist übrigens auch eine sehr geniale! Wobei ich die Bedenken bzgl. des Back-Backends nachvollziehen kann, zumal dieser Server dann ja regelmäßig eine Fülle von Paketen bekäme, die nur Teilweise die gleichen Infos beinhalten, und teilweise andere. Der erste Schritt wäre für ihn also schon mal das Herstellen einer Gesamtinfo ohne Dopplungen, wobei auch noch berücksichtigt werden muss, dass von multiplen Daten zu einem selben Sachverhalt nur der mit dem aktuellsten Timestamp gilt. Er müsste also eine Sekunde lang sammeln, dabei entscheiden was zu aktualisieren ist, und dann einen Snapshot davon der Persistenz zuführen. Vor allem aber hat man das Problem, dass man fortan keine Serverseitigen Constraints mehr realisieren kann, wie z.B. das Erkennen/Verhindern von Wallhacks o.ä., da als Entscheider für z.B. Hits nur noch der Client in Frage kommt, und kein Server mehr da wäre, die Korrektheit gegenzuprüfen. Es sei denn, man würde dafür eine separate Maschine abstellen. So dass man einen Datenhaltungs- und einen Mechanics-Knecht hätte. Die Frage wird dann, ob und was man gewonnen hätte. Letztlich käme ich, während ich hier so beim Schreiben denke, auf eine klassische Lösung zurück, die aber zusätzlich ein light-weigt P2P betreibt, um Latenzen unter den Spielern zu verringern. States von NPCs aber z.B. würden damit schwierig, insbesondere wenn mehrere Spieler das selbe sehen sollen, z.B. bei gescripteten Bosskämpfen und dergleichen. Hmmmm... herrliches Thema!
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz