Posted: Mon Dec 24, 2007 10:00 am Post subject:
The Future of Modding
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.
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.
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!
"Who am I doing this for?", seeing more and more people moving on and losing interest in this old TS engine.
That Is one of the reason's why I've gave up on many projects in the past. The thought that all the work I would have put into a project, and no-one would even like it or worse kind of puts me off. Long before the mod Derelict Soul was announced. I Had been working on a project by myself for a long time, right before I had even got actually any good at modding. I never announced It, sadly. And then, one day, I just thought to myself, "...Whats the point? I Wont get anything out of it."
Quote:
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.
This is Fantastic news. It sounds like a great idea, even the newer modders could easily use this correctly due-to the use fact the information can be specified in the .INI files.
Quote:
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.
Excellent! I'll be keeping my, Evolution project hidden until I Hear more news about this, then.
Thank you, PD.
Oh, And Merry Xmas to you, and the rest of PPM. QUICK_EDIT
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.
This is exactly what kept me working on a TS mod after two years of no significant progress (except total re-design). Tiberium Wars has been released, and it has offered many possibilities a TS engine could never provide, but still something keeps me working with TS, instead of "moving forward".
This new project sounds unbelievably awesome. I'm happy to learn more of C++ language (I know some of the basics). Best of, this doesn't forget INI editing - The most simple and the easiest way of game editing, I must say. _________________
Won a cookie? Dam, he should win a bloody lake full
Come on people! Hes basically worked hes ass off for how many years to make modding great for us, and now hes handed the game to us at almost the level of that of having the source code.
Not only will this allow us to have control over our projects like never before, it will also take the pressure of hes back because really, you WILL be able to do it yourself now
So that means HP is useless now?
Anyways, Merry Xmas to you to pd, have good one! QUICK_EDIT
If this works out as planned, executable mods (RP2, HP, NP) will indeed be useless.
Don't worry, I've been working on RP2 for over a year, to no avail, thanks to this one... >.<
TSHyper wrote:
almost the level of that of having the source code.
That depends on me now, since I need to write the C++ wrappers. But since it is C++ and no longer some weird hex soup, I might get a few nice people helping me.
It's basically converting my EXE information database to C++ classes...
Thanks to Aro and Yuri o07 for commenting on some other things I pointed out.
Wow. PD. thank you for such good news. Thank you for all your hard work and contribution to C&C modding.
Being a modder since the days of RA1, its always nice to see modding does get better and better over the years. Very good news for TC'ers like myself and others.
Merry Christmas and Happy Holidays everyone. _________________ Delirium.. QUICK_EDIT
Cheating on me? How could you do this to me, Team Black! I Thought we had a thing...
OH NO HE DIDN'!!
Hmm, I Have a small question. How is progress going on this project, PD? Slow, fast, when you can be arsed, etc? I'm juts a bit curious to know, as I was a fan of the original RockPatch and RockPatch2. This new project Is going to render all of them useless, right? Any chance It'll have a built-in No CD Crack? QUICK_EDIT
Actually, the application loading the DLLs is done, ie DLL implementation is already possible and works just fine.
If you want it (consists of a barely edited gamemd.exe, the app I called "Debugger.exe" and an info file specifically for YR) I can already release it and you can already start making DLLs for it, but the thing is that my wrappers will take a long time and without them, you are restricted to use inline assembly and are as far as before.
The wrappers are going strong.
I will give you an example:
For testing, I introduced my "MasterKey" function, that replaces the "show mouse coords" (for the release I will remove this again, of course).
The MasterKey function in the DLL looks like this:
Those statements in all caps I will explain when the day comes, they're pretty important to not crash the game. In some advanced cases you might not want to use them, which is why I did not "hardcode" them.
SET_RETURN_EIP you will seldomly be using.
The MessageListClass is responsible to write a text, e.g. the LightningStorm creation text.
make_unicode("Hello!") will make it print "Hello!" (it wants a unicode string), "3" is the ColorScheme to use, [Colors] entries, 3 stands for yellow (remember each entry is doubled as the INI says). Later you'll want to use HouseClass::Player->get_ColorScheme() instead of 3 so you have it in your color.
Each DLL must have a control INI file so the loader application knows when to use it!
In my case, it looks like this:
Code:
[Hooks]
0=537EF0,YRWrapper.dll,MasterKey
The first value is the breakpoint, I will explain them later (also I will release lists of them).
The second, obviously, is the DLL to be loaded, the third is the function to be called.
Done!
Now I bind the "show mouse coords" to a key I like, press it, and got "Hello!" printed.
That's how it's going to work.
It will feature a built in No-CD-Crack.
gamemd.exe can be run without running ra2md.exe. Running just gamemd.exe will allow you to play the original game without any DLL loadings, ie without any modifications! In order to use DLLs, you run my loader application, which takes care of launching gamemd.exe (command line arguments are passed, don't worry there ).
Like the RockPatch, it will not install on a cracked game and I will think of good ways to detect them... through the DLLs I can make the game even protect itself.
wooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooot merrrrrrrrrrrrrrrrrrrrrrryyyyy X maSSSSSSSSSSSS QUICK_EDIT
Sam! You remind me of me when I'm on the booze! It's freakin' great!
Excellent work, PD. I'm actually amazed with the progress you're making.
Quote:
It will feature a built in No-CD-Crack.
gamemd.exe can be run without running ra2md.exe. Running just gamemd.exe will allow you to play the original game without any DLL loadings, ie without any modifications! In order to use DLLs, you run my loader application, which takes care of launching gamemd.exe (command line arguments are passed, don't worry there Smile ).
Like the RockPatch, it will not install on a cracked game and I will think of good ways to detect them... through the DLLs I can make the game even protect itself.
Very good. Thank you. Last edited by Aro on Tue Dec 25, 2007 9:50 am; edited 1 time in total QUICK_EDIT
Edit: Oh yeah, will this allow such things as poor network coding to be fixed? I mean, there are many recon errors which can occur from excessive use of particle systems (such as smoke on debris), and even the particle system itself seems to cause unnecessary lag. It would be incredible to be able to fix these limitations (on TS, at least). QUICK_EDIT
Yea, what the program detects the program as reached that offset / breakpoint, it tells it to use the code form the DLL, then the DLL will execute that code and jump back to where it needs to goto to continue. QUICK_EDIT
Joined: 22 Aug 2006 Location: somewhere south of the north pole
Posted: Fri Dec 28, 2007 4:56 pm Post subject:
Will RP2 be built from scratch, or in other words, is this a new engin, or a new patch? If so, I think many people would agree with me if I saied the voxel-engin should be improved And I think I should find myself a 2048-page C++ guide And how far away is a beta?
And we need bigger maps and more players! Or give it a 99players limmit! _________________ This is a signature QUICK_EDIT
D3: Its not a new engine, but allows many more possibility's by people other than pd to write new logics and hacks using this DLL, as long as you know C++.
New Voxel Engine, and more players is not really a major thing at this moment i would think, though a 10 play game would be nice for that new... damit pd QUICK_EDIT
It already contains a first little demo project (no DLLs yet) which displays the money of all the players.
Critical updates will generally be available on
http://rp2.strategy-x.com/ QUICK_EDIT
I like modding with the TS engine. it's a great exercise in creativity. just like sketching and/or sculpting. I don't know about you guys but I really like to exercise creativity through modding. And the TS engine makes it easy for me and many other people. I really hate to think that TS/RA2 modding will die just like that
I'm sure that TS/RA2 modding will be here to stay for a long time , but like PaD said, we just have to invest a little more effort. _________________ "War.... war never changes....." QUICK_EDIT
read carefully-
What i mean is the tag AG=[bool] .
Doesn't work when a unit with AAcombat=yes is used with a weapon that has AG=no set _________________ Link to a document to see what mods i have and/or working on or working with
Click QUICK_EDIT
The cumulative IQ of the last three posters isn't worth a dime.
The thread is eleven months old ffs. Slave Miner is pd's alternate nickname. The progress on this is called Ares. This thread has served its purpose and is being closed to prevent more idiotic resurrections. The end. QUICK_EDIT
You can post new topics in this forum You can reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum