Source Control an CI/CM

xavarar

New Member
Aug 16, 2017
2
0
Hi all! I've been a lurker here for quite a while... I think this is my 1st post... :LOL:

Anyway, I've recently taken some interest in doing my own game development and was wondering what solutions some of the devs on here have in terms of source control and CI/CM. I'm a long time professional developer (nothing involving games mind you), and Build Engineer, so I know all the ins and outs of the dev cycle and tools involved. I haven't really done any at-home projects that warrant this type of infrastructure (I leave that shit at work man! I got better things to do!), so I'm just curious what others here are using.

I'm pretty sure any cloud-based solutions are out of the question because of the content. GitHub is very attractive with it's built-in workflows/actions, but that's an obvious no-no. If there are any similar solutions out there that people are using, or any home-grown solutions that have worked out well for you, I'd be interested to hear.

I'm currently thinking just a separate machine running git or svn (I really don't need all that git has to offer, and I'm frankly more comfortable with svn) and Jenkins might do the trick.

Anyway, let's hear what you've got!

Thx!
 

Saki_Sliz

Well-Known Member
May 3, 2018
1,403
1,011
Unity recently (few months ago) converted over to Plastic SCM, for its version control and team sharing, I've used it a bit and I really really like it. Its basically git, just as powerful if not more so, and it is visual, no console commands. I have yet to use Plastic SCM for other things, but I think I might look into it again since I'm working on more longer term projects now.

Other than that, I've theorized my own philosophy for version control, but I don't feel like developing the tool, that and Plastic SCM pretty much achieved most of what I wanted anyways.
 
Aug 5, 2016
24
40
I use Gitlab with its own CI/CD pipeline. The advantage is that you can self-host everything. You can spin up your own workers for the CI/CD stuff. Support for kubernetes is limited, but you can deploy in a docker container. Or install it on a VM, that works too.

I also just use git for everything, since it's the easiest to use. Most people won't need more than git status, add, commit, push, pull and checkout -b anyways.

Though I'm also spinning up a Jenkins instance to see if I can do some automation on private github repos, since using github's pipeline on private repos costs credits.

But yeah, I can recommend a self-hosted Gitlab instance to you. It works!
 
  • Like
Reactions: EndlessNights

xavarar

New Member
Aug 16, 2017
2
0
Thanks for the replies!

I never heard of Plastic SCM before. Not sure it's exactly what I'm looking for. I'm not a Unity developer and it seems very geared toward that envirnoment. Does it provide anything in the way of CI/CD?

I was looking at Gitlab for exactly the reasons you listed, but wasn't sure how the self-managed install would work out. That looks like the right option for me at this point.
 

osanaiko

Engaged Member
Modder
Jul 4, 2017
2,538
4,621
As a contrarian, I'd suggest most one-man projects don't even use source control, let along CI. This is not just due to unfamiliarity with the sort of workflows/tooling used in professional development, but also that it's just unnecessary overkill.

Ren'py certainly does not lend itself to any test automation (or if anyone knows how it might be possible please enlighten me!). And the "build" process is really only needed when shipping a release, over the course of normal development it's dynamicly picking up the contents of the asset folders. So a manual workflow is fine.

For larger, multi-dev projects, then using Github et al has definite advantages, with the large caveat being that you can get all the contributors to use it!
 
  • Angry
Reactions: Axeleen

Kiltzi

New Member
Feb 6, 2021
1
2
Oh! Didn't expect to see fellow build engineers here.
So, I'm still recommending using source control, even for solo, as backups with history changes don't hurt anybody, but can help. And self-hosted GitLab here is king.

For CI tooling, I'm not sure, it definitely can help in a bigger team, especially when you have non-tech people to test stuff. But all of this goes from tools and overall working pipeline and platforms to release/test on.
With ren'py it not so much useful as it more or less stable (I can be really wrong here, not worked much with it)^ but with different engines there can be hassles, for testers to set up things. (Like if you're building for mac there's whole ass of security stuff, and for android you can automate install to make some rapid tests)

Also, GitLab covers anything in CI you would need, i have used before Jenkins separately, but even if you need some to do some work separate from push, you can trigger it with some curl requests and just run some scripts on agent machine.
 

Axeleen

Member
May 1, 2018
316
382
As a contrarian, I'd suggest most one-man projects don't even use source control, let along CI. This is not just due to unfamiliarity with the sort of workflows/tooling used in professional development, but also that it's just unnecessary overkill.

Ren'py certainly does not lend itself to any test automation [...]

For larger, multi-dev projects, then using Github et al has definite advantages, with the large caveat being that you can get all the contributors to use it!
LMAO, a lot of ignorance in this comment.

1. Any dev worth its salt uses version control for any project whose development lasts more than a week, no matter if it is a personal or a team project. Distributed development is only but one aspect of source control, it is also majorly about historising changes, enabling easy and fast rollbacks, parallel feature development, and a lot more.
2. Test automation has absolutely nothing to do with source control, and it is a mere by-product of it. And btw, in order to do test automation you need testing first, which wourld be the relevant thing to debate on if you wanted venture on that topic.
3. Getting all contributors to use the project is absolutely not a caveat... it's the very goal of Git ! Unless you're an utter piece of shit who wants to keep the monopoly on a project even though others help you on this. Then yes, you're definitely not made for source control, since this is a tool for empowering contributions.
4. The very fact that you talk about github and not git is a telltale of your technical illiteracy and inexperience with the tools you're trying to talk about.
 
Last edited:

osanaiko

Engaged Member
Modder
Jul 4, 2017
2,538
4,621
Hi Axeleen, you seem to be confused about the nature of this forum.

This is a place for amateur adult game creators to discuss ideas and get help. If you take the time to read some threads you'll quickly find that the vast majority of creators do not come from a professional software developer background. In addition, you'll understand that nearly all projects discussed here are created by a solo writer/artist/scripter, so direct collaboration is unusual.

I wish you luck in educating non-programmer solo creators in the benefits of using source code control.

Perhaps you can also share some of the work you have put in to supporting this "coalition of perverts" that make up the f95 developer sub-forums.

With lots of love from a technical illiterate,
Osanaiko
 

Saki_Sliz

Well-Known Member
May 3, 2018
1,403
1,011
osanaiko: posts a response with an alternative perspective
Axeleen: response in poor forum etiquette, claiming osanaiko to be ignorant
osanaiko: replies with good forum etiquette, providing context rather than making a claim
me: loves this interaction and highlights it in meme format.

I do love these forums, the community is often very supportive, and has great discussions focusing on just providing as much information and perspective as possible, ideas to try and exercises to explore, not so much telling people what should/shouldn't be done, unless it pertains to the question.