About Me

I am currently in my fourth year at DigiPen Institute of Technology and am set to graduate in May 2009 with a BS in Real-Time Interactive Simulation. The program is essentially a computer science degree specializing in video game programming.

I started programming in the 6th grade, a time when I would force my friends to play through the games I would write on my calculator and in QBasic. These days my technical skills are much more general, with my current interests focused around gameplay implementation, code architecture, and networking. While going to school here I've been very fortunate to work on some amazing projects with some incredibly bright and determined people. It is through our shared experiences together that I've learned about working in a professional team environment and come to understand what it means to go above and beyond what is just expected of you. I stand on my strong organization abilities, communication skills and constant strive for self-improvement with the hopes of supporting and someday leading a team of similiarly motivated people.

Each year the students work on a game project in teams of 3 to 5 in tandem with their regular course load. This summer our junior level game project, Froggle, will be getting a 3rd semester to continue development in order to prepare for entering the PAX and IGF contests. While this is an incredible opportunity for us to push the game and ourselves even further, it is also giving me the chance to consider working on a professional project instead of making a fourth student game. Since I've been saving my last year at DigiPen to consist of mostly electives, it is my goal to find a job I can commit to in order to be an integral part of a professional project's development. I hope to gain valuable experience with working in a professional environment, and to meet new people who are also seriously devoted to game programming and to learn from them skills I need to become a better developer and producer.

Current Favorite Books (nonfiction)

Since I'm editing this page, I thought I'd go ahead and write out a bit of info on a few books that have really helped me out this last semester. I don't have much practice in writing book reviews, so this is probably more like ranting.

  • Game Physics Engine Development - Ian Millington This book is a great start to coding a physics engine, especially when you want to think more about it's architecture and are only a B/C student in physics class. The engine you develop has lots of limitations, but they are clearly laid out for you and understanding what works and doesn't work is more important than building the ultimate robust do-all be-all engine young developers always think they need. This book is a great platform to start from and leads well into other much more advanced game physics books like David Eberly's Game Physics.
  • Real Time Collision Detection This is in the same series as Millington's book and is almost necessary if you want a robust collision detection system to go with the engine presented in his book.
  • Introduction to 3D Game Programming with Direct X 9.0c: A Shader Approach - Frank Luna Again, another hands-on spring-board into graphics programming that gives clear direction on how to use DirectX with your game. While very practical, it doesn't do a great job at really explaining how to architect your code and build a robust graphics engine for your game. For that, look again to David Eberly. In fact I should probably just put him on the list...
  • Anything by David Eberly This guy knows a lot more about being a good developer than I know about being a packaged ramen chef (which is a lot). I still haven't worked my way up to them yet, but I definately plan on getting them off my bookshelf.
  • Effective C++ - 55 Specific Ways to Improve Your Programs and Design - Scott Meyers This is a series every programmer should have. It's full of wise words on how to utilize and avoid the caveats that make C++ the insane language it is. Also the Effective STL; I haven't read this one yet since I fully abuse STL in all the wrong ways, which I'm sure is why a lot of game companies don't let the developers use it.
  • Game Programming Gem Series I'm almost certain everyone has heard of these. I think they should become a quarterly magazine or something because they just don't come out fast enough.
  • Ten Key Qualities of Highly Successful People - Duve Nakolisa Haven't read this one yet, but everyone who I've met who has told me it's awesome. Like being OCD is a trait of successful people, how reassuring is that!
  • The Money Book for the Young, Fabulous, and Broke - Suze Orman It's not the kind of 'how to save money' book I expected. Orman lays out the world of finances like most programmers write their books. It's fast and concise in explaining how student loans and credit cards work, what really goes on in getting a mortgage, and what having a 401k really means. It is not preachy or a guide on how you should be saving money, just a book that explains how things work so you can make your desisions.
  • The Art of Simple Food - Alice Waters Yet another unexpected find. Not content publishing a set of re-hashed recipes, Waters write a fantastic guide on how to operate an effective kitchen in today's world. Covering things from what tools everyone needs to what foods you can keep in your pantry and fridge and how to shop in order to simplify cooking. DigiPen is hard. Sharing living space with 5 roommates is harder. Practicing operating an efficient kitchen makes the path to grown-up-hood a lot easier :)

Guide to Integrating Lua into Games

This is a guide I wrote this last year after working on the scripting engine for Redevilopment. After going through the process again this year there's definately a lot more I'd like to add/rewrite. The school paid me for it so I'm not entirely sure if I'm allowed to post it here, but I want to have it somewhere centrally so once I start working on it again it's easier to manage. There's so much more that would be useful to have in there like wrapping lightuserdata in userdata and binding your objects by hand, but I'm afraid I might not have time until the end of this spring semester. I do hope to use this as a spring board to giving a lecture on using lua at the start of the next school year.

Integrating Lua Into Games.doc