Resources

Overview

This is a list of resources OGPC recommends. If you are an experienced game developer, you may already have favorite tools and resources, but it is worth a quick scan to see if there is something you hadn’t heard of. If you are new to making games, these resources should help you get up and running. There are more useful tools and sites than we can possible catalog, and there are always new tools being created, so teams are also encouraged to do additional research before making any concrete decisions about what resources to use.

Game Engines Game Design Programming

Art Tools Sound Tools Premade Assets

Game Engines

Many teams at OGPC (especially those starting out) rely on a tool that is designed to help speed up game development. While experienced programmers may enjoy the challenge and experience of coding a game from scratch, it is not an easy task. Even professionals often rely on a game engine that handles many of the low level details of running the game, freeing them up to focus on implementing the mechanics of their particular game.

2D Engines

Everything about developing a 2D game tends to be easier. From the art to the coding to the level design, there is just less to worry about. First time teams are advised to tackle a 2D game.

Stencyl

Free for personal – classroom use requires paid class license; paid version for other targets; Windows/Mac/Linux

Stencyl allows students to start to make a game with minimal programming by using predefined behaviors – first time designers can just tell an object “you obey gravity” and it will start behaving according to prebuilt rules. Thus, if what a team wants to do is already supported by built in behaviors, they will likely get farther faster. There is, however, a significant difficulty jump if custom behaviors are necessary. Code can be customized with either a drag and drop syntax that looks a lot like that of Scratch, or a text-based programming language.

GameMaker Studio

Free feature limited; paid full version; Windows

GameMaker Studio is a popular tool for making 2D games. There is a free version that limits the number of different objects you can have in a game. The full paid version of the program provides unlimited resources. New programmers can use the visual scripting system to start programming a game without writing code while experienced programmers can go under the hood to use the written scripting language.

Construct 2

Free feature limited; paid Full Version; Windows

Scratch

Free Web based (any platform)

Scratch is designed to teach the basics of programming logic and problem solving using drag and drop coding. Although it can be used to create games, it was not designed for this purpose and thus there are some signigicant limitations (screen is a fixed size, projects can only be played on the web, et cetera) and some things that are “built in” to more game-focused tools, need to be coded manually in Scratch. On the plus side, there are many examples to look at, code is very easy to examine, and curriculum/videos are easy to find and have lots of information.

Construct 2 provides a wide array of predefined behaviors – like Stencyl. Modifying preexisting behaviors or making new ones requires coding in a text-based language (JavaScript). The free version will likely get a team pretty far though there are limits to how many things can be put in a game.

3D Engines

As mentioned earlier, 3D games in general represent a significant amount of additional work. Teams should probably have some 2D games under their belt before taking on a 3D project.

Unity

Free Windows/Mac Unity is a popular commercial/indie development environment and also popular among OGPC teams making the jump to 3D (though it can also be used for 2D). The Unity community is quite large and more experienced teams can find lots of help on their forums. Unity is programmed using JavaScript or C# and games can be exported to a variety of platforms.

Unreal Engine/Cry Engine/Source Engine

There are many other professional game engines which are available for free or reasonable cost. Often, programmers will need to know languages such as C/C++ and teams will need to have a very good grasp on programming and game design to make effective use of these tools.

Back to Top

Game Design

Learning how to design a game is just as critical in OGPC as learning to use the tools that can help realize a design. Teams need to learn how to set goals that are manageable and design games in terms of their most important feature – player interaction. Here are some resources to help:

Extra Credits

Hands down, one of the best resources out there for learning about designing games is the web series Extra Credits. They have 12+ seasons of episodes that cover a wide range of topics. This playlist contains some of the videos that we think provide the most bang for the buck for beginning designers. The first 4 videos especially should be considered mandatory viewing!

OGPC Gamestorming Cards

These are the decks of cards used at the OGPC GameJam to play games that help teams brainstorm what players in a game might be doing. You can download a .zip package with printable card sheets and the instructions for playing. If you want to order professionally printed decks of cards, you can use the card sheet images to order decks from printplaygames.com (36 card poker sized deck is ~$5.50). Finally a coach, Meredith Addy, made a web version of the card deck you can use to play the game.

HTML 5 Game Development

