Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Confused about source upload? I've got the answers! Sticky

A topic by WayfarerGames created May 29, 2022 Views: 2,239 Replies: 30
Viewing posts 1 to 13
Submitted (1 edit) (+9)

The whole point to this rule is quite straightforward. When questioning whether or not you can use an asset, ask yourself this question:

Will everyone be able to download and run my project for free now and at any time in the future?

If the answer is no, don't use the asset. That includes:

  • Assets you got in a free bundle that were only free temporarily
  • Assets you got from the Unreal marketplace during one of the monthly giveaways
  • Assets you have paid for

If the asset falls into any of those categories, or if your answer to the above question becomes "no" when you add the asset, DON'T USE IT. It's against the rules, and it completely goes against the spirit of the jam.

So how do I upload my source anyway?

1. The Easy Way

The easiest way to do this is to zip up your project and upload it alongside your game.

Press the "Upload files" button, choose your file, and change the file type to "Source code". If you're in Unity, you only want to upload the following folders:

  • MyJamProject/Assets/ - this is where all the code and assets for your game are. A pretty important one πŸ˜‰
  • MyJamProject/Packages/ - this tells Unity which built in packages you've used. Even if you didn't change your packages, you still need to include it!
  • MyJamProject/ProjectSettings/ - this tells Unity the settings for the project. This includes build settings - e.g. which scenes are in the build, but also includes everything from physics settings to lighting settings.

That's it! Just those three folders. Everything else will be regenerated by Unity when someone first opens the project. There are a LOT of files in those other folders, so if you include them you'll probably hit the Itch.io file upload size limit!

2. The Better Way

Use git! It's a little more involved to set up, but it basically saves checkpoints of your progress every time you commit which is INCREDIBLY useful if anything goes wrong! Here's a step by step guide to get an existing project up and running:

  1. Make an account at https://github.com/
  2. Create a new repository: https://github.com/new
    1. Make sure it is public
    2. Add a .gitignore template for whichever engine you're using, e.g. I use the Unity Template
  3. If you're on Windows, download https://gitforwindows.org/
  4. If you're on Windows, open Git Bash. If you're on macOS or Linux, open a terminal window
  5. Open your current project directory. If you're unfamiliar with the command prompt, type `cd` (no quotation marks) then a space, then drag in your project from file explorer, then press return/enter.
  6. Type `git init` (no quotes), then press return/enter - this will make the folder something that git can track
  7. Type `git branch -m main` then press return/enter - this renames the "master" branch to "main", it's a name change that doesn't seem to have filtered down to the command line when initialising a repository yet...
  8. Type `git remote add origin <your git URL>` - you can check the git webpage for your repository (the big green button that says "code" - copy the link from there), then press return/enter - this will tell it to point to your repository online
  9. Type `git pull origin main`, then press return/enter - this will grab the .gitignore file so it knows what to ignore
  10. Type `git add .` then press return/enter - THE FULL STOP IS IMPORTANT. This tells git which files you want to include, the full stop just means "all of them"
  11. Type `git commit -m "Some message here"`, then press return/enter - for this one I'd do something like "initial commit", this saves a "checkpoint" for all your code and assets.
  12. Type `git push -u origin main`, then press return/enter - this one sends all your code to GitHub! After this first time, you can just do `git push`. You can check this has worked by 
  13. On your game's Itch.io page, press "add external file", then paste in the github page url for your repository, e.g. https://github.com/DomHarris/TankShift

And that's it! Now when you make changes, you can do

  1. `git add .` to tell git that things have changed
  2. `git commit -m "Some message here"` to save a checkpoint
  3.  `git push` to upload the changes.

This gives you a really easy way to go back a step if anything breaks! Or you make a change and decide you want to undo it.

There's one final thing, now:

You will need to check the license for any assets you use.

Specifically, you need to check to make sure it includes the right to distribute. If it does not, you can still use the asset, you just need to remove it from your project before you upload the source. It can still be contained within the actual playable game. You'll also need to provide download links and install instructions, either on your game's itch.io page or in a readme.md file in your github repository. 

