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

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
×