Gamestudio Links
Zorro Links
Newest Posts
Newbie Questions
by AndrewAMD. 12/05/23 10:56
Zorro Trader GPT
by TipmyPip. 12/04/23 11:34
Square root rule
by Smallz. 12/02/23 09:15
RTest not found error
by TipmyPip. 12/01/23 21:43
neural function for Python to [Train]
by TipmyPip. 12/01/23 14:47
Xor Memory Problem.
by TipmyPip. 11/28/23 14:23
Training with command line parameters
by TipmyPip. 11/26/23 08:42
Combine USD & BTC Pairs In Asset Loop
by TipmyPip. 11/26/23 08:30
AUM Magazine
Latest Screens
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Tactics of World War I
Who's Online Now
6 registered members (3run, AndrewAMD, alibaba, fairtrader, ozgur, TipmyPip), 605 guests, and 0 spiders.
Key: Admin, Global Mod, Mod
Newest Members
fairtrader, hus, Vurtis, Harry5, KelvinC
19019 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Page 2 of 3 1 2 3
Re: Tricks für Außenwelten [Re: Uhrwerk] #235820
11/10/08 12:06
11/10/08 12:06
Joined: Oct 2007
Posts: 306
Austria
A
Alan Offline OP
Senior Member
Alan  Offline OP
Senior Member
A

Joined: Oct 2007
Posts: 306
Austria
Originally Posted By: Uhrwerk

Morrowind hat ein Parzellensystem benutzt, bei dem beim Wechsel zwischen zwei Parzellen nachgeladen werden musste. Innenbereiche von Gbeäuden wurde auch allesamt extra nachgeladen. Ich denke das fällt nicht unter extra große Level.


Doch, finde ich schon. Es wäre mir ehrlich gesagt relativ egal, wenn das Spiel zwischen den "Parzellen" kurze Ladezeiten hätte, und Ladezeiten für Innenräume von Häusern gab es sogar in Oblivion, das gehört schon fast zum guten Ton wink Die Frage ist - wenn man sowas haben möchte und sogar die Ladezeiten in Kauf nimmt, wie stellt man es in GS an? Einfach ein großes Terrain in mehrere kleinere zu zerstückeln wie Schmerzmittel es vorgeschlagen hat, wird da wohl vermutlich nicht reichen, oder? Ich könnte mir aber folgende Lösung vorstellen:

Man verwendet ein Parzellensystem, ähnlich wie in Morrowind, und lädt dabei immer 9 Teil-Terrains: jenes auf dem sich der Spieler gerade befindet (mitsamt dynamischen bzw. interaktiven Elementen wie Monstern etc.), und die 8 umgebenden, die er sehen kann sowie deren statische Elemente (Häuser, Bäume etc.) via LevelOfDetail, aber ohne interaktive Elemente. Sobald der Spieler dann den Rand der aktuellen Terrain-Parzelle erreicht, wird ein neuer Level geladen, in welchem dann die gerade betretene Parzelle im Mittelpunkt steht, deren interaktive Elemente dann mitgeladen werden, während die gerade verlassene Parzelle mit LOD geladen wird.

Den einzigen wirklichen Nachteil, den ich dabei sehe (abgesehen von den Ladezeiten) ist folgender Fall: angenommen der Spieler wird grade von einem Monster verfolgt, während er die Parzelle wechselt. Da das Monster aber ein interaktives Element der vorherigen Parzelle ist, würde es von einem Augenblick auf den nächsten einfach verschwinden und nach dem Ladevorgang nicht mehr vorhanden sein. Wenn man beim Ladebildschirm den Bildschirm schwarz werden lässt (wie beim Betreten von Häusern in Oblivion etwa), ist das nicht sooo gravierend, will man es aber so haben wie bei Morrowind in der Außenwelt, dass nur ein kleines Fenster mit Ladebalken eingeblendet wird, würde das Verschwinden des Monsters doch sehr ins Gewicht fallen...

