[Projekt] CyberDive (MARPG)

Hier könnt ihr euch selbst, eure Homepage, euren Entwicklerstammtisch, Termine oder eure Projekte vorstellen.
Forumsregeln
Bitte Präfixe benutzen. Das Präfix "[Projekt]" bewirkt die Aufnahme von Bildern aus den Beiträgen des Themenerstellers in den Showroom. Alle Bilder aus dem Thema Showroom erscheinen ebenfalls im Showroom auf der Frontpage. Es werden nur Bilder berücksichtigt, die entweder mit dem attachement- oder dem img-BBCode im Beitrag angezeigt werden.

Die Bildersammelfunktion muss manuell ausgeführt werden, die URL dazu und weitere Details zum Showroom sind hier zu finden.

This forum is primarily intended for German-language video game developers. Please don't post promotional information targeted at end users.
Benutzeravatar
Artificial Mind
Establishment
Beiträge: 802
Registriert: 17.12.2007, 17:51
Wohnort: Aachen

[Projekt] CyberDive (MARPG)

Beitrag von Artificial Mind »

CyberDive

Genre
MARPG - Multiplayer Action RPG.
Wenn sich herausstellt, dass das Konzept umsetzbar ist, könnte auch eine MMO-Variante/Erweiterung in Betracht gezogen werden.

Setting
Das Hintergrundsetting ist eine dystopische Cyberpunk-Welt in naher Zukunft. Hauptthemen sind Gen- und Nanotechnologie, sowie die Verschmelzung von Mensch und Maschine. Zusätzlich sollen verschiedene Formen von Magie existieren. Der Spieler nimmt die Rolle eines "Divers" an. Dies sind Illegale, die am Rande und im Schatten der Gesellschaft leben und für die Mächtigen Aufträge gegen andere Mächtige durchführen. Die Machtfraktionen sind dabei nicht mehr Regierungen, sondern Konzerne, sowie Allianzen von Mega-Städten.

Was ist besonders?
Dieses Spiel soll in einer größtenteils prozeduralen Welt spielen und stark auf prozeduralen Inhalten basieren. Die Spielelemente sollen realistisch sein, in dem Sinne, dass sie sich im Rahmen des Settings rechtfertigen lassen und sich nicht widersprechen. Besonderen Wert haben deswegen folgende Elemente:
  • Jeder Auftrag (Quest) ist einzigartig, niemand macht einen Quest, den schon etliche vor ihm erfolgreich erledigt haben
  • Actio = Reactio, wenn man beispielsweise ein Gebäude zerstört, so ist es zerstört und muss vom Besitzer (Konzern/Stadt) wieder aufgebaut werden. Man hinterlässt Spuren in der Welt - und wenn man nicht aufpasst, so holt einen die eigene Vergangenheit ein.
  • Niemand ist gezwungen einen gewissen Auftrag zu absolvieren, die Aufträge sollen bisweilen sehr viel eigene Planung abverlangen können.
  • Die Umgebung, sowie Kenntnis der Umgebung sollen einen elementaren Vorteil im Kampf bieten.
  • Informationen haben einen Wert in der Welt
  • Jedem Spieler soll möglichst viel Freiraum für seinen Spielstil gegeben werden.
Geplant ist viel, allerdings sind dies meine "Grundpfeiler", quasi meine Hauptkritikpunkte an bisherigen Multiplayer-orientierten Spielen.

Entwicklung
Wird aktiv hier im Thread (u.A. mit Screenies) kommentiert, Euer Interesse und Feedback ist meine Motivation ;) Über konstruktive Kritik wüde ich mich sehr freuen.

Fortschritt
  • Die Welt
    • Tektonik
    • Relief
    • Klima
    • Gebiete (Geozonen)
    • Ressourcen
    • Städte
    • erste Tech-Demo der Welt
    • tba.
  • Gameplay
    • tba.
  • Client
    • Hauptmenü/Login
    • tba.
  • Server
    • Roles/Worker
    • tba.
  • tba.
(Fortschrittslegende: (temporary) completed, in development, to be done)
Zuletzt geändert von Artificial Mind am 14.09.2011, 13:51, insgesamt 5-mal geändert.
Benutzeravatar
Artificial Mind
Establishment
Beiträge: 802
Registriert: 17.12.2007, 17:51
Wohnort: Aachen

Re: [Projekt] CyberDive (MARPG)

Beitrag von Artificial Mind »

