Thoughts on a modern game engine

Status
Not open for further replies.
To be fair, moving to a new engine would be really cool. Especially if it meant putting one room over another was no longer a gigantic clusterfuck of sector tags and control sectors and FOFs. The problem is that the people who are most interested in an engine port don't know how to code, and the people who are most willing to code for the game would rather spend time working on what we have now than move things over to a new project. It's a matter of return on investment; a new engine gives us a ton of benefit but would take a massive amount of work, compared to staying where we are and adding new things to our current engine, which takes a lot less investment in exchange for always being limited in somewhat annoying ways.

It's not like people haven't tried, mind! I know Kalaron has an engine that he showed around here for a while, and then there's Wizard2 with its roly polies. (Those aren't targeted exclusively as engine replacements for us, mind, but I know they definitely tried to appeal to the interest of the modders here.) Hell, there are a lot of other 3D Sonic fangame engines that exist, and any one of them could be picked up and converted into SRB2 3.0 or whatever if we felt like doing that.

The reason we haven't moved to any of those is, like I said, the RoI; those engines don't have all of the stuff that we have built out yet, so there isn't really any interest in making for them compared to making for the SRB2 that's around now. I'm not just talking about the vanilla game either; we've only stuck around this long because of all of the cool addon shit that people make. (Especially since 2.1, when we got a real scripting language and cool gameplay-changing mods increased 100-fold.) And a lot of the people making that content aren't super-interested in moving over to another set of tools. Especially for mapping; I know the Doom format has a lot of limitations, but on the other hand, it's incredibly easy for someone new to get into. (I tried Hammer for a couple days long ago and basically got nothing built, while the first time I opened WadAuthor I had a functional map going within a couple of hours.)

