Jump to content
Sign in to follow this  
Zombie_Mod

Possibility of releasing OFP source code?

Recommended Posts

Dear all,

Operation Flashpoint is my favourite game. I've had it for 3 years now, and am always on the all-seeing-eye looking for a game of AGSF Hexenkessel - my favourite map of all time smile_o.gif

As 3 years have elapsed, graphics and sound have improved immensely, and I now find myself looking at OFP 1 with... well, it's not Far Cry visually, is it? OK, the AI is still unsurpassed, I admit that, even though it can't climb ladders or rearm itself automatically.

I think BIS should release the SOURCE CODE of SOME components within the system, which you could alter and build with VC++.  Note: I said SOME components, not ALL. You think I want people to start creating new and inventive ways of making boats drop from the sky?rock.gif

Wouldn't you like to upgrade the renderer? Why use hacks (no offence) like DXDLL that trick OFP into loading the wrong DLL, when you can change the code of the renderer itself? Does DirectX 9.1 compliancy not sound tempting?

what about the scripting runtime? Would you not like the opportunity to have more than 64 groups?

what about allowing the AI to rearm itself?  

By all means, keep the proprietary FADE and VBS1 shared code a secret, but give us the tools to extend the scripting language and number of available groups within the system. How hard can it be to give us direct access to internal structures within OFP? (e.g. arrays of units)

This is only an idea. I will reply with the same courtesy people show me  biggrin_o.gif

Share this post


Link to post
Share on other sites
Wanting to violate that liscence agreement huh? mad_o.gif

1st reply in and civility has gone already.

*sigh* why do I bother?

EDIT:

How would it be VIOLATING the license agreement? I'm not reverse engineering, decompiling, electronically transmitting anything, just extending.

So, please explain?

Share this post


Link to post
Share on other sites
Wanting to violate that liscence agreement huh? mad_o.gif

Where was that for?

Sure it would be great, but, realistically, I don't think that this could happen. Which game developer would release game code which has been written by professionals for years for free? (or parts of it) They may rather sell it to you, like other developers do with their engines.

I'm also for open-source, but I think this is a bit, well, too much to ask from a small company that has to keep itself alive and has a contract with a producer that probably wouldn't like to see such things . . .

Share this post


Link to post
Share on other sites
yeah! open source lead the way!  smile_o.gif

Not open source exactly.

I just want to be able to peek at OFP's internal arrays using a well-defined, concrete API or suchlike.

For example, wouldn't it be nice if you could write this function and run it with OFP, to extend the scripting language:

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">

#include "Flashpointtypes.h"

OBJECT *NearestObjectOfDerivedClass(char *szClass, OBJECT obj)

{

   DISTANCE dist = {99999,99999,99999};

   DISTANCE bestdist = dist;  

   OBJECT *pNearestobj = NULL;    /* Object which is nearest */

   for (int j=0; j< FLASHPOINT_MAX_OBJECTS; j++)

  {

     if (stricmp(szClass, objects[j]->szBaseClassName) == 0)

    {

        /* Compute distance between obj and current unit */

         GetDistance(obj, objects[j]->Position, &dist);

         if (dist < bestdist)

         {

         bestdist = dist;

         pNearestobj = objects[j];

         };

    };

  };

  return pNearestobj;

};

Share this post


Link to post
Share on other sites
Wanting to violate that liscence agreement huh? mad_o.gif

Where was that for?

Sure it would be great, but, realistically, I don't think that this could happen. Which game developer would release game code which has been written by professionals for years for free? (or parts of it) They may rather sell it to you, like other developers do with their engines.

I'm also for open-source, but I think this is a bit, well, too much to ask from a small company that has to keep itself alive and has a contract with a producer that probably wouldn't like to see such things . . .

I'm not asking for Open Source. I want to extend certain components, not all of it.

PS:

Quake 3 source code was released, as was Quake 2, Doom 1 & 2, Wolfenstein...

if you could extend OFP, BIS might make more money than not.

Need I mention the Counterstrike mod for Half life - a 7 year old game, still going strong? It keeps Valve's revenues ticking over...

Share this post


Link to post
Share on other sites

Because it was obsolete and wasn't been improved by the developers of said code. OFP 2 is an update of the original code, the Quake games are re-written with each engine version.

Share this post


Link to post
Share on other sites
Which game developer would release game code which has been written by professionals for years for free?

lets see...

- ID software (Wolf3d, Doom, Doom 2, Quake, Quake 2, Quake 3 source code)

- Parallax software (Descent, Descent 2, Descent 3 source code)

- Volition (Descent Freespace 2 source code)

- 3D Realms (Duke Nukem 3D, Rise of the Triad source code)

- Crack Dot Com (Abuse source code)

- Relic (Homeworld source code)

- Rebellion (Aliens vs Predator source code)

- Microsoft (Allegiance source code)

- Activision (Civilization Call to Power source code)

- Razorworks (Enemy Engaged - Comance vs Hokum source code)

