Enter the Gungeon

Enter the Gungeon

View Stats:
JAGIELSKI Apr 7, 2016 @ 4:33am
Modding the Gungeon
How adding support for modding to this marvelous game?

Obviously modding a game that is about procedural generation is a tricky subject, so as the first and perhaps easiest way to do this I propose adding room editor. The rooms would be then incorporated into the game's generation. You'll be able to select whether this room is standard or boss room and which floor range it should generate between. Additionally you could get a enemy wave editor to customize enemies layout in this room or it could be left up to the game to decide.

I think simple tile editor would be best here. Then you could share rooms on the Workshop.

This way, the game will get best both of user-submitted content and procedural generation and would be truly infinitely replayable.

Another thing would be adding option to mod in additional guns/enemies/bosses, but I have no idea how it could work, so I'll left it for the developers.
< >
Showing 1-15 of 20 comments
JAGIELSKI Apr 9, 2016 @ 3:09am 
Bump. I'd like to know what you think.
Captain Sardine Apr 13, 2016 @ 2:40pm 
This would be really cool I think.
MechaTails Apr 13, 2016 @ 2:48pm 
I'd like to edit guns and the character sprites, that alone would add a ton of user-generated content because creating entire dungeons is way more time consuming/tough.
Last edited by MechaTails; Oct 4, 2017 @ 8:41pm
JAGIELSKI Apr 13, 2016 @ 2:53pm 
Yeah, that would be cool, MechaTails. However I don't know how to solve it so it would be both easy to use for modders and easy to implement for the devs. I am a game developer too so I can roughly estimate how hard each of the features I propose would be to implement, you know.

But room making that would then appear randomly in the Gungeon? Nothing too hard - either a simple tilemap editor or Tiled import would suffice here. The only thing that could prove troublesome are enemy spawns, however this can be calculated by the game itself though "wave designer" would be a nice touch.
MechaTails Apr 13, 2016 @ 2:58pm 
Whatever happens, it can't be harder than modding 3D games. I used to make mods, and pixel games like Starbound were always the easiest. Usually just a sprite sheet and a text file with all the relevant stats in all the right places is all it would take to add new items.
JAGIELSKI Apr 13, 2016 @ 3:04pm 
Keep in mind that for guns you'd also would like to make cool bullet patterns (see e.g. Proton Pack or Helix gun). How would you do that with a simple text file?

Again, I'm not opposing it and I certainly do hope that character/gun modding will eventually happen, but it is hard problem to chew from implementation standpoint (dev side of things). Currently devs can just hardcode everything and it is easier than making tool to interpret files. I should know as I was making a level editor for a game I'm making (3D platformer) which took better part of last year (as I want to give player same power regarding level creation as I have, like back in the old dayus of doom/quake modding).

Room modding would be certainly easier to do so it should be developed first.
Blockner Apr 13, 2016 @ 3:18pm 
Tfw someone has already modded Gungeon.
MechaTails Apr 13, 2016 @ 3:21pm 
There are ways to edit bullet trajectory through text, also check out Relic Hunters Zero modding for details. There are modifiers like "split shot", "explosive", "range", "arc", etc.

Patterns specifically (like a happy face or whatever) are probably more involved. Like, if the bullet pattern is 4 bullets in a square shape, all the bullets would be one sprite and you'd modify the hit box somehow. Just depends on how the game is built. Torchlight's editor for example makes editing projectiles super easy....assuming you know what all the variables mean and what all the buttons in the editior do lol
Last edited by MechaTails; Apr 13, 2016 @ 3:23pm
JAGIELSKI Apr 13, 2016 @ 3:24pm 
Originally posted by MechaTails:
There are ways to edit bullet trajectory through text, also check out Relic Hunters Zero modding for details. There are modifiers like "split shot", "explosive", "range", "arc", etc.

Patterns specifically (like a happy face or whatever) are probably more involved. Like, if the bullet pattern is 4 bullets in a square shape, all the bullets would be one sprite and you'd modify the hit box somehow. Just depends on how the game is built.
See? You're proving my point about it being more complicated to implement (and then mod) than as the first pass just making room modding possible.

