Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
NicoTheMarine

A open world Doom wad - Is it possible?

Recommended Posts

By open world Doom wad I mean something like Red Dead Redemption 2, Spider Man, Maybe even GTA, Now the idtech engine is designed for games that have a forced story, But what if an open world Doom wad was possible? Many open world games have 2 ways to play: Make your own fun, Go off the story and just mess around. Massacre random people (I do that in GTA) Drive around without any care, Seeing how much destruction is possible. But if its open world than these would probably be the routes to take: You must finish the main campaign, and than you are sent off to a open world city to do things in like go into a room with a monster spawner to practice and stuff, Enter buildings and things like that. Option 2 would require mods. You have one area where you can follow the story, But theres one area where you can drive around, and do everything in option 1. There are many other routes to take but these are my basic ideas for a open world Doom wad.

Share this post


Link to post

You can do everything you want if you have a strong enough pc (very strong in this case), the right competences and if you are working in UDMF map format (the onli format that has no limits). 

Other than that, you probably need some ACS and DECORATE knowledge and a lot of patience. With ACS you can even remove corpses and replace them by new demons, in order to "respawn" them when you are in a different area and to lower the thing count on the screen. But it is going to be a really long work

Share this post


Link to post

there is also Doom:ONE. it is kinda like "open world": after you got to the next part, you usually can return to the previous one.

Share this post


Link to post

The engine is not designed for it. It's not impossible, but you'll have to use tricks and workarounds, and the result isn't necessarily going to be all that great.

 

We had a few threads on that topic, like this one:

 

Share this post


Link to post

Something I'm working on every now and then just for the kick and giggles:

 

 

Edited by UberGewei

Share this post


Link to post
11 hours ago, Simomarchi said:

you are working in UDMF map format (the onli format that has no limits). 

 

UDMF isn't that unlimited, at least when powered by the current crop of source ports. The map still has it's fundamental size limits and the node builder can still fall over if you try to make anything too open. 

Share this post


Link to post

UDMF as a format may have no limits, but the engine which needs to run the map certainly has. Even GZDoom is still limited by the size of the playing area which is 65535x65535, mainly imposed by the node builder. You'll also reach the point where processing a large map becomes too costly. For example, renderin 10000 linedefs per frame can quickly reach the limit of most CPUs that even the fastest graphics hardware won't help anymore.

 

Share this post


Link to post

Just because it says "limit-removing" does not mean it is unlimited, doesn't it?

 

EDIT: I think Bauul might have answered my question. But still, I think the term might be misleading...

Share this post


Link to post
9 hours ago, HavoX said:

Just because it says "limit-removing" does not mean it is unlimited, doesn't it?

