Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
Guest GBJacksonCGDC

C++ coder needed for ZDoom experiment...

Recommended Posts

Guest GBJacksonCGDC

Greetings to all...

As production of Caverns of Darkness draws to a close, I am preparing to move forward towards the concept development of a new project which will potentially be much broader in scope than anything that has been currently done in a Doom port, but will also be relatively simple for anyone to implement if the features I need are practical.

I am therefore looking for a C++ coder with a win9x compiler to help me test a theory on a new way to link levels together. The purpose of the new linking method is to totally eliminate the linear aspect of doom games, as well as the assist birth of dynamic evolution of the in-game environment through the unique storage of levels which this new method will introduce.

I do not want to discuss this topic openly at this time. I would like any interested C++ programmer in the Doom community with a win9x compiler to contact me at jaxndoom@aol.com.

If you have the AOL Instant Messenger, you can IM me at JAXNDOOM.

We will be using ZDoom as the engine for this experiment.

Thank you.

In Christ,
G. B. Jackson
Director, The Chaos Crew
"We give Order a purpose!"

Share this post

Link to post
Guest GBJacksonCGDC

I guess that means I can count you out, then.


In Christ,
G. B. Jackson
Director, The Chaos Crew
"We give Order a purpose!"

Share this post

Link to post

I'm afraid that, as with sprite artists, there are very few coders in the Doom community. And even these few guys are only willing work on their own personal ports / projects rather than do programming work for anyone else. Think of it like with games companies: 95% of the time the programmers either own or co-own the company.

There are of course the odd exception to the rule: Skull Tag coder Carnevil, who is going to make a Twice Risen specific version of Skull Tag, and Joel Murdoch, who has created modified versions of MBF for Mordeth and your own Caverns of Darkness.

I'm afraid that my recommendation for anyone who wants a programmer for their project is to learn how to program themselves. Of course that's much easier said than done; I for one can barely program in basic let alone C or C++.

Share this post

Link to post
Guest GBJacksonCGDC

It seems to me that the Doom community is losing its fire very quickly. There was a time when level authors jumped at a chance to work on a team. Same went for graphics artists and sound people, too. Now that Doom's source code is public, a new position in doom development teams is available. that of the coder.

Trouble is, these coders do not want to actually involve themselves with the community. They make great ports, and when someone wants to actually use their ports and even give the coders an opportunity to take on challenges associated with project-specific requirements that go beyond the scope of their port's current status.

I think it simply annoys them that someone else thought of something they haven't and would rather do it (or not) on their own so they can claim the glory...

What's wrong with assisting a team with their needs, and then integrating the new features into their port, keeping it current according to all of its uses. These features could be ignored unless a command-line switch is added.

For example, If someone like Randy Heit were to assist The Chaos Crew in its future projects, the Chaos.exe-specific material could be present in ZDoom.exe, but require a -Chaos switch to turn them on. That way, If a person were to download levels designed for running under Chaos.exe, all they would really need would be the post-chaos version of ZDoom. They would only need a shortcut like this:

c:\ZDoom\ZDoom.exe -iwad DoomX.wad -chaos -file chaos.wad

The chaos.exe would only contain ZDoom code up to and pertaining to the Chaos project. ZDoom.exe could carry all modifications Randy would make to the engine.

As long as the Doom community continues to drift apart, classic doom will continue on its downward spiral towards extinction. I don't want to see that happen.

I believe that, even in light of the new games with their awesome eye-candy, the Doom engine has vast potential. I have a vision of this potential, but by the time I learn to program, the Doom community will have drifted apart and dwindled down so much that nobody would care.

I would suggest that the individual big Doom sites like DoomWorld stop trying to compete with each other and come together, uniting the community once again. We have more potential to develop games with Doom than we ever did before.
and if we come together with a single goal, this can happen.

The OGRE project that TeamTNT spearheaded was a good idea. And it would have really worked, had they not insisted on reinventing the wheel.

With Doom's GPL status, a combined effort on the part of the many coders out there would have been able to produce an incredible project relatively quickly with new editing tools and scripting resources. Imagine a doom engine that offers ALL of the unique features of every Doom port out there, with a new editor that makes making use of those features simple, with a scripting wizard that can be used to modify and custom-tailor almost any standard scriptable event.

This is what I hoped for when I heard that Doom's source code was available. It was what I was sure would have happened when OGRE was announced... And what did they do? Reinvented pong? Where is OGRE now?

