First lecture - VapaaLassi/TAMKUnity2024 GitHub Wiki
What is this course?
This is a course about using Unity to work with audio. We will focus mainly on how audio can be implemented, interacted with and modified in Unity.
Who am I?
I’m Lassi Vapaakallio, a generalist game developer and designer. I’ve been making games with Unity for over 10 years and programming for slightly more than that. I’ve been a full-time game developer since 2015 and have 7 years of professional experience as a game developer. I have a Bachelor's Degree in Computer Science from University of Helsinki and a Master of Arts in Game Design and Production from Aalto University. I spent 4 years at Valo Motion (2018-2022), creating exercise games for trampolines and climbing walls. For the last year and a half I've been working at Musopia, a music technology company, where I've been creating music-related app prototypes.
Audio very often plays a major role in the games I work on. For example, I’ve worked on multiple games where the player's actions creates the music, as well as a cooperative puzzle game where the other player only sees the screen and the other hears the audio. Nearly every game I’ve worked on has some type of dynamic music system and I’ve almost always been the programmer to implement the audio with the sound designers. I've also played music for 20 years.
What I’m not?
A sound designer. I’ve worked closely with many audio designers over the years, but I have very limited skills in actually creating audio. So I know Unity and programming and you know the actual sound design, so if I say something very silly regarding audio, feel free to put up a hand and correct me.
What will happen during this course?
Day 1:
We will learn what Unity is and how to create projects with it. Basics of the editor and its components. Learning how to move things around in a 3D scene and all the tools needed to do that. Then we learn to load new projects and asset packages. And we’ll start with a bit of audio implementation if we have time.
Day 2:
Audio in Unity. How it works, how we set it up. Mixers, parameters, audio zones etc. How audio is used through gameplay scripts. Showing the project bases, talking about what type of things you would like to do with them.
Day 3 (next week 29.11.):
More advanced audio and scripting topics based on your wishes, working on projects.
Day 4:
Finishing projects, short final lectures about game audio in general, (optional) presentations.
General notes on the course
Ask anything anytime, I’ve been doing this for a long time, so I might use some game industry jargon that is not familiar to you, or might be going too fast with Unity or scripting, so if you are confused or have a question, it’s almost certain someone else has the same question or problem, so please do ask.
I’m running this course for the third time, so if you have any ideas for improvement or frustrations to share, tell them to me after the class, during breaks or over email.
Grading
This part of the course is just doing things, so if you do all the exercises and the final project, you'll get full marks.
What is Unity?
Unity is the industry-standard game creation tool. If you go work at a company (and it’s not Remedy or Housemarque) or you go to a game jam in Finland , there is a very good chance that you'll be using Unity to create the games.
It’s an all-encompassing and customisable game editor that has a strong C# scripting system built-in.
It is subscription-based, but the subscription only applies to users/companies that are making over 100 000$ a year, which also makes it accessible to students and hobbyists.
Why Unity?
It is almost universally cross-platform (all the consoles, mobile, PC, Mac Linux, browser etc.) and the editor itself is compatible with Windows, Mac and Linux(?). There is a ton of resources, assets and support available for the platform, so it still is a safe-ish bet for the future.
Why not Unity?
- Unity is old and a bit clumsy, and while it is so customizable that many of the problems can be fixed, it is definitely starting to show its age. There’s some things that can’t be done with Unity and we might get to some of those during this course
- Unity (the company) has been making some concerning strategy moves lately like calling a big part of their users “idiots” and clearly prioritizing ad-systems, analytics and other monetization-related features over the actual editor.
- Though just month ago they started reversing course, removing the most idiotic ways to drain money from their users.
- It’s subscription-based and they keep raising the prices, it’s 2000$ a year per user for any studio that has revenue or funding that exceeds 100 000$ a year.
What else is there?
- Unreal Engine has turned out to be a real competitor for Unity, though still mainly on 3D games with nice graphics, the mobile space is still dominated by Unity and the indie 2D games scene is also mainly Unity
- Game Maker is great for smaller 2D games and is a bit less heavy to learn compared to Unity
- Godot is an open source direct competitor to Unity that tries to fix all of Unity’s silliest problems. It has some hype around it and a new bigger version came out recently. It's still limited compared to Unity, but Unity's recent blunders caused Godot to receive tens of thousands of additional monthly funding, so it will keep catching up to Unity.
- A lot of game jams already have half the teams working in Godot
- Custom engines. If you go to a massively big company, they might be using some tech they build from scratch. The implications for sound are frightening to say the least. Also, if you want to make a game, don't make a custom engine. You might make an engine, but you will probably never finish a game.
Questions for you
- What is your background?
- Has you worked with interactive media or games?
- Has you used Unity before?
- Has you done programming before?
- What is the thing that most interests you about audio in games?