3D Online Game

  • GM 8

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • 3D Online Game

    Hallo,

    ich plane ein online spiel, in dem man wie im egoshooter rumläuft...

    mein problem ist, dass ich eine sehr große spielwelt machen möchte... ohne möglichst ladebalken....

    natürlich habe ich schon die grafik abgespickt und alle modelle haben möglichst wenig polygone (simpel gehalten sodass das spiel nicht zusammenbricht)

    mein problem ist, denke ich, dass ich nicht viele models auf einer riesigen karte stellen und animieren lassen kann, ich denke ab 100 modelle ist da schluss...

    habt ihr tipps oder vorschläge dann immer her damit ^^

    Ps. wer mithelfen will, ist gerne eingeladen zum mitwirken ^^
  • Du musst nur das Zeichnen lassen, was der Spieler auch wirklich sieht.

    Daher würde ich auf jeden Fall dazu raten Modelle ab einer gewissen Entfernung gar nicht erst darzustellen.
    Desweiteren könntest du ein LOD (Level of Detail) einbauen. D.h. wenn ein Modell weit entfernt ist, braucht es keine
    hochaufgelöste Textur und auch nicht viele Polygone. Den Unterschied sieht man kaum, aber in Sachen Performance macht es sich bezahlt.

    Du könntest auch überprüfen, ob Objekte sich hinter Wänden o.ä. befinden. Wenn sie verdeckt sind müssen sie ebenfalls nicht gezeichnet werden.
    (Halte ich im Vergleich zum Rest für schwieriger)
  • Wenn du meinst, dass du genügend Erfahrung im Umgang mit dem GM gesammelt hast, um soetwas zumachen,
    dann werde ich dir einige Tipps geben. Wenn du noch kein richtiges Tutorial gemacht hast oder den Code nur
    aus Beispielen kopierst, solltest du dich hinhocken und zuerst lernen, wie alles funktioniert, bevor du dich auf ein
    so arbeitsaufwendiges Projekt stürtzt (Ich hoffe mal die Verbform stimmt^^)


    Zu den Tipps:

    - Der GM 8.1 (Das letzte verfügbare Stable) eignet sich am besten für 3D Spiele, da er Modelle nur einmal an die
    Grafikkarte sendet und nicht wie die anderen Versionen jeden Step

    - Versuche Texturen kleinzuhalten, bemühe dich also deine Objekte gut zu UV-mappen

    - Benutze NIE die d3d_draw_block, ..._cone, ..._cylinder , etc. Verwende nur Modelle

    - Jedes Modell nur einmal laden, also am Anfang. Mach es nie so, dass zum Beispiel jeder
    Baum ein neues Modell lädt

    - Verwende große Modelle statt vielen kleinen. Dann verringert sich die Datenmenge,
    die an die Grafikkarte gesendet wird.

    - Zum importieren benutzt du am besten den Obj-Importer der bei Moolts Anfänger Tutorials dabei ist.
    Der macht am wenigsten Probleme

    - Für eine große Spielwelt benutzt du am besten ein Grid, indem Namen von Gebieten gespeichert sind
    (beispielsweise: X00Y00 , X01Y01). Dann frägst du ab, wo der Player ist und lässt das Gebiet laden,
    wenn es noch nicht geladen wurde. Wie genau du das machst, bleibt dir überlassen ;)

    Dann noch viel Spaß

    EDIT: My gawd. Hier wird gleich wieder von GMOgre gesprochen >.<

    EDIT2:
    Ist meiner Meinung viel einfachere und hat viel mehr
    Funktionen als die internen Funktionen, desweiteren wurde laut GM 6.1
    Hilfe der GM nie dazu gemacht um 3D Spiele zu machen.
    Einfacher fand ich das Ding nie. Ich habs lange probiert, aber es hat mir nie zugesagt. Deshalb die negative Einstellung.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Shapow ()

  • Ich würde da zu einer 3D DLL raten, z.B. GMOgre3d. Das ist nen Port der Ogre Engine. Mit ein paar zeilen bei einem Example wurden paar Bäume (naja mehr ein Wald) auf den Bildschirm gebracht.

    gmc.yoyogames.com/index.php?showtopic=455439

    #edit:
    EDIT: My gawd. Hier wird gleich wieder von GMOgre gesprochen X(

    Ist meiner Meinung viel einfachere und hat viel mehr Funktionen als die internen Funktionen, desweiteren wurde laut GM 6.1 Hilfe der GM nie dazu gemacht um 3D Spiele zu machen.
    wupto.net/ Nicht meine Seite!
    We love Koalas.

    GM-D-Spam-o-Meter: 32%
  • oh danke schonmal ^^

    hört sich etwas schwierig an, denn die spielwelt wird ja immer gezeichnet, ich brauch also so eine art og of war oder so... hmmm könnte mir einer einen kleinen technischen tipp geben?


    Shapow


    ich habe erfahrungen sammeln können mit blitzmax... und der game maker ist auch nicht so schwer...

    dein tipp mit den grids, also wie minecraft einzelne zonen laden, ist ne super idee, wie bewerkstellige ich sowas, gibt es da anleitungen?

    Ps. ihr seit ja alle echt super nett ^^ danke schonmal für die sehr schnellen und hilfreichen antworten ^^
  • Wie schon gesagt, ein grid eignet sich ziemlich gut dafür.
    Allerdings kannst du ja auch einfach die Objekt außerhalb der
    Sichtweite des Spielers deaktivieren ( mit instance_deactivate und instance_deactivate_region )
    und nur die aktivieren, die in der Nähe des Spielers sind. HUD und 2D Objekte
    solltest du nicht in den Check mit einbeziehen, also immer aktiviert lassen.

    EDIT: Hab deinen Post gar nicht gesehen.
    ich habe erfahrungen sammeln können mit blitzmax... und der game maker ist auch nicht so schwer...
    Oh das ist schonmal gut.

    dein tipp mit den grids, also wie minecraft einzelne zonen laden, ist ne
    super idee, wie bewerkstellige ich sowas, gibt es da anleitungen
    Nein leider nicht, aber du könntest das Prinzip von Minecraft übernehmen.
    Vielleicht findet sich beim Googlen was hilfreiches. Ehrlich gesagt war das nur so ein Gedanke, der mir kam ;D

    EDIT2:
    Für alles, was weiterweg ist, würde ich ein riesiges Modell nehmen,
    das unterhalb der Map ist und die Landschaft in der Ferne ungefähr wiederspiegelt.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Shapow ()

  • henrik1235 schrieb:

    Ich würde da zu einer 3D DLL raten, z.B. GMOgre3d. Das ist nen Port der Ogre Engine. Mit ein paar zeilen bei einem Example wurden paar Bäume (naja mehr ein Wald) auf den Bildschirm gebracht.
    Ja.. nur leider nutzt ihm das nicht viel da Ogre nicht mit GM 8.1 kompatibel ist sondern nur mit 8.0 m(


    Was meinst du mit Fog-of-war? Dieses System dass Dinge die in der Ferne liegen nicht mehr sichtbar sind? Da gibt es ein GM-eigenes Mittel das sich einfach Fog nennt.

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von DragonGamer ()

  • eine frage hab ich da noch:

    da ich riesige 3d landsachaften habe und ich denke, dass der game maker irgendwann die große map nicht laden will, sodass ich sie im editor nich mehr bearbeiten kann, gibt es einen externen 3d map editor?
  • Ich würde dir schon gerne helfen, aber was genau meinst du mit
    "ich denke, dass der game maker irgendwann die große map nicht laden will"
    Meinst du, dass der Speicher von den Modellen her ausgeht ?
    Oder, dass der room nicht so groß gemacht werden kann?
  • hehe... lol...

    Ersteinmal, wenn ich mir das so ueberlege mit der Aussage "bedenken wegen Ladebalken"... wuerd ich mir lieber einen Tag Kirchen-Gottesdienst antun bevor ich an einem 3D Spiel mein Leben verschwende.
    Wie kommst du auf Ladebalken? ^^
    Und vorallem warum "Laden von Maps in GM"... ODER erstrecht zuviele Polygone???

    - Du kannst soviele Polygone verwenden, wie noetig sind um realistich "sichtbare" Details umzusetzen.... DENN bis du fertig bist mit dem Lesen und verstehen von der 3D Hilfe, sind bereits Rechner draussen, die gerade mal 1% der Gesammtleistung brauchen, um Spiele wie farcry oder Bioshock in vollem Detail und Bausatz auf den Monitor zu zaubern.
    Sprich in 10 Jahren sind deine Low-Poly-Modelle "Kindergarten", denn solange wirste brauchen, bis du ein ordentliches 3D Zock im Alleingang mit Hilfe des GM's zusammengetackert hast. Ich geb dir Brief und Siegel drauf. Wirklich... mach deine Modelle so detailgenau wie moeglich... denn unsere Technik wird rapide immer leistungsstaerker.

    (Edit: gerade gelesen, dass Shapow das bereits erwaehnt hat, aber trotzdem, ich lass es mal drinn)
    - ...und zum Schluss noch: Der GM interessiert sich'ne Wurst ueber deine grossen Maps solange du nach dem Ehrenkodex aller effizienter Programmierer arbeitest: "TILESET!!!" . Es wird nur das geladen/gezeichnet, was das Auge auch sehen kann.... sagen wir mal 5x5 Flaechen von was weiss ich ... moeglichen 1000x1000 Flaechen (Grid)... und die werden durch switching-Verfahren wieder aus dem Speicher geladen, wenn'se nimmer in Sichtweite sind. So handhabe ich das in SpaceBattery. Meine Spacestation hat 4 Levels und jedes Level hat 100x50 Teile (die 0.320 poly units gross sind).... da koennt ich nochmal locker mit 100 multiplizieren... aber dann kann ich das kaum noch in meinen selbstprogrammierten MapEditor laden.
  • ach ok ^^

    naja ich dachte, dass es etwas laggie wird im spiel, aber ehren codex sei dank, ich lade nur das, was der spieler auch sehen kann ^^

    ich dachte, dass der gm keine riesen maps darstellen knn... ich habe eine map eingelesen, wo 3 modelle animiert wurden (ein tut programm) und habe mal die modelle nochmal 50 mal reingesetzt... naja die kamera braucht knapp 10 sekunden, sich um 360 grad zu drehen ^^

    naja und mit den polys, ich wollt das nur wissen, hab gedacht dass zu viele polys den gm schwer zusetzen....

    achso: außerdem, die grafik ist eigentlich egal, ich lade erstmal blockmännchen zum testen ^^

    danke schonmal ^^
  • domis4 schrieb:

    ich habe eine map eingelesen, wo 3 modelle animiert wurden (ein tut programm)

    ein Tutorial mit Animationen mit Standart GM Funktionen gelesen?

    Evtl könntest du den Link posten, ich wäre jedenfalls interessiert
    hier ist das video, darunter ist auch die datie zum downloaden und ausprobieren... der ist wirklich super der typ ^^

    youtube.com/watch?v=r33_0GoDpYA