Anyone make their game mod-able?

Discussion and feedback on Construct 2

Post » Tue Jun 07, 2016 2:06 pm

Lof wrote: users don't really know what they're doing, they can import a 22 megapixel image, it might load up on the sprite ok, but getting this extremely large dataurl and storing it wouldn't be easy and would probably crash the user's browsers..

good point! didn't even think of that.. I have not used Paster/Canvas before so I will have to look into it.. thanks!
B
100
S
33
G
16
Posts: 1,204
Reputation: 16,865

Post » Tue Jun 07, 2016 2:15 pm

Colludium wrote:So to customise a game object the player would be required to place assets in a folder that nw.js can reference and upload from automatically (I think this is easily possible, load image from url)


could you also have an XML file that the player could modify read by NW?

<NewEnemy1>
<Health>400</Health>
<Movement>raid</Movement>
<Weapon>torpedo</Weapon>
</NewEnemy1>

also, I'm not talking about making the game moddable by beginners... they'd have to understand modding...
B
100
S
33
G
16
Posts: 1,204
Reputation: 16,865

Post » Tue Jun 07, 2016 2:16 pm

what about mod sharing? i.e. user X made a Star Wars mod out of my game (all units and sfx are from Star Wars) and shares it... so other players could try it.
B
100
S
33
G
16
Posts: 1,204
Reputation: 16,865

Post » Tue Jun 07, 2016 2:37 pm

Yes of course, once you save a file it doesn't really matter what you put in it, store xml, csv, or even export an array or a dictionary to a json string.
You got all the tools you need to do it, some official some 3rd party.
Image
B
80
S
30
G
12
Posts: 517
Reputation: 12,713

Post » Tue Jun 07, 2016 5:07 pm

jobel wrote:could you also have an XML file that the player could modify read by NW?

<NewEnemy1>
<Health>400</Health>
<Movement>raid</Movement>
<Weapon>torpedo</Weapon>
</NewEnemy1>

also, I'm not talking about making the game moddable by beginners... they'd have to understand modding...


I had always thought that I would want to secure the parameter data somehow, probably by saving a hash string along or inside the json file (I'm a fan of json at the moment), so I hadn't really considered granting people easy access to the package.nw files. By limiting what the player can change it prevents a player from creating impossibly immortal enemies etc. So mod-ing would be limited to graphics (sprite and tilemap images) and to the configuration of the layout tilemap as well, all supported from within the game.

I'll have to think about other sorts of mod-ing (opening the package.nw and changing assets directly) - I don't think I would mind but I wouldn't try to make it easier than it is already.
A big fan of JavaScript.
B
76
S
20
G
74
Posts: 2,255
Reputation: 46,484

Post » Tue Jun 07, 2016 7:06 pm

Colludium wrote:I had always thought that I would want to secure the parameter data somehow, probably by saving a hash string along or inside the json file (I'm a fan of json at the moment), so I hadn't really considered granting people easy access to the package.nw files. By limiting what the player can change it prevents a player from creating impossibly immortal enemies etc. So mod-ing would be limited to graphics (sprite and tilemap images) and to the configuration of the layout tilemap as well, all supported from within the game.

I'll have to think about other sorts of mod-ing (opening the package.nw and changing assets directly) - I don't think I would mind but I wouldn't try to make it easier than it is already.


well, you could always have the game check the XML file.. if it was modded by the player, then your game would not give achievements or other "successes" or reveal level-design architecture that you've created. i.e. if your game had an "ending". It would have to be it's own game mode, you don't want to the player to be able to cheat. I guess it highly depends on the game you are making though.
B
100
S
33
G
16
Posts: 1,204
Reputation: 16,865

Post » Tue Jun 07, 2016 7:11 pm

rexrainbow wrote:I had made 2 plugins rex_scenariojeditor and rex_scenariojengine. The editor plugin could export commands(script) as a JSON string, then executes it on engine plugin.
So logic could be loaded at run-time in this case.
awesome, this is great.. might be a little overkill for my purposes, not sure.. I'll have to think about how I would implement modable logic... very cool option though.. thanks!
B
100
S
33
G
16
Posts: 1,204
Reputation: 16,865

Post » Tue Jun 07, 2016 7:23 pm

Some of mine are driven by user content. You just need to be very careful as you really open yourself up to abuse (hacking, etc)
B
45
S
19
G
8
Posts: 522
Reputation: 8,639

Post » Wed Jun 08, 2016 6:31 am

@jobel

Since event sheets are transferred to a JSON structure (data.js), it is possible to load another data.js file during run-time ideally. There is no such feature officially I known, so I made another editor/engine plugins to load and run my script in JSON structure.
B
109
S
27
G
278
Posts: 4,483
Reputation: 155,426

Post » Wed Jun 08, 2016 7:04 am

Well I didn't actually mean load/save the entire data.js

I just do a for-each on all the objects I need and save just the params I need to read back, like frame number, X,Y,size, imageurl, etc.
Image
B
80
S
30
G
12
Posts: 517
Reputation: 12,713

Previous

Return to Construct 2 General

Who is online

Users browsing this forum: No registered users and 3 guests