Why not switch to other sourceports?

64bitmodels

Member
One of my friends brought this up and it honestly got me thinking... SRB2's engine is fucking outdated. I understand the choice to use the DOOM engine and while I would have done things differently, I'm fine with it. I think the sourceport in question however is very very outdated and not good for the future of the game's longevity. Other sourceports like GZdoom, Zandronum, and prboom all have much more modern and advanced features, such as support for higher framerates, support for resolutions above 1080p, Superior lighting and RTX, and much more. I honestly just don't really know why it hasn't been changed yet, unless the developers never really thought of it or it'd be too much of a hassle. I love this game, but at times it can feel like it's still in the 20th century.
 
This game is 20 years old. It's way too late to change engine as most of the SRB2 additions would need to be ported and it would take ages to do that.
 
One of my friends brought this up and it honestly got me thinking... SRB2's engine is fucking outdated. I understand the choice to use the DOOM engine and while I would have done things differently, I'm fine with it. I think the sourceport in question however is very very outdated and not good for the future of the game's longevity. Other sourceports like GZdoom, Zandronum, and prboom all have much more modern and advanced features, such as support for higher framerates, support for resolutions above 1080p, Superior lighting and RTX, and much more. I honestly just don't really know why it hasn't been changed yet, unless the developers never really thought of it or it'd be too much of a hassle. I love this game, but at times it can feel like it's still in the 20th century.
Why?
Consider the following: There has been 20+ years of development. That is a LOT of code, and a lot of content.
You'd have to redo a LOT of it for other source ports.
You'd have to redo 20+ years of code.
You'd effectively restart from near-scratch.
It's too much of a hassle when you can just add features to the source port as is. (There are already branches of the source code with higher framerates, for example).
Porting as is would probably take upwards of 5 years, 5 years that could be used to add features instead of porting to another DOOM engine.
 
Other sourceports like GZdoom, Zandronum, and prboom all have much more modern and advanced features
Firstly, all three of those are as old as SRB2 is (GZDoom is a ZDoom fork, Zandronum is a Skulltag fork, PrBoom... is PrBoom... did you mean PrBoom-plus?).
Second, GZdoom has a track record of throwing in feature after feature and generally being a bloated mess of code, while the main dev himself has been a very stubborn, unpleasant person over the years, denying QOL requests and forcing their vision of what GZDoom should be onto other people. (If your Doom mod needs an outdated version of GZDoom to work because the newest version broke things, and you request people to use the old version, you're basically a criminal)

Third, calling something "outdated" because it's not meeting some arbitrary graphics standard is dumb.
 
There are already branches of the source code with higher framerates, for example
first of all, i'd love to see those branches.
Second of all, the devs are already planning on basically recoding nearly the entire game with 2.3. changing the momentum, redoing the levels.... if we're going so far as to push the engine that far wouldn't it make sense to port it to a newer engine?
Post automatically merged:

Third, calling something "outdated" because it's not meeting some arbitrary graphics standard is dumb.
While i do think that raytracing isn't exactly the most necessary thing out there, dynamic lighting in general can go a long way to improve the game's aesthetics. Support for resolutions higher than 1080p is a no brainer seeing as how 1080p is slowly being phased out. And do i even need to go into detail about 60fps? not only is a doom mod which can run on a toaster, but it's a friggin sonic game!!
couldn't they at least do this when the game's fully 100% finished, content and all?
 
Last edited:
There's been plenty of internal talks over this, and generally the conclusion of each conversation tends to be that we're in too deep to make any sort of transition.
 
Aside from the practical reasons already given, I'd bring this point to the table: Look at the features that SRB2 already supports, compare that to other branches of the DOOM engine, and ask if it would be worth it to redo so much content just for those features. SRB2 is a rather cartoony looking game by design, so why would it need more advanced lighting than it already has? The lighting already present fits the art style perfectly. Frame interpolation builds such as this and this already exist, so higher framerate support wouldn't be worth it. Additionally, third party programs such as Lossless Scaling and similar can be used to play on monitors higher than 1080p. SRB2 already has slopes, and there seems to be more advanced work in development in regards to even more advanced slope physics and even loops.

For what it's trying to be, SRB2 manages to pull it off rather well without much of a need of migrating to another source port, and only continues to improve with time.
 
Aside from the practical reasons already given, I'd bring this point to the table: Look at the features that SRB2 already supports, compare that to other branches of the DOOM engine, and ask if it would be worth it to redo so much content just for those features. SRB2 is a rather cartoony looking game by design, so why would it need more advanced lighting than it already has? The lighting already present fits the art style perfectly. Frame interpolation builds such as this and this already exist, so higher framerate support wouldn't be worth it. Additionally, third party programs such as Lossless Scaling and similar can be used to play on monitors higher than 1080p. SRB2 already has slopes, and there seems to be more advanced work in development in regards to even more advanced slope physics and even loops.

For what it's trying to be, SRB2 manages to pull it off rather well without much of a need of migrating to another source port, and only continues to improve with time.
Agreed, it should be noted that at this point, SRB2 is essentially becoming its own game engine optimized for character-based platforming and gameplay. That statement of it being an engine becomes even more accurate when you take into account the Lua Scripting (so you could even create a mod that does not involve Sonic, Eggman, and the gang at all).

By the time you rewrote everything with a more advanced Doom sourceport as the base, you could've just implemented many of the features into the current game.
 
Honestly, if you were to move to a newer source port you might as well make a new game.
 
so why would it need more advanced lighting than it already has?
I'd say that more advanced lighting could help in zones like Castle Eggman or deep sea where the atmosphere is more moody and less cartoony. Putting RTX out of the equation entirely, a superior lighting engine could go a really long way to keeping the game's visuals timeless. Look at darkplaces for Quake for example. Turns a 26 year old game into a modern graphical showcase just by overhauling the lighting.
Frame interpolation builds such as this and this already exist,
There's drawbacks to those though-
for one thing, they have to be updated with each new release of the game, so if they aren't then compatibility will break. They also aren't the most well known or even maintained that well, like you can see with the latter build you listed- the download link for the latest version is broken.
Also, many of the game's assets and physics still run at 35fps and look choppy compared to how smooth everything else is. Older engines had physics that were tied to framerate, but this isn't a problem in more modern engines like GZdoom where everything works well even at 240+ fps.

I'm mostly done with this discussion because of what @CobaltBW said, but at the very least i wish the engine was updated to be better in the future. Or maybe i could do it myself, the game is open source after all...
 
We're always updating the engine, but there's a difference between updating the engine and switching to a new one. We've custom-tailored the engine with many different features, and we'd have to see that a prospective engine replacement checks all the boxes we need. Additionally, there's a particular workflow that much of our community has already gotten used to, particularly in terms of lua scripting; to my knowledge no other sourceport has general lua functionality built into it.
 
SRB2, at this point, has become its own engine. It has so many features added to it that make it a neat starting platform for an original 3D platformer or any other type of game. Kart has shown that the SRB2 engine is fully capable of being that base for new games
 
There's drawbacks to those though-
for one thing, they have to be updated with each new release of the game, so if they aren't then compatibility will break. They also aren't the most well known or even maintained that well, like you can see with the latter build you listed- the download link for the latest version is broken.
My point wasn't whether or not they work currently, my point was that they exist. Frame Interpolation is a thing that the SRB2 engine is capable of, and it's not entirely out of the question that they might officially implement it some day. It's too unfinished of a feature for that to be the case now, but with further refinement it would make a superb addition.
 
Moving SRB2 to a new source port could heavily slow down the game on low-end hardware, probably because of unnecessary code that isn't needed for the game. And, SRB2 isn't a Doom mod. SRB2 is a branch of Doom Legacy, essentially making SRB2 a source port. Just because SRB2 is in the Doom engine, doesn't mean it can run on a freaking DS. 2.2 can't even run on the Dreamcast! (which I thought it would be able to).

edit: grammar
 

Who is viewing this thread (Total: 0, Members: 0, Guests: 0)

Back
Top