Jump to content
Sign in to follow this  
Zombie_Mod

Possibility of releasing OFP source code?

Recommended Posts

Since the release of OFP2 is far away, I do believe we NEED some physics or ai updates in the meantime. Either with a new official patch or an unofficial one. The limits of the engine are getting more annoying by the day. I'm sure the community could make miracles with the source code. It worked for Falcon 4.0 - it was buggy as hell when it came out, but after the source code was released the community made some amazing patches and updates. It soon became the best simulator you can get. smile_o.gif

Share this post


Link to post
Share on other sites

Just out of idle curiosity, a large number of games were listed as having had their source code released, what was that used to create for the respective communities that couldn't have been created with "regular" tools?

Share this post


Link to post
Share on other sites

To follow up what placebo said, you only have to look at what RHS is doing to see that advances are still being made, without offical tools.

And just look at the quality of the new csla island...

I think everypne blows their load over the prospect of "offical" tools, Then they get them and nothing happens, or the reverse, a flood of poor quality work.

However to back up what Norris said - If a talented mod team got the tools, the effects could be huge and add alot of advancements to the game

Just my 2cents

Share this post


Link to post
Share on other sites
Just out of idle curiosity, a large number of games were listed as having had their source code released, what was that used to create for the respective communities that couldn't have been created with "regular" tools?

Well, at least there's the various source ports of Doom (like jDoom or Doom Legacy), and Free Allegiance, and I remember seeing some Freespace 2 based mods that use a modified source. There's also some sourceports being made for Duke 3D, though they are in quite early stages as the source hasn't been out for a very long time yet.

In addition to actual mods, source ports and such, the source codes are great for beginner/hobbyist programmers to learn how the "big boys" do things in the game industry.

edit: Tenebrae is a quite nice Quake mod too, it allowed to have a "sneak peek" in Doom 3 style graphics a good while ago wink_o.gif

Share this post


Link to post
Share on other sites

The biggest problem is how to appropiately seperate the codebase. OFP is currently combined into one app, and what Suma was hinting at was that there would need to be a significant amount of OFP2 / VBS work that would have to be put on hold to handle this.

Lets take the Quake2 code for example. It uses two files, a quake2.exe and a gamex86.dll. The code for the later was released for non-commercial development, that's where all the mods and Halflife came from.

The exe handled all the Windows specific code, the restricted graphics engine, the early cd-check routine, and other misc. material.

One of the likely interests if we had code would be physics. However, I don't know if that is propietary Immersion Foundation Classes or not. I presume that would require an additional wrapper to protect the protection, and when you get messes like that you either kill performance or you make costly mistakes. Fade and EAX come under this catagory as well.

Now the netcode and graphics might be an option, however that is still going to require a significant amount of BIS work to be able to open those sections, for how much likely input? Since we haven't seen the code, and in any case wouldn't be able to get the appropiate context, we wouldn't know the base point of where our desired changes would really need to start.

In short, while I would love to see the code for OFP, it's not real practical due to licensing and NDA's with Codemasters, Immersion, Creative, and probably MS too.

The solution? SDL and OpenGL, but that pushes things W-A-Y out on the time frame.

Share this post


Link to post
Share on other sites

I don't know for others, but I wouldn't be interested in editing the OFP graphical engine at all.

All I'd want would be creating those long needed scripting commands and perhaps a script-compiler, so we gain a lot of performance from scripts.

Needed script-commands would be something like createMarker,createTrigger,setMarkerText,setMarkerDir,getNormal (or getPitch,getRoll and stuff) and of course setNormal (setPitch,setRoll,...),saveFile,stringToArray,and others. Some of these should be very trivial ones.

With the source code we could perhaps overcome some engine limitations, so we could have multi-proxies, Missiles on wheeled vehicles, non-scripted VTOL, half-track, more than 8 wheels, multiple guns, a.s.o.

The scripting commands shouldn't be hard to make; changing the game code to overcome engine limitations is the hard stuff.

I guess BIS won't release the source code or parts of it; that's quite OK, they have done more for this community than they had to.

But nevertheless I would be quite glad if we could get those mentioned scripting commands or at least the new scripting commands to be found in VBS.

EDIT:

Forgot one thing: Fixing the SaveGame Bug smile_o.gif

Share this post


Link to post
Share on other sites
I don't know for others, but I wouldn't be interested in editing the OFP graphical engine at all.

All I'd want would be creating those long needed scripting commands and perhaps a script-compiler, so we gain a lot of performance from scripts.

Needed script-commands would be something like createMarker,createTrigger,setMarkerText,setMarkerDir,getNormal (or getPitch,getRoll and stuff) and of course setNormal (setPitch,setRoll,...),saveFile,stringToArray,and others. Some of these should be very trivial ones.

