A few crucial questions

Hello World!

I’ve finished the 2D platform tutorial and many questions arose in my mind, considering I want to publish games on Steam. These are the following:

  1. It seems Steam requires my game to use the Steamworks SDK. Is it possible to do in GDevelop?

  2. My game will probably be seen by a lot of people, and perhaps played. Bugs will inevitably be found. Considering this:
    2.1 If the bugs are the result of my poor GDevelop usage, will I have to fix the events and then reupload it to Steam and make my players download the whole game again? Is it feasible? What about saves and etc.?
    2.2 If the bug is on GDevelop’s side, how quickly will it be fixed? A rough estimate will suffice in this regard, programming is hard (that’s why I’m using GDevelop, :mrgreen: ).

  3. Still speaking about saved games, is it a feature available for GDevelop? The demos I’ve seen look fit for small web games, but I’ve not yet seen a more complex game, with multiple kinds of enemies, levels, items, AI, etc. Think of Super Metroid for SNES or the “Metroidvanias” games for handheld platforms. Are these kind of big and complex games posible to be done with GDevelop?

  4. Last I’ve seen (saddly I’ve forgotten what page it was), the network automatism was depecrated. Currently, is there a way to develop games with multiplayer?

That’s it for now. I hope my questions are good and I’m eagerly waiting for replies.
In the meantime, this is where I get off to make game clones (Megaman X, Castlevania, etc.) on GDevelop to see its true potential. Thanks to all the devs for making the program possible.

See y’all,
Missingno

The Steamworks API is not integrated in to GDevelop at the moment so you need to integrate it your self.
I don’t know much about this topic but as far as I know to publish your game on Steam the only thing is required is an executable that calls the Steamworks API so when you run your game it runs through the Steam client. So , in theory you don’t need to touch the source code of GDevelop and your game but simply include two executables. One is make the call to the API you can make this in C++, Java or even Javascript with Node.js and the other is the actual game launcher compiled by GDevelop and executed through the API.
But this way you can not use the Steam overlay but only meet the minimum requirement to publish your game on Steam. Many Indie games on Steam do it this way. They have an “offline” launcher hidden in the game folder and use a secondary executable make the calls and launch the offline launcher.
But in case you get there to release your game, I’m pretty sure you can hire someone with a coffee. Literally it requires only few line of code.

@4ian
@Victor

Actually it would be nice to have it in GD, no full integration but at least an option to call the API with the steam ID of our app then we need only a single executable compiled by GD and no such work around.
Please :wink:

I have no experience how it works but I guess, you can just simply upload the new version (files only, no installer) to steam and mark it as update or beta or whatever. In case it an update, steam automatically download whatever is included and simply replace the old files I guess. Anyhow I believe the whole update process should be handled by Steam.
As of the saves you can put them in to the documents folder as usual with games so when you update the game, the save files are not affected.

Keep in mind GDevelop is developed only by two person in spare time.
I believe there was only a single time when the fix of a bug took months because of the complexity (the OR condition) but normally bugs are fixed within days and weeks and now you can get the fix as soon as it done with the nightly builds:
nightly.compilgames.net/

The nightly builds are less stable but in case it important it might just fix your problem and not causing others. Always make a backup of your project before using a nightly build.

You need to make your own save system using the storage actions. You can find some examples on the wiki and also an example (level editor) is included with GDevelop.

Technically you can make any kind of game with GDevelop there is very little not possible and most of the limitations are graphical and physical. For example no fluid simulation is possible because GD just can not blend sprites but the physics is there only limited graphically. No cloth simulation is possible, it is limited by the physics.
Creating fog, weather, lighting and reflection effects is not possible or very limited because you can not use shaders and can not blend sprites in GDevelop.

The HTML5 renderer (Pixi.js) is actually pretty powerful and pretty much capable of anything I mentioned above but you need to use JS code to utilize it.
But regarding core gameplay, technically anything is possible.

I would not recommend it because the future of the networking extension is unknown and it is out of date, no longer updated and maintained. If it broke one day, it remain broken, no fix is promised.
It would be not lucky to find out with the next update of Ubuntu and Windows, your multiplayer game you developed for months just won’t work any more or the next update of GDevelop brings a bug fix you really need but don’t have the networking extension any more and you need to choose, multiplayer or bug fix. I guess the networking extension is included only to make sure no ones project is ruined only because it removed, but in case you want to start a multiplayer game now, just don’t.

