Everyone waiting on the SDK?

Discussion in 'Civ4 - Creation & Customization' started by HourlyDaily, Mar 14, 2006.

  1. HourlyDaily

    HourlyDaily Man-o-Mercy

    Joined:
    Sep 20, 2004
    Messages:
    507
    Location:
    Melbourne, Australia
    ..for mod-making or improvements on existing mods?

    I've been thinking that there's not much being created at the minute. I imagine there will some time taken where everyone needs to get to grips with it and how to best utilise it, but I'm really looking forward to see what we all can do. Just adding new in-game models is clearly top of the list.

    This wasn't meant to be another ETA complaint thread.
     
  2. TheLopez

    TheLopez Deity

    Joined:
    Jan 16, 2006
    Messages:
    2,525
    Location:
    Oregon
    Nope, I am just working on about 6 mod comps at the same time :D ... to much coffee not enough sleep.

    BTW you do know we can already add custom models in the game right?
     
  3. woodelf

    woodelf Bard Retired Moderator

    Joined:
    Jun 12, 2003
    Messages:
    15,036
    Location:
    Gallery
    Like TheLopez said, the SDK will help people with programming knowledge make better scenarios, but new models are popping up everywhere. New units (sans animations), new buildings, ect. I don't think the SDK is going to be the be-all, end-all, cure-all everyone expects.
     
  4. Tyranausaurus

    Tyranausaurus Warlord

    Joined:
    Dec 26, 2005
    Messages:
    163
    Why aren't we seeing units getting animated then? is it hard or something? I know the SDK is for programming, but why aren't animations done for the new wonderful units?
     
  5. boneys26

    boneys26 BTS Play session tester

    Joined:
    Nov 24, 2005
    Messages:
    839
    Location:
    Coventry, England

    I agree I've been waiting months for the cruise missile to come back (I did try myself but I'm new to xml, python, all I can do is edit the game files, add new units that someone else has made but thats it :sad: ) someone has done a cruise missile but it has no animation so I'm still waiting for it :( loving what units there has been tho :king:
     
  6. sharick

    sharick Warlord

    Joined:
    Jan 18, 2006
    Messages:
    250
    It is possible to make animations with existing tools but it's not easy. You have to make you model, rig it, skin it, do the animations, attach effects and sounds, set up the exporter and export it. All this takes a lot of time and I prefer having 10 new units than 1 animated.

    About the cruise missile. You can give it the animations from ICBM. It should work. The new planes have animations from vanilla fighter.
     
  7. woodelf

    woodelf Bard Retired Moderator

    Joined:
    Jun 12, 2003
    Messages:
    15,036
    Location:
    Gallery
    Yup, all of the new models that people have made work perfectly with old animations. And I agree that 10 new models beats 1 new animation.
     
  8. Willem

    Willem Deity

    Joined:
    Feb 12, 2002
    Messages:
    7,313
    Location:
    Canada
    I think alot of people are going to be disappointed when the SDK does come out. Unless you have some programming knowledge, it's really not going to offer anything. It's going to be over the heads of many of the modders who now think it's going to open a zillion doors for them. Though I guess it might give them some incentive to learn a few things in that area.
     
  9. PeteT

    PeteT Warlord

    Joined:
    Jan 2, 2002
    Messages:
    273
    Location:
    Winterpeg
    What Willem said.

    I wonder how many of the people who keep going on about the SDK have ever compiled a program.

    It's been made quite clear that the SDK is for experienced programmers. If you don't know what's involved in building a dll, be prepared to be disappointed.
     
  10. Reinharted

    Reinharted Chieftain

    Joined:
    Feb 4, 2006
    Messages:
    2
    Location:
    CA, US
    Well, while I doubt it will open a zillion doors, it could give modders (experienced and inexperienced) more options. For example, someone who knows how to really work with the SDK could create "mini-mods" that alter parts of the game. These "mini-mods" could then be made to be cut-and-paste-like and designed so that novices can use them. (If this doesn't make sense, don't worry. I've gotten little to no sleep and this is hard for me to understand myself.)

    So, I'll try and give a good example.

    Want a civic column allow the option of selecting more than one civic? (For example, freedom of speech, freedom of demonstration, freedom of the press, abortion, same-sex marriage, and all those little extra's.) Just copy this "text A" and place it into the "slot B". Then do like you normally would and add in more civiv options! Essentially it could make personal mods more...diverse...I guess. They'd have more features than they do now anyway. :confused:
     
  11. boneys26

    boneys26 BTS Play session tester

    Joined:
    Nov 24, 2005
    Messages:
    839
    Location:
    Coventry, England

    Well I didn't know anything about xml untill i got this game and started messing about so I think it will be a good thing for all of us. we all have to start somewhere.
     
  12. Willem

    Willem Deity

    Joined:
    Feb 12, 2002
    Messages:
    7,313
    Location:
    Canada
    XML's a breeze, it's no more complicated than HTML coding. The SDK is going to be a different story altogether. Not impossible to learn of course, but there's definitely going to be a curve involved.
     
  13. Crash757

    Crash757 King

    Joined:
    May 30, 2003
    Messages:
    905
    Location:
    Riga, Latvia
    Actually, it's quite busy time now, everyone (at least me) are trying to get new models done for Civ4 :)
     
  14. Locutus

    Locutus King of the Collective

    Joined:
    Oct 30, 2001
    Messages:
    365
    Location:
    Hengelo/Enschede, the Netherlands
    Excellent assessment. I get the impression that a lot of modding ideas that people want to implement with the SDK can be implemented in Python as well, but people are waiting for the SDK 'because it's more powerful'. Aside from that being a gross underestimation of the power of Python, more powerful is not necessarily better. I've had access to the SDK for going on 2 years now, but I've barely touched it. I do regularly consult it to figure out how a Python function is implemented, and I've once or twice reported bugs and accompanying C++ bug-fixes to Soren or Jesse, but I've never really modded it. If I have a choice between doing something in Python and doing something in C++, I much, much rather do it in Python as it's a lot easier to work with, even if the syntax of the language is sometimes a bit 'special' ;) (And yes, I do have experience coding C++, and not just silly 20,000-lines-of-code utilities.) It's not that I've deliberatly avoided the SDK, so far I just haven't run into the limits of Python yet (though granted, I haven't had a whole lot of time to spare and my ideas haven't been overly ambitious (but still more ambitious than many of my ideas for other games I've modded)).

    I come from the Call to Power II community, and there we've had access to the full source code of the entire game (not just the gameplay and AI part, everything) for over 2,5 years. We had very ambitious plans on what to do with it when we first got it and several (more or less) experienced C++ coders to implement those ideas, but all that's come out of it are basically a whole slew of bug-fixes and a bunch of new options in the CtP2 equivalent of the XML and Python files. The more ambitious plans proved simply too ambitious.

    Although the Civ4 community is much bigger and much more high-profile than the CtP2 one, I don't think it's realistic to expect a whole lot more for Civ4, certainly in the next 2 years. People will no doubt try, but making a full conversion mod is EXTREMELY HARD and most of those who will attempt it will fail (that's not to say noone will ever succeed, but it's not something many people will be able to pull off). Mods that only introduce one or a few C++ features are easier to do, but if you're not an experienced programmer it's much harder to create copy-paste mods with C++ than it is with XML/Python (if you couldn't even mod XML a few months ago, compiling the DLL is going to be VERY HARD), so combining your favourite single-features into new mods won't be nearly as easy as it is without the SDK (and still I hear someone complaining about how hard that is almost every day). That might be made to work to some extent though, if all the C++ programmers work together on a single master-version of the code, but so far this community has shown little aptitude for communal projects (by that I don't mean project like TAM that involve maybe 10-15 people, I mean projects involving the entire community, or a substantial part of it). It's too big with too many people running around in completely different directions (which I mostly regard as a good thing, but it doesn't help with setting up community projects).

    Don't get me wrong, I don't mean to insult anyone's capabilities or to discourage anyone from (trying to) use the SDK once it's available, and I certainly hope that I'm 100% wrong about the community thing (but even if not, given some time that could very well change). All I want to say is that SDK modding is for most people going to be hard, even compared to Python modding, and that I fully agree with the assessment that the SDK is being regarded by many as much more than it really is. It's not the Holy Grail of Civ4 modding.
     
  15. The Great Apple

    The Great Apple Big Cheese

    Joined:
    Mar 24, 2002
    Messages:
    3,361
    Location:
    Oxford, England
    You can probably do this in python.

    The things I am waiting for the SDK for are:

    • AI - while you can do it in python, I think it'll be alot more efficient to use the code that is already in place for much of the decision making.
    • Graphics - while I'm not certain I'll be able to do this, I'd quite like to have the opportunity to change unit graphics outside the restrictions of documented python. I'd also like to be able to edit/create new mouseover information.
    • Python enhancements - being able to specify new variables to be changed, as well as including more triggers.
    • EDIT: Combat - I'd quite like more power over the details

    On the subject of community projects I'm not sure I agree. I can imagine that several people might come together to work on making the AI even better, for example. There can't be that many AI coders out there.
     
  16. Locutus

    Locutus King of the Collective

    Joined:
    Oct 30, 2001
    Messages:
    365
    Location:
    Hengelo/Enschede, the Netherlands
    Heh, missed that paragraph but it proves my point so well :)

    True, but then that would only work for the default game AI, and only to some extent. So some people work together and improve the AI. At the same time someone comes around and makes an implementation of stacked combat that might prove popular and someone else introduces a more complex religion implementation. Both of those require AI changes of their own, quite possibly rendering them incompatible with the default game AI improvements. Now, desspite the fact that those features are not fundamentally incompatible, people will have to choose: better AI or better gameplay? Or hope someone with the necessary skills manages to combine those three features (and their AI). But what if you have 30+ different features, large and small, some fully compatible, some only partial, some completely incompatible? Good luck combining all of those in a single DLL!

    I'm sure we'll see projects of several people working together (in fact I expect that to be the norm -- it's a pretty daunting task to make any major SDK mod on your own), but those projects will likely go in wildly different directions and for the most part be incompatible. Of course, to an extent that's true for XML/Python mods as well, but for the SDK it will be a lot harder to combine such mods, which is typically how big mods are created. If you want to do it 'right', every coder would have to work together on a single code base, using switches in ini files and the like to enable or disable certain functionality. That is the kind of community project I don't see happening anytime soon.

    Not sure what you're expecting here, but don't get your hopes up too high. As far as graphics are covered under coding at all (for new models the SDK won't help -- but I think you know this), most of it is in the graphics engine, which falls outside the SDK (and is in fact proprietary (Gamebryo), so unless you're very rich we'll never see it).
     
  17. The Great Apple

    The Great Apple Big Cheese

    Joined:
    Mar 24, 2002
    Messages:
    3,361
    Location:
    Oxford, England
    I realise that - the changes I'd like to be able to do are things I feel are game-related not graphics engine related. For example - being able to have different individual models in a formation in different situations. I've a feeling it might be possable to do it in python, although not with documented methods. There are some default python files that use methods that aren't in any documentation though, so I might be able to guess what function I want.
     
  18. Locutus

    Locutus King of the Collective

    Joined:
    Oct 30, 2001
    Messages:
    365
    Location:
    Hengelo/Enschede, the Netherlands
    Well, that could prove to be a challenge, I don't know if it can be done, but it certainly wouldn't hurt having access to the SDK.

    But as far as undocumented methods go, could you give some examples? I tried to make my API as complete as possible, but with a few million lines of code I'm bound to have overlooked stuff. If there's anything I missed I definitely want to take a look at it, I'm currently updating the API to be up-to-specs for the new patch anyway (found some bugs in my script, and the non-SDK classes need to be updated manually).
     
  19. Ranbir

    Ranbir Civ junkie

    Joined:
    Feb 14, 2005
    Messages:
    600
    Location:
    Herts
    Soren did say they regretted not making an editor of sorts.

    Be darn spiffy if that's why it hasn't come out yet, providing us with an editor.
     
  20. Olleus

    Olleus Deity

    Joined:
    Oct 30, 2005
    Messages:
    6,478
    Location:
    Beyond the Veil
    I have never done anything in C++ ever and only started learning python a few months ago and i am only just starting to be competent at it, so c++ is not for me. However i do hope that some people will produce an expanded EventsManager.py that has functions that are called after a battle has been iniciated but before it is resolved, and other stuff like this.
     

Share This Page