Using Git Terminal to update Source Control

Here's another note to myself, as well as for others who may just be using Git through the terminal for the first time.

Git is the original source control of Github Desktop application, except that it makes you look a lot like a hacker when you're using it. Oh, and Pull & Push makes more sense now: You PUSH your changes into the master branch, and you PULL your changes from the master branch into your local repo.

Let's say that you modified your project slightly on your project, and you're wanting to commit it, merge it and push it into the master.

To update your work from the master branch

  1. Before starting any work, always go to git terminal, open up the directory.

  2. Always type in "git status" to check for the master branch.

  3. Then, type "git pull".

  4. Make sure that your branch is up to date! If not, contact the programmer for help.

To upload your work to the master branch

  1. Open Terminal.

  2. Get to your destination. In this particular project, I need to get into where my project was saved, and where Terminal is referring to this project from. Documents -> Beachcomber -> Beachcomber. I can do this by typing into terminal:

13.png

"cd documents" ->  "cd beachcomber" -> "cd beachcomber"

3. Type "git status" to check out what's going on in your current project.

1.png

4. Whoa! That's a lot of red. But don't worry! That means that your changes are simply not yet committed yet. The instruction says to type "git add file" to update what I want to be committed, and "git rm file" to remove what I don't want to be committed.

2.png

5. Here is a quick tip for committing these files. By using the "*" star, you can include all files that share similar names. Right now, I see a lot of Beachcomber_WwiseProject/GeneratedSoundBanks... files. Even though they're all ending in different file formats, a lot of them share the same name up to that point. So I can type in "git add Beachcomber_WwiseProject/GeneratedSoundBanks/*" Notice the star at the end there. It's very important and will save you lots of time. BEWARE though, if you're adding or removing files, using * will add or remove ALL files that share the same naming convention, and might accidentally add or remove files that you didn't want. ALWAYS read over all of the files before using the *.

6. You see all these .meta files? They are generated but don't necessarily need to go into your master branch. Simply ignore them. Don't try to remove them.

4.png

7. Once you are done with your adds, type in "git commit -m "message"". Make sure to type in the message, otherwise, you won't be able to commit. Don't forget the space between the -m and message.

5.png

8. Now that you've committed, you're ready to push out the changes into the master branch. Go ahead and type "git push". When you do it, the terminal will ask you for an RSA key. Your programmer should know this. Type it in, and watch as you merge your stuff into the master branch.

9.png

9. And that's it! You have successfully added your changes to the master branch.

5 Takeaways from GSC 2018!

Game Sound Conference 2018 is over, and all of us headed back with hearts refueled with passion and support from the game audio community. As I was writing down my notes on to my laptop, I organized these 5 takeaways that I will be applying to my life to make myself a better-prepared composer. Let's begin.

  1. Do Checklists Right - Instead of saying "I have to write 3 minutes of music" and being overwhelmed, it's much satisfying to use a checkbox system to divide and conquer.  Don't use a large paper to make your checklist. Stay with sticky notes! Ever notice how when you say "I'm going to get this done in 2 days", you get it done in 2 days, but when you say "I'm going to get this done in 1 day", you get it done just as well? Getting it done is important. Set up time boundaries.

  2. SERIOUSLY take a break every hour - We hear this so often, but we ignore it, thinking that it doesn't apply to us. Until last week when I started to notice my body aching and feeling weak after working for a long time. Every 1 hour I sit on the chair, take a break by walking around and drink water. Stretching also helps a lot. Whatever you do, take a break every hour. Ignoring this important rule will cause much stress and harm to your body.

  3. Make it a point to fix my posture - Although 2 days of walking around were tiring, when I woke up this morning, I felt more refreshed than ever. I thought about why and realized it's because walking around and meeting people forced me to keep a good posture throughout the conference. I realized when I got back that I used to have a terrible posture, sitting indoors all day in front of my desk. I set up reminders throughout the day to tell me to straight up my back and keep my head straight instead of leaning too forward.

  4. Put your phone away - I used to keep my phone face down on my desk. I had tabs of Facebook and YouTube open as I work. I was focused only half of the time, and somedays when it got really bad, I would go on a YouTube spree until I realized the whole day had gone wasted. It's important to cut off the sources of these distractions completely. Battling against distractions is a key step in becoming a game composer. Studies show that putting your phone in another room helps to stay clear of distractions. "What about the important gigs that I might get through my emails? Or emergency phone calls that await me?" The busiest, most important industry veterans are putting their phones away at the kitchens. As full-time composers, they believe that hours of uninterrupted, working hours is much more important than checking on their phone and becoming distracted. What excuse do we have? Facebook can wait.

  5. Perfectionism is a curse - Don't be a perfectionist. It's not a virtue, but rather a curse! You and I will never get things done. Take your above average and ship it, (80% of what you believe) and make sure to stay with your schedules and time boundaries you set up for yourself (If you said, I gotta get it done in 3 hours, ship it after 3 hours. No more.)

These are my top five takeaways from this Game Sound Con. I want to challenge others to reflect and list their top 5 takeaways. Let's keep it up and share how we did next year!

