Missed goals, abandoned features, and MODS

Discussion in 'Planetary Annihilation General Discussion' started by Recon, September 8, 2012.

  1. Recon

    Recon Member

    Messages:
    61
    Likes Received:
    1
    Something just struck me regarding this business of potential awesomeness being left out of the game due to lack of funding.

    As anyone long term to the genre knows, hard core modders work ridiculous amounts of time to build the game they envision. For me, I put in over 1,000 hours of coding changes to Supreme Commander in 2007 for our mod "After the War" which was pretty kickass. Pawz and I spent an entire year making this, and painstakingly tweaking it to the point where it was darn near finished, if life circumstances and such didn't draw us away. My point being, that 1,000 hours to a programmer is like $75,000 at least. (Cost of employing a programmer, not how much his paycheck is)

    And modders do their work for free. So I was thinking about how a project needs to be funded for every step of the way for the "official" game, and then the torch is fairly well handed to the modders to polish the game up in ways that the fans really like. Yes of course many (most?) of the fans don't actually play modded games, but quality mods quite often make a game significantly better and sometimes with new features nobody ever thought of during the game development process.

    I remember well in modding Supcom, that occasionally we'd hit a brick wall in trying to put in a feature that simply didn't have a proper "hook" in the core game engine that would allow us to make the change we wanted. A game like this has two areas of code, really. The "core engine" or code which we have no access to and thus we can't change or tweak it at all. This is highly advanced stuff, probably in c++ that makes the game able to be a game at all. Then, there's the "moddable area" which is exposed to the modder. In the case of Supcom, this was written in Lua. So I learned Lua to the point where its now on my resume. I got to know most of the Lua code that was exposed in the game, and its abilities and limitations. From here, we tried to transform Supcom into the game we've always wanted.

    Between the two layers is what I'd call "hooks" where the original programmers have drawn the line between the areas of the game we can't touch, and the outside world where we have access. Its the area where they've handed control over to the modder. TA didn't have a lot of hooks and despite this, we (BSR really, with the Uberhack, and the Swedish Yankspankers with the much deeper stuff) were able to make some pretty radical changes to TA. To this day its a mystery to me how the SY were able to essentially "hack" TA's core engine beyond the hooks and make it do things nobody ought have been able to do. Supreme Commander was a lot different in that it deliberately had many deep hooks placed in the code which allowed us as modders to reach far into the engine and make profound game behavior changes. Supreme Commander 2 had no hooks whatsoever, which incidentally, is why Pawz and I avoided it entirely. But the more hooks a game has between the exposed layer and the base code, the more a modder can really get in there and alter the game.

    So, what's the idea here? Well, I was thinking that if the project runs out of money before certain cool features are able to be put into the game, perhaps Uber might be willing to place a lot of "hooks" in the game that would allow modders to pick up the job and finish it. After all, its free labor. There's heaps of ideas that many of us have which would advance the awesomeness of the game but the main limiting factor is where the hooks are located, and thus how deep we can alter things. But from what it sounds like, this game is being made with a different motivation than say, Supcom2, in that the purpose of this game is to give the fans the awesome game they've waited over a decade for, where Supcom 2 was purely a stunt to make money for the publishers, gamers desires be damned.

    I know this idea potentially exposes a lot of code to the modders that maybe the creators don't really want out there, but that's a judgment call they'll need to make. Personally, as a modder, I'd love complete control of the economy. Not just what units cost and such, but the ability to create entirely new resources and alter how they work. It'd also be great to have UI hooks in the game, which allowed modders to create custom visual overlays that represent whatever game feature we want. Yes I know features as profound as "galactic war" can't simply be modded in, but I'm not really talking about those features anyway. I'm mostly talking about things like niceties that the company intended to stick in but just didn't have the funds or the time to do it. There's a lot of polishing that goes on in a game, and all of that can take a very significant amount of time. Heck, just tweaking and balancing in and of itself has a huge time cost. Most of the time in a project like this, there's a lot of ideas and features that get thought up, which just don't make it into the game because it would take too long, but not because its necessarily difficult. In those cases, I'd suggest that the developers leave hooks in the code to allow modders to finish the job. Take the time to make the core engine aweome. Open up as much of it as possible to outside influence, and leave a lot of it not quite so nailed down as to prevent a modder from being able to pull that nail up and perhaps hammer it in a different spot in the game.
  2. iceciro

    iceciro New Member

    Messages:
    10
    Likes Received:
    0
    This is a great idea.

    Also, I'm not sure uber have taken a stance (to my knowledge) about what they will be hard coding. Obviously, as a modder, my ideal would be -nothing- but I know as a coder that's not always feasible.
  3. sal0x2328

    sal0x2328 Member

    Messages:
    227
    Likes Received:
    2
    Great post.

    It is often interesting to look at the partially implemented features of a game. Like how there are variables for things that never made it to the final version, like the "solarstrength" entry on maps in TA.

    Makes me think of a Fragile Allegiance mod, that would be awesome.
  4. Recon

    Recon Member

    Messages:
    61
    Likes Received:
    1
    Yeah I'm very curious just how moddable they plan on making PA. I'm also curious if they'll use Lua like Supcom did, or if it'll be something else. From what I remember, Lua seemed to be a pretty good platform. Shortly after we began modding it, the in-game debugger broke and they promised to fix it but never did. We also had diminishing support from the devs, likely not their fault though. There also needs to be a very short code/test cycle, so you can make changes and see their effect asap. That makes for the best modding environment I think, where you can see your changes as close to as instant as possible.
  5. sal0x2328

    sal0x2328 Member

    Messages:
    227
    Likes Received:
    2
    I hope that they name things, particularly folder and files, in a descriptive manner. How am I supposed to remember that urb0103 is the Cybran T1 Naval Factory? CORSY for the Core Shipyard is better than urb0103 but I think we could do even better. Anyway what I was able to dig up around here:

    I do not know what they will use but I think that the most that has been said about it is:
    In the Modding Requests from SupCom Modders (viewtopic.php?f=61&t=34170)
    In the Modding compared with Sup Com thread (viewtopic.php?f=61&t=34101)
    I do not know if the last statement is certain or not, I think I read elsewhere they did not like Lua for some reason or another, and were looking into other options, but I can't find the more nuanced statement.
  6. BulletMagnet

    BulletMagnet Post Master General

    Messages:
    3,263
    Likes Received:
    591
    In defence of URB0103, there's actually a logical method to the madness.

    But I think the concerns were that Lua doesn't multi-thread very well.
  7. mushroomars

    mushroomars Well-Known Member

    Messages:
    1,655
    Likes Received:
    319
    I still like the idea of them Open-Sourcing the PA engine after a while. Unless they're going to use it for another game, once the income from the game drops off, making the game open-source presents a huge opportunity to modders, allowing them to pretty much take the game and turn it into an alternate virtual universe.

    Then again, if *every* single function of the engine was hooked, and *every* single factor of gameplay could be modified, we wouldn't need the source code, but this can be a pain-staking thing to do. Especially because it can be hard to separate 'factors of gameplay' from 'engine rules' if the engine wasn't designed from the ground up with easy modification in mind.
  8. sal0x2328

    sal0x2328 Member

    Messages:
    227
    Likes Received:
    2
    I worry if they put that much effort into modifiability, that it could cost something to the rest of the game.
  9. RCIX

    RCIX Member

    Messages:
    664
    Likes Received:
    16
    Kind of sad they aren't using Lua (NOT all caps please >.>). Was the first language that really got me programming and still my favorite to this day.

    Anyway, i would absolutely love more modding capability, though there are limits. At the most extreme, Uber could theoretically make the engine a glorified script runner and only shove anything into the engine itself if it was discovered that performance was absolutely necessary; this would in theory work but place some pretty heavy limitations (or just end up with a regular game engine but with some weird architecture thanks to piecemeal building instead of writing it in c++ from the start)

Share This Page