If you have any questions - first look at the big bold text at the top of this post. If there is still some confusion, feel free to ping me (theChief#0001) on Discord in the GameDev.TV server, or reply to this post. You'll get a quicker response on Discord πŸ˜‰

If you need a hand setting things up, you can always ask me!

Submitted(+3)

Nice, this is my first jam and i was wondering about that.

this helped a lot, thanks!

Submitted

Thank you so much! I was dreading going through up upload process but it doesn’t seems as bad as I originally though!

Submitted

still a bit confused about the legal side of this jam. in most other jams, there’s explicitly stated β€œwhat you write, is yours and stays yours”.

am I transferring any rights on my source code to you when i submit? it contains MY platform libraries - and those stay MY libraries. you may view, but not reuse or redistribute my platform.

the jam stated we have to include the source code, that’s ok, but that does NOT mean, transferring reuse and redistribution rights to you.

please clarify this in simple words that do not allow misunderstanding. if you claim any rights on the source codes i will remove or not even submit at all.

Submitted (1 edit) (+2)

I've asked the hosts for you - they might reply eventually, but I'm about 99% sure you retain all the rights. The point of the source upload is just so other people can learn from you!

Jam Host(+2)

You are not transferring any rights to us when you submit.

Submitted

Hi there. Thanks for the info and the quick GitHub tutorial. I'm sure it will help allot of people in using git. Good job πŸ‘πŸ™‚ (for total beginners in using GitHub I would recommend GitHub Desktop. A few clicks and the repo is on GitHub)

Just as a side note, I don't really think though that you need to post the source on your game page on itch for everyone to download.

When you submit your Game, it asks for your source, so my guess is that you just enter the link to your source there (GitHub, Dropbox, Google Drive etc), and the organizers of the jam will just access it from there. It's not really publicly available.

I find it a little counterproductive to share a code for a possibly future commercial game and everyone can access it and use it. It's not my case cause my game entry is in best case scenario a "meh" game or "w*f is this s**t?" game πŸ˜…, but there are possibly great entries with the possibility of turning them in commercial games.

Submitted(+1)

That will still appear on the jam entry page! From talking to the hosts, it seems like the whole point of the source upload is that other people can learn from you and see how you've done things.

A game made during a jam should contain exactly 0 lines of production-ready code πŸ˜‰ making a game in 10 days means you're going to be doing a lot of things very quickly. If you want to turn your jam game into a commercial project, start from scratch. You'll have a better idea of the requirements for the systems you are designing, and you'll make a much better game! 

That said, even if you DO reuse code - who cares? What does it matter to you if someone wants to do the same thing in the same way? You're not going to making the exact same game, people work completely differently and have different ideas about what is fun. And even if they do completely steal your jam code, you're not making any money from the jam game anyway - you don't have to continue to update the repository!

People should stop being so defensive about their code, seriously πŸ˜‚

Submitted

I personally am not protective about my code therefore it's o a public repo on GitHub, as requested for the entry, but there are a lot of people showing distrust in sharing their code. (can't really see why because it's not like someone would publish the code for the new GTA 6, but hey, it's their code and have the right to ask πŸ˜‰)

My idea was that you don't have to add your source code to the store as a zip file in your itch game page, you can share the link to your repo or a public Google drive folder etc. when you submit your game for the jam. πŸ™‚

Submitted

I have no problem sharing my code.  It's not that great anyway.  I learned and used bits of code from many tutorials.  I made mine public domain for that reason.  I doubt anyone is going to use it.  I've seen some games that a very good and checked out some of the code.   Yes, I found some that I would like to reuse.  I doubt that I will be producing a "real" game, but just maybe I will put one on itch.io. I found out how easy that part is.  

Submitted

This is how your submission's jam page looks - as you can see, the source is still public:


Submitted

Hi again, yes, this is my submission page where you can find the link to the source page, but the game page does not contain the source code. πŸ™‚

I am new to itch, but I think there might be some difference between the game page and the submission page.


Submitted

yep that's right, they are two different pages - there should be a button on the right that says something like "submission to gamedev.tv jam" - that's the one most people who find your game through the jam will see ☺️

Sorry - I assumed you were one of the people who get protective over their ideas and code, and that irritates me πŸ˜‰ 

Submitted

No problem man.

