Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
public/
resources/

.idea/
node_modules/
Expand Down
14 changes: 14 additions & 0 deletions content/game-jam/resources/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
+++
chapter = true
alwaysopen = false
title = "Resources"
weight = 2
+++

# Resources

{{% notice info %}}
A collection of additional tips & resources to help get you started!
{{% /notice %}}

![Banner](/img/game_jam_banner.png)
76 changes: 76 additions & 0 deletions content/game-jam/resources/devpost-info/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
+++
title = "Devpost Information"
weight = 1
+++
---
Welcome to the Holiday Game Jam! In this document, you will find all the information required in order to prepare for the submission of your hack!

### Step 1: Creating a Devpost Account
---
If you have not already done so, the first thing you need to do is register for a Devpost account. Simply head over to https://devpost.com/ and click the "Sign-up" button on the top right.

![Sign Up](/img/signup.PNG)

You will have the option of signing up with your Google, Facebook, LinkedIn, Email, or Github account. Although this is not required, it is recommended to register via **Github**, as that will provide you with the ability to import Github projects onto your Devpost portfolio for submission. Once you have signed up, you will be prompted with a few basic questions regarding programming that will help you fine-tune your recommendations for future projects and hackathon-like events!

### Step 2: Registering for the Holiday Game Jam
---

Once you have created your Devpost account, make sure to join the Holiday Game Jam by heading over to https://holiday-game-jam.devpost.com/ and clicking on the "Join Hackathon" button.

![Join Hackathon](/img/joinhackathon.PNG)

### Step 3: Create!
---

It’s time to begin brainstorming an idea and coding up your game! This section is almost entirely up to you - just make sure that your idea is school-appropriate. For some tips on how to get started, feel free to check out our [Tips & Tricks Document](/game-jam/resources/tips).

### Step 4: Setting up your Devpost Submission
---

On https://holiday-game-jam.devpost.com/, you can begin preparing your submission by clicking on the “My Projects” tab and clicking on “Create Project”. **Only one member of the team should create a project.**

![Create Project](/img/projects.png)

Once you have created a project, a general outline of everything you will need to prepare will be displayed. The first and most important thing to do is to add your team members as collaborators in your project in the “Manage team” section of project creation. Here, you will be able to either directly add team members via their email once they have all signed up for Devpost, or send an invite link to them.

![Invite Teammates](/img/invite.png)

Once you have invited your team members, you will all have access to the game and will be able to edit the submission!


A word of caution: **have only one person editing the Devpost project at a time**, or else your work may be overwritten. It is recommended that you collaborate on a Google Doc or something similar, and then designate one member to transfer information to the Devpost.

### Step 5: Creating your Pitch
---

It’s time to prepare to create a presentation for your game! Even if you didn’t get to fully finish up your project, that’s perfectly okay! A big part of the Holiday Game Jam is about creativity, ideas, and learning, so even if you didn't get to create a fully working game in time, it is still strongly recommended to submit your game along with a presentation.


Although there will NOT be any **live judging**, meaning that at no point are you expected to enter a meet and present in real time, there will be a wide variety of resources available to help you create an offline presentation accompanying your submission.


One of the biggest conveniences about Devpost is that it already lays out many of the fundamentals for an offline presentation. If you head over to the “My Projects” tab on https://holiday-game-jam.devpost.com/ and select the project you had created in Step 3, you should see a variety of tabs that you can use to spice up your Devpost submission.

![Pitch Tabs](/img/pitchtab.png)

In the **Project Overview** tab, you can come up with a cool and unique name for your submission, as well as a short description / tagline of what the game is about.


In the **Project Details** tab, here is where you can talk *briefly* about all your project features, how it works, how you built it, what it can be used for, and much more! Much of the information you want to put on here is entirely up to you, but Devpost automatically provides a brief outline that you can choose to follow if you think it would fit your project. There will also be many additional features you can choose to add, such as a video demo link, images, and a link to your Github repository.


It is **highly recommended** that you link an offline demo / presentation of some format (preferably a video format), such that judges will be able to either view your project in action via a video, or provide instructions on how to test the project out!

### Step 6: Submitting your Project
---

Congratulations!! You have finished all of the hard work and are now ready to submit your project!

**One** person in your group is required to submit on behalf of the to both **Devpost** and the **Google Form** that will be linked in the resources channel on Discord.

If you want your game to be nominated for either the **Most Replayable Game** or the **Most User Friendly Game**, please ensure to click on these categories when selecting **opt-in prizes**.

On Devpost, simply head over to the **Submit Project** button, accept the terms and conditions, and you’re ready to submit!

