Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

11

29.02.2012, 15:59

Dass jeder Server alles verwalten kann, ist ja ein guter Gedanke. Nur was ist wenn die Aktionen von Spielern auf unterschiedlichen Servern voneinander abhängen? In Eve Online verlangsamen sie ja jetzt einfach das Spielgeschehen. Ich denke bei BigWorld Tech haben sie das ganz gut gelöst. Die schaffen laut Whitepaper 100k Spieler in einer verhältnismäßig kleinen Welt. Die Welt wird räumlich dynamisch in Zonen aufgeteilt, so dass Ballungsräume auf mehrere Server verteilt werden können. Vom Ergebnis her ähnlich macht das auch Much Different mit ihrem 999 MMOFPS Weltrekord Projekt. Das Problem sind bei beiden Lösungen besonders intensive Interaktionen an den Zonenrändern...

Du solltest nach Möglichkeit jede Spielkomponente als eigenes System auslagern können und jede einzelne Spielkomponente mit mehreren Servern verarbeiten können. Im Grunde also vertikale und horizontale Skalierbarkeit einbauen.

Je mehr Spieler in einem kleinen Raum interagieren können, desto problematischer wird außerdem die Darstellung und Übermittlung aller Einheiten auf die Clients. Das sollte man auch nicht unterschätzen. Da muss man dann ein vernünftiges Interest Management einbauen, dass auch davon ausgehen muss, dass nicht immer alle Daten rechtzeitig übermittelt werden können.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Chromanoid« (29.02.2012, 16:08)


Pecadis

Frischling

  • »Pecadis« ist der Autor dieses Themas

Beiträge: 29

Wohnort: München

Beruf: Fachinformatiker für Systemintegration

  • Private Nachricht senden

12

29.02.2012, 17:13

Hm ja das mit dem Auslagern der einzelnen Komponenten (und verteilung auf mehrere Server) war auch so ein Gedanke aber in dem maße habe ich mir das noch nicht überlegt, scheint aber die ziemlich einzige möglichkeit zu sein. Ich denke ich werde einige dieser sachen mit in meine planung einfließen lassen.

Sehe ich das richtig dass die Befehle quasi in die richtung geht:

Client -- Sendet "töte mob" --> Server (Verarbeiter) liest schadensmodelle aus db & verknüpft die daten -- Sendet ein Update mit den neuen Lebensdaten des Mob --> Datenbank Speichert die daten ab.

Und wenn alles eben fertig ist werden die Daten zurück zum client gesendet der sieht dass das mob weniger hp hat oder sehe ich da im groben aufbau etwas falsch?

Aber die frage mit dem geeignetsten DBMS steht immer noch aus.

13

29.02.2012, 17:25

Kommt alles sehr auf deine Anforderungen an. Man kann das alles auch ohne DB machen und nur bestimmte Transaktionen über die DB lösen (z.B. Handel etc.).

Sylence

Community-Fossil

Beiträge: 1 663

Beruf: Softwareentwickler

  • Private Nachricht senden

14

29.02.2012, 17:28

Client -- Sendet "töte mob" --> Server (Verarbeiter) liest schadensmodelle aus db & verknüpft die daten -- Sendet ein Update mit den neuen Lebensdaten des Mob --> Datenbank Speichert die daten ab.


Naja das ist der naive Ansatz. Da ich noch kein mmo gemacht hab kann ich nicht sagen wie gut er funktioniert...
Da du ja anscheinend nicht davon abzubringen bist (naja auch aus einem gescheiterten projekt kann man was lernen):
Du solltest dir auch schon gedanken über cheater machen.

Bei dem Model würde ich mich jetzt in dazwischen klinken und einfach kein "attackiere mob" an den server schicken, sondern ein "töte mob" und schon one-hitte ich alles was in der welt rumläuft.

Pecadis

Frischling

  • »Pecadis« ist der Autor dieses Themas

Beiträge: 29

Wohnort: München

Beruf: Fachinformatiker für Systemintegration

  • Private Nachricht senden

15

29.02.2012, 18:26

@Sylence Nun ich habe nicht gesagt dass ich all meine kraft nur in dieses Projekt laufen lasse. Ich hatte vor (und da meinen einige ich habe keine Hobbys) um dimensionen kleinere Projekte nebenbei laufen zu lassen um auf dem weg die nötige erfahrung zu sammeln. Außerdem hatte ich nicht vor alles selber zu programmieren sondern es Programmieren zu lassen. Meine stärke liegt deswegen wie man merkt nicht in der Programmierung sondern eher in der Planung (und damit ich weiß was ich planen muss muss ich eben auch ein wenig programmieren ;) )

Aber mal davon abgesehen hast du recht =D ich lasse mich nicht davon abbringen.

Zu Cheatern ... Es wird keine geben ;) ... ne mal im ernst.. das ist natürlich einer der größeren Brocken wo ich mir gedanken werden muss. Natürlich ist diese darstellung stark vereinfacht und naiv aber trotzdem .... ich habe da hin geschrieben mob töten und nicht angreifen ;) und du kannst dem System trotzdem sagen dass du ihn tot machst aber wenn in der db nicht drin steht dass das mob tot ist .. kannst du auch nid one hitten ^^.

16

29.02.2012, 19:53

Wie willst du denn so ein Projekt ohne Feldforschung/Prototyping mit exzessivem Programmieren planen? Und wenn du es noch nicht mal selbst programmieren willst, wieso planst du nicht mit einer fertigen Engine wie HeroEngine (die wird von EA für SWTOR verwendet)? Da gibt es doch mehr als genug zum Planen...

Pecadis

Frischling

  • »Pecadis« ist der Autor dieses Themas

Beiträge: 29

Wohnort: München

Beruf: Fachinformatiker für Systemintegration

  • Private Nachricht senden

17

29.02.2012, 20:00

Es ist ja nicht so dass ich gar nicht programmieren werde. Ich weiß ja selber wie es ist wenn jemand etwas plant wovon er überhaupt keine ahnung hat. Aber ich werde trotzdem nicht alles programmieren können sodass ich mich nur auf die kernelemente konzentrieren kann. =)

18

29.02.2012, 20:19

Also dass man das nicht alleine schaffen kann, stimmt natürlich auch nicht so ganz :D (siehe http://www.esenthel.com/?id=developer) aber sinnvoller ist es sicher. Als Kunde würde ich mir bei einem Einzelentwickler auch immer starke Gedanken über den Truck/Bus-Faktor machen...

Pecadis

Frischling

  • »Pecadis« ist der Autor dieses Themas

Beiträge: 29

Wohnort: München

Beruf: Fachinformatiker für Systemintegration

  • Private Nachricht senden

19

29.02.2012, 21:51

Hm ich habe mal irgendwann hier mal gelesen: "Wenn du ein großes Spiel machen willst dann musst du entweder viel Zeit, Geld oder Gute Freunde haben." ... =D aber was du mit deinem Truck/Bus-Faktor meinst... da habe ich keine ahnung ^^

Fireball

Alter Hase

Beiträge: 415

Wohnort: Werne

Beruf: Dipl. Inf.

  • Private Nachricht senden

20

29.02.2012, 22:02

Ne Oracle DB mit ner ASM + nen RAC sollte das wuppen :-)

Kann mir aber nicht vorstellen, dass ein Spiel wie WoW oder so auf ner ORACLE läuft. ^^

Werbeanzeige