yeah. also, city-like maps are really hard to render. most engines are using 1D clipper for occlusion (no, no, don't run, it is not scary!), and in such maps it is almost useless.

 

spoiler contains technobabble about doom clipping algorithm, you may safely skip it.

Spoiler

 

that is, the engine has a starting point, and then it renders walls/flats in front-to-back order (due to BSP sorting). but is still has to stop somewhere. like, there is no reason to render anything behind 1s wall, or behind a closed door (this is also used to mark visible walls on automap). that thing is called "occlusion culling" (and you can safely forget that Highly Technical Name right now ;-).

 

the easiest solution is to keep a flag for each screen pixel, which will indicate if that pixel was set by drawing some wall. this way we can check each new wall or subsector bounding box against the screen, and stop rendering if all pixels already set (we're rendering things front-to-back, so first wall we render will be the closest one). but this is dog slow. it was slow for 320x200, and it is even more slower for current day resolutions. so we need to use some other method.

 

as doom geometry is quite simple, we can cheat a little, and ignore heights. i.e. we'll assume that the screen is simply 1px high, and use our "pixel was drawn" approach with that. it is *way* faster, but now we cannot clip with 2s walls: we can potentially see through 2s wall, and we aren't storing height info, so we cannot mark pixels of that wall as opaque, and so the only thing we can do is to not clip with 2s walls. this is acceptable for most maps, because they represents closed rooms, so we'll hit 1s wall quite soon. but city maps has alot of buildings built with 2s walls, and due to 1d clipping, the engine has to render almost everything you can potentially see, even if your sight is blocked by the nearby wall, for example. that's way planisphere2, for example, is so slow when you're looking across the river.

 

sure, the engine can limit render distance, and it really helps alot, but it may look quite ugly. even if you'll set custom fog color to match the sky (it is not as easy as it sounds! ;-), it will still look cheap.

 

 

tl;dr: even doom renderer has its own quirks, and you'd better become familiar with those before trying something big. ;-)

Share this post


Link to post

Hilarous, I just saw an F-Zero car I skinned in that first ZDaemon city vid!   Says mutha****** too much though.  They need to vary that.

 

For some reason I'm reminded of someone having made Doom as a Linux admin program though I never tried it myself.  You shoot programs to "injure" and deprioritize them or just kill them to end them.

 

Share this post


Link to post
17 hours ago, Graf Zahl said:

For example, renderin 10000 linedefs per frame can quickly reach the limit of most CPUs that even the fastest graphics hardware won't help anymore.

 

In my own experience I also concluded 10,000 lines seemed to be the point at which GZDoom starts to struggle, so I'm glad to know that's not just my interpretation. It defintely seems going above that exponentially causes additional frame rate drops, so whenever anyone asks I'll tend to suggest 10,000 is a good limit to shoot for.

 

What gets me is while 10,000 seems like a lot, it's amazingly easy to blast past that with today's mapping tools if you're not careful. 

Share this post


Link to post
18 hours ago, Graf Zahl said:

Even GZDoom is still limited by the size of the playing area which is 65535x65535, mainly imposed by the node builder.

Time for XGL4?

Share this post


Link to post

Silent teleports/Seamless level transitions and some wittiness go a long way. You want large areas, you could even try reducing the size of everything, redoing speed and jumping and all to scale as a starting point, And go from there, perhaps. Illusion is always a designer’s friend here. The rest is script and quest design which is very much able to be handled by ZScript, Decorate, and ACS. A lot of work? Oh yeah. But possible.

 

I’ve posited ways of doing a sort of living world with randomizes quests and occasional monster spawns and all. Could even de spawn monsters too far from the player, to be respawned by an encounter generator later or something. Through a combination of tricks, it should be entirely possible to do something like a sprawling city divided into districts (whether openly or via seamless level transitions) where you have to go back and forth handling an emergent Demon invasion based on random events and such.
 

Hexen alone shows us you can trigger things in other maps. Have universal script variables that tick along to represent progress of a Demon assault on an important location so that when you enter the appropriate map there appears to be an attack in progress depending on how long it took you to get there, for example. There’s a HUGE amount of possibility, honestly, you just can’t get focused on trying to simulate everything at once via brute force.

Share this post


Link to post

I have been experimenting with "open world" designs myself to a certain extent, and I think the main answer is probably the hub system and seamless level transitions as Captain Ventris described, perhaps having one or two moderately large open areas per level and then transitioning from one level to the next to give the illusion of moving around in a large open world.  In GZDoom with the aid of stacked sector portals and 3D floors, one can also create the illusion of play taking place at multiple levels, Winter's Fury is a good example of that kind of trickery.

Share this post


Link to post
On 10/24/2019 at 7:37 PM, NicoTheMarine said:

By open world Doom wad I mean something like Red Dead Redemption 2, Spider Man, Maybe even GTA, Now the idtech engine is designed for games that have a forced story, But what if an open world Doom wad was possible? Many open world games have 2 ways to play: Make your own fun, Go off the story and just mess around. Massacre random people (I do that in GTA) Drive around without any care, Seeing how much destruction is possible. But if its open world than these would probably be the routes to take: You must finish the main campaign, and than you are sent off to a open world city to do things in like go into a room with a monster spawner to practice and stuff, Enter buildings and things like that. Option 2 would require mods. You have one area where you can follow the story, But theres one area where you can drive around, and do everything in option 1. There are many other routes to take but these are my basic ideas for a open world Doom wad.


Don't know if you know about this, but had you tried Strife and Ashes 2063?
Strife is a completly new game made in the Doom engine in 1996.
Its an amazing game, with a good storyline and multiple side-quests, its not really OPEN-world, but it is pretty vast and there is a lot of backtracking. Thik this as a some kind of FPS Metroidvania game, even with little RPG elements in it, like upgradeable health, ammo, speed and accuracy.


Ashes 2063, in the other hand, is a Doom 2 mod for Zdoom with a post-apocaliptic setting ala Mad Max, with pretty big distance to travel, and, as for now, not much backtracking because its a mod in progress with just the first part completed.


This two are pretty good in terms of openess, not even near GTA openess but they are pretty enjoyable and interesting to analize, because, they are made in the same doom engine with all know and love

Share this post


Link to post

Open-world maps are definitely possible. The 65535x65535 size limite is less of a problem since that will already result in a massive map and if everything is scaled down would become even bigger. The real limit is the number of lines (or sectors?), at some point the map will simply crash GZDoom.

 

 

Share this post


Link to post
7 hours ago, Cherno said:

Open-world maps are definitely possible. The 65535x65535 size limite is less of a problem since that will already result in a massive map and if everything is scaled down would become even bigger. The real limit is the number of lines (or sectors?), at some point the map will simply crash GZDoom.

 

 

 

And that are awesome TC that i didn't know at all!!!

Thanks for showing this, pal!

Share this post


Link to post

Please, criticize my idea about open world in GZDOOM.

DZdoom has huge maps. We can set the world “tile” size in the editor to 1/9 of the maximum map in gzdoom. Each “tile” will be separate game map in level editor. The Game will load 9 tiles dynamically into game scene (3x3 tiles).

 

 

 

When a player comes close to the edge of one of the outer 8 tiles, these 9 tiles are reloaded. The tile the player was on appears in the middle of the new 9 tiles. Game will save the progress of all tiles (single maps) and can restore it later (similar to «saved games»). I think that such “tile reboot” will take no more than 2-4 seconds on modern PCs. The player will simply see an hourglass indicator for 2-4 seconds.

 

 

Only basic macros support is needed. The correct button (or key) must open or the correct door or trigger the correct elevator. The game engine must dynamically rename unique references to all doors, elevators, triggers, keys, and monster names in single maps (tiles). At example, game engine can dynamically add the current tile (map) number to their names (or links in the memory).

 

 

No support for old complex macros is required. New macros for new projects must take into account the new requirements for the new open-world architecture.

 

==============

 

I saw MMDOOM mod today. And I realized that it would be nice to have an open world RPG game using  MMDOOM.

 

https://www.youtube.com/watch?v=3Z9WGgHjPkI

 

My old dream is also to play open world Duke Nukem :)

Share this post


Link to post
1 hour ago, Mike_msk said:

Please, criticize my idea about open world in GZDOOM.

 

 

I believe what you are describing is the same principle behind how Bethesda's TES3: Morrowind and TES4: Oblivion work (using the Gamebryo (or NetImmerse) Engine).

 

When you play Morrowind (even on a modern pc), you will notice that the game regularly freezes for 1 second to load extra scenery. If you put viewing distance to the max and remove distant fog (with mods), you can literally see new landscape tiles appear in front of you and old tiles disappear behind you. Also, opening the editor (TES construction kit), you can see how the game world is divided into tiles, exactly like you describe.

Share this post


Link to post
57 minutes ago, PinkFlamingo said:

 

I believe what you are describing is the same principle behind how Bethesda's TES3: Morrowind and TES4: Oblivion work


Yes, i've seen (a bit) TES construction set (TES CS) and Open MW construction set .

Open World architecture  must  have some “pre-editor” with tile grid. Each cell of the grid will have little image - map preview. Pressing  on this map review  must open normal gzdoom map editor.

I think that building levels in gzdoom is more convenient and varied than in OpenMW. Gameplay based on gzdoom could be more interesting, especially in the combat part.

 

Share this post


Link to post

May not Not exactly what you are looking for But I know a couple of projects that attempt or succeed. I'll leave it up to you decide if its the same criteria

 

  1.  Doom Free Roam: https://www.moddb.com/mods/doom-free-roam-pack/downloads/doom-freeroam-pack-new-hub-mod-compatibility
  2. Abysm 2 https://www.moddb.com/mods/abysm-2-infernal-contract/downloads/abysm-2-infernal-contract-release-v13
  3. Shrine of Kalgadar TC : 

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×