Sorry if this is in the wrong section, but to me, it seems the most logical.
Now that I’m done with excuses, the question is… how do I share a project with other people whom I want to be developing games with? I mean, I have revision control turned on, and so all is good here, but… the project so far is nearly 12gb, and I can’t just upload that much to a free GitHub…
So, part of the question is, can I just upload it to, say, some cloud, share it with my friend, and once my friend has all 12 gb downloaded, just work by means of revision control? Or it’s not going to work that way?
Also, (given that it’ll work that way) what’s the process for my friend to set up the project on his computer? Does he just copy the folder, and it’ll work as magic? Or is there anything that needs to be done before/during/after… copying the files on his storage device? Does the location matter?
Are there any (possible) security concerns I should be worried about by sharing the project that way?
OK, let me ask you this way… I heard it’s also doable to just have the project on a server, but… how does it work that way? Like, can I just create a server for the game design and have others access it to develop the games?
The main reason I’m trying to share the files for my friend is that I want him to see what he’s doing, not just generate pseudo code without actually testing it… That way I’d be testing everything on my own, and that would stall the work, because, you know, I’d be running it on my computer, and I’m not always home and… is it even safe to do it in the first place?
Anyways, like I said, my project file is nearly 12gb in size, and it’s only in early stage of development, so it will grow larger and larger… so I need to find a way to work on the game simultaneously, so that my friend could also see the game and could edit the files… instantaneously. And then once everything is ready, he could just save it and close the project.
Or… with only revision control… how can he work, without the project? You see my issue here? Do I just share the project with him, or do I need to do something else?
I’m new to UE, so please be as specific as possible. Thank you
No, you need an svn. tortois or git whatver you work with.
You could install git on a server and essentially run your own git for the project.
Then ofc you have to pay for hosting and data transfers.
Realize now that working this way is expensive - and doing it yourself costs more than some stuff, like Azure Dev Ops or similar which are designed to do it for you …
Btw, its called Source control - i dont think you’d find much on “revision” control if you attempted to set up off bash.
The common options are
Github paid.
Azure Dev Ops.
Amazon aws code commit.
Or a custom server you have to install something (centos? Doesnt much matter what actually, just stay away from licensed OS like redhat…) and pay bandwidth for.
Well theres another possibility too.
Buy a RaspberryPI 12GB - make a hole in your local network for it to be reachable - buy a domain and point it to your home IP making you vulnerable to hacks, set up the Pi with git as headless, configure its ssh access and what not correctly.
And have it manage the repo as well as possibly other things (like make a local NAS out of it as well).
You have to manage your own security, and live with the fact that youll eventually get hacked - so but its an option.
Git is also local often times.
So you could push 12GB to whatver cloud, have him download it, and then figre out a way to only push the files that the git commit tells you to push manually - but its literally juat insane.
Get a propwr repo set up somewhere - focus on the work rarher than on what file to upload…
Guess what, that’s exactly what I’m trying to figure out! How to make this work for both of us! Like, if only I can “see” what’s going on, then what’s the reason to make it available to work on the game with others in the first place?! So, I need to find a way to transfer the project to my friend, and do it the way that it’ll work on his computer, as well as on my computer, and so that he could also see what he’s doing/working on.
I guess, what I’m trying to ask is… how does revision/source control work in the first place? If, say, I’ll be responsible for the story/some design, and my friend will be responsible for coding, how would that work? Does he just code, and I test his coding? Or how “exactly” does it work?
About Source control/revision control - in UE it’s called Revision control… I know it’s called source control, but… blame Epic Games for calling it Revision control…
I think you need to look up how source control works in the first place (and in general).
How you split the work or what you do doesn’t much matter.
At the end of each work day you create a commit and push your code.
Then the next day you pull - because someone probably worked at it a 2am when they felt like it, or because they live in a different time zone.
You can likely work in branches - your friend has his own brand, you have your own.
Then at some point in time you merge the branches into master to beta test the latest version with everyone’s work.
The main problem seems to be that you are trying to go into this without any knowledge of fhe underlying systems, so fill that void before looking at solutions.
And probbaly dont learn anything about this from Epic. As you noted, they cant even get the naming right, imagine the rest!
Not sure its a good video, but it should give you the education you need:
Suggestion, view at x2 speed as it starts off from single cell organisms and ends at around Homo Sapiens…
(Haven’t seen the video yet, but at this point I just want to know how to make things work)
I really don’t need the history of git or anything like this; all I need is just a quick answer, maybe even in 2 words… how do my friend and I work on a game together? What do I or my friend need to do to make things work, so that both of us could work together on the same project and we both could see what’s going on?
Look at this from this point of view… You and your friend are developing… Eh, let’s for simplicity say, Super Mario Bros, the one from NES era. You are responsible for coding and your friend is responsible for design. (This is for example, but it could be the other way around.) As you test the game, you notice that the brick tiles don’t break. All because they’re 1 pixel above the “hitting line”. Or you can’t jump into the pipe because it’s too narrow. These are easy to correct, yes, but so far, you both were developing it independently, and so didn’t have an idea of what was going on. If both of you could see it, if both of you could test it independently from each other, it would have been easier to actually see what was the problem, and configure it accordingly, and in a timely manner. Right? Or am I completely wrong here and none of it matters in the first place?!
This is what I’m trying to figure out, whether my friend needs the project files in the first place, or what he can actually do… I do have a .gitignore file, and it ignores nearly 11.9 gb of files, so… back to example with Mario, from my point of view, without these files, it’s like he can’t see where he should set the hitting line and as such, it’ll make the game unplayable, or at least, not enjoyable… The players can’t hit the brick tiles, they can’t get the mushroom, they can’t jump into the pipes to get the bonus… So it’s no fun, and adds up extra work for both of us. Or am I wrong?