code, audio, and life by michael chadwick
    • Checking Back In

      The last time I updated this site, which has gone from a dump of my old LiveJournal, to a fairly recurring life blog, to a mainly defunct music blog, I had just recently become a father. In the following, oh, year and a half, I’ve been a little preoccupied with doing that thing.

      However, I’ve found time, carved into the recesses of the night, to finish a couple more albums of music.

      ^^^ Full entry ^^^
    • Gem Warrior: Part 3 (of 3): Gemcutting 101

      (Previous posts 1 and 2)

      For the most part, Gem Warrior is done. What a blast it has been! I’m not sure I’ve worked so hard on a project in a long time.

      I made a game!

      How do I know I’m done? Besides the relative burnout I feel from working on it for a while, the features I most wanted to implement are in, and all the bugs that have cropped up (that I know ;P) are fixed. There is a world of Jool, a player to control, levels and abilities to attain, items to get and use (and equip if appropriate), monsters to fight, some people to talk to, and a final boss to defeat. It’s as complete a game as I’m willing to make it.

      Now, for the first time, I’m going to take a little walk through how the game works, both game-wise and code-wise, which will be long and detailed. However, if you are making a game in Ruby (or whatever), I think it may be enlightening.

      ^^^ Full entry ^^^
    • Gem Warrior: Part 2 (of Some Indeterminate Number)

      Much progress has been made on Gem Warrior since last I posted, and I’ve learned a bunch about Ruby and how to properly structure a game. I’ve also come to a fairly good stopping point where people can start to actually beta test the game and I can get much needed feedback outside of the echo chamber of my own head.

      ^^^ Full entry ^^^
    • Gem Warrior: Part 1 (of Who Knows)

      A game where you’re typing words on a command line is not exactly “modern gaming”, but it has a certain charm that tugs at a (hopefully) shared computing nostalgia. Also, it’s a lot easier to program something where the output is text, rather than graphics.

      Thus, I’ve embarked on a game development project called Gem Warrior, a roguelite text adventure, (eventually) replete with a juicy command list, glorious monsters, and a hyperkeen randomized world that challenges you to discover its seemingly boundless majesties, and defeat an Evil Guy to Win the Day!

      ^^^ Full entry ^^^
    • Don't Beep When You Can Feep

      I’ve been interested in sound and audio for a long time now. Probably from the time I heard my first beep or click from a child’s toy (can’t be sure), my mind got hooked on these air fluctuations and how to make more of them. Once I got into playing guitar and messing around on computers and patterned air movements (i.e. music), this became a fully-realized obsession. Even with all of the complexity inherent in my musical endeavors, the simple things still feel good, and if I can make a simple Ruby gem that can beep at you, then by Thor’s hammer I will!

      Ahem.

      ^^^ Full entry ^^^
    • Audio Manipulation with NAudio on Windows

      After much frustration with some low-level audio manipulation in Javascript, I decided to change gears and make my first Windows Form application using Visual Studio 2010 and a great 3rd-party audio library. Yes, it’s really 2015; I’m just behind. In this, I have gotten further in my goal of gluing disparate audio files into a single one. Which is pretty great.

      ^^^ Full entry ^^^
    • Playing with Javascript and the Web Audio API

      While working on a tool in Ruby to make sampler tracks out of several album components, I realized I did not yet know enough about how to manipulate audio to do what I wanted. I needed to approach it from a different vantage point, and a different language altogether. So, I decided to see what the state of audio on the web was, having not done much beyond hosting and downloading MP3s years ago.

      Spoiler: it’s pretty frickin’ cool now, guys.

      ^^^ Full entry ^^^
    • Some Fun New Web Projects to Kick Off 2015

      2015 is apparently the year that I get inspired to work on web projects again, and rediscover the joys of the change-refresh cycle, JavaScript/jQuery, and HTML5. I just finished (is that really possible, though?) a couple new web apps and I’d like to drop some knowledge about them.

      ^^^ Full entry ^^^
    • New Album: Lullabies
      New Album: Lullabies

      Lullabies, by Michael Chadwick

      Sometimes, you just need some relaxing solo classical guitar to lull a young person into a state of unconsciousness. In order to facilitate this, or maybe just to offer up a collection of pleasant music to play in the background for some other task, I made a Lullabies album. The whole shebang is pay-what-you-will, or you can just stream for free.

      ^^^ Full entry ^^^
    • Sending Gmail from OS X Yosemite Terminal

      I’ve messed around with my own personal file host system for years, so that I could share stuff with others over the Internet. Initially, it was just a lazy (FTP to host) + (email link to friend) system. However, the uber way to handle something like this is to write a slick terminal script one-liner. My OS of choice is OS X and I updated to Yosemite recently, so I decided to figure out how to do it and I’m thinking someone out there may find this information useful for any script that needs email capability.

      ^^^ Full entry ^^^