For my capstone project, I am working in a team of three to create a customizable board game in Unity. This will be my first time doing any kind of game programming. The prospect is a bit nerve-wracking, but also quite thrilling. Here’s an overview of how I plan to get started.
Background
A few terms ago, I took Intro to Computer Graphics, which was an 11-week survey of core concepts in graphics coupled with a project-based approach to creating OpenGL programs in C++. I highly recommend anyone looking to fill in gaps in their understanding of fundamental everyday computing technologies take this class. You’ll get exposure to things like:
- Rendering
- Animation
- Lighting and Shadows
- Geometric Modeling
- Virtual and Augmented Reality
- 3D Printing
- much more!
While the above are incredibly valuable to learn in their own right, the OpenGL graphics pipeline is actually rather low-level and many modern games are developed using a third-party game engine. That’s where something like Unity, Unreal Engine, Godot, or many others come in. I anticipate that having a core understanding of computer graphics will help me make sense of the “big picture”, but likely little utility when it comes to the nuts and bolts of learning Unity.
Learning Unity
My approach to learning Unity is to make use of high-quality video tutorials to get up and running quickly and “learn by doing”. I will go first for a broad overview of the Unity Engine and accomplishing basic tasks using the engine. Then I will progressively narrow my focus by following targeted tutorials on UI development, board game design, animation, etc.
Resources
Here’s a compilation of resources on Learning Unity that I’d like to share with others that may be looking to get started. Bonus – resources for learning OpenGL for those that are curious!
Official Learn Unity Site
Unity’s official education portal contains a huge amount of content designed to get new programmers up and running. Content ranges from articles, tutorials, to multi-week courses and “pathways” tailored to particular interests or career goals.
FreeCodeCamp Unity tutorials
https://www.freecodecamp.org/news/tag/unity/
FreeCodeCamp.org is a great resource in general for courses on all sorts of computer science topics ranging from data structures to Javascript web development. There’s a number of great articles and course-length tutorials on introductory Unity development available.
Learn OpenGL
If you are interested in diving lower level on the graphics programming stack, check out OpenGL! This online tutorial will get you up and running on modern OpenGL graphics programming. If you want to understand how computer graphics works in addition to making games, this is a great option.