Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
Doom-Child

total DOOM rewrite

Recommended Posts

Alright, I know I'm a new poster and everything, but that doesn't mean I'm totally incompetent. I've been watching the boards for a while, trying to see if there was anyone out there that would care about this kind of thing.

I got tired of waiting.

Anyway, now that I've incited at least half of you to flame me with poorly spelled sentence fragments, I'll tell you what I originally set out to tell you.

I'm rewriting DOOM.

That's right, I've got a total rewrite underway. It's completely OpenGL, so there shouldn't be much of anything in the way of compatability problems. Basically what I'm doing is avoiding the whole source-port scene and writing my own. I already have texture mapping and minor sector support built, but I'm rapidly finding out that I'm going to have to abandon the original WAD format built for DOOM, because it won't fit with my sector model (I'm using triangles, quads, and ngons for building sectors instead of strictly triangles). Dynamic lighting, procedural/bump mapping, and true physics are just a few of the things I've got on the menu.

I'm not asking for help (yet), I'm trying to establish myself as a competent programmer, and I think this a good flash way to do it (that and I'd love to work for id). All I'm asking is: should I release it? Now, I don't expect to be done by New Year's, but I do think I'll be done before I graduate. I know that I love Legacy, JDoom, and ZDoomGL, but I think I can top them all.

DC

Share this post


Link to post

What I'm planning on doing for the levels is including all of DOOM and DOOMII, and then redoing both (in...what...yeah, 4 extra episodes) so that the levels more accurately reflect their environments (does ANYONE know where on EARTH you'd find a structure like Dead Simple??)

This is of course, all dependent on whether or not id decides to give me a horse's head in my bed.

DC

Share this post


Link to post

Hey man, TRUE pain is punctuated by the BOOM of a combat shotgun. That, and Dead Simple is simply the greatest DM level of all time. Legacy, eight people, and Dead Simple. Try not to wet yourself. I suggest prayer.

DC

Share this post


Link to post

Legacy, eight people, and Dead Simple


and there is not much more to say, really....

Share this post


Link to post

Well, I'm still building core sector support, so it may be a good month or two before even preliminary stuff (as in, before I try to make realistic textures).

Actually, the subject of textures has been a thorn in my side with OpenGL. Does anyone know how to increase the maximum size of a texture? The biggest I can make one right now and still have it show up is 256x256...I'd like to do some bigass textures.

DC

Share this post


Link to post

I already have texture mapping and minor sector support built, but I'm rapidly finding out that I'm going to have to abandon the original WAD format built for DOOM, because it won't fit with my sector model (I'm using triangles, quads, and ngons for building sectors instead of strictly triangles). Dynamic lighting, procedural/bump mapping, and true physics are just a few of the things I've got on the menu.


Sounds cool, but if you are not using WADs for file formats, how will you create levels? I'm doing the opposite, creating my own game but using WADs because I don't have or want to learn something like 3DS Max, which may be more flexible but still doesn't provide the level of information a 'simple' Doom WAD does. Are you going to build your own editor? Beware, in many cases this is a bigger project than the game itself, especially if you give it out to others to use :)

I have to say, I'm having problems with some sectors in WADs, eg, sectors with odd holes (other sectors) in them, sectors which use a vertex many times, so I'm building in certain limitations (holes will be fine, seperate areas and re-using vertices too many times in a single sector won't - I had to 'tweak' E1M1 to get it to work in mine :). But basically I'm trying to come up with a general algorithm that breaks sectors down into triangles. It's not TOO hard (IE I still haven't got it right ;).


Anyway, congrats on the project, hope to see screen shots soon :)

Share this post


Link to post

Why break everything into triangles at all?

With current, industry standard (Voodoo3) video cards, you've got 16 megs of RAM to play with, and 120 mhz of pixel pushing power (not much, but I like superlatives).

