Steam and Sound

Things have been really busy since the beta release.  I don’t have a lot of testers but the ones that did try it out gave me very similar feedback.  So the last few months I’ve been working on addressing those issues.  The bulk of the work was adding tutorials to walk you through the basics of combat as well as tutorials to help you understand the GUIs.  It’s the first time I’ve implemented a proper tutorial system and I’m happy with the results.  But it’s not very interesting or blog worthy so I’ll write about other items I’ve been working on.

One item I finally had a chance to go back and fix was the effect used for the tea steam.  It originally started as an effect using Unity’s built-in particle system.  But I just wasn’t able to create a good enough effect so I ended up implementing it myself.  This isn’t to say that the particle system in Unity is lacking, I’m just  not very good at creating good effects with it.  For my own solution, I ended up using a vertically scrolling texture mapped to a cluster of vertical planes that taper towards the top.  I use 4 planes that are rotated around the Y-axis (Z-axis in Blender).  I added vertex colours and this is used in the shader to apply more transparency towards the top of the mesh where I want the tea steam to dissipate. Then I parent this mesh to a simple armature with 2 bones.  One at the bottom, and one at the top.

I wrote a script component in Unity to scroll the texture coordinates vertically over time.  It also repositions the root bone to a specified GameObject on each frame.  The top bone is loosely coupled to the root bone using a spring damping function.  I’ve used this same function countless times on other projects.  I believe I learned about it in the very first Game Programming Gems book.  Anyways, after some parameter tweaking I was able to achieve an effect that’s fairly close to what I desired.  I believe using more bones would result in some pretty big visual improvements so I’ll see if I have time to implement this later on.  This is what the latest tea steam effect looks like in the test scene.  Excuse the low quality of the video.

A buddy of mine that I used to work with saw my beta post and asked to do sound design on my game.  He did sound design for 3 games I created when we worked together at another company so I was excited that he might be able to help me out with this project.  He works at different company now that specializes in sound design for games.  He has worked with clients that use Unity but the workflow involved him having full access to the Unity project and he would only make changes in dedicated folders reserved for sound design.  It also required the use of an audio toolkit plugin that can be purchased through the asset store.  The plugin only supported Unity 4 and I was still using Unity 3.5.  I had no intentions of upgrading to the latest engine at this point so I suggested that I spend one week to create my own audio toolkit that would provide roughly the same set of tools he was used to.  But it would work with Unity 3.5 and would also not require him to have full access to my Unity project.  Instead, I could provide for him a standalone build for OSX and he could access the audio toolkit in-game from a GUI that would allow him to assign audio clips to audio events and tweak the various parameters.  The toolkit actually took me about 9 days to complete but I was really happy with the results.  It was a fun little side project to work on and reminded me how much I love developing tools.  I defined all the audio events that the game would require and used public domain sound effects as examples he could work off of.  Unfortunately, the build I provided would not run on his system.  It ran fine on my system and my test machine (wife’s iMac) with no issues.  Sadly, I will probably have to work with him on a future project instead since I have no time to try and figure out what the issue could be and I’m sure he’s very busy himself.  But on a good note, the audio toolkit was very easy to use and allowed me to add new sound effects very quickly compared to the old system.  I never realized how beneficial such a toolkit could be.  Being  able to assign multiple audio clips to an event and tweak the various parameters (volume, pitch, fade-in/out, randomness, etc) while playing the game can have tremendous results.  I actually have a lot of fun creating the sound effects now.  I will probably have to do some research for royalty free music I can purchase online.

Below is a video of how I would use the audio toolkit and assign some audio clips for the Attack_Hit audio event.  Some parts of gameplay will appear chuggy from recording.  At least I don’t notice any of this when testing on my iPad 2.

If you watched until the end of the video, you probably saw the last Power Move I implemented.  The last week has been focussed on creating new animations for all the Power Moves and creating specific hit reaction animations that correspond to them.  I’m having a lot of fun doing these.  Maybe I’ll post more on these the next time.  For now, I will be making final adjustments to the enemy attack sequences.  Back into my cave I go!

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>