March 28, 2017, 12:43:32 PM

Author Topic: Mod Support suggestions  (Read 2958 times)

RoboB0b

  • Administrator
  • Hero Member
  • *****
  • Posts: 1036
    • View Profile
    • Gnomoria
Mod Support suggestions
« on: October 06, 2015, 12:06:25 PM »
I wanted to put in one place a list of mod support suggestions that I've seen around.  These are in no particular order.

Multiple sets of blueprints
Hide workshops and constructions in build menu that aren't researched
Change race at specific age and/or skill level
Manually select layers of stone instead of random
Require specific tool materials for specific job materials
Require minimum skill level before accepting a job
Add byproducts to crafting recipes (byproduct material set with MaterialIndex)
Merge allowed items in storage.xml from multiple mods
Revisist merging mods and overwriting/extending vanilla data
Add tile size setting

gcook725

  • Sr. Member
  • ****
  • Posts: 262
  • Check out Glassworks!
    • View Profile
Re: Mod Support suggestions
« Reply #1 on: October 06, 2015, 12:59:29 PM »
I can post a few other suggestions for you as well to see if you're interested in any of them!

  • Ability to make new faction types: At present we can't add new invasion types with specific requirements... only use one of the  existing faction types. It would be nice to create additional civilizations that might attack the gnomes that didn't just follow mant/goblin invasion AI while still having mants and goblins... for example elves that can receive insults that include wood items, or rust monsters that seek out metal items to eat. At present if we wanted either of those, we'd have to either make enemies with the Enemy Civ/Mant type, but would be unable to give them special "AI" like goblins and mants have (desired/insult items).
  • Ability to make/modify new formation/military perks
  • Ability to make larger enemies? I dunno about this one because of balance reasons, but large enemies that take up a 2x2 space could be cool for special invasions like from a dragon or something.
  • Flying enemies? Might be too much of a pain in the neck because of pathing really
  • More sprite control. This might be a bit difficult depending on how you coded it, but it would be awesome to have extra-large sprites without having to worry about them being cut off. Imagine invading dragons that are 64x64 or 128x128 pixels in size. This would only be really required if you wanted to allow larger enemies though.
  • The ability to sprite the entire workshop's appearance in one sprite instead of smaller pieces of sprites. It'd be nice to have both options so that mod devs can make awesome, unique workshops that aren't just a bunch of tables or furnaces or whatever. You can currently make a larger workshop in a way by breaking up sprites for it into smaller parts, but I'm sure some people would like the option of just having a single sprite for the workshop for more artistic creativity.
  • SHOOTING-FOR-THE-STARS SUGGESTION: Scripting support. I highly doubt you'd have time to implement this Rob, but it would make it so that mod authors are capable of adding their own features to Gnomoria once you're done working on it. It'd let us just drop a script (Python? Lua? Javascript? Ruby?) into a folder and have Gnomoria execute it when running the mod. We'd be able to add advanced features like pretty much everything mentioned in my above suggestions without needing to decompile/recompile/inject code into the game. If any of these suggestions were considered, this is the one I would want the most... sadly I would bet it'd take longer than a few more months to implement... though perhaps it'd be nice for post-launch update?

If I come up with any thing else while working on mods and modders resources, I'll let you know :P
« Last Edit: October 06, 2015, 08:51:06 PM by gcook725 »

Check out my first mod: Glassworks!
It has windows!
Also, check out my Twitter!

AngryGiant

  • Newbie
  • *
  • Posts: 11
    • View Profile
Re: Mod Support suggestions
« Reply #2 on: October 06, 2015, 02:02:51 PM »
Couple of things I've run into:

Change job priorities at start
Setup military, possibly changing how military is saved. Only thing changeable now is default uniform.
Uniform settings doesn't seem to like an unarmed or none designation.



Roboute

  • Jr. Member
  • **
  • Posts: 57
    • View Profile
Re: Mod Support suggestions
« Reply #3 on: October 07, 2015, 08:18:35 AM »
Another thing I would like is to be able to give perks or bonus stats to items.
So you could make a sword that gives +1 strength, or an armour that gives 20% miss chance to the enemy, things like that.

Merry76

  • Moderator
  • Hero Member
  • *****
  • Posts: 3444
    • View Profile
Re: Mod Support suggestions
« Reply #4 on: October 07, 2015, 12:11:43 PM »
A quite simple suggestion to what would make modding so much easier: a debug mode that could be switched on or off, and does give us numbers for what we modded. For example combat is very detailed in its prose, but its kind of hard to figure out who deals out how much damage to what and why. We can see which gnome swings which weapon (if he doesnt hold 2 non-legendary weapons of the same kind, that is) but who does he hit? How hard? How was the damage calculated?

