Tips & Tricks


Welcome to the Holiday Game Jam! In this document, you will find information to help you get started with your project, especially if this is your first time participating in a Hackathon or Game Jam.

Banner

Idea Creation


For the Holiday Game Jam, you are free to create an idea on whatever you like! You are by no means restricted to a set of rules, as Game Jams are very open-ended and allow for coming up with as unique and creative ideas as you want. Keep in mind that our Game Jam has a theme, so try your best to ensure your final project is related to it in some manner.

To maximize your experience at the Holiday Game Jam, we highly recommend you to work on a game that you and your team are truly passionate about! Think about what types of game genres you are interested in, and which you are not interested in.

Keep your projects simple! While it may be fun to plan out hundreds of different features and mechanics, please be mindful of your own capabilities and set goals and ideas that are reasonable. Creating a full game in a short amount of time is a big challenge (although we’d welcome anyone to try it!)

Project Examples


In case you are having trouble coming up with an idea for a game, here are some examples of hackathon projects and winners from all sorts of hackathons in the past! It’s okay if you take inspiration from other projects, as long as you aren’t straight up plagiarising or copying code without permission.

External Libraries


For this hackathon, you are certainly not restricted to programming languages, concepts and libraries that were taught in the ICS courses. Typically for more advanced projects, pre-built external libraries are often used, and can be a major convenience, allowing for many options that would be very difficult normally, such as accessing online databases, having a convenient way to create a front-end (The design / graphics part of a game), and much more!

Because the usage of external libraries can be difficult to master at first, and may take a while to learn, it is highly recommended that you only use such libraries if one of your team members has had experience using similar libraries in the past.

Here are some examples of widely used libraries and their functions!


JavaFX

Found at https://openjfx.io/, JavaFX is a graphical user interface library that provides many built-in components, similar to Java Swing. Prerequisite knowledge is Java and graphical user interface (GUI).

Bootstrap:

Found at https://getbootstrap.com/, Bootstrap is a powerful plugin which allows for quickly designing and customizing mobile sites, consisting of a variety of themes! Prerequisite knowledge is HTML, CSS, and JavaScript.

Node.js:

Found at https://nodejs.org/en/, Node.js is a cross-platform JavaScript-based backend engine which allows you to create much more complex websites with interactability. Prerequisite knowledge is HTML, CSS, and JavaScript.

Firebase:

Found at https://firebase.google.com, Firebase is a platform for creating mobile and web apps , and specifically provides BaaS (Backend-as-a-Service). It provides services such as realtime databases, cloud storage, and authentication. Only use this library if you are experienced with HTML, CSS, and JavaScript.