ID's DOOM 3 BFG Source released (open source), Could this be added to Blenders Code

Hi Guys,

Thought id just drop an idea, As Id’s doom 3 BFG source has been released would it be possible to intergrate this code into Blenders Game engine. This would really make me excited, For anyone that wants the code it’s on github so just do a search for Doom 3 BFG Source.

it would be interesting, and i’ve been looking at it for the same reason. Though even 2.49 blender would be be able to make a doom 3 game. I’d really like to get my hands on rage’s engine ( ID tech 5). I am no coder, but a hobbyist who tinkers in C code and C#.

@Moviemake, The current engine could make the style of FPS but with the test’s ive seen i would say the doom3 BFG engine looks better. Im just thinking in terms of using the doom3 engine as the base and people to intergrate other features that blenders game engine has and doom3 BFG doesnt (if there are any specific things the blender game engine has) ontop. The doom 3 engine runs like a beast and the BFG version has some of the best motion blur ive seen in a game engine, great atmospheric lighting, im just thinking that with the way blender devs work the BFG engine could be made into something great with blender.

We need more gsoc coders for the bge.

It wouldn’t make sense to do that imho.
You can make stuff in Blender and use in that engine, maybe an exporter plugin or something would make much more sense. BGE is a non-specific engine, you can do anything on it, not just FPS, and in fact it’s more used nowadays for baking animations taking advantage of bullet physics, indie devs generally use Unity or something else, btw, Unity supports blend files.

Also, I wouldn’t recommend using that engine, BGE is okay for prototyping and simple games, if you need more performance, better check projects like the gamekit or using something else like Unity or a more low-level approach.
Knowledge of Unity is very valuable nowadays, a lot of companies are using it, obviously, C++ and graphical libs like OGRE knowledge is way more valuable, in terms of salary at least, but it’s way harder to find work. Knowing an obsolete engine however, worth almost nothing at all. And you won’t be able to take advantage of modern stuff unless you implement yourself.

In short: If you don’t care Unity isn’t opensource, just go for it, after some development you can achieve a result way better than the obsolete Doom 3 engine, and that fits your specific needs. Plus, you have an extra change of getting a job/work. Also, it’s pretty easy to port your game for android and ios, plus it runs from web and natively on win/mac/lin. Their licensing is the best I’ve ever seen. As long as you’re not making some big money with it, it’s free, you only have to pay when you’re dead rich, but i’m sure you wouldn’t care.

@Repgahroll

While the BGE isn’t the fastest or best-looking engine, it’s powerful enough by far to make complex games. And while I might agree with you that you could try other engines if you need more performance, the main condition is if you need more performance. If you don’t need more performance (i.e. Blender’s handling your game fine), then there’s no reason to choose another engine.

The licensing for Unity is fairly costly, in my opinion, and the fact that you have to pay extra for Android and iOS export feels unnecessary.

@3DLuver - I don’t think the code from Doom 3 is really that hard to come by, but rather the time to implement the techniques. Like AKIRA_B pointed out, more developers working on the BGE for the GSoC and a faster merging method for already completed patches (alpha shadows, for example) would be good.

i agree, there are some things that the bge needs more features, it also needs a particle system like Unity.

Agreed, it’s the main reason I’m not using unity for my personal projects. Also I don’t want that eyesore unity logo before my game. I’d put a unity logo in to support it but one I made.

I don’t think he means using the engine. I think he means harvesting its good features like an organ donor which I’m cool for.

This s a test bed level environment for a Pod Racer/F1 cross set about 2040. It’s still only 50% done but is just for working out the engine (Cryengine 3 free sdk), But the engine is far from free if a release is acheived and also once you add in price of distribution for example with steam your looking at 50-55% of profit straight out your pocket. The doom 3 engine was the basis for ID’s tech5 engine (not even the BFG version) so it shows it can be built on to acheive more modern and impressive rendering and level size’s/ game types, but if we could get a project started to intergrate to blender and keep adding new things like they did with the tech5 engine we all benefit compared to other payed for engines. We could even start looking at a typical donation sceme fot the dev of a blender based doom3 based game engine, id donate for sure.












If you care about game engines not being opensource, I’m sorry but you’re never going pro with a “true” game engine, all opensource game engines are very poor compared to the commercial ones. Even the ones opensourced by ID software, they were great some years before they open the source, if you believe they’re the good guys, i have bad news for you, they only open the source of their stuff once they’re sure it doesn’t worth that much.

Of course you can go fully opensource and top-notch, but not using a game engine, but OGRE, Bullet/ODE, OpenAl/IrrKlang, etc. but unless you have a full-blown company, it’s unpractical.

The question is: Is your product free and opensource, if yes, then it’s okay to use the opensource engines around. Good luck with that though, they’re full of caveats and issues.
If your product is commercial/freeware, then it’s better to stick with the commercial game engines just like everyone else.

Gamekit (by Mr. Coumans) is a good effort in the direction of a decent opensource “game engine” but it’s not quite ready yet. At the moment we don’t have good options at all.