With the source code we could perhaps overcome some engine limitations, so we could have multi-proxies, Missiles on wheeled vehicles, non-scripted VTOL, half-track, more than 8 wheels, multiple guns, a.s.o.

The scripting commands shouldn't be hard to make; changing the game code to overcome engine limitations is the hard stuff.

I guess BIS won't release the source code or parts of it; that's quite OK, they have done more for this community than they had to.

But nevertheless I would be quite glad if we could get those mentioned scripting commands or at least the new scripting commands to be found in VBS.

EDIT:

Forgot one thing: Fixing the SaveGame Bug smile_o.gif

Yeah, it's a shame that it's not going to happen though. Personally I don't like faffing around with o2 & ogg files, but I could definitely see myself doing a lot of work extending the scripting language and tweaking the AI sad_o.gif

I am a bit surprised that OFP 2 won't be extensible in the way other new games are - could BIS be shooting themselves in the foot??

I expect Flashpoint and it's sequel won't be the only squad-based game with decent AI (the only thing that separates OFP from the likes of BF1942, Ghost Recon etc IMHO) in the near future.

Share this post


Link to post
Share on other sites

Open source is one thing.

Making money with your company is another.

I can understand BIS politics to not giving something "open source like".

But why not selling another upgrade like Resistance, with some engine limitations removed and better performance with newer hardware(I heard VBS1 performance is much better).

I have money here, I would like to invest into BIS.

There is a long waiting time till OFP2 release, so why not sell another upgrade for the best game of it's genre?

MfG Lee wink_o.gif

Share this post


Link to post
Share on other sites
I expect Flashpoint and it's sequel won't be the only squad-based game with decent AI (the only thing that separates OFP from the likes of BF1942, Ghost Recon etc IMHO) in the near future.

The only thing? Ummm you need to refresh yourself a little, there are many, many things that makes it superior, first one that springs to mind is freedom........

Share this post


Link to post
Share on other sites
But why not selling another upgrade like Resistance, with some engine limitations removed and better performance with newer hardware(I heard VBS1 performance is much better).

As VBS and OFP share the same code (I guess  smile_o.gif  ), it shouldn't be too hard to port at least the new scripting commands to our OFP:R.

But I guess the "Open Source"-way would be preferable as it wouldn't take time away from developing OFP 2.

BIS could release the source code to people who apply for it and sign a NDA. I think this would be rather acceptable for BIS than opening the code for everyone to see.

Quote[/b] ]The only thing? Ummm you need to refresh yourself a little, there are many, many things that makes it superior, first one that springs to mind is freedom........

Yes the freedom and the very good scripting language (though could be improved a lot) are advantages of OFP. So seen, I'd say OFP is almost perfect.

Nevertheless, there spring many things into my mind we could improve in our current OFP. First of all, fixing some "minor" bugs like save game or the repair bug.

Remove some engine limits, like no missiles for wheeled vehicles, no laser designator for tanks,planes,vehicles.

then improve some things like the whole ammo/magazine/weapon-config stuff which isn't very logical.

Probably this will be all done by BIS for OFP 2, but I would like to see some of those right now. Like Lee, I would pay for those minor enhancements, just to ease the waiting time for OFP 2 smile_o.gif

Share this post


Link to post
Share on other sites
I expect Flashpoint and it's sequel won't be the only squad-based game with decent AI (the only thing that separates OFP from the likes of BF1942, Ghost Recon etc IMHO) in the near future.

The only thing? Ummm you need to refresh yourself a little, there are many, many things that makes it superior, first one that springs to mind is freedom........

As I play Flashpoint every day, and develop addons for it, I can assure you I don't need to "refresh" myself at all rock.gif

Yes, OFP has "freedom", as you put it, but what's the point in being able to go anywhere if:

a) The AI can't climb a ladder

b) The AI gets stuck in houses

c) The AI gets stuck in tight alleys (Afghanistan island, anyone?)

Need I go on?

I still love OFP, that's why I continue to develop for it, but there are MANY things that could be improved.

Share this post


Link to post
Share on other sites
a) The AI can't climb a ladder

b) The AI gets stuck in houses

c) The AI gets stuck in tight alleys (Afghanistan island, anyone?)

You dont change the AI to suit your addons... you change your addons to suit the AI. Most of these problems are due to bad waypoints and placements in the house or the island. And while the AI wont go and climb a ladder by himself, I've told my AI to go climb a ladder and sit on a roof plenty of times.

Share this post


Link to post
Share on other sites
a) The AI can't climb a ladder

b) The AI gets stuck in houses

c) The AI gets stuck in tight alleys (Afghanistan island, anyone?)