Meine Philosophie zur prozeduralen Generierung ist ganz pragmatisch: was man sich bei der Natur abgucken kann, muss man nicht selbst erfinden.

Ergo fängt die Erstellung meiner Welt mit der Generierung von tektonischen Platten an. Ich unterscheide dabei erstmal nur zwei Arten von Platten, kontinentale und ozeanische. Die kontinentalen Platten "beherrbergen" den Großteil der Landmassen, die es gibt. Allerdings sind auch nicht wesentliche Teile dieser Platten von Wasser bedeckt. Die ozeanischen Platten bestehen eigentlich nur aus Ozean, gespickt mit netten Inseln und Inselketten. Jede Platte hat eine lineare Geschwindigkeit (Drift) und eine Winkelgeschwindigkeit (Eigenrotation). Man kann somit für jede Kante der Platten errechnen, welche relative Geschwindigkeit die beiden angrenzenden Platten haben. Bewegen sich die Platten auseinander (Divergenz), so entstehen beispielsweise Mittelozeanische Rücken. Schieben sich Platten untereinander, so können z. B. Faltungsgebirge entstehen. Soweit meine Abstraktion und Vereinfachung.
Tektonische Platten - eine Aufteilung
Tektonische Platten - eine Aufteilung
Tektonische Platten - mit weiteren Debugausgaben
Tektonische Platten - mit weiteren Debugausgaben
Legende:
  • Plattenfarbe: grün = kontinental, blau = ozeanisch
  • Plattengeschwindigkeit ("Haken" am Mittelpunkt): Gerader Anteil ist Drift, Kreisanteil ist Eigenrotation
  • Die roten Kreise sind Hot-Spot Vulkane, die unabhängig von der Plattenbewegung durch die Platten durchbrechen, aber nicht unbedingt vulkanisch aktiv sein müssen
  • Die "Nähte" an den Plattengrenzen: Bewegungsrichtung (und -stärke) der Platten an dieser Grenze (dunkelrot = ineinander, grün = auseinander)
Zuletzt geändert von Artificial Mind am 29.08.2011, 09:47, insgesamt 1-mal geändert.
Benutzeravatar
Artificial Mind
Establishment
Beiträge: 802
Registriert: 17.12.2007, 17:51
Wohnort: Aachen

Re: [Projekt] CyberDive (MARPG)

Beitrag von Artificial Mind »

So nochmal ein Schnellupdate für heute:

Die Grundhöhen für das Relief sehen schonmal ganz in Ordnung aus.
Relief - Grundhöhen
Relief - Grundhöhen
Legende:
  • Blau = Wasser, Grün = Land (dunkler -> höher)
  • Tektonische Plattengrenzen: grün = divergent, orange = konvergent, grau = konservativ
  • Rote Kreise = Hot Spot Vulkane
Dahinter stecken folgende Ideen:
1. Jede Platte hat quasi ihre eigene Landmasse, verhältnismäßig unabhängig von den anderen Platten
2. Nur kontinentale Platten haben Landmassen (ozeanische nur Inseln)
3. Die Landmassen verteilen sich mehr in die Richtung des Plattendrifts (von hinten kann quasi Wasser "nachfließen")
4. Hotspot-Vulkane kriegen auch ne kleine Insel :)

Dabei ist dies nur die Grundhöhe, Gebirgs- und Vulkanbildung wurden noch nicht dazugerechnet.
Einhergehend fehlen also auch noch sämtliche Inselteile vulkanischen Ursprungs, wobei die Hotspots bereits einen kleinen Teil bekommen haben (über dessen Form ich allerdings noch nicht ganz zufrieden bin)
TheBenji
Establishment
Beiträge: 129
Registriert: 07.01.2011, 17:59

Re: [Projekt] CyberDive (MARPG)

Beitrag von TheBenji »

Klingt definitiv sehr intressant, dran bleiben!
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4273
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: [Projekt] CyberDive (MARPG)

Beitrag von Chromanoid »