Helpful Logic Pro Sound Design Tip - Remove Silence from Audio Regions

Hello everyone! I just discovered this nifty sound design trick on accident and wanted to share this with you guys.

Remove silence from Audio Regions is a trick you can use to immediately separate your recordings so that it's easy and ready for layering. I know that this is what I'm going to be doing every time I am doing sound design from now on!

  1. Open the Browser and select the audio file you wish to remove silence from.

L1.png

2. Right Click on the audio file. Select "Remove Silence from Audio Region", or press the hotkey mentioned on your Logic Pro.

L2.png

3. This brings up this nifty little window. Here you can let Logic know the threshold for your volume and what you consider a 'silence'. It even politely asks how long it takes before it's considered as 'silent'. After setting your preferences, press the blue Okay button.

L3.png

4. Select Yes. 

5. BAM. Just like that, we were able to take all Silence out of the audio region. Saves tens of hours of going through each transient to figure out which clip I want to use! No more cutting.

L6.png

Hope you found this useful. Stay tuned for more tips and tricks regarding game audio!

~Daniel

How to Fix GitHub Merge conflicts!

We are all monkeys before GitHub. That's why it's important to let the Programmer teach you how to do this first, before you mess with the Master branch!

  1. While on Master branch, Open the Repository in your Terminal. (GitHub desktop application, Repo-> open in Terminal).

  2. If there are any changes to your current branch, commit it.

  3. If there are any scenes that I do want to make sure to have a backup of, "save scene as" and save it under a different name, so that we can replace it later on.

  4. Type "git status"

  5. I received this status: "Last login: Mon Oct 1 10:54:29 on ttys001 Daniels-MBP-2:Project-Lunchbox DanielKim$ git status On branch master Your branch is up-to-date with 'origin/master'. nothing to commit, working tree clean Daniels-MBP-2:Project-Lunchbox DanielKim$"

  6. Type "git merge"

  7. I received this message: "Daniels-MBP-2:Project-Lunchbox DanielKim$ git merge origin/PEET-loves-GIT-V2 warning: Cannot merge binary files: Project Lunchbox/Assets/ALL SCENES/Map_Level2.unity (HEAD vs. origin/PEET-loves-GIT-V2) Auto-merging Project Lunchbox/Assets/ALL SCENES/Map_Level2.unity CONFLICT (content): Merge conflict in Project Lunchbox/Assets/ALL SCENES/Map_Level2.unity Automatic merge failed; fix conflicts and then commit the result. Daniels-MBP-2:Project-Lunchbox DanielKim$"

  8. Type "git checkout --theirs "Project Lunchbox"/Assets/"ALL SCENES"/Map_Level2.unity" This is basically the point where you know their stuff is important and you want to merge it into the master - but thats okay because you still have your stuff in the saved as scene.

  9. Type "git commit -a". A Giant text blog pops up, it looks like Vim or Vi program.

  10. Type ":q" and hit enter. This colon is important.

  11. type "git push".

  12. At this point, the github website will say that the merge has been successfully completed.

  13. Check your new scenes in master. Fix any problems and port them over into your backup scene. Once you're done, replace the old scene with the new one by saving the scene with the same name and forcing it to replace.

  14. You're done!

Audio Development Blod for Food Drive

10.png

Introduction

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:

  1. I wanted to use WWise to integrate all the sound effects and music.

  2. I wanted to write my first adaptive music score.

  3. 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.

[audio src="https://dankimaudiocom.files.wordpress.com/2018/08/q-theme-1.mp3"][/audio]

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.

[audio src="https://dankimaudiocom.files.wordpress.com/2018/08/q-theme-2.mp3"][/audio]

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.

[audio src="https://dankimaudiocom.files.wordpress.com/2018/08/theme-3.mp3"][/audio]

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.

11.png
extremely complex idea on the top, simplified on the bottom.

extremely complex idea on the top, simplified on the bottom.

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.

[audio src="https://dankimaudiocom.files.wordpress.com/2018/08/ingame-music.mp3"][/audio]

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).

Closing

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!

https://gamejolt.com/games/fooddrive/361446

Thank you for reading this. I hope this can help you as much as it helped me to organize my thoughts and share it with you and the rest of the world!

~Daniel

Wwise to Unity Integration Cheat Sheet

This list will continue to get updated as I discover more tips and tricks for how to integrate audio into Unity! Anyone is welcome to use these codes to learn Wwise themselves.

You may have gotten through the 101, 201 and 251 courses through Audiokinetic's website, but you still might not know how to actually INTEGRATE these Events, States and RTPC's you set up into Unity. I don't blame you - this information is for some reason, incredibly difficult to find online. But you need to know, in order to get your Wwise integrated into Unity. So let's get started!

 

Fundamental Integration through C#

 

In Unity, the most common way of using Wwise is by calling upon the "AkSoundEngine.____" in your C# Scripts.

