Game Design Resources

Use the following resources to get started with your games and projects. It is helpful to begin installing and learning Unity early.

PICO-8

Documentation

Example Code

Unity

Tutorials

Assets

  • itch.io has a ton of assets of all kinds available, both for free or for a small fee.

Git

Since we’ve added another GitHub repo for our class projects, perhaps you’ve already been using git already with a different remote (such as another private repository on GitHub) or after the class is over you’d like to push your code to a different public GitHub repo. Here is a short walkthrough that may help.

Adding a new git remote

You can have multiple remotes to your local git repository. This can help if you’re keeping track of another developer’s progress (weird, huh?) or if you need your code to reside on multiple servers (such as Github and Gitlab).

First, create or get the link to the other remote. If you are needing to add the Github classrooms repository for this class, then follow the invite link to create the repository on Github. Once there, use the Code button to copy the URL or SSH connection information under “Clone” (as if you were going to clone the repository). Let’s assume we’ve copied the following:

git@github.com:uva-cs4730-s25/my-example-game-repo.git

I’m most familiar with the command line, and specifically Linux/Mac, so I’ll provide commands here that should work also for Windows. If they don’t seem to work, you should be able to search these commands to determine how to perform them in a graphical interface in Windows.

Next, enter the local repository that you’ve been working on in a terminal window. We’ll next add the new remote to the current repository. By default, git names your main remote origin, so we’ll need to give this another name. I’m going to call this one github. Use the command below with the connection information you copied above (we’ll use our example from above):

git remote add github git@github.com:uva-cs4730-s25/my-example-game-repo.git

Now, we should fetch from all of our remotes. (Note, if you typically pull, that’s just a fetch followed by a merge. In this case, we’re going to apply them separately.) Use the following command to fetch all remotes (including our new one):

git fetch --all

If your new remote is our Github classroom repo, there’s a bot that has updated a README.md file. We need that file before we push there. So use the following merge command to merge that into our code. (If you already have a README.md, you may need to handle any merge issues.)

git merge github main

Once the merge has completed, we can push all our code to this new remote using the following command:

git push github main

Now we have two remotes! You can still push to your original remote with git push origin main or likely just git push. If you would like to switch your current branch to track the new remote instead of your original, you can use the following command:

git branch --set-upstream-to=github/main

That’s it! Please don’t forget to intentionally push to the course repo before the deadline!

One last thing: if you want to see all your remotes, you can run the following to get the full list:

git remote -v

Copyright © 2024 John Hott. Based on material by Mark Sherriff.
Released under the CC-BY-NC-SA 4.0 license.
Creative Commons License