I mean there is literally tons of free available code on the web, it's not like in the '90 or early 2000 where you had to read books, tests things out and when you finally got the result you hoped for you call it yours and yours only. With all the content available nowadays, you could build a game from ground up almost only by copying and pasting code from the web.

I find that most of the people confuse copyrighting a software/game with licensing. I find that these two are completely different cause copyrighting a software or in this case a game is more complicated as some might think, and implies a lot of money and even notary and attorneys I think, as licensing the source code with maybe Apache 2 License (as I did on GitHub) gives you some reassurance that someone will thank you if they find your code helped them in creating their product. (it's not my case that someone will find it useful πŸ˜…, but hey, maybe somewhere, someone will give me a thumbs up πŸ‘ )

Nowadays I find that giving credit to someone for something is more important for the longer run. πŸ˜‰

Take care.

Submitted

The Link to the source-code is actually in the open on the submissions page for your entry.

If it wasn't accessible for other participants, it would miss the main point behind it: Allow others to learn from what you've made.

Submitted (1 edit) (+1)

I know, this is what we (me and WayfarerGames) talked in this post πŸ™‚.

There is a difference between the Game Page and the Submission page πŸ˜‰

My idea was that you can submit your source link in the Submission form, you don't need to add it to your game page.

Submitted

Hi! This is my new GameJame and I'm about to test how to upload my game and i was reading your instructions about it, but I'm a bit confused. How can i upload the Assets, Project Settings and Packages from my project? I know it may sound  evident but I'm having a hard time finding the answer on internet,  so I came back to ask you about how to do that. a few word will help man, thank you! 

Submitted

The same way you upload your game! Zip it up, and upload it at the same time, it should be pretty clear - you'll see a screen like this, just press "upload files"! (Ignore the free circle, this was originally intended for someone else but it's the only screenshot of the upload page I've got on my phone πŸ˜‚) 

Submitted(+1)

Thank you very much for the detailled responses :-)

I am not over-defensive with my source code - I even listed all the things, one can β€œlearn” from my repository. I just wanted to have a clear sentence on the legal side regarding transfer. cheers, G

Submitted

How is this policed? Is the SC reviewed? I've already found at least one game out there in which I don't believe there is a license for distribution of the asset. Is that likely to be noticed? Do the posters need to erase, and simply give the link to the asset, and that's, that? No the easiest if it's posted on GitHub, either.

Submitted

I don't think it is policed or reviewed, it's more of an honour system. Definitely not likely to be noticed, but you're definitely opening yourself up to legal consequences if it ever does get noticed

(+1)

Awesome, dude. Thank you for this post!

Submitted

Hi! I'm trying to upload my game, i have the game, assets, packages and the project settings as .zip each one. is that the right way? and I have another question, which one do i have to put as Source Code and which one as an executable?? 

Submitted

Executable: Your game build. Set the Windows/Linux/mac/Android check on the side according to the platform you built to.

Source: Your project files, such as assets and code.

Submitted

Ah your "source" is one zip file that contains assets, packages and project settings! That's what you mark as source, and the executable is your game :)

Submitted

Hello there!

I just uploaded my game for the Jam and I would like to know if everything is conform to the rules: https://patrickzochalves.itch.io/the-revenge-of-the-gods

I use the Godot Engine, so, for the source code, I packed all the files in a ZIP and uploaded to the game page.

And, for the assets, I have credited everyone inside the game (credits menu).

Is that OK?

Thanks for the support, great jam!

Submitted

check the licenses for the assets you've used to see if you're allowed to distribute them. If you're not, delete them from the game and tell people where to find them/where to put them!

Submitted(+1)

Thanks for the answer!

All assets have the good CC licenses, so it should be fine :-D

Submitted

I'm not sure I fully understand which source stuff to send. In our game we made all the assets besides the music so does that mean I pack up everything besides the music code and all, only the music, or something in between?

Submitted (1 edit)

you pack up everything you have a licence to distribute. If you don't have a licence to distribute it, take it out before you upload the source and tell people where they can download it and how to add it to the project! The point of the source rule is to have people download and run your project so they can see what you've done. Check the license types for your music, if you can include it, include it! 

Submitted(+1)

Incredibly helpful, thank you