Habe gestern ein sehr inspiratives Hörbuch gehört: Diamond Age „Die Grenzwelt“ von Neal Stephenson gelesen von Detlef Bierstedt. Das ganze wäre mir als Buch glaube ich zu langwierig gewesen, aber als Hörbuch war es genau richtig - wenn es langweilig wird muss man ja nicht so genau hinhören. Wenn dann mal eine Stelle kam in der man es als Computerist "besser wusste", kann man diese Stellen bei Hörbüchern viel besser überhören. Das ganze spielt in einer Zukunft in der Nanotechnologie eine ausgeprägte Rolle spielt und überall künstliche Milben herumfliegen, die sich manchmal wie Nebel über ganze Stadtgebiete legen und unsichtbare Kriege mit künstlichen Milben anderer Fraktionen führen. Falls du den Roman noch nicht kennst (er ist immerhin schon 1995 entstanden) und noch nach ein paar Inspirationen suchst, kann ich dir diese Geschichte als Hörbuch empfehlen. Cyberpunk als Setting finde ich immer gut. Und prozedurale Systeme sind sowieso interessant. Wobei ich sagen muss, dass ich es interessanter finde, wenn das ganze auf unserer Erde stattfinden würde und nur die Weiterentwicklung der Regionen prozedural vorgenommen wird. Romane wie der oben genannte und auch Pen & Paper RPGs wie Shadowrun zeigen in meinen Augen sehr gut wie das zusätzliche Immersion und geistige Reibungsfläche schaffen kann :).
Benutzeravatar
Artificial Mind
Establishment
Beiträge: 802
Registriert: 17.12.2007, 17:51
Wohnort: Aachen

Re: [Projekt] CyberDive (MARPG)

Beitrag von Artificial Mind »

Ich muss gestehen, ich bin ein unglaublicher Shadowrun-Fan (nur die Begleitromane, hier gibt es leider keine Spielrunden in der Nähe). Viele Inspirationen haben ich unter anderem aus Shadowrun, aber auch aus großartigen Animes wie Ghost in the Shell, Appleseed oder Vexille. Ich habe mir vor ein paar Tagen das Buch "Die Idoru Trilogie" vom Autor von "Neuromancer" gekauft, das geht anscheinend auch in die Richtung Gen- und Nanotechnologie, mal gucken, welche Leitmotive und -konflikte dieser Autor gewählt hat.

Zum Thema Erde:
Meine Motivation, die Welt komplett neu zu erschaffen ist - abgesehen akademischer Natur - davon geleitet, dass es in dieser neuen Zusammensetzung vielleicht interessante und spannende Orte bzw. Konstellationen gibt, die auf unserer Erde in dieser Form nicht vorkommen. Äußerst ungewöhnliche Windbedingungen, Plattenverschiebungen oder ähnliches, die interessantes Terrain erschaffen. Allerdings kann ich gut nachvollziehen, dass man vielleicht auch auf einer "erweiterten" Erde spielen möchte, einfach weil man sie schon kennt und sich über die Entwicklungen freut. Ich versuche das im Hinterkopf zu behalten, sodass ich das soweit trennen kann, dass ich quasi meinen kompletten prozeduralen Tektonik/Relief/Klima-Apparat nach Bedarf "ausklammern" kann und stattdessen reale Daten als Input nehme, sodass ich von Erdverhältnissen ausgehend Bewachsung/Geozonen etc. generiere.
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4273
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: [Projekt] CyberDive (MARPG)

Beitrag von Chromanoid »

Das wäre genial :) Ansonsten kann ich dich natürlich nur ermutigen mit diesem interessanten Projekt weiter zu machen. Deine Erwägungen in http://zfx.info/viewtopic.php?f=14&t=18 ... 598#p22592 sind ja auch sehr spannend.
IlikeMyLife
Establishment
Beiträge: 212
Registriert: 08.05.2011, 09:59
Benutzertext: Feel Free

Re: [Projekt] CyberDive (MARPG)

Beitrag von IlikeMyLife »

Ich werde dein projekt auch genauestens verfolgen :-)
alleine die idee mit der plattentektonik und unseren anderen thread mit der dynamischen npc-anzahl begeistert mich auf jeden fall.
Benutzeravatar
Krishty
Establishment
Beiträge: 8316
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: [Projekt] CyberDive (MARPG)

Beitrag von Krishty »

Artificial Mind hat geschrieben:Was ist besonders?
Dieses Spiel soll in einer größtenteils prozeduralen Welt spielen und stark auf prozeduralen Inhalten basieren.
Ich hasse es, wenn irgendein Technikdetail zum Aufmacher des ganzen Spiels kardinalisiert wird.

Aber technisch klingt es so kühn wie klug; darum hoffe ich aufs Beste :)
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Artificial Mind
Establishment
Beiträge: 802
Registriert: 17.12.2007, 17:51
Wohnort: Aachen