You dont change the AI to suit your addons... you change your addons to suit the AI. Most of these problems are due to bad waypoints and placements in the house or the island. And while the AI wont go and climb a ladder by himself, I've told my AI to go climb a ladder and sit on a roof plenty of times.

Have you ever tried telling the AI to climb a ladder inside a house?

Have you had any success in the towns in Nogova, with the larger buildings (e.g. multi-storey flats)

If so, can I see a video of how you did it please, because I'm buggered if I can manage it.

Also, can you show me how to order an AI to move into another room within the same house, as that doesn't appear to work for me either in single player.

Share this post


Link to post
Share on other sites

I dont want source code to be released. No Way! I just can imagine how many new l337 h@xorz we will be seeing with sc released...Online play is the only thing kept me on playing OFP for the last 2.5 years - and I dont want my gaming experience to be ruined... crazy_o.gif

Share this post


Link to post
Share on other sites

It wouldn't have to be like that. However, the time and effort required to significantly restructure the code to secure third-party licensed libraries and provide an infrastructure to enforce verification to meet MP's needs would take a huge pile of time and effort. I would like to see that done, but in the OFP2 track. Regettably, retrofitting OFP1 would be a major distraction and delay imho for BIS.

Share this post


Link to post
Share on other sites

Suure I would not mind if OFP was open source, but only open to me. tounge_o.gif

I think it would be a huge mess in the end, can ytou imagine trying to get some MP game going with everyone running different compiles of OFP. biggrin_o.gif Cheating?

OKay, I see the huge benefits that are possible as well, but I doubt we will see this anyway, especially since VBS appears to share the same code and is being sold etc.

Share this post


Link to post
Share on other sites
I think it would be a huge mess in the end, can you imagine trying to get some MP game going with everyone running different compiles of OFP.

On the other hand, maybe someone can implement ingame join for MP.

That would be wonderful!

MfG Lee

Share this post


Link to post
Share on other sites
Suure I would not mind if OFP was open source, but only open to me. tounge_o.gif

I think it would be a huge mess in the end, can ytou imagine trying to get some MP game going with everyone running different compiles of OFP. biggrin_o.gif Cheating?

OKay, I see the huge benefits that are possible as well, but I doubt we will see this anyway, especially since VBS appears to share the same code and is being sold etc.

There's already huge problems with different mods and MP. FDF doesn't work with any other mods, GMR, ECP, Y2k3, CSLA the list goes on and on. I don't see how it could get much worse. Maybe if (atleast part of) OFP was OSS then people/mods would have to work together more, instead of just thinking that everyone should use their mod and nothing else.

Quote[/b] ]I dont want source code to be released. No Way! I just can imagine how many new l337 h@xorz we will be seeing with sc released...Online play is the only thing kept me on playing OFP for the last 2.5 years - and I dont want my gaming experience to be ruined... crazy_o.gif

If OFP was open source then perhaps someone could create an anti-cheating system, maybe something along the lines of PunkBuster.

I would doubt that BIS is making too much(probably not any) money off of OFP these days. Releasing part of OFP as open source would help get more publicity for VBS and OFP2. Maybe BIS could even license some of the code to companies who want to use some of the code in commercial and proprietary games.

And like I said before, BIS could use some of the code that people add in OFP2. It would be a way for them to make OFP2 better out of the box, and it would also keep their costs down by not making them hire more people. I could imagine that BIS is a little tight financially.

Share this post


Link to post
Share on other sites

I can't see what the problem is with multiple DLLs.

You have multiple addons that have to be acquired and managed, so what's wrong with DLLs?

As you have requiredAddons[] array in config.cpp, why not requiredDLLs[] ?

Don't give me that rubbish about "how would you find these DLLs" . You'd find them the same way C++ developers have been finding libraries to statically link to their EXEs for years - ie: GOOGLE tounge_o.gif

Maybe you could autodownload the DLL using a SOAP request, e.g.:

requiredDLLs[]="ZombieMod.DLL <metadata><requiredversion='1.1.9'> <SOAP='www.zombiemod.com/aspx/downloadmod.aspx'/></metadata>"

Anyway, it's up to the consumers now. If the consumers ask, they might get!! Maybe we should start a petition to BIS tounge_o.gif

Share this post


Link to post
Share on other sites

I think the cheating-problem is not really a problem. Those who really want to cheat, are already cheating.

If they are intelligent enough to change the OFP code, then they are intelligent enough to either find some cracks/cheats/whatever or disassemble the OFP exe and change it themselves.

I am quite against the DLL-stuff because of one thing: Linux.

People had to accompany a SO with their DLLs; and there are quite a lot of people who only do Windows, even in Programming.

