Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
The Future of Modding
#1
Go into yourselves. Think about what modding (and I am referring to TS/RA2 modding here) will look like in exactly a year from today.
Some of you may think "RockPatch4" and "NPatch Santa Claus Edition" and "gufu's TS Patch", while others may not have any hope that tools like that contribute anything and that time will do its job and slowly make the community die out as people move on to work on modern titles.

I can almost assure you that none of these things are going to happen.

The TS engine has something with it that no other game has. The TS engine, after having been researched, was found to be a kind of RTS game maker, that allowed for simple modification of its workings.
It does not use any really compiled files (MIX files have quickly been broken), it does not rely on compiled scripts that only few could decompile and even fewer could understand.
The nature of being based on INI files has made the TS engine a target for many people to create their own twist in a game with ease.

And although by the time Renegade, Generals and lately even C&C3 have been released, this is the one feature of the engine that kept it alive and popular even today.
However, time is leaving its mark.
The attitude towards modding on the developer's side has changed entirely. While they formerly encrypted and compiled files so that nobody can steal content and modify the game, it is now a standard that a map editor is included, and newer games even bring their own SDK with them.

The TS engine is standing strong, which might be because of it's nature being a 2D game (and naturally, 2D games are easier to work with than 3D games).
Still, you see members leave and move on.
In the end, the set of possibilities is used out. If you do not come up with a total conversion, which has a huge lot of work involved, it has been done already and it is not special.
The motivation starting to work on a TC is not only limited by the amount of effort involved, but also by the question "Who am I doing this for?", seeing more and more people moving on and losing interest in this old TS engine.

Have executable modifications changed anything about this?
For a while, certainly. When the first version of my own product, the RockPatch, was released, the attention was exploding.
Suddenly, there was something new. Things that were said to be impossible became possible, modders who gave up on certain ideas suddenly felt a little bit of hope.
This hope lasted for a while, but the executable modifications took something away from modders that they loved most: total control over their own project.

Most people are not able to disassemble an executable, to understand what they see and to modify it to what they want, and can you blame them?
They completely rely on the developers for that matter, and there are only three people that have ever worked on these patches in the TS/RA2 community.
Quite frankly, three people can not live up to the expectations of a community which counts hundreds of people.
Everyone wants something else, the wishlists were filled to overflowing, the bug reports arrived in masses.

After all, all the exe modifications turned out useless, being heavily bugged and not giving people exactly what they want.

So, can we expect that in one year, nothing has changed? Will 2008 be a boring year for the TS/RA2 community?
Will we see "RockPatch4", "NPatch Holy Mary Edition Revision #1337" and another guy's TS patch?

I have, while developing RockPatch2, realized that there is nobody I am devleloping it for. Maybe 20 people have a major interest in it.
And, I do not know this, but maybe, these 20 people would have found RockPatch2 buggy and stopped using it as well.

After reading through the thread that I posted on DeeZire almost 3 years ago, announcing my first executable modification, I got an idea, immediately stopped RockPatch2 development and worked on realizing this new idea.
What if I told you that modding TS/RA2 will be changed forever some time next year?

My new project gives modders back their total control.
I have a working prototype of an application that allows for executing a specific procedure in an external module on demand.
That means, you create a DLL with an exported function and tell the application when to execute it.
The DLL name, the function name and the time to call it can be specified in what TS/RA2 modders love most: INI files.

Such a DLL can be coded up in C++ with ease.
Said application is not the only tool available. As soon as I finished it, I will start writing wrappers for C++, so that later, you can have something simple as "Unit->Kill( )" and it works.
How do you know the time when your function must be called? To be honest, this will be the hardest part to make easily understandable, but I already have an idea concerning that.

The goal is that those who know C++ and those who are willing to learn C++ can implement their very own features into the game (things like new SuperWeapons will be a piece of cake).
Those who do not know C++ can opt to use other people's work, and of course there will be a RockPatch2, just in a DLL. Wink

Making advanced development publicly available is only one of the benefits of this idea.
The most important thing might be the possibilities. It can take you an hour to write a long function in assembly. That function often requires hours of planning and researching.
All that was then. Now you can easily add to the game.
Heck, if I am able to come up with good drawing wrappers it might be an easy enough job to make a SuperWeapon that launches a game of Tic Tac Toe on the screen.
If you win, the enemy receives heavy damage, if you lose, goodbye. Tongue
Just one of many possible ideas.

And that's still not all. This system is pretty easily portable to any executable.
IE, Tiberian Sun and even Red Alert 1 will probably not be forgotten.

Prepare for a huge change next year.
Merry Christmas! Smile