Re: [Projekt] CyberDive (MARPG)

Beitrag von Artificial Mind »

Normalerweise würde ich dir Recht geben, in diesem Fall ist dies meiner Meinung nach aber kein "Detail", sondern ein integraler Bestandteil des Spieles. Wenn es dir allerdings so missfällt, kannst du es gerne als Einleitungssatz für die darauffolgenden Besonderheiten sehen ;)

Außerdem schweben mir ja andere Größendordnungen vor, als "ich habe diese und jene Textur mit Perlin Noise generiert und folgende Landkarten sind 1-zu-1 mit dem Pseudocode aus dem Wikipedia-Eintrag zu Diamond-Square erzeugt worden" *g*
Benutzeravatar
Artificial Mind
Establishment
Beiträge: 802
Registriert: 17.12.2007, 17:51
Wohnort: Aachen

Re: [Projekt] CyberDive (MARPG)

Beitrag von Artificial Mind »

Mein Internet ist seit gut 1.5 Wochen kaputt und mein Handyvolumen aufgebraucht. Also surfe ich die ganze Zeit mit gemütlicher ISDN Geschwindigkeit. Heute sollte der Techniker kommen, 8-12 Uhr, und bis jetzt war niemand da. Um mir die Zeit zu vertreiben, habe ich also fleißig programmiert.

Hier ist somit das nächste Update:
Mit dem Relief bin ich mittlerweile so weit, dass ich mich an die nächste Etappe - das Klima - wagen kann. Einige kleine Verbesserungen sind gewiss noch einzubauen, aber den Status quo betrachte ich als eine solide Grundlage. Ich hatte eigentlich gehofft, schrittweise vorgehen zu können, sodass jede neue Etappe nur auf den vorherigen basiert. Allerdings sind mir folgende Probleme zwischen dem Relief und dem Klima aufgefallen:
Man kann zwar prinzipiell das Klima zwischen Norden/Süden und Äquatornähen unterscheiden, aber große Teile des Klimas entscheiden sich durch das Terrain, insbesondere Meere und Berge. Die Bergformen allerdings hängen stark von der Erosion ab, welche von der Wärme, den Temperaturen (und Temperaturwechseln), sowie den Winden abhängen. Die Winde, Temperaturen und Niederschläge hingegen werden davon beeinflusst, wie die Berge das Innenland abschirmen. Im Endeffekt hängt das alles gegenseitig voneinander ab. Dazu kommt, dass eine partielle Eiszeit in den nördlichen und südlichen Teilen herrschen könnte. Hier schlägt auch wieder eine Kreisabhängigkeit zu: Das Albedo (der Anteil der reflektierten Sonne) hängt davon ab, wie viel Schnee und Eis auf den Landmassen liegen. Je mehr Schnee, desto mehr Reflektion. Je mehr Reflektion, desto kälter, desto mehr Schnee. Das Spiel kann man auch in die andere Richtung spielen.
Ich muss mir also ein gutes Konzept überlegen, wie ich in möglichst wenig Iterationen ein möglichst plausibles und vielseitiges Klima erschaffen kann. Ich tendiere dazu, die Reliefkarte als grobe Höhenkarte zu benutzen und die tatsächlichen Ausprägungen von den Klimaeinflüssen abhängig zu machen, die sich aus der groben Reliefstruktur ergeben.

TL;DR? - das Klima wird kniffelig.

Was ich in diesem Relief bereits implementiert habe:
  • Tiefseerinnen (Trenches)
  • Mittelozeanische Rücken (MOR, Ridges)
  • Gräben (Rifts)
  • Hot Spot Vulkanismus
  • Faltengebirge (Subduktion/Konvergenz von Platten)
  • Mittelgebirge (An den Seiten von Gräben)
  • Meeresgebirge (z. B. an MORs)
  • vulkanische Inselbögen
  • Inselketten
  • Transformationsstörungen (Transform faults)
Reliefkarte
Reliefkarte
Benutzeravatar
Artificial Mind
Establishment
Beiträge: 802
Registriert: 17.12.2007, 17:51
Wohnort: Aachen

Re: [Projekt] CyberDive (MARPG)

Beitrag von Artificial Mind »

Ich hab dann kurz nochmal eine Heightmap in 3D dazu generiert.
3D Reliefkarte (ohne Wasser), 2400x1200 Quads
3D Reliefkarte (ohne Wasser), 2400x1200 Quads
Bitte nicht zu viel hineininterpretieren, die Höhe ist unverhältnismäßig hoch gezeichnet und ohne Klima ist die genaue Oberfläche auch noch größtenteils unbekannt.
Um mal Werte zu nennen:
  • Die gesamte Karte ist 20 000 km x 10 000 km groß (Damit spar ich mir viel Ärger mit sphärischen Koordinaten)
  • Die Kartenauflösung ist in dem Bild 2400x1200 (Danach stieg Mogre aus), in den Bildern davor war sie 2000x1000 Pixel, also ca. 10 km x 10 km pro Pixel.
  • Die Höhe ist 200 mal höher gezeichnet, als sie tatsächlich ist. Als ich das unverzerrt gezeichnet hab, ist mir zum ersten bewusst geworden, dass unsere Erde doch flach ist ;)
  • Ich habe mal kurz überschlagen, es sind ca. 35 000 000 km² Landmasse
Einiges Terrain ist noch sehr spitz, sobal das Klima Erosion bringt, ändert sich das. Die Küstengebiete der Inseln scheinen zu steil zu sein, ich bin mir aber nicht sicher wie der Meeresboden bei ozeanischen Inseln tatsächlich aussieht.
Aufgrund gewisser Internethandicaps konnte ich auch noch nicht so viel recherchieren, wie ich es gerne gewollt hätte.
Benutzeravatar
Artificial Mind
Establishment
Beiträge: 802
Registriert: 17.12.2007, 17:51
Wohnort: Aachen

Re: [Projekt] CyberDive (MARPG)

Beitrag von Artificial Mind »

Nach einer etwas länglicheren Diskussion mit Cat bin ich zu dem Entschluss gekommen, doch einmal den 3D-Kugel-Aspekt auszuprobieren. Insbesondere wenn man später per Flugzeug oder Orbitalrakete reist oder es Raumstationen oder Mondbasen gibt (noch unsicher), wäre es praktisch, eine richtige 3D-Planetenansicht generieren zu können.

Dies führt natürlich unweigerlich zu Koordinatenproblemen, denn meine generierten Karten sind rechteckig und Rechtecke lassen sich nicht schön verzerrungsfrei auf Kugeln projezieren.
Allerdings fangen ab ca. 60° Neigungswinkel die sogenannten "kalten Zonen" an, also rein schnee- und eisbedeckte Gebiete (hat was mit dem Klima zu tun, dazu später mehr).

Mein Ansatz wird also der Folgende sein:
1. Generiere Karte für "warme" Gebiete nach dem bisherigen Prinzip (Reliefkarte, Rechteckig, links und rechts (Westen/Osten) der Karte sind verbunden)
2. Generiere jeweils eine Karte für Nord- und Südkuppe (Kreisförmig, mit Nord- bzw. Südpol in der Mitte)
3. Alles zusammenkleben bis es passt :D

Rechtfertigung:
Auf einer einzelnen Rechteckskarte würden die Pole unglaublich stark verzerrt werden (die oberste Zeile würde z. B. auf einen einzelnen Punkt in Realität zusammenfallen)
Die Reliefkarte wird auf +-60° gemappt, wenn man also den oberen Radius gegen den Mittleren betrachtet, so gibt das einen maximalen Verzerrungsfaktor von 2. Zusammen mit der größe der Karte ist das hoffentlich gering.
3D Reliefkarte auf einer Kugel (+- 60°)
3D Reliefkarte auf einer Kugel (+- 60°)
Ich finde, das sieht soweit plausibel aus.
Auch hier darauf achten, die Höhen sind um den Faktor 50 skaliert, die Karte ist eigentlich auf 20 000km x 10 000km generiert, es müsste also im Endeffekt ca. das Doppelte für jede Seite generiert werden.

Ich werd also mal gucken, wie sich die Pole dazu generieren und anzeigen lassen, und dann entscheiden, ob das komplette Kugelmodell funktioniert.

Plan B: nach der Story sind beide Pole, sowie die andere Hälfte der Erde, durch Stürme unbewohnbare Ozeane ohne Inseln und ich muss nur eine Seite betrachten, die man gut durch Rechteck annähern kann *g*


PS: Tut mir leid, dass ich momentan den Showroom so vollspamme, ich hoffe das ist nicht allzu schlimm. Zudomon (*poke*) hat versprochen, dass er auch bald wieder Bilder postet.
Benutzeravatar
Zudomon
Establishment
Beiträge: 2259
Registriert: 25.03.2009, 07:20
Kontaktdaten:

