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

Is it possible for a source port to be TOO fancy?

Recommended Posts

It's exciting to see what the Doom community has done with source ports in the 13 years that id has made Doom's source code public. The impressive (but mostly ignored) Vavoom allows for the same kind of 3D architecture and lightmaps as Quake, while fan favorite Gzdoom advances Doom past Duke Nukem 3-D and Shadow Warrior. No doubt coders while continue to add features to enhance the Doom experience, but is it possible to take it so far that it no longers feels like Doom? If I woke up one day and a source port was available that featured environment mapping, physics, geometric modification, volumetric smoke and fluid effects, it would not feel like Doom at all. What will be the stoping point for advancing Doom's ancient code?

Share this post


Link to post

For me it's modifying the fundamentals of the physics engine. This is what defines Doom so anyone changing those into a 'proper' physics engine is doing something wrong. The eye candy around that mostly depends on the used textures anyway so it's normally of no concern to me. I still prefer the simpler effects though.

Share this post


Link to post
GoatLord said:

is it possible to take it so far that it no longers feels like Doom?

Yes. It has already been done, actually. But I don't see a problem with that, as long as the vanilla IWADs, played without additional content or modifiers, still feel like Doom.

Share this post


Link to post
Gez said:

Yes. It has already been done, actually. But I don't see a problem with that, as long as the vanilla IWADs, played without additional content or modifiers, still feel like Doom.


How has it been done? Are you talking about the fact that Gzdoom has added so many extra features to the game? Or another source port entirely, like Risen3D?

Share this post


Link to post

GZDoom is a lot of things, mostly good, but it isn't more advanced than Duke3d (or eduke32 if you want to play fair).

EDIT: More accurately, the enhanced Build engine is still more capable than a enhanced Doom engine, particularly when using eduke32's Polymer renderer which is capable of proper lighting/shadowing, normal mapping and the like.

Share this post


Link to post
GoatLord said:

How has it been done? Are you talking about the fact that Gzdoom has added so many extra features to the game? Or another source port entirely, like Risen3D?

Play Urban Brawl, Serpent Resurrection or Paranoid, for example, and tell me if they feel like Doom.

Share this post


Link to post

Yes, it is possible. Vavoom comes close to that definition.

Minor:

Slopes - there's nothing they provide that can't be accomplished with stairs.

"Doom 3 lighting" - it's okay when used sparely, but sector light has its charm. On the other hand, "doom 3 light" looks wonderful with moving geometry nearby (opening doors, etc). But it's harmless.

Major:

Room over room - suddenly levels become much harder to navigate, automap is no longer reliable, action is slower.*

Swimmable water - there's a reason maps with water are impopular in Quake1, 2, 3 and other FPS games. It horribly slows the action. Additionally, source ports like Vavoom have terrible issues
--------

* I think Quake 1 levels are one of best uses of 3D. Geometry is fairly abstract and centered about providing interesting challenges and gameplay. From quake2 on, it's about adding more polygons which don't really affect everything. Quake3 in particular has hundreds of square rooms with absurdly intricate decorations (hidden behind invisible walls).

Vavoom's saving grace is for me the wonderful modding capability. Almost all game logic is written in a C-like language. There's little to limit your imagination. You can write monster AI and other fancy things.

Share this post


Link to post
b0rsuk said:

Yes, it is possible. Vavoom comes close to that definition.

Minor:

Slopes - there's nothing they provide that can't be accomplished with stairs.

"Doom 3 lighting" - it's okay when used sparely, but sector light has its charm. On the other hand, "doom 3 light" looks wonderful with moving geometry nearby (opening doors, etc). But it's harmless.

Major:

Room over room - suddenly levels become much harder to navigate, automap is no longer reliable, action is slower.*

Swimmable water - there's a reason maps with water are impopular in Quake1, 2, 3 and other FPS games. It horribly slows the action. Additionally, source ports like Vavoom have terrible issues



So by that definition any 'advanced' port is too fancy.

Share this post


Link to post
Graf Zahl said:

So by that definition any 'advanced' port is too fancy.


By my definition ? Yes, probably. Some of the limitations give DooM engine games their distinctive feel. I tolerate room-over-room in Hexen, because it's done tastefully (magical floating bridges/sparks you can see through). But I'm not offended by mouselook, for example. It doesn't hurt the game's pace, although it may make some fights easier. For me DooM is the pixel art of games.

