How do I create DLC content in gdevelop

I want to go full-scale in Gdevelop and my next game might require player to purchase extra content. Is there a way I can implement the system of the player installing DLCs and Extras.

Hi, from what I know, to create DLCs it would be like normally update your game except the parts that are DLC will be hide

Use this condition to check if a DLC is bought

If it’s true then unlock new maps or characters or new mechanics
If false do nothing.

What if the game in question wouldn’t be put on steam but smaller platforms like Itch.io and Gamejolt?

1 Like

Sadly, I don’t know that as well.
I hope someone with experience will come to answer this.

You can use JavaScript and firebase for that
The game collects info(JavaScript) from firebase using firebase database the info could be new game mechanics or new 3D maps(only supported by with three.js 3D)
You will make game mechanics with JavaScript test it in game then send it to firebase then you can delete the JavaScript code from events
For your game to run JavaScript from a variable which firebase info will be stored you need to go to create a new extension and create a parameter name it whatever and make it to be a variable then write this JavaScript code
I’ll assume your parameter name is variable

eval(eventsFunctionContext.getArgument(variable))

Since itch and gamejolt are online games platforms they dont have built in DLC purchasing support *(unless your game will be purchased for download from itch, as a windows/mac app). the only way i could think of this working is to have another itch page to purchase the DLC and then a way to import the DLC into the game and use firebase accounts to track if the DLC is owned or not. if the case is like i mentioned where you have a windows app maybe use a DLC folder in your game so when people purchase the DLC from itch and download it they can stick it into that folder and then you can use the gdevelop filesystem functions to check if a certain DLC file is in that folder.

I think you don’t get what I mean instead of downloading dlc or mods he could store his JavaScript code on firebase then use the in app purchase extension to set a price the player would play to access the variable after the player is done paying then the game will collect extra content from firebase

1 Like

Thanks I will try and check if what you said is possible by me

I bit confusing but I will work my way around it

1 Like

I’ll make a video about it

Thanks. I am looking forward to it

A DLC is literally called “Downloadable Content”. The other problems with this solution are maybe he doesnt want to use javascript in the first place and also he mentioned that his game would be on itch.io or gamejolt and the in app purchase extension only works on mobile games so thats not a viable solution.

But JavaScript is the only way cuz gdevelop doesn’t have any other means apart from steam API
And also i thought of making a JavaScript code interpreter by learning all gdevelop inbuilt JavaScript and turn them Into an extension if I got time or if I don’t change my mind cuz this a crazy idea lol
But anyways he could save a json file on itcho and make it downloadable for a specific price then make an action for interpreting it in the event by just using the convert Json to global/scene variable action
Then download an extension called download/upload text file
After downloading the extension, add an action to upload a text file into a scene variable
Then convert the json which is the scene variable to a global/scene structure or array
That’s all I have for now
But the best way is using JavaScript

I don’t know anything. But I can explain how it would work, in terms appropriate for my kind of fool: There would be a separate game, similar or same assets, and programmed in whatever you want it to do. Probably with new scenes. Then, if you wanted to link it to the original game, with my knowledge, you would have to add events in the original game that checked to see if you possessed those files in your game directory or a specified folder or whatnot. If the file was found, you could then add events, theoretically, with non-downloaded content, native to the original game but inaccessible and incomplete, which linked the downloadable content to the scenes of your original game. Anything you wanted to be in scenes of your original game would have to be in the original game, but inaccessible in the game, and, for best effect, incomplete, to ensure nobody managed to access it without actually downloading anything (via the file system). Perhaps, the best way would be, if asset or music file or whatever exists, then do this and this with it.

I looked at the event options I rarely and never use. (Some of them might actually make my job easier, I notice.) Of these, ones you might find helpful are:

Does scene exist
Inventories (I’m pretty sure they’re global)
Working with steam (though it sounds as if this wouldn’t necessarily be helpful to you)
In-app-purchase extension

Thanks. I will look into this

I am a Java based programmer so doing stuff in Java script is going to have some problems. I will try and learn it so I can implement what you said.