Re: [Projekt] CyberDive (MARPG)

Beitrag von Zudomon »

Artificial Mind hat geschrieben:Zudomon (*poke*) hat versprochen, dass er auch bald wieder Bilder postet.
Das kann der aber erst, wenn mal wieder was neues zum zeigen da ist! :lol:

Aber saubere Arbeit bis jetzt! Du bist verdammt schnell!
Da muss ich mich echt mal ran halten, damit ich den Showroom wieder gewinne... :twisted:
IlikeMyLife
Establishment
Beiträge: 212
Registriert: 08.05.2011, 09:59
Benutzertext: Feel Free

Re: [Projekt] CyberDive (MARPG)

Beitrag von IlikeMyLife »

Es gibt einen Punkt der mich grade ein wenig wundert ( vielleicht habe ich auch etwas falsch verstanden ).

du hast zu beginn von einer plattentektonik samt rotation gesprochen. für den fall, dass dieses tatsächlich durchgeführt wird,
läuft es nicht in gefahr, dass nach deinem jetzigen modell die kontinentalplatten in richtung nord- südbereiche abdriften und in den sturm der unerreichbarkeit driften?
waigie
Beiträge: 82
Registriert: 20.05.2009, 19:37

Re: [Projekt] CyberDive (MARPG)

Beitrag von waigie »

Ich geh davon aus das die Plattentektonik bei ihm auch nur sehr schleppend vorangeht, ähnlich wie auf der Erde ich hab in meinen 23 Jahren Spielzeit keine nennenswerte Veränderung der Plattenanordnung und Form mitbekommen ;)

Vielmehr denke ich braucht er die Werte um zu errechnen an welchen Stellen sich Gebirge oder Gräben befinden.
IlikeMyLife
Establishment
Beiträge: 212
Registriert: 08.05.2011, 09:59
Benutzertext: Feel Free

Re: [Projekt] CyberDive (MARPG)

Beitrag von IlikeMyLife »

"Bam liegt in der Nähe des Randes der Eurasischen Platte, auf die sich die Arabische Platte mit ca. 3 cm pro Jahr zubewegt. Dadurch entstehen gewaltige Spannungen im Untergrund, die sich von Zeit zu Zeit durch Erdbeben abbauen."

Quellt: http://www.agenda21-treffpunkt.de/daten ... ktonik.htm

3cm plattenbewegung * deine 23 Jahre = 69 cm bewegung in derzeit
Stimmt :D macht sich tatsächlich nicht bemerkbar :D
condor
Beiträge: 14
Registriert: 31.07.2011, 14:52

Re: [Projekt] CyberDive (MARPG)

Beitrag von condor »

Sehr schönes Projekt,

hab ich was überlesen oder hast du bisher nichts über die softwaretechnische Seite gesagt?
Mit was programmierst du, eigene oder vorhandene Engine, wenn eigene Engine, dann wie lange entwickelst du daran und auf welchem Stand befindet sie sich.
Das wäre für mich auch interessant zu hören.
Benutzeravatar
Artificial Mind
Establishment
Beiträge: 802
Registriert: 17.12.2007, 17:51
Wohnort: Aachen

Re: [Projekt] CyberDive (MARPG)

Beitrag von Artificial Mind »

IlikeMyLife hat geschrieben:3cm plattenbewegung * deine 23 Jahre = 69 cm bewegung in derzeit
Stimmt :D macht sich tatsächlich nicht bemerkbar :D
Das ist genau der Punkt ;) Meine Platten bekommen einen Drift von maximal 20cm pro Jahr, damit können Platten also maximal 40cm pro Jahr auseinanderdriften, mit der Eigenrotation vielleicht noch ein wenig mehr. Die einzigen Stellen, an den man das merken würde, wären Ozeanspalten oder Hochgebirge und selbst dort nur minimal. Ich benutz die Werte also tatsächlich nur um die Kräfte zu berechnen, die zwischen den Platten wirken.

Nein, ich habe bis jetzt tatsächlich noch nichts über die Softwaretechnik gesagt. Der einzige kleine Hinweise war darin versteckt, dass nach 2400x1200 Gridauflösung Mogre versagt :D
Den ersten Prototypen, wenn nicht sogar das ganze Spiel, werde ich in C# entwickeln, unter Benutzung von Mogre und PhysX. Damit kenne ich mich momentan am besten aus und damit entwickel ich am schnellsten.
Aber insbesondere, wenn ich später eine MMO Variante davon schreiben will, werde ich auf eine C++-Engine umsteigen. Aber das ist noch Zukunftsmusik.
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4273
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: [Projekt] CyberDive (MARPG)

