Ripping Spring -> Supcom

Ripping Spring -> Supcom

Discuss game development here, from a distinct game project to an accessible third-party mutator, down to the interaction and design of individual units if you like.

Moderator: Moderators

Post Reply
User avatar
KDR_11k
Game Developer
Posts: 8293
Joined: 25 Jun 2006, 08:44

Ripping Spring -> Supcom

Post by KDR_11k »

To not derail the BA thread:
Argh wrote:[talking about BA for SC] The real question this little episode brought up for me, folks, is how long before the SC people can rip 3DO and use COB. S3O will be a little harder, I suspect. Does anybody know what the progress on the porting tools for this looks like, at this point in time? I suspect that Smoth, Fanger, TRO, and others, who have built large mods for Spring or OTA should probably be concerned about the wholesale rip of their content soonish.
That won't be a trivial affair. I suppose an algorithm that would convert a COB file into an animation file plus lua code could be reduced to the halting problem so they'd need the user to analyze the code (unless they can handle ALL turn stuff in Lua which would be awfully slow).

Just for the heck of it:

Code: Select all

static-var ulamVar;

Walk() {
 while (1) {
  turn lleg0 to x-axis <90> now;
  sleep 100;
  turn lleg0 to x-axis <0> now;
  sleep 100;
  if (ulamVar == 1) turn torso to y-axis<180> now;
 }
}

Ulam() {
 ulamVar = rand(1,1234566789);
 while (ulamVar != 1) {
  if (ulamVar & 1) ulamVar = 3 * ulamVar + 1;
  else ulamVar = ulamVar / 2;
  sleep 100;
 }
}

StartMoving() {
 start-script Ulam();
 start-script Walk();
}
Try converting that animation to a static animation file. In fact, you can probably stuff a Turing Machine into the Ulam() function instead of the Collatz conjecture.
User avatar
lurker
Posts: 3842
Joined: 08 Jan 2007, 06:13

Re: Ripping Spring -> Supcom

Post by lurker »