Re: Tricks für Außenwelten [Re: Alan] #235824
11/10/08 12:19
11/10/08 12:19
Joined: Aug 2005
Posts: 512
Bayern
Schmerzmittel Offline
User
Schmerzmittel  Offline
User

Joined: Aug 2005
Posts: 512
Bayern
Man könnte doch solche Monster/Gegner so etwas wie eine Interne Nummer geben, das beim Leveladen mitgeladen wird?

So nach dem Mott:

Ich bin ein Monster ich verfolge dich; auch wenn das Level lädt.

Bin ich kein Monster, dass dich verfolgt, bin ich weg.
crazy


A7 Com V7.80
Re: Tricks für Außenwelten [Re: Schmerzmittel] #235825
11/10/08 12:43
11/10/08 12:43
Joined: Apr 2007
Posts: 3,751
Canada
WretchedSid Offline
Expert
WretchedSid  Offline
Expert

Joined: Apr 2007
Posts: 3,751
Canada
warum ein komplett neues Level laden? Nehmen wir an der Spieler verlässt die mittlere Parzelle, dann werden die 3 Parzellen die ganz hinten sind gelöscht und die 3 nächsten vor die aktuellen 3 gesetzt. Das jetzt aktuelle Terrain ohne LOD Stufe zu laden ist ja kein Problem. Monster usw. können dem player dann auch folgen und man müsste beim neuen Level laden nicht auch noch gucken wo der Spieler das Terrain betritt.


Shitlord by trade and passion. Graphics programmer at Laminar Research.
I write blog posts at feresignum.com
Re: Tricks für Außenwelten [Re: WretchedSid] #235832
11/10/08 13:31
11/10/08 13:31
Joined: Jan 2002
Posts: 4,225
Germany / Essen
Uhrwerk Offline
Expert
Uhrwerk  Offline
Expert

Joined: Jan 2002
Posts: 4,225
Germany / Essen
@Pappenheimer: Ja, die Engine ist mehr als beeindruckend und produziert eine der stimmigsten Grafiken, die mir je untergekommen sind. Leider mit allen Nachteilen, die damit verbunden sind @ Ladezeiten etc.

@Alan: Ja, das kann man mit 3dgs alles problemlos realisieren. Erweitere Deinen Vorschlag so, wie Schmerzmittel und Sylar das beschrieben haben. Bilde Dir aber bitte nicht ein, dass das einfach werden wird. Wenn Du das realisieren willst, wirst Du eine Menge Freude haben und wirst auf viele zu lösende Probleme stossen.


Always learn from history, to be sure you make the same mistakes again...
Re: Tricks für Außenwelten [Re: Uhrwerk] #235891
11/10/08 19:26
11/10/08 19:26
Joined: Oct 2007
Posts: 306
Austria
A
Alan Offline OP
Senior Member
Alan  Offline OP
Senior Member
A

Joined: Oct 2007
Posts: 306
Austria
Originally Posted By: Uhrwerk

@Alan: Ja, das kann man mit 3dgs alles problemlos realisieren. Erweitere Deinen Vorschlag so, wie Schmerzmittel und Sylar das beschrieben haben. Bilde Dir aber bitte nicht ein, dass das einfach werden wird. Wenn Du das realisieren willst, wirst Du eine Menge Freude haben und wirst auf viele zu lösende Probleme stossen.


Ich hoffe auf das Erstere und befürchte das Letztere... aber primär will ich einfach nur ein Projekt haben, an dem ich arbeiten kann und dabei so viel Erfahrung wie möglich sammeln kann - und da ich schon immer ein Fan von Open-World-RPGs war, in denen Erkundung eine wichtige Rolle spielt, dachte ich "Warum nicht einmal gleich so richtig *groß* anfangen?" ^^

Die Idee mit der Monster-Variable, die angibt ob der Spieler gerade in einem Kampf mit diesem Monster verwickelt ist oder nicht, gefällt mir schon sehr muss ich sagen, doch wirklich... hat was!

Also so langsam bekomme ich schon eine relativ konkrete Idee davon, wie das Ganze dann schlussendlich aussehen sollte. Nur zwei brennende Fragen hätte ich noch hierzu:

1) Wenn die Ladezeiten zwischen den Parzellen 1 Sekunde oder mehr betragen, würde ich gerne einen Ladebalken einbauen (damit der Spieler nicht denkt, das Spiel hätte sich aufgehängt oder so). Nur... wie kann man den "Ladefortschritt" eines Levels (am Besten in Prozent) in eine Variable speichern? Gibt es da eine vordefinierte Funktion dafür?

2) Wie stellt man es am Besten an, dass die Terrain-Abschnitte sich an den Rändern lückenlos zusammenfügen lassen? Das Einfachste wäre, das große Gesamt-Terrain in einem Terrain-Editor zu erstellen, dann zu zerstückeln und anschließend die Einzelteile abzuspeichern, aber ich habe die Befürchtung dass diese Methode meinen PC überlasten könnte. Alternative Vorschläge dazu?

Last edited by Alan; 11/10/08 19:26.
Re: Tricks für Außenwelten [Re: Alan] #235899
11/10/08 20:31
11/10/08 20:31
Joined: Aug 2007
Posts: 1,922
Schweiz
Widi Offline
Serious User
Widi  Offline
Serious User

Joined: Aug 2007
Posts: 1,922
Schweiz
1: Wenn du den Level mit "level_load" lädst, gibt es den "on_level" event. Damit kann während des Ladens periodisch eine Function aufgerufen werden, die den Fortschritt anzeigt.
2: Möchte selber ein Game mit grossem Aussenlevel mit mehreren Terrains erstellen. Falls jemand dazu eine Idee hat wäre auch ich dankbar.

Re: Tricks für Außenwelten [Re: Widi] #235904
11/10/08 21:07
11/10/08 21:07
Joined: May 2008
Posts: 301
Oxy Offline
Senior Member
Oxy  Offline
Senior Member

Joined: May 2008
Posts: 301
Um grosse Aussenlevel zu erstellen, die eine einheitliches Bild ergeben
/ eine durchgehende landschaft darstellen
gibt es grundsätzlich 2 Herrangehensweisen:

#1 Alles in einer Welt ohne ladeunterbrachungen darstellen
(Gothic, Oblivion / Fallout 3)
#2 Alles in Segmente einteilen, die zwar einzeln geladen
werden, aber visuell komplett ineinander übergehen
(Morowind, aber im grunde auch schon Halflife)


Für 1 muss man im Hintergrund permanent Objekte nachladen,
aber auch entfernen! können.
Ein gutes LOD Mangament ist die ganze Kunst. Gothik 1 war ein
einziges LOD Werk. (Selbst in Gothik 2 war die Sichtweite nicht mehr ganz so hoch)
Fallout 3 hat die warscheinlich beste "LOD" Landschaft
im Augenblick.

Um ein spiel im 1 Modus in 3dgs zu erstellen muss man zuerst mal sehen,
ob man effizient unnötige Objekte wirklich aus dem Speicher bekommt.
Die andere Sache sind eventualle Berechnungsprobleme
wenn die landschaft sehr gross ist (auflösung der quants, maximale anzahl).

Ansonsten sollte man gleich ein Spiel im Modus 2 erstellen,
und das gute alte Level_load zum reinigen
des Speichers verwenden.

Im grunde geht es im Modus 2 nur darum, das man
denkt, das die angrenzenden level einer erweiterung des ersten sind. (abgesehen von der Ladeunterbrechung).
Ein eigenes levelformat und dynamisches Laden
der level aus diesem ist der effizienteste Ansatz.

Vor allem die Terrains sollte man dynamisch erzeugen.
(Änderung des Meshes) aus einem eigenen Vorlageformat.
So kann man die LOD Stufen gut kontrollieren.