This does mean that it will immensely help you if you understand the basics of C# and how scripts work. I'd highly recommend you take your time to learn what void, Start, Update, if, how functions work and reading scripts. While you won't be doing coding most of the time, you will be searching for appropriate places to insert these codes. In many of your games, you'll have to ask your programmer for instructions on which scripts you need to squeeze these in. But, if they're organized programmers and if you're keeping track of where everything is, you won't need to waste their time asking for obvious places to code them.

What you want Wwise to do is now up to you. That ______ can be filled out by you to determine what you want Wwise to do. The most basic ones that you'll use is PostEvent, SetRTPCValue, SetState.

AkSoundEngine.PostEvent( " EventName" , gameObject);

For sending out a message to Wwise to trigger an Event, you use PostEvents. This is good for one-time actions.

Useful for: 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.

Useful for: Changing your adaptive music with States. Telling Wwise what Level you are, whether your game is Paused or not, whether you're underwater or not. 

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.

Useful for: Any numerical value, like Health, How many kills you've gotten, your high score, your car's speed, setting the volume of your SFX or Music channel in the options menu.

In the image below, you can see that there are several lines of AkSoundEngine scripts I put into my "State_InGame" script in Unity.

1.png

1. AkSoundEngine. is calling Wwise.

2. SetState( ) is telling Wwise to prepare to do an action: set State. But now you have to tell Wwise which state group and to what state you'd like to target.

3. ("Group", "State"); In each quotation marks, you can put the name of your Group and the name of your State.

Now, your script is ready. What should we do with it? Let's take that script, and attach it to anything you want. I like to give my scripts that set states into a GameStateSetter game object, so that I can always look for it quickly. Since the void Start () function will trigger at the very first frame when this gameobject loads into the scene, Unity will tell Wwise to set your state and play the corresponding music.

2.png

That's really about as hard as it gets. Congratulations! You now understand the fundamentals of actual integration.

General Tips & Tricks

0. Connect to your Unity and use Wwise in real time. Man, did this blow my mind when I first understood what "Connect" and "Remote" really meant. You can use this to mix audio in your game in real time as you're playtesting the game. Furthermore, it allows you to monitor how many 'voices' are active in your game and how much processing power your audio is using. It's so useful.

3.png

1. Names of Events, State Groups, RTPC's are all in " ". Names of your in-game variables are not. For example, below, you can see that my "MusicVolume" is in quotations. This script sets the "MusicVolume" to musicVolume. This is how you do Volume settings,  by the way.

4.png

2. Calling Game events. You have to put "gameObject" as the target for posting your event. This means that whatever Event you just posted, it'll associate itself with the gameObject that this script is attached to. Without this later part, your PostEvent script will not function.

5.png

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.

6.png

4. Ways to integrate Ambient sounds into your game. Notice that Wwise Picker tab that appeared in your Unity project. Most of the times, you won't have to deal with it. However, there are sometimes like setting Ambiences or Reverb zones when you do want to drag objects from this bar directly onto your objects. 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 when I was first learning to use PostEvent, I watched a woman integrate sounds onto her cubes as her ball was rolling into them to pick them up. (If you've watched this video). She has it set so that these sounds will play when these objects are being Destroyed. Unless you want your sounds to play when your objects are being destroyed, you do NOT want to integrate your sounds this way. Attaching it on a script that says "AkSoundEngine.PostEvent("Pickup", gameObject); and then having these functions activate is better practice.

5. 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.png

6. Attach an AkGameObj script onto a prefab or a gameObject in order to store information like Events, RTPC, and position!

7. 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.

8. Adding "Typing" sound effects to only Keyboard inputs. Call any KeyDown, and exclude Mouse 1 and Mouse 2. If you want a "Submit" sound, add it to the script that actually disables/destroys this script. Adding it here won't be fast enough.

9.png

 

A new learning achievment - Wwise.

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.

Wwise.png

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.

Then I stumbled upon this Audiokinetic blog of a Japanese student who learned Wwise and Unreal Engine in 40 days to make a game.

"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.

yes.gif

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.

Return from Korea Trip. New mind!

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!

  1. Read the Bible for 15 minutes and start the morning with a prayer.

  2. Write this 20 list every day.

  3. Jog for 15 minutes and do Push-ups & Sit Ups.

  4. Set aside some time and do Composition & SFX work for 2 hours a day each.

  5. Prepare for my senior recital.

  6. Play a new game for an hour.

  7. Finish Pokemon Deck Building Game game dev.

  8. Post on my website about my GDC experience!

  9. Update my Website with the updated portfolio of games.

  10. Go to meetups and events in LA!

  11. Charisma on Command videos and daily confidence practice!

  12. Write on my Blog every day, and keep up with Twitter and Facebook!

  13. Study Wwise middleware & study to get Licensed!

  14. Freestyle on my Violin and Piano for 20 minutes

  15. Learn how to play the guitar.

  16. Score study with Listening for 30 minutes a day.

  17. Watch new videos on GDC Vault.

  18. Apply for Music competitions with my current compositions.

  19. Study my Theory book - 10 pages per day.

  20. 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.

Let's do this!