HTML5 is a great choice for cross-platform mobile game development because games have to run and perform the same across all mobile platforms. Game development using HTML5 will reduce development time for multiple platform and will makes the gaming experience consistent across different mobile platforms like Apple iOS, Android and Microsoft Windows.
Game development for mobile devices using HTML5

OGPC Sample Game Development Videos

Follow Adam and Gabriel as they go from brainstorming and planning, to designing and prototyping, and finally to creating an entry for this year’s OGPC challenge.
Crafting a Game series

Back to Top

Programming

There are an increasing number of “learn to code” websites. Many of them offer high quality, interactive tutorials in a particular programming language. Also, most programming languages have web based communities which provide tutorials and support. We cannot possibly list all the resources, and chances are, if teams are thinking about programming a game from scratch, they already know of some resources. But here are a few good ones for teams looking to start learning how to program.

studio.code.org

Code.org is an organization dedicated to exposing more students to coding. The code.org studio provides self-paced lessons that teach the basic logic of programming (often using game-like problems). It is a great place for teams with no programming experience to learn the basic skills they will need to code a game. It uses a block-based visual programming language that transfers well to tools like Scratch and Stencyl.

Codecademy.com

Codecademy offers free, interactive courses to teach programming languages like Python, JavaScript, as well as other web related skills. It is a great resource for teams looking to start coding in one of those languages, or just gain more general familiarity with text based programming.

StackOverflow.com

The Stack Exchange network has a great many communities for a great many tools and environments. Stack Overflow specifically is a great way for programmers to find other programmers asking the same questions and to ask questions and get personalized responses. If a programmer is having difficulty with a task, this is the place to look!

Back to Top

Art Tools

Sprites, music, animations, and textures are the essential ingredients that turn a vision into reality for the player. Here are a few resources to get teams started:

Piskel

A handy simple sprite editor specialized for making the kind of graphics used in 2D games. It makes creating animated sprites much easier than traditional painting programs. It is browser based, so students can work on any computer and save work to the cloud until they are ready to export it to work with locally. http://www.piskelapp.com/

Paint.NET

Windows Paint.net is a significant step up from MS Paint (and probably from whatever image editor is built into a team’s game engine of choice). It supports features like layers and advanced selection and editing tools, but is much simpler than Photoshop or Gimp.

Note: Paint.NET can be found at http://www.getpaint.net.

InkScape

Windows/Mac/Linux InkScape is a free, open source vector graphics tool. Vector graphics allow images to be defined as a set of shapes defined by curves. While less intuitive than “painting” a bitmap, creating art this way allows it to be resized without becoming distorted.

Note: Not all game engines support the vector format, but images can be exported to JPG/PNG as needed.

Blender

Windows/Mac/Linux A free and open source 3D modeling, animation, and rendering engine.

Learning to use it will take some time, but it is capable of producing professional results.

Find a list of some great open source art tools here.

Back to Top

Sound Tools

JSFXR

JSFXR is a web based tool that allows teams to generate basic sound effects. It has preset categories like “pickup” and “jump” and simple customization of sounds via sliders. With many sliders and options, teams have a huge amount of control over the sound being generated.

Audacity

Audacity is a free, multitrack audio editor and recorder for Window/Mac/Linux . If teams need to record sound effects, change audio formats, or layer multiple sounds together, Audacity is the tool to use.

AudioTool.com

AudioTool.com is a free web-based tool for composing, mixing, and sequencing sound and music. It supports MIDI input, a variety of instruments, and a visualizer/spectrum analyzer.

Back to Top

Premade Assets

We strongly encourage teams to create their own art and sounds but this may not always be possible. In the event that a team cannot make their own assets, teams can use publicly available, free, properly licensed (creative commons or other open license) assets. Teams need to keep a log of where they acquire resources from. Note that “google search” is NOT a valid source.

OpenGameArt.org

This site provides lots of assets ranging from 2D/3D assets, to music, to sound effects. All of the assets are released under various open source licenses.

 

FreeSound.org

A large and ever expanding list of sounds and music licensed under Creative Commons licenses. Sounds and music could be professional or amateur but will always be free. Sounds come in a variety of file formats to fit teams’ needs.

Back to Top