So there are plans to integrate it then? I hope it happens soon, I have a begginer’s level of experience with programming and I wouldn’t know how to do it.

I assume these are Florian and Victor. They’ve my respect, wish I could get them some coffee.

That’s too sad to hear. The situations you’ve described are really saddening. GDevelop’s interface and tutorials are of such high quality, the only time I’ve seen such a thing on an open ource project of this kind, that’s a shame I can’t use it for the platform I’ve aimed for, with the features I’d envised. I wish luck to this project and hope it grows.

I don’t know about it. I was suggesting couple times before but I never received reply if it something considered.
4ian is working on a game and the early version is available for Windows so I hope he may decide to release it on Steam when it ready and then he may add the option to call the API.
Unfortunately 4ian is extremely busy these days so I doubt he is going to confirm with us anything. The only thing we can do is hope and wait.

When you get there to release the game on Steam, I’m pretty sure 4ian willing to help you out, it would be a huge step finally release a GD game on Steam especially if it a good one and also displaying a GD splash :wink:
But if not then I’m sure you could find someone to do it for you for a low price.
To add the DRM is really just seems to be a few line of code to simply call the API and basically check if the game with this steam ID is present in the library, if it does, just continue executing the program and run the game if it not than quit the game.

I really hope this will be added to GD one day.

In most game dev tools out there supporting steam out of the box, if you want to keep it simple and only add the DRM, the only thing need to do is export a Steam executable it is including the API already so you don’t need to download it but even if you do just download and copy/paste that’s all need to be done and in the Steam options enter the steam ID of the game but even if there is no option, you can just edit a simple text file to add the steam ID of the game.
And that’s it. The executable make the call to the API and run only through steam and if the game is present in the library.

Of course if you want to add workshop integration, Steam community, Steam multiplayer…etc it is more complicated but single DRM require next to nothing so I really hope to see this feature in GD one day.

Thank you for responding, it really makes a great difference.

It seems GDevelop is suffering from a lack of developers. It’s a shame, it’s such a good program, and the documentation is often clear, I wonder why it’s not attracting more people.

Wait, how sure you are that I’ll get help from 4ian himself? One doesn’t simply take 6-8 months creating assets and building the logic of a game to discover it will be collecting dust for months because the game creator is waiting for help. I’m starting to think this issue links to the comment I made above, which is deplorable, because I can see GDevelop shaking this game creating programs market, becoming the standard, yet it doesn’t because its future is uncertain. Who’s going to risk investing time into that?

For the idea I have right now, these things arent really attractive, a simple DRM check would suffice.

4ian helped me a lot on the forum years ago to get started with GD and even with very advanced staff.
Unfortunately he is too busy with life and job to be that active on the forum these days but I guess he still the same person and he still interested in the success of GDevelop. A Steam release of a game made in GD could raise some attention.

Of course life and demand for money to pay the bills can change anyone and personally I can’t guarantee his help for free in 6-12 months, but all I’m saying it should not be that expensive to even pay someone to get it done if/when your game is ready to be published to Steam.

That’s correct, it seems he needs to do internship to finish his studies. I was looking into his personal site and there he writes:

I think you’re right about it. I’ll start making the game. If 4ian can’t help me at the time, I’ll just pay someone to code the small bits I need for Steam’s DRM. And if I can’t pay, I can always use the assets I’ve created later.

Steam API works with HTML5.
Idea is : Put your game HTML5 in Node Webkit, plug Steamworks on Node Webkit.
Have a fun for integrate this system, but it’s works because Game Dev Tycoon use this system.
I’m french so i’ve some difficult with english, but you have not problem with this language, here somes links :

github.com/greenheartgames/gree … greenworks
github.com/greenheartgames/greenworks

I think that if a person gives his help there must already be a functional and pleasant game for that person.

Greetings Bouh!

Your post contains very important information, though it describes processes I’m not familiar with. I’ll read about this a far as I can understand it. I know I’ll need to call for help at some point, though.

I’m concerned about porting the game to HTML5 though. Won’t the code be easy to steal?