while (ulamVar != 1) {
if (ulamVar & 1) ulamVar = 3 * ulamVar + 1;
else ulamVar = ulamVar / 2;
sleep 100;

<3 that algorithm. Here is the link as best I can find it. http://spring.clan-sy.com/phpbb/viewtop ... &start=243
User avatar
Pxtl
Posts: 6112
Joined: 23 Oct 2004, 01:43

Post by Pxtl »

Rip the cob interpreter from Spring, and start feeding it commands. Intercept function calls and use them to create animations.

Imperfect for units with complex scripts, still a colossal pain-in-the-ass, but not as viciously nasty as trying to convert directly from COB.
User avatar
KDR_11k
Game Developer
Posts: 8293
Joined: 25 Jun 2006, 08:44

Post by KDR_11k »

Pxtl, that'll fail badly since you won't even know what reactions are just for aiming and sometimes parts of the unit will be in different states. E.g. a unit that opens and then you make it walk to capture the walk script, suddently you get the wrong animation.

Of course, if the script is ABSOLUTELY simple and you can intercept the aiming direction and stuff it might work but that's still only a small number of units.

You COULD implement the COB engine in Lua but... uh... Good luck.
User avatar
Pxtl
Posts: 6112
Joined: 23 Oct 2004, 01:43

Post by Pxtl »

KDR_11k wrote:Pxtl, that'll fail badly since you won't even know what reactions are just for aiming and sometimes parts of the unit will be in different states. E.g. a unit that opens and then you make it walk to capture the walk script, suddently you get the wrong animation.

Of course, if the script is ABSOLUTELY simple and you can intercept the aiming direction and stuff it might work but that's still only a small number of units.

You COULD implement the COB engine in Lua but... uh... Good luck.
Obviously, that kind of primitive simulation environment would fail, but you could do it in other cases. For example, you could use an all-flat-map, and note when the unit starts moving. Particularly since you can read the COB variables to figure out which ones are cyclic. Yes, it would take some tricky reverse-engineering, but it'd probably be the best approach if you wanted to use SC animations.
User avatar
zwzsg
Kernel Panic Co-Developer
Posts: 7052
Joined: 16 Nov 2004, 13:08

Post by zwzsg »

AFAIK, Xon was already making TA units -> SupCom units converter before even SupCom was released. Both for the 3do and the cob. I don't know what's his current base of operation, so no links, you'll have to look for him yourself on all SupCom sites.
User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

Post by Argh »

Er, and don't forget, COB can be decompiled with Scriptor and other tools and converted back to a high or low-level language, depending on your preference, for translation back to LUA.

And most mods ship with all BOS included, in Scriptor format. I see no real reason to change this, based on my rather-vague worry about people ripping the mods to other engines wholesale.
Xon
Posts: 33
Joined: 07 May 2005, 17:07

Re: Ripping Spring -> Supcom

Post by Xon »

I was working on a TA2SupCom conversion toolset which currently spits out a baddly skinned model and some pseudo-lua for a TA unit. It is not complete since I've just started working as a programmer and simply dont have the time anymore.
KDR_11k wrote: Try converting that animation to a static animation file. In fact, you can probably stuff a Turing Machine into the Ulam() function instead of the Collatz conjecture.
SupCom supports animation commands from scripting.

There is almost a one-to-one mapping between COB animation commands and SupCom animation commands.

The real challenge is in the extraction of static keyframe animation data, how short are you willing to make the runs of animation commands before you generate a keyframe file. Dependancy tracking of the arguments is also something which needs doing.
User avatar
Neddie
Community Lead
Posts: 9406
Joined: 10 Apr 2006, 05:05

Post by Neddie »

Just making sure everybody understands that we don't want Supreme Commander script hacks stealing from Spring content makers.
User avatar
REVENGE
Posts: 2382
Joined: 24 Aug 2006, 06:13

Post by REVENGE »

neddiedrow wrote:Just making sure everybody understands that we don't want Supreme Commander script hacks stealing from Spring content makers.
Isn't this more of a copyright issue?
User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

Post by Argh »

Yes, primarily. However, there's always the issue of means, and then there is motivation. Since we have seen that there are people with the motivation to start taking some of Spring's innovation and porting it, this is an issue we should continue to watch, but given what Xon had to say, I think it's safe to assume that we're not going to see this happen any time soon, because the technology doesn't exist yet.

Not to discourage you, Xon- I think it's fair to say that if you want to port 3DO stuff (with the notable exceptions of EE and Gundam, rather), nobody cares. S3O, our "modern" format, is a lot more prickly of an issue, since most of the S3O games are still copyrighted to their respective owners. In my case, the only publically-available game, NanoBlobs, the models are GPL'd, so by all means, feel free to experiment with them if you want to, and IIRC, all of the models in Kernel Panic are CC'd, so I don't think that anybody will get upset at all about that.

And SupCom, like any closed-source game engine, is going to be constrained in terms of what people can do with it anyway, and unless the modding community there has more legs than it looks like, the halflife is almost over... so we're probably reasonably safe from having our work taken outright.

In short, now that I've reviewed what's up, I'm not terribly worried about it at this time.
User avatar
zwzsg
Kernel Panic Co-Developer
Posts: 7052
Joined: 16 Nov 2004, 13:08

Post by zwzsg »

After all the Spring features that were stolen from SupCom, and all the content that was stolen from Cavedog, you're now getting worried some SupCom modders might reuse content from Spring mods? :roll:
User avatar
Neddie
Community Lead
Posts: 9406
Joined: 10 Apr 2006, 05:05

Post by Neddie »

Hey, I've always been for stripping out Cavedog content. Also, you can't really steal a feature from an unreleased game - you still have to design and implement it yourself.
User avatar
Forboding Angel
Evolution RTS Developer
Posts: 14673
Joined: 17 Nov 2005, 02:43

Post by Forboding Angel »

zwzsg wrote:After all the Spring features that were stolen from SupCom, and all the content that was stolen from Cavedog, you're now getting worried some SupCom modders might reuse content from Spring mods? :roll:
my thoughts
User avatar
OOmiz
Posts: 46
Joined: 06 Sep 2006, 12:47

Post by OOmiz »

Forboding Angel wrote:
zwzsg wrote:After all the Spring features that were stolen from SupCom, and all the content that was stolen from Cavedog, you're now getting worried some SupCom modders might reuse content from Spring mods? :roll:
my thoughts
+1
User avatar
TheRegisteredOne
Posts: 398
Joined: 10 Dec 2005, 21:39

Post by TheRegisteredOne »

OOmiz wrote:
Forboding Angel wrote:
zwzsg wrote:After all the Spring features that were stolen from SupCom, and all the content that was stolen from Cavedog, you're now getting worried some SupCom modders might reuse content from Spring mods? :roll:
my thoughts
+1
amen
User avatar
Dragon45
Posts: 2883
Joined: 16 Aug 2004, 04:36

Post by Dragon45 »

TheRegisteredOne wrote:
OOmiz wrote:
Forboding Angel wrote:my thoughts
+1
amen
eloquent as usual
Post Reply

Return to “Game Development”