Also, as far as editors go; while it's true ZB is the only up-to-date map editor that we've specifically edited to support all of our custom stuff, there's nothing we've done to the format that makes us incompatible with other editors, as long as someone writes a quick configuration file for the editor in question. (As far as lump editors go, we don't even need much of anything special for those, and SLADE, which is pretty much the only editor people use, even has additions supporting us!)
 
Last edited:
Quake engine would be perfect In my opinion, Better (and Real) Rooms over Rooms, less tagging, Less graphical glitches ..

This might take some time though (If you're interested in remaking it :o ) .
 
17, coming up to 18 or so years and someone wants the devs to move to another game engine. Talk about late.

The engine we currently have is fine IMO and if the devs want to really move to another engine, fine i dont mind.

With all the positive points you put out i dont think all the devs are willing to scrap something they have been working on in 18 years. Maybe if they reach a point were you cant phsyically add something in the game then change is good. Im not saying not to, but its up to them.

Where-ever srb2 will take us. I will be right behind them
 
Last edited:
Like I said, I looked up a few examples of generic implementations for bsp and md5 (the formats I believe srb2 really should support) in some of the engines I've played around with. Some of them are relatively short and simple, so hopefully they'll be of use to the developers?

As I've been a Nexuiz / Xonotic mapper since my childhood, I'm familiar with how the Quake engine and netRadiant map editor handle maps, less for the deep code behind them. Here's a basic explanation of how maps are stored and what the bsp format contains, for those not familiar with the Quake engine:

  • netRadiant (the current active fork of gtkRadiant) is a cross-platform map editor for Quake, used by many games such as Nexuiz / Xonotic or Unvanquished. You create maps out of 3D brushes... which work in a similar way to how Doom generates structures from linedefs, except you can texture and preview them directly while manipulating them in full 3D. It's surprisingly simple yet feature complete, and I find it easy to learn and a joy to use... transitioning to it should be easy for srb2 mappers, but of course that's a subjective opinion.
  • .map files are text files containing the source of a map (brushes and entities). They're pretty much the save file of netRadiant, as well as what bsp files are generated from (by the q3map2 compiler included with netRadiant). The Quake engine doesn't itself read the .map... except for idTech 4 which dropped support for .bsp and does read .map files directly, which is a considerable option for us as well!
  • .bsp, bsp: The first and most essential information compiled in the .bsp is the map geometry and entities. This is the only part the engine will have to implement in order for things to work.
  • .bsp, vis: Optionally, you can compile vis portals in a .bsp. The vis is basically a set of instructions computed based on the map geometry, used to determine what's visible or not from various positions, and efficiently occlude hidden geometry to improve performance. Since srb2 uses simple geometry and sprites for entities, implementing support for vis culling is likely not an emergency.
  • .bsp, lightmaps: Optionally, you can compile the lighting of a map into the .bsp file, or externally for higher resolution lightmaps. Since srb2 has its own lighting system, implementing support for the lightmaps is probably not an emergency, although it might be a considerable visual improvement later on. Doing so however would only require some simple texture blending.
Regarding people who would still want to use the existing 2D map editor, here's an idea: If the engine was to switch to supporting the .map or .bsp format, the current editor could just as well save under .map, which should perfectly support the existing functionality! Apart from current mods having to convert their maps, players creating new maps would ideally not feel any difference. The advantage of course would be that, people who want to keep making 2D maps and using the old editor could do so, but those who want to make 3D maps could use netRadiant instead... both saving the end result under the same format. Yes, this would take a bit of work to code... but it's definitely not as hard as moving to a new engine, and IMHO it's totally worth it! Hope this was all helpful and will lead to some sort of improvement.
 
Quake was open sourced back in 1997 i believe
1999. Otherwise you'd think SRB2 would've opted for it in 1998, given the not-insignificant engine improvements.

Also, Quake came out in 1996, and as huge a proponent of OSS as John Carmack was, a one year turnaround time would've been rather awkward for id.
 
As someone exploring the first steps of programming, yeah, I can see a new engine of any type would be a struggle to make. It isn't for lack of knowledge, but definitely that lack of RoI that RedEnchilada mentions.

To be fair, Doom Legacy actually uses the entire console from a leaked Quake, so technically speaking, we do have some components of Quake embedded into the current engine as it is... just not enough to make it feel Quake-like.

There's also obvious parts of the build of Doom Legacy relied upon that are missing. Later Fragglescript integration went unused, and we've only come close with support for Lua scripting recently. And of course, we lack Boom compatibility, not that we need it since this is a custom engine.

To throw it over the water and try to bring SRB2 to another port, much less a new engine, is a hellish feat. There's a reason SRB2 isn't on Zdoom, and there's a reason SRB2 isn't on Quake.

Now of course, when you say "modern game engine," I imagine you mean Unreal and the like. While true, there are options for us, with Xakles making the SonicGDK, the fact is, SRB2 is functional as is. I think it holds that Doom magic, where it's an old game always being reworked and given some strange voodoo to work in places it shouldn't. I wholeheartedly await the day we see an SRB2 post on the ItRunsDoom tumblr about how someone got the game to run on an Android Wear watch or something. (Assuming we ever have SRB2 on Android, come on)

As many options as there are, there's the tried and true option...
If it ain't broke, don't fix it.
 
To be fair, Doom Legacy actually uses the entire console from a leaked Quake, so technically speaking, we do have some components of Quake embedded into the current engine as it is... just not enough to make it feel Quake-like.

That's the only thing taken from Quake, AFAIK.

There's also obvious parts of the build of Doom Legacy relied upon that are missing. Later Fragglescript integration went unused, and we've only come close with support for Lua scripting recently. And of course, we lack Boom compatibility, not that we need it since this is a custom engine.

Some things, like Fragglescript, were voluntarily chosen not to implement. I came up with Linedef Executors instead. This was done for the same reason you now see regarding Lua issues and netgames.

The game HAD Boom compatibility -- it was stripped out and all of the linedef specials renumbered from 1.09.4 -> 2.0.

As many options as there are, there's the tried and true option...
If it ain't broke, don't fix it.

This discussion comes up every few years. Don't lose any sleep over it.
 
Underwater view looks just like the one from Quake 2, It even has the same issue, the waves (bump effect) move with you (Software mode) .

Nope, I wrote that myself. The reason the waves move with you is that, like the heat, is a 'post-processing' effect... it's applied on the final rendered screen of the image, rather than being part of the 3D world.
 
Nope, I wrote that myself. The reason the waves move with you is that, like the heat, is a 'post-processing' effect... it's applied on the final rendered screen of the image, rather than being part of the 3D world.

I Don't know, i heared many Doomers saying lots of codes were copied straight from Quake code .
EDIT : I Found this, Again it doesn't mean it's illegal .
 
Sorry, I was just curious about which codes were used from Quake 2 Code so i googled it .
 
I Don't know, i heared many Doomers saying lots of codes were copied straight from Quake code .
EDIT : I Found this, Again it doesn't mean it's illegal .

They're talking about a different water effect -- the 3D one that occurrs on the surfaces of water. The one I wrote was the whole-screen effect that happens when you are completely underwater.
 
obviously the community should port srb2 to the roly roly putt engine. :V

All joking aside, changing to a modern engine would make it far more difficult to edit the game, as the number of editing tools would drop, as well as the massive jump to 3D from 2D making it far more difficult to make both characters and maps.
 
Nomekop is very right, but I do sometimes wonder how SRB2 would look (Besides in Roly Poly Putt) as a higher graphics game.
 
Status
Not open for further replies.

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

Back
Top