Beitrag von Chromanoid »

Artificial Mind hat geschrieben:Aber insbesondere, wenn ich später eine MMO Variante davon schreiben will, werde ich auf eine C++-Engine umsteigen. Aber das ist noch Zukunftsmusik.
Warum? Rechnest du mit Performance-Problemen?
Benutzeravatar
Artificial Mind
Establishment
Beiträge: 802
Registriert: 17.12.2007, 17:51
Wohnort: Aachen

Re: [Projekt] CyberDive (MARPG)

Beitrag von Artificial Mind »

Chromanoid hat geschrieben:
Artificial Mind hat geschrieben:Aber insbesondere, wenn ich später eine MMO Variante davon schreiben will, werde ich auf eine C++-Engine umsteigen. Aber das ist noch Zukunftsmusik.
Warum? Rechnest du mit Performance-Problemen?
Ja. Auch insbesondere beim Speichermanagement von so vielen Spielern ist ein GC nicht das Angenehmste. Aber für die Multiplayer Variante und auf alle Fälle für den Prototypen sollte C# gut funktionieren und mich von vielen lästigen Pitfalls befreien.
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4273
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: [Projekt] CyberDive (MARPG)

Beitrag von Chromanoid »

Also gerade für die Server würde ich an deiner Stelle auf eine flexible dynamische Sprache setzen. Es kommt natürlich ein bisschen darauf an, was so für Interaktionen zwischen Spielern untereinander und mit der Welt möglich sind... Eve Online nutzt bspw. Stackless Python, viele Social-Games mit Echtzeit-Spielinstanzen nutzen Java/den SmartFox-Server usw. Aber du hast ja selbst gesagt, dass das ganze eh Zukunftsmusik ist, von daher lohnt sich eine Diskussion noch nicht :).
Benutzeravatar
Artificial Mind
Establishment
Beiträge: 802
Registriert: 17.12.2007, 17:51
Wohnort: Aachen

Re: [Projekt] CyberDive (MARPG)

Beitrag von Artificial Mind »

Und man läuft bei soetwas nicht in Performance-Fallen? Ich werde später nicht wenig AI Berechnungen haben und dadurch, dass auch viele Dinge während des Spieles prozedural errechnet werden müssen, habe ich ja nicht unwesentliche Anforderungen, oder?

Ein anderer Ansatz wäre es, den Server in Rollen aufzuteilen, sodass eine Rolle von mehreren realen Servern angenommen werden kann und jeder reale Server mehrere Rollen annehmen kann. Die Rollen "AI" und "Content-Generation" wären dann über C++-Module implementiert, um die Performance zu gewährleisten, und die restlichen Rollen sind für bessere Flexibilität in C# oder sonst irgendetwas geschrieben.
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4273
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: [Projekt] CyberDive (MARPG)

Beitrag von Chromanoid »

Wenn du das ganze horizontal skalierbar machst, muss der Einsatz von C++ schon wesentlich mehr Performance bringen damit es sich überhaupt lohnt den Aufwand zu treiben extra C++-Module zu entwickeln.
Benutzeravatar
Artificial Mind
Establishment
Beiträge: 802
Registriert: 17.12.2007, 17:51
Wohnort: Aachen

Re: [Projekt] CyberDive (MARPG)

Beitrag von Artificial Mind »

Also erstmal einfach ausprobieren, ob es tatsächlich zu den Problemen kommt und ob C++ sie lösen kann.

Ohne mich in irgendeine "managed-unmanaged-bashing"-Geschichte zu verwickeln: Meiner Erfahrung nach ist vernünftig geschriebenes C# im Release Modus nicht wesentlich langsamer als C++, außer man hat viele trigonometrische Berechnungen. Und der GC von C# hat mir bis jetzt auch noch nie Probleme gemacht und ich habe schon so einige GB Ram beansprucht. Viele Grenzen, die ich mit C# erreiche, sollten also auch ungefähr die Grenzen von C++ sein (performancetechnisch).

