My Work

Project Crusade First-Look


This is a video demo of my latest ongoing individual project, tentatively named “Crusade”. It is approximately 7:30 long, and gives an overview of all of the features that have been implemented so far (from a primarily technical perspective). These include, but are not limited to:

  • A multithreaded architecture for thread communication with transparent / minimal locking (see the TaskHandler system below!)
  • A scripting system utilizing Boost Python
  • A networked movement system utilizing Havok Physics / Animation and supporting client-side prediction / entity interpolation via UDP networking
  • A cel-shaded character with edge outlining and a working 3rd-person camera
  • And more!

The video can be found in the ZIP archive linked below, and is encoded in the Xvid AVI format:

http://sleepdrinkcode.com/files/VideoDemo.zip

The Xvid codec used to encode this AVI video, as well as a list of lightweight, easy to use players that support the format out-of-the-box (VLC and MPlayer are two examples), can be found here:
http://www.xvid.org/Links.13.0.html

Alternatively, the codec itself can be downloaded standalone at the link given below, although it may not “just work” with your current media player of choice without some installation / configuration:
http://www.xvid.org/Downloads.15.0.html

Thanks for watching, and I hope you enjoy the preview!

TaskHandler Multithreaded Architecture Code Sample


This is a code sample / demo of some of my more recent individual work, a multithreaded architecture built to support ongoing “tasks” in a game on separate threads which can communicate with each other with minimal locking mechanism requirements.

A more thorough description of the project and how to compile it are found in the README.txt file within the archive.

The files can be downloaded in ZIP-compressed format at http://sleepdrinkcode.com/files/CodeSample.zip . Thanks, and I hope you enjoy checking out the project!

Stackless Sudoku Generator


My first foray into Stackless Python, Python C Bindings (via Boost.Python), and interleaving the two, my project goal was originally to create an efficient (or at least working and feasibly effective) generator for Sudoku puzzles that would concurrently generate many puzzles at once.

After doing some research and hitting some time blocks due to external factors in my life this semester, I eventually decided to use Stephen Ostermiller’s QQWing (http://ostermiller.org/qqwing/) as a codebase to handle most of the Sudoku logic, while focusing my time and learning on adapting this work to a Stackless mindset / approach that effectively bridged the gap to the pre-existing C++ code with the fewest changes possible.

The result can be downloaded in RAR-compressed format at http://sleepdrinkcode.com/files/Sudoku.rar .  It consists of pretty much everything: the source code, both original and final, the Boost Jamfiles, the debug output files (preserved via the command line), and the final PYD DLL containing the Boost-generated C-extended module.  The program is best run, in my experience thus far, via the command-line by directly executing the command:
python sudoky.py
While ensuring that the PYD DLL file is still present in the same directory. (NOTE: python only works as a command assuming that the binary is already in your system PATH).

Also please note that the program, as it currently stands, is subject to interesting efficiency issues compared to its predecessor QQWing.  I am working on analyzing these and hope to have a blog post up soon detailing this further!

Audiball


Indiecisive Games’ first release, Audiball is a game in which players use their guitar controller to guide “audiballs” along a puzzle-like track to the end of each level while generating music and color to match their performance.  I’ll have more details / code samples / blogs about the development of this title in the future!

Copyright © 2010 Sleep, Drink, Code All rights reserved. Theme by Laptop Geek.