Again, I'm not opposing it, but if devs of this amazing games decide to implement modding support, they should start with something simple to test the grounds. Like room modding.
MechaTails Apr 13, 2016 @ 3:29pm 
Except it's not complicated at all. In a pixel game, you can edit the text file for the item. You simply change "bullet count" to 2, and now the gun shoots 2 bullets. Turn on "split", and now the gun's bullets randomly split like a shotgun. No modding tool required, just a text editior.

I'm not arguing anything, just chatting. But while I'm at it, editing room behaviors, set pieces, and spawn logic sounds way harder to monkey with than simple text files. :p
Last edited by MechaTails; Apr 13, 2016 @ 3:30pm
JAGIELSKI Apr 13, 2016 @ 3:46pm 
Well, still more complicated than putting tiles together to form a room.

Also you need to take dev side of things as well. Loading rooms is easy. Just load up array of tiles from a file containing byte stream of tile IDs (roughly speaking). But, for "text modding" to work following things would need to be implemented:

1. Interpreter of said files. Said interpreter would have to contain following subcomponents:
  • Tokenizer - since for computer such text file is just stream of letters (or more accurately, stream of ASCII or Unicode letter codes), you need to write a code that would check for needed tags, etc. and translate it into byte sequences. So eg. spread: explosion becomes following bytes: 34, 5. This is hardest part.
  • Validator: So if someone would try to make "gun file" that contains random characters, it would be deemed invalid and game would inform player of it either with an error message or in a log file. Medium to hard difficulty. Usually it's part of tokenizer.
  • Actual interpreter. Let's get back to our "spread: explosion" (which becomes bytes 34, 5) example. For the computer 34 is just another number. Code needs to be written that goes through "instruction list" of bullet script after it gets validated and tokenized and then react appropriately depending on what instruction and what parameters are put on.
2. Image loader of gun/bullet sprites. Not too hard.
3. A system that would detect "power" of modded-in gun and assign drop rate accordingly.

Suddenly not so simple, huh?
Last edited by JAGIELSKI; Apr 13, 2016 @ 3:47pm
MechaTails Apr 13, 2016 @ 3:51pm 
Unless there's something about modding a Unity-built game that requires all that, I don't know why you would need all that to mod a sprite based game. Every other sprite game I've modded just involved editing a few text files and dropping your sprites where needed. Very basic stuff, no modding tools required.
JAGIELSKI Apr 13, 2016 @ 3:52pm 
Originally posted by MechaTails:
Unless there's something about modding a Unity-built game that requires all that, I don't know why you would need all that to mod a sprite based game. Every other sprite game I've modded just involved editing a few text files and dropping your sprites where needed. Very basic stuff, no modding tools required.
Well, on your side maybe. On dev side it's quite a pain to make game moddable. That is also important to think about.
Smakit Apr 13, 2016 @ 3:56pm 
Any modding made simple is always great. And yeah for the stuff Mecha is talking about, it really all depends how it is set up to handle it. But even as simple as the room design sounds, it also depends how they handle it.

It may take just as much work (or nearly so) for the simple map editor. If they don't have any way to accept files and things, it needs to get all that extra bit put in; reading in a room in CSV format or imported from tiled as you suggested, or whatever. Just depends how they set it up.

But I'm all for it regardless of what path it takes - I love playing with that kind of stuff. Just as long as it is all optional, of course [which is almost always the case]. I would hate to have all the terrible rooms spawned full of enemies 'just because' to be in game ;)
JAGIELSKI Apr 13, 2016 @ 4:06pm 
Originally posted by Smakit:
Any modding made simple is always great. And yeah for the stuff Mecha is talking about, it really all depends how it is set up to handle it. But even as simple as the room design sounds, it also depends how they handle it.

It may take just as much work (or nearly so) for the simple map editor. If they don't have any way to accept files and things, it needs to get all that extra bit put in; reading in a room in CSV format or imported from tiled as you suggested, or whatever. Just depends how they set it up.
I've never said that making map editor/tiled import wouldn't need ANY work on the part of the devs. Was just pointing out that it would require far less work than making gun/character modding.
< >
Showing 1-15 of 20 comments
Per page: 1530 50

Date Posted: Apr 7, 2016 @ 4:33am
Posts: 20