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

A new game using Doom source code...

Recommended Posts

It seems strange to me that there aren't dozens of fan made games that use the Doom engine. Isn't editing the source code easier than reverse engineering the game with scripting?

---

Anyways, the main question that I wanted to ask is where can I find some in-depth documentation of the Doom source code? There's some information in the wiki but its more of an outline than documentation, same with the documentation included with the source code. I understand a good portion of the code and it doesn't seem to be as complicated as I thought it would be, but I just can't figure out some things (what controls the fire rate of the weapons?) etc.

Share this post


Link to post
bgraybr said:

It seems strange to me that there aren't dozens of fan made games that use the Doom engine. Isn't editing the source code easier than reverse engineering the game with scripting?

There may not be dozens, but there are a few. Urban Brawl, Harmony, and Chex Quest 3 are recently made games that all utilize the ZDoom engine. Urban Brawl is a good example of just how flexible ZDoom can be in terms of making new games.

I'm sure most of the community would be quick to advise against forking the doom source in order to make a new game since there are a few source ports which provide vary flexible scripting. As I mentioned ZDoom is a notable engine. There are a few other engines that may be worth considering for this purpose, but I'm not informed enough about them to make a proper comparison. These include: Eternity Engine, Doomsday, and EDGE.

Share this post


Link to post
Blzut3 said:

There may not be dozens, but there are a few. Urban Brawl, Harmony, and Chex Quest 3 are recently made games that all utilize the ZDoom engine. Urban Brawl is a good example of just how flexible ZDoom can be in terms of making new games.

Cool, thanks for linking to those.


I'm sure most of the community would be quick to advise against forking the doom source in order to make a new game since there are a few source ports which provide vary flexible scripting. As I mentioned ZDoom is a notable engine. There are a few other engines that may be worth considering for this purpose, but I'm not informed enough about them to make a proper comparison. These include: Eternity Engine, Doomsday, and EDGE.

Good points, but I still think forking the source code might not be a bad idea, it gives you the ability to easily implement thing that are difficult to implement using scripting- or things that involve hacky workarounds. Either way, I think I'm still going to go through with this project.

Share this post


Link to post

I have a Heretic TC in the works which uses Vavoom... sure, I could just modify Vavoom's source code, but it's much easier to simply utilize VavoomC to craft the game.

Share this post


Link to post
bgraybr said:

Good points, but I still think forking the source code might not be a bad idea, it gives you the ability to easily implement thing that are difficult to implement using scripting- or things that involve hacky workarounds.


It also gives you a ton of overhead since you have to update and maintain old source code and depending on what you want to do exactly, it can actually be a lot simpler to use scripting. Or you can fork an existing source port, but you're going to run into other problems then. If you use a "purist" port as a base, you'll have to clean out all the compatibility code that will be irrelevant and potentially harmful to your project. If you use a "modding" port as a base, you'll probably just end up reimplementing features that were already added. :p

Note that scripting is not merely having scripted event happen in a level. There are different types of scripting. The aforementioned ports feature content definition languages which let you create brand new actors with their own logic. On this site, you can find a lot of custom content, which can demonstrate how powerful that can be.

To give you an idea of what is already possible:



(None of these mods are remotely alike in what they try to do, which is why they should illustrate the wealth of possibilities already here. And this quick selection is not an exhaustive list of features by any mean.)

Share this post


Link to post

Wish that damned Chex Quest would work with an Old Win98. Its currently my only usable system from where I'm at... WAH!

Share this post


Link to post
Clonehunter said:

Wish that damned Chex Quest would work with an Old Win98. Its currently my only usable system from where I'm at... WAH!

Hmm? As far as I know, you could probably run both the original release Chex Quest and the ZDoom-based re-release flawlessly on a Win98 machine. Might need to go download some DLL files, though.

Share this post


Link to post

Yeah, I use Windows 98 and I played Chex Quest 3 back when it came out in 2008.

Share this post


Link to post
bgraybr said:

It seems strange to me that there aren't dozens of fan made games that use the Doom engine.


Well besides the ones Gez mentions theres also Cutmanmike's MM8bitDM demo which can be played without the Doom2 iwad.

Share this post


Link to post

What the hell anyway, Urban Brawl had even appeared a few years ago on one of our TV news channels, at least on its webpage (http://www.realitatea.net/jocul-action-doom-2--urban-brawl-gratuit--descarca-aici_354832.html though it's from 2008 and in Romanian). A bit remarkable considering that's not a gamer's site and this is well, this country.

Similarly Open Arena, also a longer time ago, props leileilol.

Share this post


Link to post

Actually, I think near the beginning of this month or last month, somebody got the haXe programming language to work inside ZDoom, like ACS. I couldn't be bothered to learn a programming language just to mod though, especially one that wants to be the "UDMF" of programming, why not just C++ or C# at that point.

Point is, it wouldn't be radically different than ZDoom, and it might open up possibilities that ACS couldn't. Or, haXe could be a giant flop (my vote goes here).

Share this post


Link to post

I guess I should have been more specific, I don't really want to use the engine as-is (or necessarily copy any part of the Doom source code exactly).

I just want to use Doom's method of rendering/storing levels/things. Much of the other code wouldn't be useful to me and would be thrown out or rewritten. To do this I still need some knowledge of how the engine actually works, so I was seeing if I could get any documentation/help. By staring at the code for a few hours I really only figured out how to make the pistol fire rockets and gained little knowledge of how anything else works.

I'm specifically interested in using Doom's engine or something similar because- I want to subject my game to the limitations of "2.5D" architecture and stuff. The Doom engine provides just enough to make interesting levels and really nothing else (if that makes any sense). Or maybe its just because I'm a fan of the game. I could use a newer "true" 3D engine and try to make it look and feel like an older game, but that makes about as much sense to me as using a psuedo 3D engine to make a 2D platformer.

So, in other words, I guess I don't want to make a new game using the Doom engine, I just want to use the Doom engine as a base to make a game that is nothing like Doom but will hopefully remind you of an older first person shooter.

Share this post


Link to post

Even then you should still try using ZDoom (again look at Urban Brawl and try telling me it resembles Doom). If you really needed to, you could write action functions in the code itself, however I'm going to guess for most cases you probably won't. In ZDoom action functions are defined in such a way they are automatically exported to decorate for use. The fact that all actors are defined in decorate should show just how flexible the system is.

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
×