There are other limitations which make DooM distinctive. Lack of advanced scripting, mechanisms made mostly of limited number of special sectors. This makes DooM levels easier to understand; it's like a board made of a number of defined pieces. Meanwhile in Hexen almost anything can happen for any or no reason. More doors are opened by scripts instead of switches or crossing a line. Hell, monsters can't even open doors, so in some ways it's a step back.


My point is by the time you start relying heavily on features like true 3D or vertex lighting, maybe you should let go ? And use another engine, Quake or one of its fancy source ports.


Vavoom also has another flaw - its particle engine is very slow, you can lose a couple dozens FPS when breaking stained glass in the first level of Hexen. Some levels become unbearably slow. I can't judge if it's bad coding or sacrifices had to be made for prettier OpenGL features. Vavoom is sort of a hybrid engine, not very good at either thing. I would call it the C++ of game engines (all features instead of the right ones; object oriented without garbage collection - that's not a nice place to be...).

Share this post


Link to post
b0rsuk said:

My point is by the time you start relying heavily on features like true 3D or vertex lighting, maybe you should let go ? And use another engine, Quake or one of its fancy source ports.

The Quake engine is far more limited than any modern incarnation of the Doom engine, despite being "true" 3D - the lighting model is primitive to say the least, with extreme imprecision, there are low static limits on all primitives which cannot be easily removed as they were for DOOM due to the fact they're shared by the available editors - I have seen personally - by people I know - attempts to remove these limitations crash and burn.

The physics engine is also very primitive, even more so than Doom's as everything just sort of slides around on rectangular block boxes.

The level editing process can melt down into a complete nightmare of trying to find "vis" leaks, and building the maps for complex levels can still take an appreciable amount of time even on modern machines because the algorithm is so complicated.

And don't get me started on the AI - if you want to talk about poor AI, go see some sap in Quake get stuck on a crate that's in the way, or on a slope in the floor, or some other trivial geometry. Watch them try to attack you through solid dynamic objects. I've seen all this and more happen many times.

Share this post


Link to post
b0rsuk said:


My point is by the time you start relying heavily on features like true 3D or vertex lighting, maybe you should let go ? And use another engine, Quake or one of its fancy source ports.



Thank god that so many mappers give a shit on such opinions as yours and use the features anyway... :P

Share this post


Link to post

Quasar said:
[/B]
The physics engine is also very primitive, even more so than Doom's as everything just sort of slides around on rectangular block boxes.

The level editing process can melt down into a complete nightmare of trying to find "vis" leaks, and building the maps for complex levels can still take an appreciable amount of time even on modern machines because the algorithm is so complicated.

And don't get me started on the AI - if you want to talk about poor AI, go see some sap in Quake get stuck on a crate that's in the way, or on a slope in the floor, or some other trivial geometry. Watch them try to attack you through solid dynamic objects. I've seen all this and more happen many times. [/B]


I'm not convinced when it comes to lighting - it's hardly worse than what I've seen in DooM. If you have any specific "great lighting in DooM" example, post it, I'm curious. I can't comment on the limits, I suppose you may have a point there. On the other hand, DooM monsters are mostly pathetic so perhaps this is why you need so many of them. Yet Cube and Sauerbraten engines use octtrees and can have ridiculous number of brushes at the same time. I don't remember the level name, but there's a huuge castle with impressive battlements. Ironically, Sauerbraten features almost exclusively quake1-style claustrophobic arenas consisting of a couple of rooms tops. I guess you just need more imagination to put that to good use.

I remember vis leaks from my own mapping experience. Usually I could nail it down pretty quickly (I mapped in QuArK, perhaps it was above average in this regard?). In my opinion Quake (and later) mapping is time-consuming because you place each brush individually. The simplest typical room is 6 brushes assuming no exit, whereas in DooM it can be 1 sector + some time for choosing and aligning textures.

I haven't seen good AI in any FPS game, so it's not a good argument for me. DooM certainly doesn't have it. Fear was supposed to have it (I haven't played it) but I heard it has primitive room geometry which makes the task easier. This includes even relatively simple/basic tasks like pathfinding. I mean, there are multiple known algorithms even if A* might not be fast enough for all cases.