And propably a few more wink_o.gif

Share this post


Link to post
Share on other sites
Because it was obsolete and wasn't been improved by the developers of said code. OFP 2 is an update of the original code, the Quake games are re-written with each engine version.

But the Quake 3 mods still work. ID may change the internal operation but the API still remains the same.

I am talking about creating an API for Flashpoint.

How difficult can it be for BIS to create this:

1) LoadLibrary "CustomUserExtension.DLL"

2) Call Initialise() procedure passing address of objects array

3) Let the developer do the rest.

All BIS would have to give us is a header file defining the internal structures used in OFP - hell, they'll already have one tounge_o.gif

PS:

Where did you get your information that BIS are just upgrading the same AI core? I am interested...

Share this post


Link to post
Share on other sites

When did I say that? I said the original engine core is being updated. The game engines Keg listed (as far as I'm aware) are no longer used by their devlopers now. They use a newly written engine, they just have similarities because of the obvious reason... they were written by the same people.

It'd be nice to do the changes you're on about but I don't think BIS will be doing this any time soon, not when they're busy with OFP 2 and OFP Elite for Xbox, that and the engine is an upgrade of the current one.

Share this post


Link to post
Share on other sites
Which game developer would release game code which has been written by professionals for years for free?

lets see...

- ID software (Wolf3d, Doom, Doom 2, Quake, Quake 2, Quake 3 source code)

- Parallax software (Descent, Descent 2, Descent 3 source code)

- Volition (Descent Freespace 2 source code)

- 3D Realms (Duke Nukem 3D, Rise of the Triad source code)

- Crack Dot Com (Abuse source code)

- Relic (Homeworld source code)

- Rebellion (Aliens vs Predator source code)

- Microsoft (Allegiance source code)

- Activision (Civilization Call to Power source code)

- Razorworks (Enemy Engaged - Comance vs Hokum source code)

And propably a few more wink_o.gif

Damn you beat me to it crazy_o.gifsmile_o.gif

Share this post


Link to post
Share on other sites

I think releasing some of OFP as open source would definately be a good thing. Maybe BIS could put in the license to the source, that none of the source code could be used in another game, or to make money. smile_o.gif Having some of OFP as open source would also help the game stay alive in the several years before OFP2 will probably come out. Maybe even some user made mods, making modifications or additions to the source, could even be used in OFP2.

Share this post


Link to post
Share on other sites
When did I say that? I said the original engine core is being updated. The game engines Keg listed (as far as I'm aware) are no longer used by their devlopers now. They use a newly written engine, they just have similarities because of the obvious reason... they were written by the same people.

It'd be nice to do the changes you're on about but I don't think BIS will be doing this any time soon, not when they're busy with OFP 2 and OFP Elite for Xbox, that and the engine is an upgrade of the current one.

The original engine core contains the AI.

The Quake 3 game engine is used in Soldier of Fortune 2 - now that game's only a year old, oh yes, then there's Call of duty...

Finally, haven't you heard of the saying, "if you don't ask you don't get"? Consumer demand? tounge_o.gif

I think it's about time BIS released an API, to acknowledge all of the people who love OFP and have invested time and effort in creating addons for their game - for free - and want to do more. I'm talking from experience here.

Mods are popular - tell me how many major games are released nowadays that don't include some kind of modding tool?

Doom 3 and Far Cry were practically DESIGNED for modders. Oh yes, and Battlefield 1942/ Vietnam (cough).

Share this post


Link to post
Share on other sites

Personnally i would love to see what could be seen ,performance or graphic wise, from an OpenGL port of Operation Flashpoint.

Maybe when OFP2 will be released , the source code (or a part of it, to protect some proprietary features) of the first OFP could be offered to people capable of doing something with it.

Share this post


Link to post
Share on other sites

Soldier of Fortune 2 is more than a year old. CoD and SOF 2 aren't made by id either, they bought the licence to use the engine. That's the thing. If you're going to be making money from it you have to pay to use it, they released the source freely so people can make their own games, but you still need a lisence to go commerscial. I just don't think you pay any royalties (or less at least) to the company that made the engine. It was past it when CoD came out anyway IMO, they did a nice job with it but I think that was down more to the fact most of the team worked on MOHAA which also used the same engine, so they knew it well. It's easier than getting a totally new one and having to learn the ways of that then making the game, they could jump straight into making the game with CoD.

Anyway, if they do release some of the source, then sure it'll be a good thing, but I wouldn't hold your breath, they're busy enough I'd say and anything that decreses the time they spend on OFP 2 will be bad for them, and bad for us as we'll just complain when they say they need even more time.

Share this post


Link to post
Share on other sites

Who wants to make money?

That's the key - you may think I want to create addons and rewrite flashpoint's AI for monetary gain, but I don't.

Take my great friend Mig for example, I asked him why he creates so many addons for OFP - he replied, "for the love of the game". He's not insane, I think biggrin_o.gif

I showed you in a previous post how easy it would be for BIS to extend OFP. 3 lines of code!!!!

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">

HMODULE hCustomAddon = ::LoadLibrary("CustomExt.dll");

if (hCustomAddon == NULL)

   goto OhNoItsBroken;

else

{

   FARPROC pProc = ::GetProcAddress(hCustomAddon, INDEX_OF_OUR_CUSTOM_PROC);

   /* Call procedure at pProc, passing address of OBJECTS array */

};

Now, how easy is THAT?

Share this post


Link to post
Share on other sites

I didn't say you wanted to make money, I'm saying other "free" engine sources are free to a point. It's different making simple mods, the other game engines are free because the dev's know if anyone wants to make and release a game they'll have to still pay to use the thing through a license fee.

Share this post


Link to post
Share on other sites
I didn't say you wanted to make money, I'm saying other "free" engine sources are free to a point. It's different making simple mods, the other game engines are free because the dev's know if anyone wants to make and release a game they'll have to still pay to use the thing through a license fee.

Well there you go.

Everyone who has made an addon/mod for flashpoint has done so free of profit for 3 years now, so we won't have any issues when BIS create an API.

Problem solved tounge_o.gif

Share this post


Link to post
Share on other sites

Once you discover the source code some other company might just steal OFP! mad_o.gif Thats why there is a liscence agreement to keep any 3rd party from becoming rich off of BIS's creation. mad_o.gif And your asking for something that is not obsolete and is still in production to release the source code?! That will have catostrophic effects sad_o.gif

You see people?! that is why a liscence agreement is here mad_o.gif

Share this post


Link to post
Share on other sites
Quote[/b] ]How difficult can it be for BIS to create this:

1) LoadLibrary "CustomUserExtension.DLL"