I know you do not want to show damage numbers. It kind of takes away the flair of the game. But its dang hard to modify weapon values and figure out if the weapon now works as its supposed to or not. Because we cannot spawn enemies in a controlled environment, running test series is hard. Setting up a combat so that exactly the fight happens that you want to test is near impossible, and will probably loose the save if it doesnt turn out as you wanted. Its easy to make simply overpowered (gnome only) weapons, but that would turn the game experience to the level of a cow clicker game - and nobody wants that. At least not someone who puts sweat and elbow grease into a mod :)
Have a problem or a fortress so awesome it needs to be shared?

Well, go on, dont be shy! Use the GnomeworldPool Dropbox account!
How to share Savegames

Tacyn

  • Full Member
  • ***
  • Posts: 223
    • View Profile
Re: Mod Support suggestions
« Reply #5 on: October 08, 2015, 07:46:37 AM »
1. Adding WeightedSpriteID and WeightedDetailSpriteID from grasssettings.xml to other items.
I'm especially thinking of stuff that repeats often such as trees, crops, and floors, but it could be used for any sprites.

2. When armor breaks and one (or the first) component can be worn in the same slot, then that component is immediately equipped instead of dropping to the ground.
I'd like to make some layered armor (e.g. padded shirt -> chain mail -> chest plate). Like this a broken armor wouldn't be an immediate death sentence.

3. Centralized item tags. Right now adding an item/construction requires changes to a dozen different .xml files.
In a lot of them just a single line (e.g. stockpile and right-click-menu).
It would be great if everything could be defined via tags in items.xml instead.
This should also simplify merging mods.

4. Modding length of days and seasons. Maybe even with some parameters. E.g. Winter getting longer each passing year.

backbuffer

  • Newbie
  • *
  • Posts: 7
    • View Profile
Re: Mod Support suggestions
« Reply #6 on: October 17, 2015, 10:47:41 AM »
I'd love to have an easy way to test all of the merchant settings. Right now I'm kinda just crossing my fingers and hoping they work because they're too much of a pain to test every time I add 1 item.

Fenrir

  • Newbie
  • *
  • Posts: 21
    • View Profile
Re: Mod Support suggestions
« Reply #7 on: October 26, 2015, 02:41:21 PM »
Id would be great if you could split the difficulltie option for crafting.
I want to make some traning machine which would make it possible to skill with only slight material costs but high time consumption.
But with the current system they would get to much exp from the difficultie.

Example: Smelting
Train Smithing
Costs 1 Sliver of any metal
Should give as much exp as one normal craft
But cost 4 times the time.

Also an option to ignore Skills for crafting time would be perfekt.
I don't want them to finish the training faster with higher skill level.
Maybe an "Skill" Multiplier that can be also negativ?
So that we can set an negative value that would incresease the training time with higher skill level? (Perfect for my purpose :D)

RhoOphuichi

  • Jr. Member
  • **
  • Posts: 95
    • View Profile
Re: Mod Support suggestions
« Reply #8 on: November 02, 2015, 12:50:25 PM »
  • Animated Workshops: Animation support in workshops would be pretty amazing. It would be easy to mod in small animations into existing workshops, and I could envision some new workshops that would really pop with some minor animation. Also the ability to specify idle vs. in-use animations? There are all kinds of ways this could be used: simple rippling water and glowing coals, puffs of smoke, billowing sparks, moving shuttle (on a loom)... and that's just the boring stuff!
  • Powered workshops: Connect some power to enable a workshop - or connect power to modify how a workshop operates. A powered sawmill, for example: only works when powered, cuts logs REALLY fast. A blast furnace could operate like a regular smelter, but when powered it can smelt even faster (as blowers increase the temp of the furnace).
  • Underground Trees: Optional StartDepth and EndDepth tags for a tree to allow us to mod in underground trees. No value=surface only
  • More StateSprite Conditions: It would be awesome to be able to specify sprites for: seasons, above/below ground, in- and out-of-use, degree of crop growth (maybe as a percentage)... nothing else comes to mind right now.

Another thing I would like is to be able to give perks or bonus stats to items.
So you could make a sword that gives +1 strength, or an armour that gives 20% miss chance to the enemy, things like that.

I like  the bonuses, but here's another side to consider: how about making EquippedMovePenalty and EquippedJobPenalty accept negative values? I mean that a value of 10 means a 10% reduction in speed; what about a value of -10 providing a 10% bonus? It might be even better to put in totally new tags that would allow you to choose specific jobs... I'm picturing a miner's helmet which provides a benefit to mining, for example.
« Last Edit: November 03, 2015, 10:12:19 AM by RhoOphuichi »

Tacyn

  • Full Member
  • ***
  • Posts: 223
    • View Profile
Re: Mod Support suggestions
« Reply #9 on: November 10, 2015, 02:03:34 PM »
some - hopefully - small suggestions:
Underground pastures and  corresponding tags whether a type of livestock can be pastured above/below ground.

