cross-posted from: https://lemmy.ml/post/22924305
Pretty straightforward: what tips and advice would you give me if I were to start an open source project of a game? Where to share my intention of beginning this project, where to find contributors, how to organize the workflow etc.
I mean first, I’d probably ask you to check out what exists.
RTS: Beyond All Reason
Roleplaying: Space Station 14 (Space Station 13 “sequel” decouples from Beyond Launcher and apparently easier to contribute and extend)
Roguelike: Dungeon Crawl Stone Soup
FPS: Unvanquished (I have never played or seen this one)
Theres much more here:
List of Open Source GamesIt may feel good to join something already moving than trying to get people to start over on something new.
https://mindustrygame.github.io/
Mindustry and Veloren are also pretty big and fun games!
Oh shit, I always forget Mindustry is open source!
Beyond All Reason is really interesting. There is a long history there! The engine was originally made to play Total Annihilation mods (or the full game? Not sure). That evolved over something like 15 years!
The end result though is not just a good open source game but a damn good RTS with an awesome scene. I <3 BAR.
Anyways, aside from fawning over BAR what’s my point?
Plan for the long game: these projects can take a long time to gain traction.
Context: I’ve written several games that no one cares about (anymore). My free games have had small happy player bases in the past. I have no real idea their reach, because last time I had a runaway hit it was passed around on physical media copies.
My tip is to play the game until you find it fun, while developing it.
Like any art, you can only be 100% sure you can please one person - yourself.
To take more advantage of the work of others, I’m now learning Lua to allow me to modify existing Luanti plugins, then eventually create my own, then eventually port some of my past games to the engine.
So there’s that option as well, if you don’t know where to start.
My tip is to play the game until you find it fun, while developing it.
That’s a good tip, if your testing sessions get longer and longer because playing the game is fun you’re on the right track.
You’ll probably have to work alone until you have a compelling proof of concept / vertical slice that might attract contributors - but it might not, and then you’ll have to continue alone. Also, open source and gamedev isn’t the best match (depending of the type of game), since testing games is tedious boredom that won’t attract volunteers, and developing a story in the open removes any surprises.
Perhaps start by announcing your plan and inviting contributors in a game development forum?
You didn’t give much info on what it’s supposed to be or become, but either one of:
- Create something of value, while being open and documented enough for accepting contributions
- Write down and publish goals, approach, structure so anyone can participate, and seek out collaborators while also doing your own
You might also want to ask around at [email protected] , since there are gamedevs there who ostensibly have honed their workflows, even if not necessarily FOSS.
I don’t have any specific experience on making games, but I guess you should just start making the game and then you think about everything else, how to attract people and things like that.
I sure can contribute some whitespace fixing commits. When do I start?
Gamejams! They always look like a blast especially if your goal is just getting something started.
Contribute to some other game that already exists if possible. that is the power of open source - when many people over many years come together to work on all the tedious details to make a complex polished game free from market pressure. When you do many choices have already been made for you, so they can tell you where to start. Want to add a new puzzle, put a picture on some wall, or whatever - they will tell you how to do that.
If nothing is like your idea you can start from scratch. Likewise sometimes the existing people involved in the game are jerks and you need to start over or fork - but are you sure it is them and not you. These are not ideal cases though and should be avoided. Much better to work with others if possible.
If you start from scratch you should be thinking about what game engine to write in. You can write a game from scratch in raw code, but in general step one is picking your engine and then living with the limits of that engine.
What kind of game?