Modding Help How powerful is modding expected to become?

Discussion in 'Starbound Modding' started by Plystire, Dec 15, 2013.

  1. Plystire

    Plystire Star Wrangler

    I've looked into modding, but beyond adjusting crop growth rate, nothing I've decided upon attempting a mod for appears to be possible.

    Is modding expected to be more powerful in later betas? I was disappointed about a couple ideas I had.
    1) Custom teleporter for planet surface to redirect ship teleporter to when beaming down.. the item would also flag other things for the game, however being that the teleport location itself appears not to be customizable for a planet, the idea is already nixed.
    2) Boss overhaul: This one is a hit and miss. A couple of my ideas look to be doable, but one in particular is a no-go.. mainly allowing the player to use portions of a boss as a platform. I felt that the platforming nature of the could be widely expanded upon in regards to bosses, but this is another idea I'm going to have to put aside.

    I've placed both of the above ideas in the proper suggestion boards, but I figured that as a developer, I could assist in the creation of these ideas to get solid feedback on them from other people playing Starbound.

    So is modding going to be more powerful in the future to allow these ideas? I feel like there's a bit too much hidden away in the sourcecode right now for heavy modding to be possible. :(
     
  2. Riku

    Riku Void-Bound Voyager

    The game is already extremely modifiable. All they really have to do is release a modding API, which they're already working on.
     
  3. Plystire

    Plystire Star Wrangler

    Good to know. After exploring the assets myself and finding the roadblocks mentioned, I came here to look for guides, which only really pointed me back to the assets I had already looked through. :/
    Glad there's going to be some expansion on modability. :)
     
  4. Heliostorm

    Heliostorm Phantasmal Quasar

    Setting teleport locations is planned to be added in the future. The game's very easy to mod in terms of content, but changing mechanics that aren't explicitly designed to is another story. I expect additional functionality as more complex content is added.
     
  5. qwertyk31

    qwertyk31 Yeah, You!

    Is it even possible to add something totally new to the game with mods? From what I can see it is only possible to adjust values of already added features.
     
  6. Plystire

    Plystire Star Wrangler

    I certainly hope so. Whenever I think of modding a game, I don't typically think of general content addition. I see many mods have already been made that let the players do things they otherwise couldn't do before
    You can add content, but only certain kinds of content right now. I hope with their planned API, new content of all kinds will be possible... as well as rehauling current content. I understand that some things gotta be in the sourcecode, but as it is now, there's far too much that's hardcoded.
     
  7. Heliostorm

    Heliostorm Phantasmal Quasar

    All else fails, people can decompile the binary. That's how Minecraft is modded, after all. If the game's popular enough, people will find a way.
     
  8. Delta9Church

    Delta9Church Subatomic Cosmonaut

    One thing I would love to see, beyond what I mentioned earlier is a way for the game to load additions to files. For instance, if I include a player.config in my mod, when the game loads player.config it will see my copy too and load any additional info from mine. This could be done instead of overriding player.config and would save problems with having multiple mods all containing modified player.config files. Only problem I see really is actual replacement mods like modified matter manipulators. Thoughts? Is this even possible? Is it a dumb idea? I don't even know.
     
  9. Alsehr

    Alsehr Pangalactic Porcupine

    I can't wait until files become more multiplayer accessible. It'll be epic for modders like me.
     
  10. nathan00107

    nathan00107 Zero Gravity Genie

    I've heard that with the new Beta v Offended Koala that the player.config files are merged?
     
  11. sarcose

    sarcose Scruffy Nerf-Herder

    You can change and add assets, and add copies of current content. There is very little else you can do, and what little you can do is very ugly hacks. Most object types cannot run scripts, and certain json fields are downright broken or have been made obsolete without our knowledge. Gun modding is bad right now; to have complete control of your gun you need to make your own custom weapon level.

    I hope it improves but to be honest the past few updates have actually decreased modders' control over the game, not increased.
     
  12. Ijon Tichy

    Ijon Tichy Lucky Number 13

    Except not really. What we have now is akin to DEHACKED in Doom - you can modify the base values, you can even do some cool stuff by modifying the base values, but you're still constrained to those values.

    What is truly needed is something like DECORATE in Starbound. With it, with the Lua that is already in, and with some more functions to access and modify the world and entities in the world, more or less anything could be added to the game. All DECORATE does is allow you to redefine the behaviour of objects, as well as make new objects with completely new behaviours. And look what people have done with it.

    When Starbound can reach that level of customizability, I'll give it some kudos.
     
  13. Bloax

    Bloax Seal Broken

    And mind you, ZDoom (which is where DECORATE originates from) doesn't even have a solid coding language (like Lua) backbone - just a very hacked and beaten into submission map scripting language that barely works.
     
  14. sarcose

    sarcose Scruffy Nerf-Herder

    It should be noted that the current system as it stands will not be improved by a mere modding API (edit: built off of the current system). Chucklefish needs to enable "scripts" : [] for all json-defined object types. They need to fix broken object fields. They need to rewrite the entire source code to utilize inheritance - this last one is a particular point of contention. The recent completely unnecessary guns "rebalance" was lazy and unnecessary, actually taking power out of the modders' hands and automating what was previously a field we could actually control. And all, I suspect, because they wanted to rebalance guns without changing hundreds of JSON files individually. Because you are not supposed to make a game using thousands of unlinked objects, and this is what happens when you do - you end up with an unorganized mess. I would be afraid to look at the source code for this game, and if it's ever released I'm sure it's a mess of the worst kind of spaghetti.
     
  15. Bloax

    Bloax Seal Broken

    An important feature that also seems lacking is the scaling of individual graphics, which is useful both for effects and pretty much anything.
     
  16. Delta9Church

    Delta9Church Subatomic Cosmonaut

    Is inheritance really not used in starbound?? That makes very little sense and I feel like you must be wrong. Not saying you ARE wrong, saying surely you must be cuz thats crazy.
     
  17. sarcose

    sarcose Scruffy Nerf-Herder

    Well, I'm sure there's some oop in the source somewhere, but it's visibly not in the content declaration interface; e.g., the json config system. Every piece of content was either written individually in some fashion (perhaps copied and pasted), or generated algorithmically. But I doubt the latter; this would have made the gun auto-balancing "experiment" entirely redundant.

    I don't see a "parent" : [] field in any of the configs, nor do I see "thing : stuff" type direct parentage. And further, inheritance via json would be an ugly hack that would afford far less flexibility than a true, scripted modding interface.
     
    Delta9Church likes this.
  18. Siveria

    Siveria Big Damn Hero

    Currently you can add new races, items, blocks, crating tools/stations, recipies. Hairs, there is a ton of stuff thats modable mostly because other than spriting everything is pretty much done with some fairly simple commands in a txt file for the most part. Alot of them are pretty self explanatory as well if you peek around in some item files. But yeah a modding API or something would greatly simplify this even more.
     
  19. Manntooth

    Manntooth Space Spelunker



    Something that would probably be fairly simple to implement would be an "inheritsFrom" field for objects which could be handled by the bootstrapper. Say you want to make a matter manipulator for each ore tier. You could create 5 different objects that have "inheritsFrom" : "beamaxe.beamaxe" and then just override the properties you wanted to change. Your new object would have all of the properties of the beamaxe that are not specified in your object and any new properties you add or override.

    This would make it tougher to see what is actually in an object if you have to keep bouncing around to different files, especially if you get multiple levels of inheritance going on. I think it's probably just as simple to copy and paste and it leaves things in a much more readable state.
     
  20. Ijon Tichy

    Ijon Tichy Lucky Number 13

    You mean a much less maintainable state?

    Inheritance has been around in programming for decades, and the general consensus is that while it can be used badly and mess things up, the tool itself is indispensable for keeping things organized, something that is clearly needed here. You have fields that are just completely dead, you have these lazy and horribly-implemented rebalances, and it would be helped a great deal simply by using some basic inheritance.

    I've already had to copypaste so much unnecessary garbage just making a small set of weapons. How does that make things more readable? It hides all the useful tidbits in the same copypasted crap that's in every single weapon.
     

Share This Page