From my source diving trips in Vavoom I remember that Hexen physics is very primitive, too, and sliding is exactly what comes to my mind when I want to describe it. There's some speed, there's friction, and there are ugly side effects. You'll get more inertia on ice, but because of the way acceleration works you can move much faster on ice. Each time you change material friction you also change speed. Maybe Vavoom does things differently, but I doubt it.

If you want to prove me wrong, post some specific examples. I'm genuinely interested. The topic interests me, and I'm a Computer Science graduate so I can be assumed not that stupid.
----------

Vast majority of projects I've seen that require advanced source ports can be summarized with two words: pretty graphics. And I think later engines like Quake1, 2, 3 are a better choice for that, because they focus on eyecandy from the start.

Share this post


Link to post
b0rsuk said:

Vast majority of projects I've seen that require advanced source ports can be summarized with two words: pretty graphics. And I think later engines like Quake1, 2, 3 are a better choice for that, because they focus on eyecandy from the start.



But no one can map for them. So it's lose-lose what you propose. The mappers have a much harder job and the players get less material to play.

Besides, none of these engines beats Doom's monsters and weapons.

Share this post


Link to post
Graf Zahl said:

But no one can map for them. So it's lose-lose what you propose. The mappers have a much harder job and the players get less material to play.


I see your point - the first games were made with small teams, so they built the technology in such way that big team is not required. Nowadays even id Software is pissing on small teams, tech like megatexture(virtual texturing) is no benefit for one person map project I think.

Natural Selection 2 might be different, if it ever comes out. It's already slipped by several months. It looks very good, promises interesting gameplay, has Lua scripting and is meant to be moddable. The team is small (4 people) and they specifically said they made the engine to be convenient for small teams.

http://www.youtube.com/watch?v=Ew3hFxlekv8


Besides, none of these engines beats Doom's monsters and weapons.


In what sense ? Visual/sound, or interesting mechanics and variety ? If the former, I like Quake1 well enough, I mean look at this Nightmare speedrun:

http://www.joystiq.com/2010/12/30/quake-completed-in-under-an-hour/#continued

Deliciously evil, they seem to spend most of their time with Quad Damage. 100% kills and secrets so they don't look like some sissy little girls. Monster models are blocky and dated, sure, but I still think they're much better than almost all homebrew monster models I've seen. In mods I've seen, even if there are good monster models they're usually badly animated.

If the latter, then yeah, I have to agree. In hindsight I think it was a mistake to make Hexen a separate game rather than an expansion pack for Heretic. That way, they would could have all these weapons and monsters in a single game. I can't think of a single player game which has as much monster variety as DooM2.

Share this post


Link to post

I think Blood came close to having some of the best monster variety in an FPS. You had multiple types of fanatics (the robe wearing maniacs who have a hilarious scream when set aflame), skinny and fat zombies, multiple spider types, fish men, stone and flesh gargoyles, fire-breathing hellhounds, walking hands, dangerous plants, mini-Calebs that are very Army-of-Darkness-esque, and at least two different bosses. Blood might be my favorite shooter next to Doom.

Share this post


Link to post
b0rsuk said:

Hell, monsters can't even open doors, so in some ways it's a step back.


They can open unlocked doors that raise like Doom ones, as that's hard-coded. Polydoors nope, unless you hack it like I did:

Sliding doors: use 2-sided polys and set 'monster activates' on the lines that they appear on top of in the actual map.

Swinging doors: use 1-sided polys and set 'monster activates' on the poly lines themselves, and also have linedefs behind the door with a monsters only trigger.

You'll get more inertia on ice, but because of the way acceleration works you can move much faster on ice.


In Heretic, you don't travel any faster on the ice but still get the reduced acceleration/deceleration. (which is why I use the Heretic ice sector special on Doom/Hexen maps)

Share this post


Link to post

I don't see why we should stop advancing Doom's source code, I say take it as far as possible (as long as its still compatible with the iwad levels). Projects like chocolate doom won't just disappear if the other source ports keep advancing.

I wouldn't even mind if there was a source port that broke compatibility with the original levels for the sake of terrain mapping/dynamic lighting/physics/etc. That would be stretching the definition of source port but it would still be interesting to see what people would do with it. I'd love to see a near-exact remake of Doom (gameplay-wise) on a more modern engine as well.

Why does it even bother you? No one's forcing you to use any particular port, so just do whatever you feel like doing. People have different opinions on things, so its pointless to argue.

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
×