I’m thrilled to say that I was just hired by Toy Studio, a video game studio based in Schaumberg, Illinois. They specialize in social and casual gaming, with a current emphasis on Flash games for the Facebook community. Their first venture is KillerToon, a quirky friend-fighter that went live last month.
The game features amazing illustration work by Jason Zielinski.
My focus will be working with other developers to continue creating new content and features for this game, ahead of other exciting releases. Of course, I won’t be able to discuss what I’m working on in detail, but stay tuned for upcoming releases and updates on my other independent projects.
My eternal gratitude goes out to Colin Godsey, my friend and colleague who connected me with this amazing opportunity. Thanks also to my new boss, Christian, for giving me this shot.
I was asked to create a state machine for an assessment that has a few simple rules, basically creating a self-determined “creature” that had a few basic abilities. Building on the initial ruleset, I decided to develop it into an automata simulation.
The creatures have four attributes: thirst, hunger, fatigue, and boredom. They are capable of idling, walking, running, eating, drinking, sleeping, and with user interaction they can play. Clicking with the mouse will cause nearby creatures to react.
Each state has a transition pre-state that occurs before it. The color of the character will blend from a color representing his previous state to the color representing his new state.
- Initial values of the four attributes are generated randomly when the SWF is loaded.
- If no state is queued, it will idle. Idling causes its thirst, hunger, fatigue, and boredom to increase.
- If it gets too bored, it will either run or walk (50% chance).
- Walking increases all attributes except boredom, which decreases slightly. If it gets too thirsty, hungry, or tired it will switch to that action.
- Running increases all attributes except boredom, which decreases. If it drops below 50% boredom or above 100% fatigue, it will eat or sleep (50% chance).
- Playing causes all attributes to increase except boredom, which decreases significantly. It will not stop playing until the user releases the mouse button.
- Eating causes all attributes to decrease except thirst, which increases significantly. It will drink after eating.
- Drinking causes all attributes to decrease. It will idle after drinking.
- Sleeping causes fatigue and boredom to decrease, thirst and hunger increase. It will idle after sleeping.
I had to disable the real-time stats for the web version, otherwise it gets too choppy. But in a standalone player is runs nice and smooth. If you want the source code just shoot me an email.
My buddy Colin just posted another demo video of the game engine he’s working on, and it looks amazing! In addition to dynamic buildings and weather, his engine renders depth of field and simulates HDR lighting. Pretty amazing for a just-for-fun side project.
My first 3D project of the semester. I was going for kind of an ambiguous biological theme, like something that could be the size of a sea urchin or only visible under a microscope. We’ll never know.
My friend Colin is working on a from-scratch game engine for a 3D tower-building simulator. Here is a very early demo of what he’s programmed so far. This expanded-style view is the foundation of the level editing mode.
On April 16th, Northern Illinois University hosted an art exhibit called “Interreaction” in the Holmes Student Center Glass Gallery. The show was planned, organized, promoted, and featured work by undergraduate Time Arts students. The focus was interactive, installation-based work that balanced technology with artistic intent. We enjoyed high attendance and an overall positive response.
My piece, “Reflex,” was an interactive sculpture constructed out of nylon string, tape, and pellon fabric. The fabric is threaded through and suspended by a web of strings attached to the ceiling and floor. Each length of string was constructed in a fractal-like pattern: a length of 10-12 feet has offshoots at set distances, each of these 6-8 feet in length. Off of these branches are additional lengths of string, branching into 2 foot end segments.
Behind the structure is a computer, DLP projector, and a concealed webcam. A Flash/ActionScript application is projected onto the fabric and fed video data by the webcam. The Flash app populates a black screen with small, circular objects that drift around aimlessly. Every 50ms, the current frame of video is captured as bitmap data and applied as a difference filter to bitmap data of the previous frame, creating a two-color image map of motion in front of the camera. On each frame, the application iterates through the floating objects, and checks what color the image map is at this location. If motion is being recorded at the location of an object, it is sent flying away. When viewers walk past the installation, the objects ripple. If a viewer waves their hand around in front of it, the objects scatter and move away.
The result is an initially subtle level of interaction; many people would walk almost completely past the installation, then suddenly stop and do a double-take, wondering if the motion of the objects on the screen was tied to their movement or mere coincidence. This reaction contrasted sharply with the response later in the night, when the secret was out and viewers gathered to test the limits of the interaction.
If you have a webcam, you can view the Flash component of the project here. If you do not want the project to access your webcam when prompted, simply navigate away from the page. Clicking “Deny” may cause the plug-in to crash.
The Game Developers Association of NIU had their first meeting of the year last night. Here are some of the highlights.
gamedevmap is an online catalog of major game developers, publishers, and organizations. It’s an excellent resource for programmers and designers who are looking for employers in their area. The site is organized with a world map splitting up companies by region. [link]
gotoandlearn() is a video tutorial library for serious Flash developers. From slider bars to dynamic Flex applications, the videos vary in scope and complexity. Along with an active forum, this is an essential site for anyone trying to get things done in Flash. [link]
GRAVITY BONE is a fun little indie game based on the Quake 2 engine. This ‘Nuevos Aires’ spy adventure is populated with quirky, blockhead characters, bright colors, and fantastic music. It’s free, fun, and funny. [link]
BIT.TRIP BEAT is a new game coming out for WiiWare. I’d try to explain this piece of sublime 8-bit beauty, but really you should just see it for yourself.