how to share a gamemaker project between my desktop and laptop

ETHC33

Member
so I just got a new laptop and I would like to be able to work on my project with both of my computers, Ideally I'd like to have them update each other automatically with the most recent progress, but its not he end of the world if they don't. I've heard some things about bitbucket and git, but i dont really know how they work at all. is there any easier way to share files or should i just spend a few days learning abbout GIT. Thanks!
 

TsukaYuriko

☄️
Forum Staff
Moderator
Grab a flash drive and copy the project back and forth... then pray that you never forget to transfer your changes to always have the most up to date copy and end up overwriting stuff. :)

Don't do that, though. Git is certainly worth learning, and not only for the sake of being able to work on stuff from more than one device.
 

roknix

Member
Don't do that, though. Git is certainly worth learning, and not only for the sake of being able to work on stuff from more than one device.
I can also recommend GIT. Its not really hard if u got the basics ans also can help a lot. There are a lot of tutorials in the web.

It can be a big improvement for every project.
 

chamaeleon

Member
Recently I have been using Microsoft One Drive and so far I've had no problem.
Hopefully not for your project working directory, only as a means to copy to and from a local non cloud directory. There are a number of cases where the yyp project file in particular has become corrupted when it has been in a cloud synced directory, and the tool yyp-maker has to be used to recover (or version control, etc.)
 
EDIT:
Dropbox works ok if you only work on it in one place at a time.
Alternatively, sync thing is a free option if you run out of dropbox space and don't want to pay for premium.

I've never had any issues but I also have a good backup system, so if you don't have a reliable back up system in addition to using the cloud, this probably isn't a good idea.
 
Last edited:

TsukaYuriko

☄️
Forum Staff
Moderator
Please do not spread any advice that states that cloud drives are OK to use to store projects in. We get enough topics, corrupt projects, lost time and ruined dreams that end up being caused by this as is.
Chances are that the majority of readers don't know about the risks of doing so and thus will not take any precautions that would make them become safe to be used (if that is even possible). There are a lot of things that can go wrong when doing this and they almost always inevitably end in someone losing either some or all of their work or unforeseeable technical issues that may lead to creeping project corruption.

It's like saying that standing in a room that's filled with explosive gas is fine if you don't cause any sparks. But what causes sparks?? A lot of things. The better solution is not to enter that room.
 

samspade

Member
Git and github - they are the best. It's a little more work to learn than simply coping a folder back and forth, but the benefits are incredible. Not only can you transfer entire projects between computers in seconds, but you also get backups that are built into the project (instead of copies of your project), you can view all of your code online, and even edit a lot of it if you're feeling brave, and it opens up the world of other people's code as well. There's a lot of cool GM code that exists for free out there on Github. If you ever want to work on the same project with multiple people you can do that too.

Here's my playlist: https://www.youtube.com/playlist?list=PLwgH1hDD0q1EYVGprVPEd1mOms5ziA5td
And here's Friendly Cosmonaut's playlist: https://www.youtube.com/playlist?list=PLSFMekK0JFgzmyDxVxj5Cctafu5UX_vUC

There's some overlap between them, but they cover the same topic from slightly different angles (I cover it in a bit more of an academic way, she does it in a more hands on way, and she uses the GUI, while I use the command line).
 

muki

Member
is there any easier way to share files or should i just spend a few days learning abbout GIT. Thanks!
Just gonna echo what everyone else has said.

If you're willing to learn to develop games, then you can definitely learn GIT. Another way to put it is, if you find GIT difficult to learn, then you are going to have much more difficulty with gamedev in general. So might as well learn it, it's a very powerful tool!

It's not too difficult, relatively speaking. An hour or two of trying it out should get you there. That said, you need to put in a little bit of effort to learn and dive into what source control is and how it manages your projects. That's that's just the thing for gamedev. It's easier than it's ever been, but still requires some effort.

I would also recommend an external client like github desktop instead of GMS2's built-in plugin. As you'll be able to back up any file you want, not just what GMS uses.

Watch some videos to help you decide.

 

ETHC33

Member
I would like to hear a little more from TsukaYuriko about the potential risks of using GIT. I've heard lots of positive things about it but this is the first negative.
 

chamaeleon

Member
Pretty sure there was nothing negative said about using git by anyone in this thread, including @TsukaYuriko. Using it will only improve the development process. If you interpreted something as a negative, I think it must be due to misreading or misinterpreting something (it is also possible I have made that mistake, and will accept any correction).
 

TsukaYuriko

☄️
Forum Staff
Moderator
I didn't say anything about risks of using Git.

I did say something about the risks of using a cloud drive.
 

Nidoking

Member
Git isn't a cloud drive. It's a tool that can clone a directory and keep changes up to date between the various clones. It also tracks your changes, along with comments describing them; lets you revert or reapply changes you've made before; lets you branch out to experiment with changes without messing with your main directory; makes collaboration significantly easier if you're working with other people; maintains a full history at each location, so if your hard drive is completely destroyed, you have a full backup. And loads of other things.
 

Cpaz

Member
I use bitbucket for my private repos.
If you're new to git, I'd recommend a git client, especially something like fork, has a free version that's really easy to use.
 

rIKmAN

Member
If you are comfortable using the command line I'd recommend Git Bash.

It might seem more intimidating at the start, but you only need to learn a handful of commands for basic usage and it removes the need to mess with another GUI at all - much quicker/cleaner for me personally.

If you prefer using a GUI though I'd avoid it and use one.
 

Mr Magnus

Viking King
A good old flash drive is the low tech solution. It's not optimal, it won't be updated between sessions, it's all manual, but it works in a pinch.

A cloud storage space or shared drive is the medium tech solution. It's easy to keep syncronized, it's fairly easy to use, but it's also somewhat easy to break if you overwrite a good project with a bad one, or if you update both the laptop and desktop version at the same time and have to fight trying to merge them back to one good file.

Source control like git is the high tech solution, and by far the best one. Sure, it takes a bit of time to learn but you can get desktop clients that handle most of it for you if you're not comfortable with learning the command line commands. Once you learn git however you'll gain the following benefits:
  • Git (on something like github or bitbucket) will store your source code in one spot you can easily get to it from any device
  • Git can handle you working on the project from multiple computers. Unless you change the same piece of code from two spots at once Git will automatically merge all changes to a single project
  • Git allows you to easily revert to an older version of your project with minimal fuss. Is everything going wrong and you need the project as it was a week ago? Git can get that version.
  • Allows branching, so you can have different branches of your projects where each branch is just developing a single feature, and then you can merge them back to a single thing whenever the features are ready.
  • You can easily share it with other people, either for viewing purposes or if you want to have other people work on it with you
  • You can easily prevent other people from accessing your source code.
  • If you haven't commited a change you can simply ask git to revert the file back to what it was when you last commited, removing any changes you may have made but now decided you do not want.
  • It honestly isn't *that* hard to learn. Assuming you just need a central storage and don't hit merge conflicts you really only need a handful of very standard, basic commands.
 

ETHC33

Member
alright! ill get get working on it today, and i'm not scared of someone stealing my code, it is absolute trash lol.
 

FoxyOfJungle

Kazan Games
Anyway, there is a program that works over LAN that simply transfer files from one computer to another, it's NitroShare, it can be useful for other purposes besides.

The good thing is that it's very fast transferring, after I found it, I don't need to keep pulling and putting flash drives anymore. :)
 

Roman P.

Member
Anyway, there is a program that works over LAN that simply transfer files from one computer to another, it's NitroShare, it can be useful for other purposes besides.
If working on LAN it might be better to then just mount the other drive as a local one or use a NAS/SAN. Also some routers allow you to plug a usb/connect a drive to them so any device can access it.
 
Top