Download Media Create Donate Forums


Separate Engine and Game Repos

It's time to separate Flare into two repos: Engine and Game. But exactly how to do that is unclear.

Apologies ahead of time: I'm going to butcher git terminology here.

We want just the engine in the current main repo. When people want to build a Flare game, they should be able to easily Fork my master repo and add their custom data to the mods folder. Projects like Polymorphable are direct forks of the Flare master -- makes it easy to keep their engine up to date. But currently they have to deal with special filters to ignore all of the Flare game-data.

Should this second repo contain game-data only? Or should it be a fork of the Flare master, just like Polymorphable is (containing code and art)? I think there could be benefits to treating the Flare game exactly like any other project using the Flare engine, in that it has its own source and is often merging changes from the upstream engine repo.

Also: should we entirely prune the Flare game data from the current repo? I mean not just remove, but prune the history? If we don't prune, anyone who clones the engine repo will get all the history of the data, which is a huge amount of data (very large image and music files). If we prune, I'm afraid of what it might do to the tag/branch/commit history of the master repo. Also, if we purged the game-data, how does that affect projects that are already forks/clones?


Now I'm essentially sold on the idea of creating a flare-game fork.

The remaining question: do we just delete the flare game-data from the engine repo, or do we try to prune it? If we don't prune, anyone cloning the Flare engine gets all the data history (very large image and music files). If we do prune, I'm not sure how it would affect existing tags/branches/clones.

[--Update 2--]

I'm creating two new repos named flare-engine and flare-game. The new flare-engine looks lean. Tags and branches didn't make it over. If this purging works, I'm not exactly sure what to do with the old repo "flare". Maybe update the README to note the permanent move. Maybe even delete the repo at some point in the future.