I'm not entirely sure what the behavior of skeletons and Zombies is currently,
but I would like to see an enemy type that spawns in the dark underground and stays close to its spawn point
 instead of wandering around like Wild animals or rushing your gnomes like beetles.
I think this would allow us to create interesting challenges for our military without having to fear for our miners/haulers lives.

Roboute

  • Jr. Member
  • **
  • Posts: 57
    • View Profile
Re: Mod Support suggestions
« Reply #10 on: November 24, 2015, 05:42:10 AM »

- Make it so walls are previewed in your cursor before placing, just like for example furniture or inclines are. That way you can see what you are trying to place before you actually place it.
- Make it so walls can be rotatable too, this is not an issue for perfectly symetrical walls, but I've added round walls and then it becomes a chore to have to use 4 different wall entries to place them.
- Make it so rotatable, non-symetrical, walls also automatically rotate their designated floor as set in the floor pairs.
- Make it possible to create your own menu root entry to place new wall types. I added fortress walls but I cannot make a seperate menu entry for them, they have to be in the basic walls entry and that clutters up that entry quickly.
- Make it possible to set different skill increase amounts for your research branches, currently they all use the tinkering skill increase setting
- Make it possible to set farm crops to only grow in a certain season
- Make it possible to set how many seeds a crop gives when harvested, currently it seems hardcoded
- Make it possible to irigate or fertilize (or both) Farmland to gain certain bonuses, make it possible to set the bonus (faster growth time, more yield when harvested, higher quality when harvested)
- Add weather effects that can be set in the files and have an actual impact on the game (rain boosts farms, hot day increases drinks needed for gnomes, cold means they go indoors/to fires to warm up, etc)
- Make it possible to set conditions how new gnomes spawn for your empire
- Make blueprint settings work as requirement for workshop construction itself, and add it as requirement possibility for wall building.
- Add some form of bridge block/mechanic that is not just placing a floor above water. That way we could make things like drawbridges, or pitfall traps.
- Add clay as a separate layer possibility or give options to set parameters for how it spawns in dirt layers (min-max depth, amount)
- Make gnome skill requirements for tasks work

Roboute

  • Jr. Member
  • **
  • Posts: 57
    • View Profile
Re: Mod Support suggestions
« Reply #11 on: November 24, 2015, 05:49:38 AM »
Another thing I would really like is the following.

Currently you can build a chair out of either wood or stone. If it is made of wood it uses the basic sprite and if it is made of stone it uses a different sprite.
To set the chair to use a different sprite when it is made of stone you have to add the tag for every single type of stone.
And you have to do this every time you want to use either a wooden or stone chair somewhere (in workshop construction for example)

Can you make it that you could set it to use a group designation to decide the sprite to use instead of each seperate material?
Like <Component>Plank</Component> makes it use the default sprite and <Component>Block</Component> makes it use the stone sprite. (just to clarify, not suggesting you should use that particular tag)
That way you also do not have to add new stone types to all the entries that could use that material for their chairs (and tables and such)

J4est

  • Newbie
  • *
  • Posts: 3
    • View Profile
Re: Mod Support suggestions
« Reply #12 on: February 22, 2016, 02:32:13 PM »
Hi RoboBob,
Thanks for adding mod support! 
At this point, the biggest single thing you could add to empower modders would be to provide verbose output when the game encounters improper content.  This would help immensely tracking down problems, particularly crashes.  Some examples of helpful messages would be:
 - failed to parse <some file>.xml
 - sprite <some sprite> not found
 - ID <ID> invalid for action <action>
Logging any exceptions when they occur would be a good start.  Apologies if what I described is already possible (and if so, can you describe how to access it?)
Thanks,
J4est

Tacyn

  • Full Member
  • ***
  • Posts: 223
    • View Profile
Re: Mod Support suggestions
« Reply #13 on: February 25, 2016, 06:12:07 AM »

- Make it possible to set how many seeds a crop gives when harvested, currently it seems hardcoded

Some more stuff on that note:

- Allow the  item that is planted and  item harvested/clipped to be different.
- Allow groves, farms and pastures  to be set on any floor/ramp  tile above and below ground
  and then add appropriate tags  for individual crops/animals.

P.S.: Being able to mod more of the hard-coded text so we can fully translate the game in other languages.
Whats still missing are  menus and stuff like tree, floor, wall,....
The help menu should also be low hanging fruit and allow modders to write quasi ingame tutorials.
« Last Edit: February 25, 2016, 10:35:10 AM by Tacyn »

Roboute

  • Jr. Member
  • **
  • Posts: 57
    • View Profile
Re: Mod Support suggestions
« Reply #14 on: March 01, 2016, 09:42:31 AM »
The debug menu does not allow for the spawning of storage containers, could those be added?