Monster die einen Verfolgen muss man selbstständig neu
erzeugen und entsprechend umpositionieren / mit ihrem KI initialisieren.
Das übernimmt 3dgs nicht automatisch und ist die
arbeit für den programmierer...


-----

engines von Gothic / Morrowind etc, sind direkt dafür entwickelt worden. (vor allem das Lademanagement, und
der LOD support). Das hat nichts mit tollen "shader" technologien
zu tun, sondern einfach mit der Architektur
der Levelvisualisierung, des ressourcenladens und der Berechnung.
3dgs ist für kleinere Level optimiert.

Last edited by Oxy; 11/10/08 21:23.
Re: Tricks für Außenwelten [Re: Alan] #235947
11/11/08 02:21
11/11/08 02:21
Joined: Jan 2002
Posts: 4,225
Germany / Essen
Uhrwerk Offline
Expert
Uhrwerk  Offline
Expert

Joined: Jan 2002
Posts: 4,225
Germany / Essen
Originally Posted By: Alan
aber primär will ich einfach nur ein Projekt haben, an dem ich arbeiten kann und dabei so viel Erfahrung wie möglich sammeln kann - und da ich schon immer ein Fan von Open-World-RPGs war, in denen Erkundung eine wichtige Rolle spielt, dachte ich "Warum nicht einmal gleich so richtig *groß* anfangen?" ^^

Weils in die Hose geht. Und das ist nicht böse gemeint und soll dich auch nicht demotivieren. Im Gegenteil. Schön, dass Du so ambitioniert bist! Für Anfänger ist es allerdings meistens am besten ein kleines Projekt zu starten und das dann auch zu Ende zu bringen. Das zum Ende bringen ist ein ganz wichtiger Punkt beim Erfahrungssammeln. Wenn Du einfach nur basteln willst ohne konkretes Ziel kannst Du dich natürlich gerne an Deiner Idee versuchen. Wenn Du ein Projekt durchziehen willst, dann würde ich Dir empfehlen ein kleines Spiel mit einem kleine bis mittleren Level zu machen. Das ist schwierig genug.

Für Aussenlevels verweise ich auch immer wieder gerne auf das Tutorial von Willi Leopold. Das ist schon sehr alt, aber nichts desto trotz gut: http://www.wleopold.ch/games/leveltut06ger.html#tricks


Always learn from history, to be sure you make the same mistakes again...
Re: Tricks für Außenwelten [Re: Uhrwerk] #235992
11/11/08 10:17
11/11/08 10:17
Joined: Aug 2007
Posts: 1,922
Schweiz
Widi Offline
Serious User
Widi  Offline
Serious User

Joined: Aug 2007
Posts: 1,922
Schweiz
Danke Oxy und Uhrwerk.
Noch eine Frage:
Wisst ihr, wie ich zwei (und mehr) Terrains aneinander anpassen kann, damit sie beim Uebergang die gleiche Höhe haben? Eventuell ein anderes Programm als MED... Ich habe im MED versucht, die letzte Reihe des 1. Terrains zu kopieren und in die erste Reihe des 2. Terrains einzufügen. das geht aber nicht. Man kann noch die Höhe jedes einzelnen Vertex auslesen und in das 2. Terrain übertragen, was aber eine immense Arbeit ist. Gibt es da einen Trick oder anderes Programm, das diese Funktion beinnhaltet?

Re: Tricks für Außenwelten [Re: Widi] #235993
11/11/08 10:49
11/11/08 10:49
Joined: Apr 2005
Posts: 4,506
Germany
F
fogman Offline
Expert
fogman  Offline
Expert
F

Joined: Apr 2005
Posts: 4,506
Germany
Entweder per Script und vec_to_mesh, oder Du malst eine große Highmap und teilst diese in mehrere kleine Maps auf.

Aus diesen Maps generierst Du dann die Terrains in MED.


no science involved
Page 2 of 3 1 2 3

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1