A triangle may be the smallest and easiest polygon to render, but it just seems like a pain to me to have to break everything down to triangles anyway. Now, I can understand breaking down intersections to triangles to reduce clipping errors, but why take a rectangular wall with nothing near it and break it down as well? Seems like a waste of cycles to me.

As to the level format, I haven't decided yet. I don't like the idea of using WADS, because they contain a lot of info about the sprites in the level, and I don't want to use any sprites at all, if I can help it. On top of that, DOOM levels were never built to have the floors and ceilings looked at. They were built 2 and a half D, which I'm trying to correct. That means that the levels need to be rebuilt. If I do write a level editor, it won't be until after I'm done with the engine itself.

DC

Share this post


Link to post

Why break everything into triangles at all?

Err because that's how every single consumer graphics card in the world works? Basically all games feed a stream of triangles to the gfx card CPU which renders them. Even things like variable level meshes are eventually broken down into triangles. There's a variety of reasons for only using triangles, of which the main ones are:
- Any shape can be broken down into just triangles
- A triangle is always flat by definition
- It simplifies what a gfx card has to do
IE once a card processes triangles as fast as possible, it never needs to do anything else. Building in flexibility (eg curves, quads etc.) slows it down. They don't want to do this :)
Some cards go so far as to not have a line primitive - they simply draw a very thin triangle.
Also, take a look at things like nurbs and arbitrary shaped polygons in GLU and GLUT - they are basically another method of converting shapes down to triangles.

You may not have to be aware of this, but ultimately all models everywhere are drawn as triangles. Sometimes building this into your code can help a great deal.

With current, industry standard (Voodoo3) video cards, you've got 16 megs of RAM to play with, and 120 mhz of pixel pushing power (not much, but I like superlatives).

On board RAM only affects viewport and texture sizes / quantity, they are nothing to do with the actual rendering of models.

A triangle may be the smallest and easiest polygon to render, but it just seems like a pain to me to have to break everything down to triangles anyway.

See above. You may not realise it, but at some point everything becomes triangles before rendering. I start with triangles because then there's no processor overhead of converting other shapes to triangles on the fly.

but why take a rectangular wall with nothing near it and break it down as well? Seems like a waste of cycles to me.

NOT doing it as triangles will be slower, you'll have to trust me on this one :)

As to the level format, I haven't decided yet. I don't like the idea of using WADS, because they contain a lot of info about the sprites in the level, and I don't want to use any sprites at all, if I can help it.

I agree, but they don't have to translate to sprites. I'm simply using it as 'object' data, and hopefully will replace sprites with proper 3D models. Just because Doom says an object is a sprite, doesn't mean we have to code it the same - that's the joy of what we are doing. By not sticking slavishly to Doom's model we can improve upon it :)

On top of that, DOOM levels were never built to have the floors and ceilings looked at. They were built 2 and a half D, which I'm trying to correct. That means that the levels need to be rebuilt. If I do write a level editor, it won't be until after I'm done with the engine itself.

This is my biggest problem as well - making the floors and ceilings interesting. Not having got any of the newer ports with sloping floors I'm not sure how editors work for doing slopes. Personally I'll be supporting them in a limited 'I can do them, but no-one else can' way, which is a pain, but means people will be able to create levels that run in my program, and leaves me with that little bit extra to look good (after all, I'm hoping to make money from all this, even if I do give out everything to fans for free :).

Anyway, just keep us all posted with updates :)

Share this post


Link to post

I do think you're the most helpful person I've found yet. Don't leave town, I'm sure I'll have a question or two for you.

DC

Share this post


Link to post

Who wants new levels? I'm currently creating new Maps and the aim is several WAD Conversions with new Levels. But i'm searching for Members, who would be ready to create them with me. If someone is interested, mail me: yourwebmaster@web.de - Thanks

Share this post


Link to post

nice idea!
and please give the enemys a bot-like ai, because the old
ai is really stupid.

Share this post


Link to post
Guest
This topic is now closed to further replies.
Sign in to follow this  
×