Anyone make their game mod-able?

Discussion and feedback on Construct 2

Post » Sun Jun 05, 2016 5:22 pm

hey just wondering if anyone has attempted to make their game mod-able (by players/community)...

I suppose you could have a way to swap out sprites and sound effects... not sure about logic though.. maybe have the game read some sort of textfile? then you'd have to do parsing... maybe there's a simpler way..?
B
98
S
32
G
16
Posts: 1,204
Reputation: 16,715

Post » Sun Jun 05, 2016 6:27 pm

I have a plan to add a level-creation feature to my current multiplayer project. It's rather 'embryonic' and exists as more of a concept than something substantial at present....

Edit: I'll be using JSON files to store the level data. Everything from the terrain layout to the placement of traps etc will be stored for transfer so a multiplayer game can be played on a unique layout. If it was easier to transfer images between nw.js exports then I would look into doing that as well for greater customisation.
Last edited by Colludium on Sun Jun 05, 2016 7:23 pm, edited 1 time in total.
A big fan of JavaScript.
B
74
S
20
G
71
Posts: 2,230
Reputation: 44,892

Post » Sun Jun 05, 2016 6:38 pm

I created some kind of banner/ad app which loads external images and URLs from a Textfile and I plan to add modding support to some extent for my next project.
The manual mentions to use .AsJSON for dictionary or other objects to download/share a level or data with other players and let them import the JSON string or download it from a SQL database with a PHP file (AJAX GET/Post).
Bl4ckSh33p-Soft - Custom Software and Indie Games
B
56
S
16
G
6
Posts: 743
Reputation: 9,310

Post » Sun Jun 05, 2016 7:15 pm

I've made a game with an online level creator, need some more tweaking, but works great.

http://headbangames.com/swipey
Image
B
79
S
29
G
12
Posts: 515
Reputation: 12,584

Post » Mon Jun 06, 2016 3:21 am

Colludium wrote:If it was easier to transfer images between nw.js exports then I would look into doing that as well for greater customisation.


what do you mean by transfer between exports? do you mean between multiple copies of the game...online multiplayer?

Bl4ckSh33p wrote:The manual mentions to use .AsJSON for dictionary or other objects to download/share a level or data with other players and let them import the JSON string or download it from a SQL database with a PHP file (AJAX GET/Post).


yeah, I was thinking along the lines of players creating their own kinds of units (top-down game) and giving them custom attributes, speed, sprite, sfx, attacks etc... they'd have to use an AI behavior I already have setup in the game (or a combo of such). Loading sprites would require editing the collision boxes... I wonder if there's a way to programmatically 'guess polygon shape'.
B
98
S
32
G
16
Posts: 1,204
Reputation: 16,715

Post » Mon Jun 06, 2016 3:24 am


cool! have you done anything with player custom sprites or sprite sheets?
B
98
S
32
G
16
Posts: 1,204
Reputation: 16,715

Post » Mon Jun 06, 2016 4:31 am

I was creating a C2 version of the open source game Relic Hunter Zero which read from JSON files character attributes which could be changed or added to. Reading from a file will be your best bet for sure, pair it with something like Firebase so there are hosted files that other players can load from and you are golden.
Twitter: https://twitter.com/pudgyplatypus

Learn to make a clicker game for cheap!
https://www.scirra.com/store/games-with ... e-game-666

Try out Pixel Golf on the Scirra Arcade!
https://www.scirra.com/arcade/sports-ga ... el-golf-67

Pudgy Platypus Games website!
www.pudgyplatypus.com
B
59
S
20
G
5
Posts: 212
Reputation: 7,390

Post » Mon Jun 06, 2016 4:43 am

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.
B
108
S
26
G
272
Posts: 4,472
Reputation: 152,279

Post » Mon Jun 06, 2016 5:17 am

jobel wrote:what do you mean by transfer between exports? do you mean between multiple copies of the game...online multiplayer?


I'm aiming for a stand alone Steam export. I would like to be able to save or transmit an image (that the player loads into a game object) automatically from one game to another (both players on multiplayer, no server use). Unless I've missed something I don't think it's possible to save an image from nw.js or export an image as a data file using multiplayer. 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) but sharing one of those assets between games is not - that's what I would like to do as well. Then a player could transmit the assets they created as well as the layout positional data. A bit of a ramble but I hope it makes sense....
A big fan of JavaScript.
B
74
S
20
G
71
Posts: 2,230
Reputation: 44,892

Post » Mon Jun 06, 2016 7:30 am

jobel wrote:

cool! have you done anything with player custom sprites or sprite sheets?


I thought about maybe letting the player upload a custom sprite as one of the obstacles/pick-able bonus, but not sure I will, I did do it before though mostly for drawing apps.
In Swipey I am taking a scale-to-fit screenshot of the layout for the level preview and sending it with the game when you post it, that sort of the same.
My only advice is to use something like canvas or paster to show and store imported/runtime generated images, because firstly, you can have as many instances as you want, each with a different image (cached separately), if you use a sprite object you will need to add a bunch of empty frames up front and use different frames for different images, it would be better if you could add frames at runtime, but you can't :)
Secondly canvas/paster is also better because you can redraw the image at a lower resolution and crop it if necessary before saving it, 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.

If you need sprite sheeting for animations, I still recommend getting each frame with canvas/paster rescale it to a maximum reasonable size and then import each frame to a pre-made sprite objects with enough frames to cover your basics.
Image
B
79
S
29
G
12
Posts: 515
Reputation: 12,584

Next

Return to Construct 2 General

Who is online

Users browsing this forum: No registered users and 13 guests