The Google Form will be necessary as a final assurance that this Devpost submission is yours, in which all you need is to give an email we can contact your team for prizes, the Discord tags of all members in your team, and a link to your Devpost submission project page.
134 changes: 134 additions & 0 deletions content/game-jam/resources/github/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
+++
title = "A Github Crash Course"
weight = 1
+++
---
Brought to you by MCPT : )

![Banner](/img/game_jam_banner.png)

### What is Git & Github?
---
Git is a version control system which helps individuals as well as teams keep track of their code as it is created. Notable functions include reverting back to a previous state of code, creating a separate "branch" of code to add changes, and merging branches when changes are completed and tested. All in all, Git is something all developers should know. GitHub is an interface which makes it a lot easier to keep track of Git.

### Installation
---
The most basic way to use Git is by downloading it and using commands in a terminal, but there are also many tools that work with Git. Below are a couple of examples, but in the end the method to use Git will be up to personal preference.

### Making an Account
To use Git, you will need to make an account on the [GitHub website](https://github.com/). There, you will able to view all of your projects and repositories, and there are also some Git functions you can use on the website itself.

### Github Desktop for Windows & Mac

GitHub Desktop is an application which allows many GitHub functions to be utilized through a
graphical user interface. **It is easy to use and it displays all changes very nicely so if you are not
familiar with Git this would work well for you.** It does have its limitations so some commands
may still have to be executed through a terminal.

Download it [here](https://desktop.github.com/).

### Git Bash for Windows

When you install [Git for Windows](https://git-scm.com/download/win), it will come with its own terminal where you can run commands. [Here](https://www.stanleyulili.com/git/how-to-install-git-bash-on-windows/) is a tutorial on how to configure it.

### Linux Installation

If you are using a Linux OS, you can use your package manager to install Git by running `<package manager> install git-all` and then you will be able to use Git commands.

### Useful Commands
---

Here is a list of common commands that are used with Git. These are run in a terminal after Git has been installed locally. [Here](https://www.git-tower.com/blog/command-line-cheat-sheet/) you can find a list of essential terminal commands that are not Git-related but are useful to know when working in a terminal.

### Initialization & First Commit

**This section will address how to initialize a repository and make the first commit.**

```
git init
```
After navigating to the local folder of your project, running this command will create a `.git` folder, making it compatible with Git functions.
```
git add <file name>
git add .
```
This command adds the given file's changes, or in the case of `git add .` all changes, to the so-called staging area which stores all added changes to be committed.
```
git commit -m "commit message (hint: be descriptive)"
```
This is the command you run after you have made changes in the project directory and added them to the stage. This will not update the project on GitHub; commits are stored locally until they are pushed to the remote. You must have a message for this command to work.
```
git branch -M main
```
This will set the current branch to the main branch.
```
git remote add origin https://github.com/<your username>/<repository name>.git
```
This will link your local project to the remote repository, the term for project, on GitHub. **Make sure you make the repository on GitHub first using the + on the top right of the website**. You will only need to run this once.
```
git push -u origin main
```
This will set the upstream, or where your changes are going in your Git structure, so you can run commands without specifying where the changes are going every time, as well as send the current committed changes to the remote. The above example can be modified where `origin` can be replaced with another remote through the previous command and `main` can be replaced with another branch.

### Using an Existing Repository

**This section will address how to get a local instance of a repository.**

```
git clone https://github.com/<path to repository>
```
This will create a local instance of an existing repository locally. You will then be able to run Git commands in this repository.

### Adding

**This section will go over some other commands which are useful in adding code to the remote as well as working with changes that are not local.**

```
git status
```
This command will display details about the local instance of the repository, such as changed files. The changed files are checked against the local information of the branch, not the remote one which may have been updated since the last pull (see `git pull`).
```
git fetch
```
This command will show changes that are in the remote that are not updated to the local instance, though it will not merge them in (see next command).
```
git pull <remote> <branch>
```
This command pulls pulls changes from the remote that are not local. Basically, if any changes were committed and then pushed from other local instances of the project, they will be merged in with the local files. Sometimes, this can cause conflicts if the same file has changes in the same place so watch out for that and make sure to resolve conflicts. If it was previously specified, `<remote>` (usually `origin`) and `<branch>` (usually `main`) do not need to be included, but adding them nonetheless will not leave any ambiguity.
```
git add .
git add <file name>
```
This command adds the given file's changes, or in the case of `git add .` all changes, to the so called staging area which stores all added changes to be committed.
```
git commit -m "commit message (hint: be descriptive)"
```
This is the command you run after you have made changes in the project directory and added them to the stage. This will not update the project on GitHub; commits are stored locally until they are pushed to the remote. You must have a message for this command to work.
```
git push <remote> <branch>
```
This is the standard command for pushing commits to the active branch. Remember to use the add and commit commands before pushing as the push command only pushes committed changes. The same comment about ambiguity as with `git pull` can be made about this command.

### Branches

**Although not required for most basic projects, a useful feature of Git is branches. They can be used to make the development process more organized by separating operations into segments and then merging them into the main branch. Below are some useful commands to utilize branches. Additionally, the merging of branches is usually done on the GitHub website using pull requests.**
```
git branch <new branch name>
git branch -d <branch to delete>
```
This command creates a new branch. It does not check it out (see next command). If the `-d` argument is added, this command will delete the branch specified.
```
git checkout <branch name>
git checkout -b <new branch name>
```
This command checks out a branch with the name specified. If the argument `-b` is added, then a new branch is created with the provided name and is checked out. By checking out a branch, it becomes active, and any pushes, pulls, and commits are going to be made in relation to that branch unless otherwise specified.

### .gitignore
You can create a file called `.gitignore` in your project folder. Within this file, anything you list a path to, such as a file or folder, will be ignored by Git, which means that changes will not be seen if it is already part of the git structure or if it is new it will not be seen at all.

### Other Resources
---
* [Cheat sheet](https://training.github.com/downloads/github-git-cheat-sheet/)
* [Youtube playlist](https://www.youtube.com/watch?v=xAAmje1H9YM&list=PLeo1K3hjS3usJuxZZUBdjAcilgfQHkRzW)
* [Git documentation](https://git-scm.com/docs)
* [Github documentation](https://docs.github.com/en/github)
48 changes: 48 additions & 0 deletions content/game-jam/resources/pitch/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
+++
title = "Pitch Creation"
weight = 6
+++
---
Congratulations everyone! As we make it through the last stretch of the Holiday Game Jam, it’s just about time to prepare an offline presentation in order to compliment your Devpost submission, and maximize your chances of standing out!

In case you haven’t read through it already, it is highly recommended to take a look at our [Devpost Info & Submission Requirements Document](/game-jam/resources/devpost-info) if you’re having any difficulty setting up your main submission.

![Banner](/img/game_jam_banner.png)

### Submission Requirements
---
For the Holiday Game Jam, there will be **no strict rules** for the format or composition of your submission! All projects have their own unique variety of ideas, and many teams may find some formats favourable over others. The instructions in this document serve as mostly a guideline / suggestion, rather than something you must follow with accuracy.

Although you are allowed to use whatever format you want, we highly recommend including a mix of a business-styled pitch, describing your project idea, along with a demo of your program itself, testing out the coolest parts of your program!

### Program Demo Recommendations
---
A program demo is a way to effectively show off your project in action, usually in the form of a short video around the length of 1-3 minutes with an optional voiceover describing what’s going on in your demo. How you choose to create or display your project is entirely up to you! Demos are generally very open-ended, as what you will be showing off completely depends on what you and your team created.

Generally, you will want to showcase the most impressive features of your program, including the design / front-end of your game, usage of algorithms and libraries, as well as actually putting these features out to the test. Just like with project ideas in our [Tips & Tricks](/game-jam/resources/tips) document, we recommend looking at the demos shown on [Past Hackathon Winners](https://devpost.com/software/search?query=game) if you need inspiration on what you can include in your demo.

##### Alternatives
In case you may be unable to record a video for your demo, you can instead include instructions on how to run your program in the pitch! Make sure to list the key features of your program and where such features can be found on your program. If your program has specific requirements that may need to be met in order to be run, make sure to include them!

##### What if my game has bugs or isn't complete?
If you were unable to fully finish up a working product, that’s okay! As an alternative to a program demo, feel free to talk more in depth in your pitch about functionality you may have been planning to add, with pictures of your program if possible, and you’ll still be able to get partial points for all of the categories.

### Business Pitch Recommendations
---
A business pitch is essentially a way of presenting what your project is all about in an organized and effective manner. Although your pitch can be of whatever length of your choice and consist of however many ideas you like, here are some strongly recommended suggestions to include on your pitch!

##### Introduction

First and foremost, you want to introduce your main idea in your presentation. Write a brief explanation on what your game is about, and some of its core features!

##### Gameplay

As with every game you see and play, it is important to clearly showcase why your game stands out from the rest, what is unique about it and why others should play your game!

##### Inspiration

What actually inspired you to make your product? Quite often, even if you may not realize it at first, ideas come from situations you may experience or see others experience in your day-to-day life. Talk about what you’re really passionate about and want to accomplish!

### Presentation Format
---
It is important to note that Devpost automatically includes a section where you can talk in detail about your project idea, including a nice template containing many of the key suggestions on what you should include. For the Holiday Game Jam, you are free to either write your pitch on a separate document, such as a Google Slides presentation, or include all the information directly on your Devpost submission details itself. If you plan on incorporating images along with your pitch, it is recommended to use a separate document rather than having all the information on your Devpost submission.
Loading