-pd
[Image: jsfml.png]
Reply
#2
Awesome. Simply awesome.
Albert Einstein Wrote:Two things are infinite: the universe and human stupidity; and I'm not sure about the the universe.
Reply
#3
I'm...


Fuck yeah!
Reply
#4
Smartass. I'd like to kill you for your "wait til tomorrow, gordon" attitude. I wondered what your announcement could be, I thought a WE/EA guy sent you the sourcecode - but this is damn close to it!

Awesome idea/work!
[Image: osen2o7mpmm4jg1fs0.jpg]
Reply
#5
Thanks!

Close to it? It might turn out better... Tongue
Cause I bet the full game would take a while compiling... <.<
[Image: jsfml.png]
Reply
#6
Does this mean that RockPatch2 will take longer? Even if it does, it will still be cool to have a system like this. If we know C++, will this new system allow us to add our own features to the game? 'Cause that would be awesome!
"The present is theirs. The future, for which I really worked, is mine."
- Nikola Tesla

"My - y - my - your - my vision has permutated. My - y - my - your - my plans have followed a path unpredicted by the union of Nod and GDI. Your - my - our - our directives must be reassessed." - Kane/CABAL

[Image: 9853.png]
Reply
#7
Some things to keep in mind:
  1. Someone could write a DLL invoking malicious functionality, such as "echo boom > c:\boot.ini" or worse. Comes with the territory, I suppose.
  2. "Sufficiently advanced incompetence is indifferentiable from malice." Half of this community can't spell Prerequisite, Subterranean or VehicleTypes (though Westwood couldn't spell either - CanPassiveAquire, woo). Do we really want them running around with absolute minimal knowledge of C++ and spreading their creations around?
  3. As Blade has noted here, a central repository for useful DLLs would be beneficial. Along with that, it would make sense to store the source of those DLLs and have only trusted people post actual binary files, to minimise chances of malicious code.

Worth playing: 1 | 2 | 3
Reply
#8
1.
Sure, since you can make that DLL do whatever, you can also do things like that.
I also believe that cheaters will be using it. Unhappy
It's the side effects this kind of project brings with it, but IMO it's no reason to leave it.
3. might solve it.

2.
Or "Verses"... Wink
It depends. n00bs are always around. We had n00bs making n00bish mods already, and n00bs will "move on" and create n00b DLLs. Again, 3. could be a solution for being able to avoid n00b libraries.

But minimal C++ knowledge doesn't mean n00b stuff.
IMO, this project can be helping some people to get into C++, because instead of opening a book with the first page listing 50 lines of hieroglyphs in order to get a window on the screen, they can easily get results in an already familiar environment.

3.
Totally agreed. A storage for authentic (not necessarily useful, the term "useful" is very subjective concerning mods) DLLs should be the best way to filter out crap.
Your idea about only authentic people being allowed to post binaries doesn't sound bad either.

Completely avoiding the creation of crap will not be possible, unless I only give out the wrappers on demand (per E-Mail or something), but even that has its leaks.
[Image: jsfml.png]
Reply
#9
Re: #3. RenProj has its own SVN server, I'm pretty sure setting up a repository for a project, putting source of DLLs there, and giving anon=read / trusted=commit access, and building binaries off that is doable. Bughouse could be used for guest submissions like mozilla does, or something else could be arranged. Of course, that depends on having active and knowledgeable maintainers...
How cool is svn://future.svn.renproj.com/libraries/trunk/wishlist.cpp ? Tongue

("useful" was in reference to Blade's idea of a community DLL realising the old wishlist and such. But, even though admittedly everyone has their own idea of "useful", it doesn't mean such a project cannot accommodate them all.)

Worth playing: 1 | 2 | 3
Reply
#10
How will this be deployed? As far as I can tell RockPatch 2 is still just a single replacement executable and mods then include whatever DLL files they require loose in the RA2 directory?

(Thinking about how Launch Base features in all this.)
Ever wondered what the hell is going on?
Believe me friend you're not the only one.
--Lysdexia

Check out Launch Base for RA2/YR - http://marshall.strategy-x.com
Also home to the Purple Alert mod, 1.002 UMP, and the YR Playlist Manager.
Reply
#11
Ideally you'll have a community DLL with a large number of wanted features implemented that will get distributed as standard with the initial exe patch I would say so you have a standard base for modders to work from as they do now with the rockpatch/npatch (well okay, thats not quite standard now) and the TX.
Reply
#12
Blade speaks truth. Building from the RP2.dll as the standard base, each mod will go off on their own tangent with custom features in their mod-specific dll.

Sounds like a perfect plan.
[Image: hiatus.png]
Reply




Users browsing this thread: 1 Guest(s)