I propose once again the formation of a Community for Cooperative Game Development, working towards the noble goals of the original OGRE concept, but making use of GPLed source materials and integrating them into an engine that can be used for almost anything. Starting with a merger of the individual Doom source ports and utilities.

Imagine Slige being integrated into ZDoom. select an option from an in-game menu to "Create random mission"

That would lead to a screen that says let's you plug in the settings you want, and select from the list of IWads present in the engine's directory to draw resources from.

Here's another one, imagine a utility that when you run it, it looks for specified IWads, and then merges them all into a new IWad. Add new graphics and sounds into that Iwad using their own unique filenames. this way, loading maps on-the-fly that call for resource sets from different IWads will not crash the game... they would all be present.

Why can't the Doom community of developers band together and do something like this.

Ports like Edge, DosDoom, Legacy and ZDoom are very powerful in their own right. Imagine how powerful a port that combines all their unique functions together.

Doom IS dead in the eyes of players of modern eye-candy-intensive games. We can show them it is still alive by creating and continuing to build onto a mod that allows Doom to do things that players of corporate-developed games only dream about.

There's an old saying: Less is more. Doom requires less system resources so it's capable of more.

Doesn't anyone share my feelings on this matter?

Come on, guys. Let's quit trying to compete for which team is making a better mod and come together and make a mod that can revive the Doom community to its former glory.

I'm calling on all development teams in the doom community to answer. We can do this, if we take the step. Doom does not have to die. It's been handed over to its community of fans. Let's establish one goal of a unified Doom source port. One which will allow the play of any conceivable Doom gametype.

Doom's old? Let's renovate it.

Who's with me?

E-mail me at JAXNDOOM@aol.com and I promise you that I will join The Chaos Crew to this endeavor. We will become one community with the rest of you. Our codebase will become part of the greater whole, once that codebase is complete (ie, when we release Caverns of Darkness this year). I will set up discussion forums and communities to for the purpose of making this work. I'm not a programmer, but I can handle the "business" end of this thing.

Let's get something going that should have been going to begin with.

E-mail me at JAXNDOOM@aol.com, and I will set this thing in motion, and we will succeed. We hold the future of Doom. Let's make that future a grand one!

In Christ,
G. B. Jackson

Share this post

Link to post
Guest c-d-w

Most people enjoy complete creative control, that's why we work on our own projects.

Share this post

Link to post
Guest GBJacksonCGDC

You would still have creative control in this project. As I see it, the first goal would be to merge Doom, Doom II (and its Final Doom hybrids), Heretic and Hexen codebases and IWads together. From there we should start going through all the source mods and adding their unique features into the project.

Features to be added beyond that would be based on member suggestions. These suggestions would be pitched to the coders to be taken up on a first-come, first served basis. After the coder who implements it does a test build and the members of the team test it, it a vote will be cast which will decide whether or not the feature should be dropped, added to the official public release as a standard feature by default or added as an optional feature by default.

Of course, a coder can just submit an added feature on a whim, if he's already gotten it to work.

Incidentally, this isolationist policy on the part of the coders is a bit silly, when the terms of use of DOOM's source code state that their code work must be released to the public anyway, at which time it's going to be taken and modified in turn anyway. Look how many mods of mods are out there now...

Why prolong the inevitable. Why not go ahead and join a community of like-minded individuals gathered together under one goal: to build a version of Doom that will be as flexible as possible.

So what if one coder hates the idea of being able to jump and another favors it. Implement it and make it an optional feature at default. That way, some games will use it and some will not.

Same thing with slopes, though slopes would be a standard feature, but their presence (or lack thereof) will be decided by the level author.

Of course, I know that some of the ports are not designed to run under certain OS platforms. However, if coders for all current OS platforms join the group, that could change.

It is an ambitious project, but it would once again get the entire Doom community involved. I know that not everyone will be an active part of this. But the source code of the ports are available. And the coders who do come on board shouldn't have too hard a time merging them together for the innitial build.

We will not reinvent the wheel. We will use all the available resources to build a truly definitive Doom port. All sources will be credited accordingly, both in documentation and within the code itself. We will build something that the entire community can use to create the games they invision.

So let's do this.

Share this post

Link to post
Guest c-d-w

I see...
The first bit there, playing all iwads.. doesn't zdoom already do that? Or are you starting with another engine?

Interesting ideas anyway.. too bad I can't code

: )

Share this post

Link to post
Guest GBJacksonCGDC

It would be a new mod. Here is an outline of the development steps:

(1) - Merge support for Doom, Doom II, Heretic and Hexen into one engine. Create a utility that will rip apart all IWADs of the above games and merge them into a single new IWad, so that if a player has all four games, he need only run the engine in standard configuration. It would just reference only the resources that pertain to the selected game.

