Advice: Open sourcing a game

Hello everybody,
I seek some possible discussion and advice about open sourcing a ‘already established’ game. Let me give some more info:


I’m the single programmer of a game available on Steam for around 3 years with a decent amount of downloads (100k +).
The game is written in Java + LWJGL and is a platform-shooter-metroidvania style game, with content for 6-10 hours for a complete play. The game was the first project of that scale for me and the artist and is far from perfect, but because a lot of players seem to enjoy it in some way we have started making a remake. The remake is not a sequel but contains very much changes and is a better making of the same game universe. (The remake is of large scale and far from finished, but we’re constantly working on it)


Now, at some point I decided myself that after finishing this work I want to make the game open source, that is after the remake is complete release all the source code somewhere (The artist is fine with this as well btw). This is a big decision for me and is the first time I will be making a contribution to the open source community so I feel I need a bit of help and tips from people who know more.
Although I want to release the source code, the game will still be commercial and will be distributed only by our team, so I was thinking of releasing the code under maybe GNU GPL and all the other assets under a “only for private use” license (so you can build and run the game).

Please note that this remake is not made for monetization purposes so I don’t care about the people who will play the game without buying it (there exist pirated copies anyway + I don’t think the impact on sales will be bad), but would like to hear all other sort of opinions about the idea.
My ultimate goal is to provide some reference on how a game like this could be made (with java + lwjgl), along with useful pieces of code and code design ideas anyone could use.

Tl;dr I want to open source my Steam game and looking for some advice and discussion

Is the game multiplayer?

If so, you might not want to make your code straight-out compilable, so that users can’t manipulate the game to quickly gain an advantage against other people. Instead release parts of the source of areas you think are important.

Do you want to make the game moddable?

Maybe in this context introducing a scripting language could be useful for users to play around and build cool mods. Hell, the only reason I got into Java was because I could create server-mods on Minecraft.

Congratulations on having a successful game on steam, though! It must feel pretty cool :slight_smile:

Thanks, it is cool indeed and I learned a lot from it as a first game. You can call it somewhat successful as well.

The game is not multiplayer, that would indeed be a problem in this case. As I mentioned it is a classical platformer metroidvania and so is a single-player game.
Modding is also one thing I was thinking, and having the source code available would probably make it quite easy.
Adding a scripting language would probably be too much work and not worth it, because the game wasn’t designed like this in the first place. Code organization is a big goal for me in the rewrite though so it will probably be easy to mod.

What is the game? I’m always trying to support Java games on Steam!

Can you send me a PM because I don’t want to write the game’s name in this thread?