Wobei ich gerade überlege, ob ich nicht vielleicht mit mixed-mode cli ein winziges C++ Modul für Noise Berechnung anlegen sollte. Die Noise-Auswertung schlägt momentan mit über 50% der Rechenzeit der Reliefmap zu. Oder ist PerlinNoise (2D/3D) _immer_ so langsam?
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4273
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: [Projekt] CyberDive (MARPG)

Beitrag von Chromanoid »

Keine Ahnung :) Sind das denn überhaupt Sachen die zur Laufzeit/während des Spiels besonders schnell gemacht werden müssen? The Computer Language Benchmarks Game ist zum Performance Vergleich ganz interessant. Aber du solltest dich wirklich erst mal nicht mit Performance beschäftigen. Was am Ende der Flaschenhals ist, wirst du höchstwahrscheinlich erst am Ende merken... Direct3D hat afaik übrigens eine Art Servermodus (siehe http://msdn.microsoft.com/en-us/library/gg615082.aspx) - vielleicht kannst du damit ja was anfangen.
Zuletzt geändert von Chromanoid am 30.08.2011, 14:17, insgesamt 1-mal geändert.
Benutzeravatar
Artificial Mind
Establishment
Beiträge: 802
Registriert: 17.12.2007, 17:51
Wohnort: Aachen

Re: [Projekt] CyberDive (MARPG)

Beitrag von Artificial Mind »

Die Reliefmap sicher nicht. Ich kann auch noch absolut nicht vorhersagen, welche Art von Randomness ich zur Laufzeit am meisten brauche.

Was halt definitiv zur Laufzeit passieren muss sind insbesondere, aber nicht ausschließlich: Questgenerierung, politische Simulation, gesellschaftliche Simulation, Flora- und Fauna, Itemgenerieung, AI, Wetter (, vll. Naturkatastrophen)
Dabei lassen sich große Teile sicher vorgenerieren, aber es gibt auch sicher nicht zu vernachlässigende Anteile, die Laufzeitinformationen benötigen.

EDIT: gute Idee, ich mache erstmal weiter und habe Performance nur im Hinterkopf ;)
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4273
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: [Projekt] CyberDive (MARPG)

Beitrag von Chromanoid »

Bezüglich der Simulation von gesellschaftlichen Ereignissen etc. könnte man mal überlegen sich Algorithmen für CEP anzuschauen.
edit: Bei CEP handelt es sich ja eher um ein Konzept. Ein Algorithmus dafür wäre z.B. der Rete-Algorithmus.
Zuletzt geändert von Chromanoid am 30.08.2011, 14:26, insgesamt 3-mal geändert.
Benutzeravatar
Artificial Mind
Establishment
Beiträge: 802
Registriert: 17.12.2007, 17:51
Wohnort: Aachen

Re: [Projekt] CyberDive (MARPG)

Beitrag von Artificial Mind »

Sieht vielversprechend aus, danke :)
Schwarmsimulation werde ich mir wenn die Zeit kommt, auch nochmal zu Gemüte führen.
Ich werde hier in Aachen dieses Semester die Vorlesung "Introduction to AI" hören, vielleicht lassen sich daraus auch noch wertvolle Erkenntnisse ableiten.
Benutzeravatar
Artificial Mind
Establishment
Beiträge: 802
Registriert: 17.12.2007, 17:51
Wohnort: Aachen

Re: [Projekt] CyberDive (MARPG)

Beitrag von Artificial Mind »

Die Idee von gestern Nacht scheint Früchte zu tragen:
3D Planetenrelief mit Nord- und Südkappe, ohne Eisschild
3D Planetenrelief mit Nord- und Südkappe, ohne Eisschild
Erläuterungen:
  • Links ist der Nordpol, Rechts der Südpol
  • Erste Zeile ist die Reliefkarte, zweite Zeile die Einbettung in das Planetenmodell
  • Der Eisschild ist noch nicht berücksichtigt, der ergibt sich erst beim Klima
  • Die Höhen sind im üblichen x50-Faktor
  • Die unterste Zeile zeigt die Nahtstelle in Wireframe
  • Alle Reliefkarten sind jetzt in der richtigen Größe (Mittelband: 40 000km x 13 333km, Polkappen: 6 666km Durchmesser)
Die Nord- und Südpolkarten sind auch erstmal mit nicht so viel Mühe wie die Reliefkarte für die mittleren Breiten erstellt worden.

Protip: 2MB hochladen per ISDN-Geschwindigkeit über Handy-Bridge ist nicht zu empfehlen
Antworten