On the other side, there are less problems with the OFP scripting language. It's a lot easier to script addons than programming them; hopefully BIS will improve the language and make a script compiler as they already mentioned.

Share this post


Link to post
Share on other sites

To add on Keg's examples, since Razorworks released EECH source-code, 2 ou 3 new builts have been created, enhancing netcode, cockpits rendering, and many other things.

Another Flight Simulator has seen its source code released, Battle of Britain, by Rowan Software, and the benefits have been huge, really huge. The new BoB is nothing comparable to the last version pre-release of source code.

When you have a tight community behind the game, you can be almost sure that releasing the source code will be beneficial.

Problem is : large communities are usually not in agreement over what to do for the game to be better, leading to a bit of a mess on the changes done (see Falcon4 unofficial code release, and the version mess it is today). BoB comunity was not big, and the goals were clear : make a better graphic engine (IL2 and Forgotten Battles had put new standards in Flight Simulations graphics by this time), and enhance the multiplayer experience.

Second issue is BIS reusing good chunks of OFP original code. Permitting other pples to do some work in parallel to yours is a bit of shooting in your own foot ;)

Share this post


Link to post
Share on other sites

Where the analogies to other games hits a crossroads is that for example quake 2, all the AI and physics and weapons specs are all compiled into the .dll or .so. In OFP, we've been lucky to have the definitions external in config files, but those values disappear into the physics black hole of the exe.

Look at the explanation of how CoC built their artillery system. They set up a firing range and logged the position of countless shells fired to try and guess how the physics system worked, so that they could know what values to feed into the system.

Unfortunately, as there has been no universal acceptance of a unified config system aside from BIS's, edc's comments about opening the source would sadly be the likely outcome. Now if you could make the core abstract enough to support dynamic component loading and unloading in-game (not in mission of course), that would be a start. But until there is more universal standardization, encouraging further fracturing is counter-productive.

Share this post


Link to post
Share on other sites

This is quite funny, this talk about "fracturing" smile_o.gif

Why do I bother producing C++ libraries with VC++ if it would "fracture" MFC or WTL?

Why does anyone? Besides who is talking about submitting the DLLs 3rd parties produce as "standards"?

If you take that "oh I better not write anything as I'm afraid it might fracture the product" you're better not writing anything at all.

In short, why develop as a 3rd party if you are afraid the end product is going to spoil things? Isn't that worth the risk?

Why should everyone conform?

EDIT: After reading this again, I sound like a complete asshole. My apologies if you think I'm having a go at you. Let's keep this discussion civil. Shit, I can be a real moody feck at times!! smile_o.gif

Share this post


Link to post
Share on other sites

While i'm no programmer or anything, I'd just like to remind of the fears people (and also BIS) had about releasing OFP editing tools O2 and Visitor to the public with arguments like 'we're going to get swamped by sub-standard addons!'.

Now we can all probably agree that it was the best thing ever happened to OFP.

Share this post


Link to post
Share on other sites

I have an idea...

Does anyone here play Il-2? If you do, you know that the "public" modding community is virtually non-existent. Why? Because no development tools exist for the public and Oleg keeps VERY tight reigns on everything.

However, that isn't to say that there is no community participation...

Maddox Games allows a very select few outside people access to their internal development tools. They are of course bound by various contracts, NDAs, and other legal agreements, but this allows people to do things like develop maps (which is apparently an extremely time-consuming process for Il-2, hence the reason that Maddox Games is not a big fan of creating more of them) without developer intervention. The finished product gets submited to Oleg and if it passes muster it gets included in a patch. This saves MG time and money but still allows new content to be added to the game with minimal effort on their part.

Would it be at all possible (and this is mostly directed at Suma) for BIS to work out something similar with a few key members of the OFP community? I understand that you guys probably don't want to dump a whole lot of time into OFP at this point - it isn't going to get you any more money and you have another game to develop. However, if somebody else could actually do the time-consuming labor, I can't see how it would hurt anything.

As I see it, the updates to the engine and scripting language would be subject to approval by BIS and would be released only in official patches. Those with access to sensitive tools and code would be legally bound to keep quiet about it and not distribute anything. It sounds win-win to me. The community gets what it wants and BIS doesn't waste effort or compromise any of their IP.

Is this at all feasible? It works pretty well for Maddox (half of Pacific Fighters is seemingly being made by players that worked their way onto a payroll by developing prior things for Il-2 - they probably wouldn't have the resources to develop the whole thing internally in a timely manner since Battle of Britain is currently in development) Like I said, I highly doubt that BIS is going to open up any part of OFP to the general public and I also doubt that Suma is going to be staying up nights tinkering with the OFP1 version of Poseidon at this point.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×