(2) - Merge the unique features of all source mods since the release of Doom's source code into the engine.

(3) - begin discussion of new features to be added

(4) - implementation of new features into the new engine as either standard or optional features. A Standard feature would be like ZDoom's slopes, being supported by default but used at the discression of the level author. An optional feature would be something like jumping or looking up and down, or having the head-bobbing effect. Turned on by use of a command line argument or toggle in the options menu.

(5) - Internal testing of added features to make sure they work right. If they do not, then they will be tweaked or removed, based on vote of active members.

(6) - Public release of new build with full documentation.

At the same time as the engine is being modified, the editor will also be modified to include the parameters for using the new features, either as an architectural-specific editor feature or as a new form for the scripting wizard. Simultaneous development and modification of the editing utilities will ensure that every public build to the engine will be 100% editable with a toolset that is as robust as possible.

Now, with the merging of every IWAD together into one, then thing, linedef, sidedef and sector type designations will be totally different from any existing mod. So it will be necessary to develop a utility that converts PWADs made for a specific mod into a format that will correctly reflect the coding of MegaDoom.exe and MegaDoom.wad (That's my working title for this proposed project, by the way... MegaDoom).

I will maintain full documentation of resources and linedef/sidedef/sector type designations, which will be updated as new designations and resources are added.

For the instances of the repititious nature of resource names in DOOM2.WAD, TNT.WAD, and PLUTONIA.WAD, name conversions would be like as follows:

DOOM II / Hexen format:

MAP01A - Doom II
MAP01C - Plutonia Emperiment
MAP01D - Hexen

Heretic/Doom I format:

E1M1A - Doom/Ultimate Doom
E1M1B - Heretic/Heretic: Shadow of the Serpent Riders

E4M1A - Ultimate Doom
E4M1B - Heretic: Shadow of the Serpent Riders

E5M1 - Heretic: Shadow of the Serpent Riders

See where this is headed?

Anybody want to help do this thing?

Share this post

Link to post
GBJacksonCGDC said:

Whew, you spent some time on that post. You've touched on the precise problem - port competition - but not why that happens. As a coder and sometime arguer for various "changes", here's my take:

It is extremely time consuming, so it better be fun - a lot of fun. Would you work with in a volatile combative virtual environment (that's not a game<g.) for just the glory? I've only participated in a fun coop development project 2x.

Organization and documentation are the features lacking in most of the "free" code out there. I suppose it's because that's part of the skill set many are learning.

What you propose is a good goal with some modifications and caveats. Combining multiple OS's into 1 port is a bad idea. There should be a business approach to spending time, even if it's for "free". A business would NOT worry about Linux and other minor OS versions. Ditto for DOS vs Windows. Keep them separate please.

Multi-Os code gets way too hard to read and introduces more problems for the benefit of very few. Get multiple ports to "borrow" from each others code by having the community to write to those guys and explain why they like feature X in port Y. Peer pressure works.

That's long enough for now:))

Share this post

Link to post
Guest GBJacksonCGDC


Thank you for your interest in the project.

I did not intend to suggest that we make it where MegaDoom is designed for multiple OSes in one port. I mean that it should be designed to merge Doom, Doom2, Heretic and Hexen into one port with a utility designed to shatter their respective IWADs into their base elements then build them abck together into MEGADOOM.WAD. So all resources from all four games will now exist in one IWAD.

That is the innitial phase of the concept. After that, we take all of the source ports for these games and merge their code together. Things unique to Legacy and to ZDoom would becaome part of MegaDoom's codebase. An all-in-one port.

A configuration frontend would allow the end user to disable features he/she doesn't like. Also, the ability to do that through command line switches would be in order. That way, a simple shortcut can launch the game running a specific "environmode" (Doom, heretic, etc) can be designated, followed by the gametype (CTF, DM, Coop), followed by the level to start at.



This would be the command line to make the game run Doom2 the exact same way it ran when it was released.

It would also require one hell of an editor!

DeepSea looks to be pretty close to what is needed. A varriation would be needed to make it work correctly with MegaDoom's thing, sector, and linedef type designations, as a merger of so many ports may cause potential problems without laying out a new definition scheme.

Would anyone care to support the project?

Share this post

Link to post
Guest GBJacksonCGDC

I can understand the former reason, but the latter is just plain ridiculous. The Doom community is dying. Oh, people are still making stuff for Doom, but the very thing that holds other game communities together is missing in the Doom community.

What is that thing? Cooperation.

Imagine how advanced the Doom engine could be if the coders would pull together and share their ideas. Every great product begins with an idea.

Talent is everywhere in the Doom community. but it seems that many of the teams have become elitist or antisocial when it comes to other people. This is not the norm.

Look at the way that other communities like those for The Wheel of Time and Unreal and such work. The games are so open-ended that new code can be added easily and quickly. As a result, the coders are looking for fresh ideas all the time. And I've seen newbies to the editing scene in the Wheel of Time communities get their ideas considered and implemented by even the experienced coders.

If it's good enough for those communities, then it's good enough for the Doom Community, which needs collective interaction.

That's another thing: the Wheel of Time community has its individual teams like the Doom community. But they don't keep to themselves. They interact. They share ideas. They are united.

Doom's community needs that, or it will collapse in upon itself and just plain die.

A new Doom game is coming out. That means that a large bulk of the remaining developers for classic Doom will leave this particular editing community for Doom3's when it comes. And if all that is left to THIS community is the antisocial or superior-minded developers, then classic Doom will truly be dead.

I don't want to see that happen. I want to see this community leave the world with a classic Doom engine that is as close to being as open-ended as current gaming technology is. We can do that, but it will take every coder, level author, graphics artist, sound engineer and musician left in this community pulling together under one goal and for once reading from the same page to make it happen.

It's all about attitude. Putting aside the hard feelings that resulted from un-necessary competition between teams. I've looked at several mods this community has made. And you know what? I don't think any of them is better than the other. Some just do things that others don't. That doesn't make them better.

ZDoom has slopes.
EDGE has room-over-room

Which is better?

Neither. Both are great.

I propose we end this isolationist attitude and come together and make the greatest Doom mod the world has seen, combining every use of Doom technology available to the public.

I am not proposing that I be "dictator" of the project. But I would be willing to coordiante the efforts of the developers involved.

I will set up a mailing list to help the communication factor.

Let me know if you guys want to help me salvage this community or not. If so, great. Let's get started. If not, then fine. But mark my words. It won't last much longer.

I've seen how screwed up this community has become when I read posts by newbies (yes, there are some) on this board asking for help or advice only to be criticized and made to look stupid by experienced developers.

That's just plain pathetic. Twice now, I've almost thrown up my hands and walked away. But I am not the kind of person who gives up. I will stay the course. I will contribute. Who is with me?

E-mail me at jaxndoom@aol.com. Let's all make history... TOGETHER!

Share this post

Link to post
Guest kristus

This is really intresting. Although most of the people trashing "newbies" is the ones that you hear the most of... WHat I mean is. there's alot of people in this community eventhough it's not as noticable cause most of them just play the wads, and many others just mind their buisness and work on with their projects. Unfortunately the assholes make more noice and that makes people retract from posting the forums and such. (Notice that Post furthest down in this thread)

I wish that people would think before they speak eventhough we are on the Net. If you think someone asked a stupid question then don't trash him. (I know I'm not the one to talk... But I'm working on it.)

GBJackson: You're project is sounding very intresting. Unfortunately I think it would have been better if someone have had this idea about 2 years ago before the ports got too different and their code got incompatible. For instance. EDGE and Legacy both got 3d floors. But they aren't the same kinda 3d floors. because the incompatiblility issues with the rendering engines of EDGE and Legacy. and now zDoom and Vavoom also got other rendering wich makes the incompatibility even bigger.

I'm not sure but I think you'd have to restart from scratch with most everything, or use one of the sources as a base... Although that would not be to the liking of Legacy fans vavoom fans zdoom fans etc depending on wich port you'd use.
-Because that port suck... would be the reply you'd get.

I'm probably far off here though.

I would have been very intrested to join that project if I wasn't to busy on other places, and (for the moment anyway) I'm pretty sick of Doom level edeting and I can't code either. (Not to mention making 256 color sprites is a real drag.)


Share this post

Link to post
GBJacksonCGDC said:

The Doom community is dying. Oh, people are still making stuff for Doom, but the very thing that holds other game communities together is missing in the Doom community.

I think its already dead.

Share this post

Link to post
Ebola said:

You wouldn't really need to just merge the code... it'd prolly be easier to look at it, see how it's done, then write your own version of the code in to ZDoom or something... you'd also probably need interpreters for EDGE wads or whatever to convert it to the new format on the fly, technically you can still use the same BSP tree because you're not changing the map around just how it's stored and accessed in memory and interpreted for gameplay.

Share this post

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