2) Call Initialise() procedure passing address of objects array

3) Let the developer do the rest.

Quite difficult. We have no plans to do this - certainly not for OFP:CWC.

The three lines of code you suggest would provide almost nothing - what would be the "objects array"? How would it be created? What interface would your CustomUserExtension.DLL use to access OFP objects? Designing modular DLL system is not this easy (and it is not even likely we will take this path for OFP2 - extending the possibilities, usability and performance of the scripting language is more likely to be expected).

Share this post


Link to post
Share on other sites
Once you discover the source code some other company might just steal OFP! mad_o.gif Thats why there is a liscence agreement to keep any 3rd party from becoming rich off of BIS's creation.

No, thats why there is the copyright law which forbids such.

Quote[/b] ]mad_o.gif And your asking for something that is not obsolete and is still in production to release the source code?! That will have catostrophic effects sad_o.gif

You see people?! that is why a liscence agreement is here mad_o.gif

The license agreement is nothing but a "its not our fault if things go wrong because of our product" statement, its not a legally binding contract (at least in my country). And if a separate source code release would be done, it would have absolutely nothing to do with the OFP license.

I fail to see why it would have catastrophic effects to release a source code? There's propably nothing that special in the OFP source, and, if such source would be released, no game developer would be so dumb to copy code from there.

Share this post


Link to post
Share on other sites
Quote[/b] ]How difficult can it be for BIS to create this:

1) LoadLibrary "CustomUserExtension.DLL"

2) Call Initialise() procedure passing address of objects array

3) Let the developer do the rest.

Quite difficult. We have no plans to do this - certainly not for OFP:CWC.

The three lines of code you suggest would provide almost nothing - what would be the "objects array"? How would it be created? What interface would your CustomUserExtension.DLL use to access OFP objects? Designing modular DLL system is not this easy (and it is not even likely we will take this path for OFP2 - extending the possibilities, usability and performance of the scripting language is more likely to be expected).

Yes!

Thanks Suma, it's much better to have a statement from the devs themselves than to have a 20 pages thread with speculations and false rumours.

Share this post


Link to post
Share on other sites
Quote[/b] ]How difficult can it be for BIS to create this:

1) LoadLibrary "CustomUserExtension.DLL"

2) Call Initialise() procedure passing address of objects array

3) Let the developer do the rest.

Quite difficult. We have no plans to do this - certainly not for OFP:CWC.

The three lines of code you suggest would provide almost nothing -  what would be the "objects array"? How would it be created? What interface would your CustomUserExtension.DLL use to access OFP objects? Designing modular DLL system is not this easy (and it is not even likely we will take this path for OFP2 - extending the possibilities, usability and performance of the scripting language is more likely to be expected).

The objects array would be a linked list of objects present on the map, which the OFP game engine would pass as a parameter to a procedure in the shared DLL.

Think of the array as a list of units (similar to that returned by a trigger) except the engine would return struct's with more detailed unit information such as side, skill, velocity etc (things you can't change with the scripting language) which you can modify directly.

You mean to tell me that's not how it is in OFP? This I MUST see. I'm tempted to use SoftIce and find out myself <-- PS THIS IS A JOKE biggrin_o.gif

Thanks for your input Suma.

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  

×