You’re tasked with writing a music track for a level. Where would you start?
Starting work from a blank piece of paper may feel like one of the hardest things for composers. At the start of writing every piece, you doubt yourself with every melodic ideas and chord progression choices you’ve made, and until you’ve spent hours and hours working on the piece to get to that “point” where you finally feel confident in what you’re writing.
I find it easier and faster to that point if I can ask myself these 5 questions.
That’s right. We as game composers need our music to serve the overall gameplay. So, what is the gameplay like? Are there any specific mechanics that may decide how you write this music out?
For example, the game Food Drive is a high-score based game. It runs on time, and can also track how well the player is performing throughout the game. Based on these gameplay elements, I can immediately eliminate the need for writing 2 minute of looping music, but instead think about how the music will evolve based on the time left. In this case, writing small bits of musical phrases that will transition from one to another is better. Designing this layout ahead of time saved me hours of precious time.
Music plays a vital role in creating emotion for the player, along with the visuals of the game. If you start out the composition process by defining a specific emotion that can be defined by a couple of adjectives, such as ‘Warm’, ‘Chilly’, ‘Grandiose’, or ‘Heartbreaking’, you are already saving yourself a lot of time by unconsciously swaying into another emotion down the line.
Start out the piece with very small list of instrumentation. Usually it’s best to keep musical ideas big and list of instruments small, down to 8 and 12 at maximum. By defining what instruments you want to use in your piece, you can stop yourself from adding a harmonica into your epic trailer down the line. Doesn’t mean that it’s bad to experiment with new instruments, but beware of how much time it can cost you.
Melody is the single most powerful weapon you have as a composer. It is a single line that gets absorbed into your players’ heads as they play the game and listen to your music, and keep them coming back for more. You can work on your melody before you even sit down on your desk. While you’re doing chores, like washing dishes or vacuuming the floor, hum to yourself a melody after considering all of the three mentioned above. If you want to up your melody game, try listening to a lot of Mario games and pay attention to why its so memorable. Easily singable, interesting rhythms, constantly moving melodic line, dominant chordal notes on down beats, chromatic decorations, room to breathe.
It’s like a fun puzzle piece to starting your piece from a strong melody. Write 1-2 measures worth of simple phrase, then try stretching it out, or doubling its speed. Take one of the intervals and use it for the bridge section, or take 3 notes and transpose them up, or reverse their order in order to make something more interesting. It’s little things like that that contain similarity to one simple phrase of melody that our ears LOVE.
5. Chord Progressions?
Chord Progression supports your melody. You may want to try expanding beyond your original chord progression that you had in mind. I-IV-V-I is okay, but what about secondary dominants? 9th, 11th and 13th chords? How about inversions? What about transposing your piece half way through? Depending on what chords you use, your piece can sound great or impossible to stop coming back to.
That’s it for today. Now it’s time for me to go write a track for a level. Thanks for reading!
Hello friends! 🙂 I’ve been working on an exciting project with Gamers for Good and several of my amazing friends that I met at GDC!
In Food Drive, you drive around a truck with a cannon perched on top of it, and you’re delivering food to various neighborhoods within the colorful but very hungry town. The game is a food bank awareness game and promotes the activities of food banks and how we can help in real life.
While the game is fun, the audio development process was just as fun as well! I wanted to share with you what I’ve learned so far, and what I wish I could have differently so that I can improve myself even more.
A Clear Mindset and Achievable Goals
No matter what happened by the end of this project, (whether it finishes or not,) I wanted to make sure that I learned 3 of these things:
I wanted to use WWise to integrate all the sound effects and music.
I wanted to write my first adaptive music score.
I wanted to improve my sound design capabilities and mix it with the integration process to make the audio stand out as a portfolio piece.
I needed to learn Wwise, and the best way to do that was by working on a project while using it. I knew that I needed a strong motivation to learn, so, I decided to purchased the exam bundle on Audiokinetic and set aside a time of each day to go through the quizzes and studying for the Exams. From these exams, I’ve learned a tremendous amount, and I also learned a lot from integrating audio on my own on a recently finished month-long game jam project. I’m really close to earning my 201 certification!
The Beginning of Development for [Project Lunchbox]
Opportunities to work on really cool projects with awesome people can show up anytime.
I was browsing Facebook when I saw the producer’s post, looking for a VFX person for a month-long game. I referred a friend, and also let him know that I was available as a Sound Designer. I knew I had the time while I was still a student, and I wanted the opportunity to work on a 3D game. With people coming from all paths from different times of their journey in the game industry, it was amazing to see that we still all had the same love for making games. I wanted to provide positive vibes for the team by doing my work on time and Plus Ultra.
Our team of 6 people (now 7) started out with a very solid idea on how we should scope the game and what we should prioritize working on. Thankfully to this, we are on schedule and not daydreaming about features that we may not be able to put in by the first week of September.
Music and the Trial and Error for Theme
Before the first day of the development process, I had a week of time to study the concept art that Peet drew. Our producer Will showed me 4-5 links to music that he’d like me to listen to, including Crash Bandicoot, Sonic and Mario Kart 8. I took these feelings, our premise of the game and our artist’s concept art and composed this short theme for our game by Day 2 of our development process.
It was a good start, but it was missing the excitement. I continued to obsessively search Mario Kart 8 for inspiration that would evoke excitement. This was a mistake because I should have taken careful consideration of putting the theme of our game first before just pure excitement. Have I avoided that mistake, I probably would have avoided buying the Swing More! sample library just so that I can write a Big Band style music track.
I received a mortifying (at the time) but a very needed feedback from our artist Peet, who called out that while the excitement of the music was there, the theme of our game of helping poor neighborhoods didn’t match the high class, big band kind of sound. While I made a frowny face, I agreed with his thought and looked to solve this problem somehow.
After a long train of thought, I decided to scrap that high-class sound from the theme while keeping the excitement. His critique also gave me an idea of adding in more ‘hopefulness‘ to my chord progress, and I started researching what kind of music was the most nostalgic and would be memorable for a charity game.
This is the current menu music and the theme of Food Drive. If I can have a brief moment to explain the musical ideas here:
• The beginning chord progression stays on 1 for a while, causing the sense of unwavering coolness, and the addition of roaring electric guitar calls for a rush of excitement.
• The chord progression moves upwards and gives you the sense of “notorious good guys” vibe with the minor iii chord then quickly resolving it to the major IV chord.
• Adding high noted synth arpeggios gave that arcade feeling that made the game feel a bit more friendly to approach.
I hope to look into writing a big intro to draw the player in, as well as come up with a great melody that will keep our game remembered through time.
After this theme was composed, I was able to easily write an in-game music for the game, but while keeping the adaptive Musical structure in mind.
Adaptive Music, Mistakes, and Lessons Learned
While I composed the theme and the in-game music, I spent a few days sketching basic ideas of how I wanted the music to behave in-game.
extremely complex idea on the left, simplified on the right.
Here’s a mistake I made. There was one variable that I really wanted to work closely with: Time. Time was a resource in this game that you live and die by. So I naturally inclined to use 120 BPM for my in-game music. But when I did that, I realized that it just felt so slow and it killed the excitement of the game. I learned that no matter what, music needs to serve the game, not the other way around, which in this case was to be exciting. Although it would have been technically impressive to sync the music’s tempo to 120 bpm, it certainly would have killed 20% of the excitement.
Another mistake I made is that I overcomplicated things a bit too much. There were many possibilities here with what I could have done with the music. How would random phrases work? How will transitions from one time zone to the next work? Can the player hear different instruments in different parts of the town? How will the music shift based on the player’s performance? At first, my masterplan started out very bold and complex, but sooner or later I realized that more complexity doesn’t always mean that it’s better. I started narrowing down the scope for my adaptive music and actually focused on writing a good piece of music that would fit the theme first.
This is the current in-game music.
There are several tricks that I used to write this piece of music.
1. It carries elements from the Main Menu music but is 15 BPM faster (from 135 to 150, so that when you are actually playing the game, you’re feeling the excitement).
2. It has the melodies from the Main theme and uses bits and pieces of it to develop. This allows the player to connect from the Main Menu instantly into the game.
3. The piece starts out in A Major but transposes towards the 3rd quarter of the music to C Major. Transposition is a powerful little trick that I love to incorporate into my music because it really does the job of making the ears not fatigue as much when listening to the same key.
4. The chord progression used throughout the music invokes a mixture of the feeling of nostalgia and justice. The ‘I – iii – IV – I’ is used in the main theme, to give the sense of ‘notorious justice’ feel. The vi – VII – I chord progression is used in games like Legend of Zelda to give the feeling of adventure and bravery. Mario games tend to have transition passages that start with IV chords then using the circle of fifths to return back to I. However instead of returning to I, I transpose to C Major, the key that we’re very familiar with.
I plan on taking dividing this piece of music into three phrases: A (intro & melody), B (transition), C (chorus) and letting the system choose from 2-3 different melodies for each section, so that everytime you play the game, you’ll hear a new mixture of music.
The Grand Reveal Issue
One of the mistakes that I made earlier on was waiting for the grand reveal. As an artist and a musician, I tend to wait until my 2nd version of the theme was at least at 90% of what I hoped it to be, before releasing it to the team for feedback, filled with hope.
The feedback came in, and I needed to take out the big band, which was what I spent the whole day working on. As a result, I had to salvage what I can – the drum beats that kept the excitement, and start over from the ground up.
The Grand Reveal is fun when it works. You surprise your team with an amazing piece of music and your pride goes up. You don’t have to show your embarrassing piece of music and instead can cover it up with the fairy dust of production.
However, not only was the Grand Reveal method of work very risky because it cost me a lot of time, it also cost me the loss of confidence in myself to getting started on writing a new piece of music for evaluation. After a short talk with my producer, I learned that failing fast and often is the fastest way to work and the least stressful way of working overall. Knowing when to show my work so that it’s at a decent progress, enough to show my intention, but not at a near-finished level is key. There’s no need to produce our music to the point where it can immediately be used in the game.
Wwise is SO Amazing
I can’t begin to express how learning Wwise before and during the development has helped me tremendously. I saved the time of our programmer Greg, by being able to implement the audio myself in creative ways. When I got stuck on a problem, I looked it up on google or youtube in order to find an answer. It usually meant that I was scavenging for answers here and there, but it always leads to learning that I will never forget. Some of the basic and the most important tips about Unity and C# integration that I was not able to learn anywhere, I created a page for that. You can look at it! Click here (Cheat Sheet for myself).
While I’m still only halfway into the development into Food Drive, I feel that I’ve already gotten a lot closer to my teammates during the time and learned ten times as much as I would have if I just sat down and learned Wwise through some quizzes online. The music still needs a lot of work on.
We just uploaded a demo version of our game on gamejolt to make it available for playtesting. You can play it here!
For sending out a message to Wwise to trigger an Event, you use PostEvents. This is good for one-time actions. Collision sounds, button click sounds, weapon fire sound, you can even use it to trigger the music to play at the Start of your game.
AkSoundEngine.SetState (“State Group name”, “State Name”);
For sending out a message to Wwise to set a State. This is great for letting Wwise know what state you’d like to be in. For example, after triggering your interactive Music, you can then send different States to tell Wwise what Level or Map you’re currently in, which will change your music if you’ve already set States in it.
AkSoundEngine.SetRTPC( “RTPC Name in Wwise”, variableNameInUnity);
For setting RTPC (Real Time Parameter Control) of any value that you’d like to be reflected by a value in Unity, you can use this. It’s useful for the speed of a car in Unity to match the volume or pitch of the car’s sound, or changing Volume for SFX or Music in the Options Menu.
General Tips & Tricks
0. Save Wwise project and generated SoundBanks will automatically show up in Unity! If all else fails, close Unity and reopen it.
1. RTPC, such as Health, Volume or any updating Variables. RTPC’s ID is in ” “.
2. Calling Game events. Game Event’s name is in ” “.
3. The order of your actions matter. In this case, Sprinkler sound should play first, then Setting Valve, then finally Set State to On. If I put Set State to On first and then Sprinkler, Sprinkler plays at 0.
4. When calling PostEvent, don’t forget the “gameObject” at the end. It will not be able to identify which it should post the Event to.
5. If it’s not an ambient sound that will be emitted from an object, you don’t have to place the Event into an object to get it to play. This way, sounds won’t just burst out at the beginning of your game. (Since you have to load it by Start, Awake or one of the Collision options).
This was a confusion that I had because I watched a woman integrate sounds onto her cubes as her ball was rolling into them to pick them up. This is not the best way to do this, instead, attaching it on a script that says “AkSoundEngine.PostEvent(“Pickup”, gameObject); is better practice.
6. When working with buttons, if you want a previously playing music to stop, you must add a Stop action to the Event, and make sure that its Scope is set to Global and not GameObject.
7. Attach an AkGameObj script onto a prefab or a gameObject in order to store information like Events, RTPC, and position!
8. Adding a brief pause function so that it only detects the first moment of an action- For example: You have a bird that accelerates when you click and hold right click. The moment you press, you want a blast of air sound to go off, but don’t want it to be played every frame while you’re holding right click.
This is great because you can call upon the void stop(); later on to pause your current script, which will resume after that amount of specified time.
Most people grow a sense of fear toward subjects that they aren’t so familiar with. This type of fear isn’t the same kind as phobia toward heights or spiders. This type of fear is psychological; the fear of the unknown. For some reason, I had this weird kind of fear with learning Wwise, the middleware software for games.
The program looked intimidating at first, with its very 2000’s grey and blue look. I had literally zero ideas what any of the windows meant. I thought maybe, I should turn back and just focus on composing or learning sound design first and letting someone else work with integration.
“If he can do it, maybe I can too.” This was the motivation that I needed to actually get started. You can get started on Audiokinetic’s website too. That’s the link to go to Wwise 101 course.
I devoted each day so that I can learn about 1 Lesson a day. Each lesson comprises of text tutorials completed with pictures, and they walk you through step by step.
At the end of a section, there is also a helpful video guide that is very useful for reviewing the section that you’ve just learned. Make sure to watch ALL of these videos as well, because you might learn something new from them too. And don’t forget to actually try these out on your own Wwise instead of just rushing through.
It helped to have two monitors so that I can have my browser open on one and Wwise on the other so that I can constantly look back and forth without having to tab out from a screen.
After taking about one and a half week to learn Wwise, I can say that Wwise has a steep learning curve. Since Lesson 1 and 2 are the foundations of learning about the UI and functionalities of Wwise, I think they are the most important lessons and should be revisited after finishing the full 101 course. You’ll actually start to finally understand why you need to use Wwise once you’ve successfully implemented and integrated your first game. Even after you’ve finished the 101 course, if you don’t get real-world practice, you won’t be able to properly use it, right?
So, I had a build that I recently started working on yesterday – it’s a prototype about a bird flying through the air. It was simple, and I needed a really basic project to implement simple sounds into. I wanted to challenge myself to make it so that there would be ambient wind sound effect constantly playing throughout the game, as well as make an SFX trigger when I pressed my Right Mouse click-ability.
I looked up this video on YouTube and used this code to call upon a game object.
Surprisingly, it worked! And it was very easy to use once I understood the basics.
From importing audio files, adding designated events, assigning effects and generating a Sound Bank, Wwise helps make everything worth it in the end. Wwise indeed empowers audio creators because of how much control and responsibility it puts into our hands. We no longer have to ask our programmers to adjust the volume by – 2 dB or try inserting this new music track into there. If you have an idea about a cool adaptive music, you can just try making it, showing it working in the game to your producer and get it approved. It’s a very powerful tool for composers and sound designers and it’s a MUST learn tool to work on a game these days.
It’s okay to have fear because of your lack of knowledge on something. But I think there’s a point to having that fear – it’s to let yourself acknowledge it, conquer it and grow as a person, one fear at a time.
In Magic and Hearthstone, there are lots of Epic and Legendary cards that are very exciting. Exciting enough to get people all riled up before an expansion drops, and get them started on theory-crafting about all kinds of new decks to build.
These cards can be seen as the ‘core’ inspiration of a certain, fun deck that you may want to build. Upon reading their game text, you can tell that they were designed to be centerpieces of certain playstyle of the deck.
Malygos decks contain 4 spells that would boost up their damage each by 5, doing almost 32 damage to a foe in a turn and winning the game. In order to do this, you have to assemble the Exodia-like combo pieces. But Malygos is 9 Mana, and would most likely perish to a removal spell or their minions if left alone on the board for even a turn.
Yogg-Saron is so random and may not even help you win the game. You have to cast as many spells as possible before dropping Yogg-Saron in hope that you’ll win the game with the immediate effect he brings. Yogg Saron is a perfect example of an excellent card design that simply can only exist in digital card games.
Both of these cards have the power to form an idea of a deck around it and challenges its players to think carefully. It interacts with other previously built cards in such weird ways that it makes the game fresh.
These cards can be very fun to use in a TCG game like Hearthstone where you come in to play against an opponent with your pre-built deck since you have the freedom of how you’d like your deck to be before the game begins.
In the case of my Deck Building game, I realize that it’s a bit different.
Players buy cards from the “Wild deck” that consists of Pokemon and Item cards. These cards are the staples of your deck and when playtested, players only wanted to buy cards that would positively benefit their decks.
Whenever a card with too much randomness was introduced – unless the positive outcome was AMAZING, players would not dare touch the cards. In deck building games, randomness often hurts you. Afterall, one of the most priced ability in our game is the ability to destroy your own cards – this way you have more control over your deck.
Fairy decks in our game involve Coin Flips – but their Tails give normal effects while Heads give exceptional bonus abilities. This is why Fairy deck is played.
Control is the word when it comes to building your deck. Will this card fit into my deck and synergize with other cards?
Would I buy this item if I was playing ____ deck?
Is this item usable in an actual game?
Does it have thematic Flavor? A game built around another popular Franchise, it must invoke Nostalgia and “Oooh I remember this” moments throughout the game.
In this case with Calcium, Zinc, and Carbos, yes, I would buy these items no matter what deck I’m playing. Their cost is placed at 35 BP, which is about the amount of 1 cheap, basic pokemon. If I didn’t have any better options, I may opt in or these cards. All 16 decks at least have 1 Battler, 1 Defense and several Kickoff Pokemon enough to make drawing into these cards worth it. Plus it cycles itself with “Draw 1 card”, which makes it so that you’re not losing anything if you draw into this card. However, the chance of you actually drawing this item along with your Battle, Defense or Kickoff Pokemon are very low! It Cards like Carbos can also some creative strategy and encourage players to try running a Swarm deck with Pokemon that haven’t evolved yet, since they will all gain 20 ATK.
In our game, I follow the belief that Items must work with most decks that players create. They must be able to cycle themselves because they’re there to support Pokemon and should not slow the game down. (If anything, every purchase should speed up the game. We’re aiming for 30-minute gameplay here, not 2 hours!)
Then here is this card, Never-melt Ice that is up for a debate. It would slow down the game for your opponent. But if they had a fire Pokemon or some Pokemon that can destroy this Ice down the line, they will be able to get rid of it and stop the avalanche from freezing their deck every time they Draw this card.
And it specifically favors Ice decks. Ice deck’s Battle checks for the top card of a foe’s deck. If it’s not a Pokemon, they gain ATK. So it’s got flavor.
And then here’s a more thought-provoking, Legendary like Item that I still need to think about.
You’re paying for a choice. When you draw this card, now you have the option to switch the Gym Leader. If you don’t, just draw another card.
Sometimes you’re left fighting a tough gym leader. Sometimes you don’t really want that gym leader in your deck. Sometimes you think there may be a better gym leader hiding behind this one.
So that’s when you would use Bicycle. On top of that, all of your opponents can potentially get hit by the upcoming Encounter of the new gym leader. It’s a gamble, and it’s a fun one.
Creating items is overall a really fun exercise. Though Adam and I have tons of cool ideas for Items, we think that giving Legendary Pokemon those abilities may be more appropriate, because they are optional and are not viable for gameplay. We may even create additional Game modes like opt-out on playing Legendary Pokemon or even starting your deck with 1 Legendary Pokemon like Commander in Magic.
Stay tuned for more! I’ll be creating items all day today.
Hello, world! Another semester has successfully come to an end. I received approval for the senior recital at school, and I finished with most of my classes with A’s. After summer break started, I went on a 3-week trip in my homeland Korea! Now that I’m back from this long trip, I took a look at Twitter and noticed my dear friend Jason Lee’s commitment to daily updates about game dev and I really admire his endurance!
This morning, I woke up and wrote my first 20 List that I haven’t written in a while. I wanted to be shameless of it and share it with the world! This is my way of staying committed to my work!
Read the Bible for 15 minutes and start the morning with a prayer.
Write this 20 list every day.
Jog for 15 minutes and do Push-ups & Sit Ups.
Set aside some time and do Composition & SFX work for 2 hours a day each.
Prepare for my senior recital.
Play a new game for an hour.
Finish Pokemon Deck Building Game game dev.
Post on my website about my GDC experience!
Update my Website with the updated portfolio of games.
Go to meetups and events in LA!
Charisma on Command videos and daily confidence practice!
Write on my Blog every day, and keep up with Twitter and Facebook!
Study Wwise middleware & study to get Licensed!
Freestyle on my Violin and Piano for 20 minutes
Learn how to play the guitar.
Score study with Listening for 30 minutes a day.
Watch new videos on GDC Vault.
Apply for Music competitions with my current compositions.
Study my Theory book – 10 pages per day.
Prepare for game events that I need to go to. GDC, GSC, Casual Connect, E3, and more.
Let’s work around the idea that I’ll be sleeping at 12 every night, and waking up at 6 every morning. I also need to spend some time with my family and my love, as well as do things for fun! But I need to keep in mind that I’m on limited time and I’ll have to stay busy if I am to keep up with the rest of the world.
I used to believe that I was a night owl. I would convince myself that I composed at my best at 3:00 AM in the morning and that I was too groggy to be able to do anything in the morning.
And then I got accepted as a Conference Associate for GDC 2018. Now, I HAVE to be able to get up early in the morning. Not only are my work schedules affected by my schedule, I also need to be able to get to that shower before a LOT of my new potential friends (But 10 of them!) before my morning meetings!
It’s been only a week since I’ve started training myself to go to sleep early and to wake up early. My body feels neutralized to this change. Even with the daylight savings affecting me last night as I was thinking of all the cool melodies for my school’s Alma Mater (I’m entering a short composition competition of writing an Alma Mater for my school), I still woke up feeling refreshed and motivated.
I think in my head, “What if my life was a video game?”. If I don’t get up right now, I won’t get EXP, I won’t gain Levels and I won’t make any difference in my life. And if you ever played any kind of RPG’s, you know that the morning time is like one of those 2x Double EXP Boost times when you can get the most out of my day. So I do a quick roll around in my bed like a cat, stretch, and simply “Press Spacebar” to get up.
A lot of people know the benefits of early mornings – but struggle with getting up to experience it firsthand. It takes two steps: First, prepare to sleep early the night before. It’s mostly a battle in your mind, but if your body’s not on your side when you’re fighting that battle, you’ll lose the first and most important battle of the day. Then when it’s time to get up, imagine a blank screen with nothing but “Press Spacebar to Get Up” and play yourself like a video game. It may be the nerdiest thing in the world but it works for me!
Now, what can you do? It’s a lot quieter outside so you can work on things without distraction. And if you’re really good, the sun will be rising. Go outside a breath in the fresh air, smile, do a light exercise, plan out your day and follow where your God calls you to be. Congratulations! You’ve won the first battle! These victorious, positive feelings will chain on to the next battle you’ll be fighting. You can do it! See you in the morning. 🙂