And having to pay for Android/iOS is better than not having Android/iOS at all. People generally don’t work for free. People need money to live, so, I don’t expect people to just give away their work, there’s nothing wrong in paying for things imho.

@Rapgahroll, Agreed that pay for engines are much better than doom3 engine. For example my project im looking to release with cryengine 3 at some stage / Maybe UDK depending on UE4 UDK becoming available sooner than later. The idea i was talking about was long term, The doom3 engine is a good starting point for alot of the underlining code (look at call of duty series, think that has been running on a modified quake4 engine for years), And the awesome way that Blender constantly gets worked on for the benefit of all, a modified Blender game engine / Doom3 BFG engine that constantly has new work carried out could still be a handy tool for the future.

Yeah, I know. I was referring to the fact that (I assume) the math and code behind the features of Doom 3 isn’t really hard to find or come up with, but rather that it’s hard to find people willing to put the time into the BGE to implement the features. Martinsh and mokazon have already shown that they can add new features like area lights and subsurface scattering - it’s just about time and/or money to propel development forward.

@Repgahroll - Even if a game engine is poor, you can still use it for what it is. If you accept that a primarily 2D engine can’t do 3D well, then use it just for 2D, then you might be happy with it as it serves your purposes well. I personally don’t think the BGE is poor at all, as for what it is, it works very well.

I’m sorry but I find your rant here a bit ridiculous. Do you think these businesses are reinventing the wheel for every engine? Honestly the only thing that is being gutted from release to release is mostly the rendering engine (and the extending features of that system). More or less the industry and these companies have established what how their engines are structured and how they expect them to work and they will change very little from release to release other than catching up with the eye candy.

Do you think just because an engine costs half a million dollars to license suddenly it will work better for you than the same engine put out under open source license? The obstacle would stand as it does now regardless to the indie community – indie developers would not know what do with massive commercially developed piece of source code. That has always been the obstacle really whenever something is open sourced. Without massive documentation and support projects these sources are virtually useless to anyone unfamiliar to commercial development of this kind.

Unity has had success because it caters to making the engine accessible to develop on. UDK has had success because of huge amounts of support and an established modding community. Torque also. Blender has enjoyed some success because it is much a relief from all of those systems – it makes sense for the indie developer. Not that some people with a huge budget couldn’t make something incredible with it, but it would be hard to implement the industry standard development practices into making it work, despite some of the technological restrictions on it which can be overcome.

Fact is, if the GPL’d Doom 3 BFG was accompanied by a huge documentation and support effort, it would by far be the most powerful/modern open source tool available as of now. This effort can possibly come from the community, but historically these efforts do not come together quickly if at all (if you look at the other open sourced Id titles, I tried to get iodoom3 off of their git tonight and their server was not even running and I see dated posts that claim the same).

This is more or less the nature of being involved with open source developments though. Progress does not come quickly, but it comes inevitably when it should. However one thing has more or less become clear – those things which succeed as open source projects generally were designed to be open source projects. These open sourced commercial game engines never turn into much of anything because the source code is pretty much as useful as the binaries are for indies.

If there’s anything to salvage really, it’s the features which do not exist at high-level (or any level really) within the BGE. Hint hint… Would love to see some REAL multiplayer network code available… :wink:

You’re not completely wrong imo, I agree that the “community” efforts probably won’t be able to maintain the engine in a good state. I seriously doubt they’ll be able to prevent it from sinking into the sea of obsolescence, just like every other GPLed game engine from commercial companies.

No offense, but sincerely, what sounds ridiculous is thinking that they would give away all their technology and tools that are capable of competing with themselves. If they gave it away, you can be damn sure that it’s because it’s “harmless” to them. Harmless in the sense that no one will be able to make something good with that to the point of competing to their new products.

Seriously, gamekit is the best option if one wants to go opensource imho, I don’t know its current state, but the basic idea (Blender games with Lua support and compiled to native) is what sounds more promising to me. I’ve worked in the gaming industry, and if there’s something I learned is they’re no fools.

The fact is the gaming industry is completely “dominated” by commercial software, from assets creation (textures, 3d models, sounds) to engines and drivers. This won’t change in the near future, and certainly it’s not going to be a commercial money-thirsty company like ID software that will change that.

Well… yeh, somewhat.

As SolarLune has pointed out though, the problem is the manhours, ie how many people are willing/capable of working on improving the BGE. Theres not many atm, so progress is slow.

Also its not a matter of ‘adding’ the doom3 source engine/stuff to the BGEs code to suddenly solve all of the BGE’s problems. It would moreso be a good reference for devs upgrading/working on the game engine. ie to look at/compare how the doom3 engine handles certain things, then adapting that to the BGE’s architecture. The main issue would be that the engines both run differently in many ways, ie the underlying architecture is different, and changing that kind of thing means major overhauls.
It would be somewhat like taking the blueprints of a Ferrari and ‘adding’ it to a quad-bike design in the hopes of making something ‘better’ - ie thats not how things realistically work. But you could look at one or the other, and adapt certain things to then make a improved/different kind of quad-bike or Ferrari.

It would be a lot of work (as anything major like that is) and as SolarLune also mentioned, this stuff is already for the most part out there anyway.