Hi, and welcome to my site! This is a fun little site I use to display my work and explain my self. Beyond that, its also an experiment in interactivity between Javascript and Actionscript. I keep the tone informal to match the fun nature of the site. I hope you enjoy it, and maybe learn something about me.
There's a little secret to the site... as you probably noticed, you've gotten an achievement by now. Open the achievements window by pressing the up arrow to see more. Try and get them all! Don't be afraid to use a hint if you need. I'll give you one hint to start: Up up down down... and so forth.
Hello! I'm Michael Pratt, and I'm a self-proclaimed Entertainment Designer. The obvious question here is, what does that mean? I enjoy designing things that don't just function, but they make people smile, too. Be it an educational children's game, a fun graphic for a web site, or the paint job on a musical's set, I take pride knowing that the job looks good.
Ever since I was a kid, I took an affinity to developing games. Of course, this isn't saying thats all I'm good at. I picked up web development during the heyday of the Internet bubble, though unluckily I was too late and too young to make my fortune there. Throughout school I worked game or web development into projects as much as I could, since 6th grade I have at developed at least 2 games a year to a point of functional prototype, or even further.
My ideal profession is one where I can fully express my creative abilities. No matter what media I end up working with, I hope that I can spend my life perfecting my craft in a beneficial manner. I also hope to spend at least some time working to help others, in whatever manner available given my skills. Be it working on an advertising campaign to raise awareness of a cause or furthering my attempts to educate children through video games, I want to be able to give back to my community.
I graduated cum laude from Rensselaer Polytechnic Institute with a B.S. in Electronic Media, Arts, and Communications. While there, I studied a diverse range of subjects related to design, specifically games and web sites. I also experienced a broad understanding of modern electronic art forms, including graphic design and 3d animation.
Course highlights include, in no particular order:
Most of my free time in college was spent at the campus theater with the RPI Players, the only student theatrical organization. At the playhouse I worked both as a technician and, on occasion, an actor. I gained valuable experience working with immutable deadlines, tight budgets, and task delegation. My junior year I was inducted into the Delta Xi chapter of Alpha Psi Omega, a national theatrical honor fraternity. My senior year I was elected Technical Director of the playhouse, responsible for safety, security, and a $35,000 equipment budget.
I also spent time with the RPI Game Development Club, attending a few design competitions and working on several cooperative extracurricular projects. I was hired during the summer of 2008 as an undergraduate researcher, building an enormous database of over four billion protein sequences for a Bioinformatics professor, as well as a sequencing program leveraging the database allowing his assistants to much more rapidly identify experimental results.
When I went to college, I was one of the fortunate ones who knew that getting into video game design was going to be hard. I never did it just because I liked to play games. I loved games themselves, and always would critique those that I played in a more constructive manner than just complaining when I lost. Whether I do so professionally or independently as a hobby, I forsee myself designing and developing games of all shapes and sizes for the rest of my life.
Over the course of my education, I've created a great many games in genres including space dogfighting, arcade style barrage shooters, and extreme hampster ball combat. This is only a short sample of a few that I have done recently and have screenshots for. I work in both 2d and 3d, though for courses most projects were 2d due to short deadlines lack of 3d artists. Because these were created on short deadlines, none have downloadable releases, but if requested I can provide source code to all and links to required packages for most.
PaintShip: Draw your ship, then do battle! A flash game I created for the Experimental Gameplay Project. Entirely customizable, you play through the game in a ship you design yourself. Simple mechanics and challening gameplay. The game recieved a favorable critique by The Big Download and was featured in the August 2009 Best of the Net for the Experimental Gameplay Project. Click the screenshot to play in your browser!
Heartland: Heartland, an education game for 5-10 year old children I developed alone in Spring 2009. The game is designed to teach children about farming in a fun and engaging way. The game won 2nd place and a $400 cash prize in the 2009 Vicarious Visions Student Game Design Challenge. For this game I involved audience testing with a small group of children, asking their opinions on music choices, art style, and characters, as well as watching and taking notes on their actions playing the game.
Narrated by an elderly farmer character, Stan, the game pits players against the environment, allowing them to use various tools to bring environmental factors such as water, pests, and birds into balance to maximize crop yields. One of the judges remarked during the award ceremony that when I originally explained the game was about farming, he was immediately skeptical, but after my demonstrations, he and the other judges were impressed with the playability. I'm especially proud of this game and want to continue it's development some time in the future.
Rainstorm: Rainstorm is a game I created alone as part of my Game Development 2 class. You play as a rain sprite who's job it is to swing from cloud to cloud, cleaning poison off them. The entire game was designed to have parametrically generated graphics with a custom effects system using only particle systems for artistic effect.
Playing the game involved using your air tether as a swing to get you from the cloud you are standing on to the next poisoned cloud in sequence. While not implemented in the game due to time concerns, the story involved the protagonist Hyas, a rain sprite from Greek mythology and son of Atlas. He is tasked with rescuing his sisters, the Hyades, protectors of the rain and hostages of Jörmungandr, who has risen to poison the skies.
Zombine:A class project for Game Development 1, called Zombine. You are an interstellar explorer wandering around a new planet, trying to collect and bring back samples of the resident semi-intelligent, oxygen-eating slimes. Collect as much as you can before your oxygen runs out, or if you are daring, grab a slime itself. It'll suck out your oxygen fast, but you get serious points!
The player can move around and jump like a normal platformer, with a twist. The player's mouse acts as a grapple gun. This allows them to swing back around, crossing large gaps or simply flinging them about the level at great speed.
For this project, I developed the user interface, sounds, music, and visual effects, as well as helping with level design.
Icemoon: Another design project for Game Development 1, code named "Icemoon." A group project, I developed the user interface and sounds, as well as helping with overall design and programming. The game was designed to look and play like a living sketch. Game captions rolled by behind the action on the paper background and objects were styled like cheap pencil flip-book animations.
This was also the original project I started designing my open source Pygame user interface and console for, as it was the first of many projects to come developed in Pygame. I've used and improved the framework in the previous two years five separate times, including in the award-winning Heartland.
My web design skills have been largely self-directed, either while working as a freelance designer or in the course of projects related to classes. I'm familiar with modern web design techniques, including server-side languages, particularly PHP and Python, as well as client-side, specifically Javascript. I have a robust knowledge of CSS and XHTML validation and some experience with resolving cross-browser differences, though like all other web designers I despise IE6 with a burning passion. I understand fundamental web concepts such as minimizing server requests and how to create user-friendly intefaces.
Just a few features of this web page include use of the jQuery framework and interaction between Javascript and Actionscript. I'd also like to point out, if you haven't noticed, the location hash has been changing as you change sections, allowing you to bookmark a section directly. With this site I strove to negate a common gripe about Flash-heavy sites, namely, the inability to deep link or copy text.
Please see my programming section for more development information.
Personal Example: A previous iteration of the site I went through until finalizing with this one. The previous version relied heavily on rasterized images and, overall, had a much higher overall page size due to being so laden with images. I never finished adding content and apologise in advance for the broken link to the "Web and Graphics" section. Size was of course a concern of mine, but with average internet connection speeds getting much better, more and more sites are tending to become much more image heavy.
Freelance Example: I recently did this site for a Real Estate Agent contact. The client wanted a simple one-page site with the MLS market snapshot widget that could given out to potential buyers and sellers. Once the user visited the site, they enter their information into the widget and get a snapshot of information relevant to their area. My client of course benefitted by getting the all-important lead, as well as some more information beyond simply a name and email address. The MLS market snapshot webite itself is not my work.
Flash/Social Example: Another web site prominently featuring Flash, this time as a small game I created in my free time. A very small site with limited interactivity, it does exhibit several social functions. I have included a Twitter feed, Digg link, and Facebook Fan page. The game itself is a rather simple but difficult game I created for the Experimental Gameplay Project.
In the course of my college career, I've taken several visual arts classes, from Introduction to Visual Communication and Media Studio: Imaging, through Graphic Storytelling and Computer Visualization for Digital Arts. I'm proficient in the entire Adobe Creative Suite, including the use of a graphic tablet.
I've also taken three 3d animation and design courses. I'm familiar with Maya 2008, including limited experience with advanced subjects such as render layer composition and MEL/Python scripting. My particular strengths I feel lie in lighting and composition. I have also worked a limited amount with Autocad 2008, which I used to design the set for Assassins (See below, stagecraft section.)
Here are some final projects. All links pop into new windows.
While I make no claim to be a serious musician or effects artist, I do have talent in composition, design, and recording of sound effects and music. I currently play no instruments, though I previously have played orchestral percussion. Now, I compose music using a computer, primarially using Fruity Loops Studio. I also have considerable experience with Max/MSP. Obviously I'm no lead composer of a major motion picture, but I am often pleased with the results and its a fun hobby of mine. Note that several of these are incomplete and come to an abrupt end.
Contracting this section will stop the player. Closing the Design tab will not. I apologize for the third-party player sometimes not pre-loading a music file all the way. Refreshing the page may fix it if the problem happens to you.
My latest work, Melancholy, represents a completely different direction for me. Most of my songs are very repetitive, whereas this one has more of an extended melody. I'm still working on it. Which Way's Up is an attempt at some sort of dance music. The Heartland series is music I created for a children's video game in Spring 2009 as an entry to the RPI/Vicarious Visions Student Game Design Challenge. The Phirestar series is comprised of music I created for a game I wanted to create, but all that is left is this music. The Theme is present in most of the other songs, showing the versatility. I'm not particularly pleased with Intro anymore, but it does exhibit four different ways of presenting the same theme.
For four years in college I worked with the local campus theater organization, the RPI Players. While there, I worked in almost every capacity in theater, including lights, sound, and props. My main focus, however, was stage design and construction. My junior year I was appointed the Set Shop chairperson on the Technical Committee, and my senior year I was elected Technical Director, an officer of the organization and head of the Technical Committee, responsible for safety and maintainance, as well as major equipment purchases.
While at the theater, I learned to operate a variety of equipment. I've mastered most hand and power tools, and am skilled in the fine art of finding ROSCO paint colors, including their superconcentrateds, which are lovely. I worked with an ETC Express 48/96 board, connected to Unison and Emphasis. We had one moving fixture, a Source Four Revolution, complimenting our static fixtues including Source Fours, Shakespeares, Fresnels, and Parnels. In sound, I operated the older analog DDA CS3 board as well as oversaw purchase and helped train for our new Soundcraft SI3 digital board.
Below is a partial list of shows I have worked on. Beyond this list I have assisted in various capacities to dozens more productions, large and small.
In addition to these shows I have worked on in a technical capacity, I have also been on stage as an actor several times. Generally my character fits the role, and I love playing slapstick or ironic humor charaters.
By Application programming, I of course mean pretty much anything beyond web programming. From game programming, to desktop applications, to developing server-side programs, I've had some experience with it all. I take pride in my documentation and layout of code, with every project I try and make it as readable as possible. My archetecture generally tends towards modularization when time is not a factor, which I've found speeds coding time up in the long run. Re-usable code brings more value than single use copy-paste-edit snippets.
My experience spans across a number of languages. My core languages are C/C++ and Python, as I have had years of experience with both. I have also worked with a number of other languages on and off over the years, including Perl, Bash shell scripting, Lua script, and Java.
My favorite aspect of game programming, and any relevant project, is designing and implementing the User Interface. I have been working on an open-source UI system for Pygame for a while now and plan to release it to the public when I get a stable, feature-complete version. I also enjoy working on visual effects, having written an open-source scripted effects system for Ogre, a C++ based 3d rendering engine. I released an early version to the public with moderate interest, but school came first and I eventually abandoned the project. In my spare time, I am now working on an advanced set of plugins for Pygame to speed up development, including my UI system.
Please see my design section for more information on my game design capabilities.
A recent non-gaming application I've worked on is a massive protonomics database. Technically under a NDA, I can't disclose too much information about it, but it involved generating, indexing, and searching over 4 billion peptide sequences across 4000 tables and grossed over 1 terabyte. In this project I learned a lot about software and hardware optimization, eventually speeding up my code so much that the only remaining bottleneck was the speed writing to a 4-disk RAID array. The project involved combinatorics, predictive matching algorithms, and a crash-course in chemical biology. Utilizing a LAMP server with a mod_python intranet front-end, the application and algorithms, which I believe may be patented or patent-pending, allow researchers to more quickly match experimental mass spectrometer output to potential protein sequences.
I know a few special languages, as well. In my work on Artificial Intelligence, I learned both Prolog and Lisp, including programming a connect-four playing algorithm in Prolog. For my final project in Artificial Intelligence, I developed and tested a neural-networking scripting language, allowing the creation of neurons that go beyond traditional on and off and allow more complex networks with floating point values. The paper I wrote on the topic is available here. PDF, opens in new window.
I learned Max/MSP/Jitter, a live-data program developed specially for music and video, during my work in the courses of Computer Music and Computer Visualization for Digital Arts. My final project for Computer Visualization was a Max patch that generated and displayed particles based on the motion on a live camera or pre-recorded video. The core of the code involved the implementation of the Horn-Shunk optical flow algorithm. The final paper is available here, an album of clips is available here.
I've worked on web sites for a great many years, but I have only recently taught myself modern web design methodology. I've now had experience with a number of technologies and techniques on increasingly improved web sites. The difference between my first few personal sites and this one is so great, I suprise myself with the improvements I have made. I enjoy writing clean, concise, and compatable code. My web design skills still need honing, but I look forward to talking with a more experienced professional some time in the future. I learn best working on a practical application.
This site uses the jQuery framework, and the flash game uses a generous amount of advanced ActionScript 3.0. I've also had experience working with PHP, mod_python, and some CGI scripting. Several sites I have developed interface with SQL from either PHP or Python. I developed the database archetecture for those sites and feel confident in my skills to properly manage and secure a MySQL installation.
For specific design and development examples, visit my design section.
I have two versions of my resume, each slightly tailored to the appropriate industry. Information was cut from one or another for length reasons. Both are PDFs and open in a new window, right-click to download.
I live in Troy, New York. Get in touch if you want to set up a face-to-face.
Email: michael@michaelpratt.name
Or, get connected via phone: