Hello! Welcome to the personal site and portfolio for Matt Critelli. I am a game & web developer who recently graduated from the Rochester Institute of Technology's Game Design & Development major. This site houses examples of my work and the various projects I have been a part of. Most of these can be found under the Works section, while a more formal breakdown of my skills & experience can be found in the Résumé section. As always, please feel free to contact me with any questions regarding any of the projects I am involved with (or check their websites for specific contact details) at matt at matt-critelli.com.
Over the past year I've been gaining more and more experience with both WebGL and OpenGL, and I've recreated the first part of Amobee's Nokia Lumia ad to showcase some of what I've learned. You can rotate the camera by clicking and dragging the mouse (or by touching and dragging on a mobile device), zoom with the scroll wheel, and pan by holding down the right mouse button. Clicking on a color block will trigger transitions between colors.
This example uses ThreeJS to handle some of the rendering - like setting up the basic WebGL renderer, loading meshes and textures, etc. While ThreeJS isn't always fast enough for production uses (although it has improved greatly), for a prototype I see no reason to reinvent the wheel.
All animations are handled in-program with a custom AnimationTween class that allows for precise control over how and when animations fire. Color transitions are handled with a fragment shader that uses the alpha channel of each panel texture to easily swap out a background color vector that is controlled with an AnimationTween. Mouse-panel hit testing is done with a raycaster and use of the getBoundingClientRect() function to accurately generate mouse coordinates no matter where the WebGL context is placed on the page.
Full source is available here (.rar, 1mb).
NB: Best viewed in Chrome or FireFox.
Full source is available here (.rar, 162kb).
A presentation about how death is used in video games - both in terms of mechanics and representation. Note that this was intended mainly for a non-game playing audience. Make sure you press N to read the notes on each slide.
Firefox sometimes doesn't like to load the embedded Youtube videos. Best viewed in Chrome.
NB: This demo is best viewed in Chrome; Mozilla has yet to implement the slider input type in Firefox.
A slightly expanded version of an assignment for a class. This demo shows the use of 3D transformation matrices in WebGL without the use of ThreeJS or any other WebGL library.
The majority of the code was written by me; however, I do make use of a few handy libraries: jQuery - for the HTML interface; WebGL Utils - some handy browser-neutral functions provided by Google; WebGL Debug - pretty much the only way to debug anything WebGL.
The entire source package is available to download here.
This is a paper written for and accepted into the 2012 IEEE International Games Innovation Conference, held in Rochester, NY. To download the paper, click here (.doc, 1.1mb).
Abstract: Given the lack of modern business simulations, a collaboration of three colleges at RIT sought to design an social, serious game (StoreWorld™) to reach out to business schools throughout the world. The proposed paper helps to address how to bridge the gap between social and serious game design by outlining the development process to assist other developers. In particular, the paper uses the case study of teaching introductory business skills. With StoreWorld, students and faculty worked together to make a game that introduces fundamental business concepts by having players run a virtual clothing store. Working in teams, players balance marketing, reputation, employees, and a multitude of computer-generated shoppers to profit more than everyone else playing StoreWorld. The game generates shoppers that use fundamental business patterns, which nudges players to learn how to balance costs, inventory, and many other factors involved in running a store.
NB: If the game stops loading at Stage 3, simply refresh the page and it will finish loading.
StoreWorld is an educational business game in which students get to run their own clothing stores while competing against their classmates. StoreWorld has been in development, in one form or another, for 3 years, and has been a collaboration between the School of Interactive Games and Media, the College of Imaging Arts and Sciences, and the Saunders College of Business at RIT. In its current form, StoreWorld is an isometric RPG where players control an avatar in a virtual world that is populated entirely by their classmates. Students will have to compete against each other in order to see who is the best businessperson - and who gets the best grade.
StoreWorld entered its final phase of active development in the Spring of 2012, bringing with it a new group of developers. I joined the project as its new producer, and by the summer became the lead designer and server-side engineer as well. StoreWorld introduced the entire development team to a slew of interesting and challenging problems - like how to implement a fully-functional player-based economy, and how to create a "real-time" game that doesn't have to actually be running all of the time.
By the end of the Summer quarter, when StoreWorld's development reached an end, the dev team had exceeded the goals set for it back at the beginning of the Spring. Not only had the team implemented an advanced player-based economy (designed in part by Prof. Steven Gold of the Saunders College of Business), converted a client-side game into a server-side game (for security and data consistency reasons), but we had also implemented fully-functional financial documents, procedurally-generated market research reports, a loan & banking system, more than doubled the size of the in-game catalog, redesigned the entire UI, and restructured large portions of the code to be more manageable. The project has been a fantastic view of the true capabilities of students, and the resulting product highlights the skills of the entire development team.
Some of these efforts and talents have been detailed in an academic paper, described in the section above.
StoreWorld recently finished it's first official testing session, and received high marks from the students who played the game for 5 weeks. The game is currently in an exploratory phase as we decide what direction to take it in. We hope that the game will be used in an expanded testing session in local schools this Fall.
Blocku is a math-based puzzle game where players match sides of blocks to solve a given math problem. When a user solves a puzzle, they are given a score based on the time it took to complete the board, the difficulty of the board, and how many times they moved the blocks.
The game has the ability to generate random square boards for the user to play - they can specify the size of the board, the number range for the answer, and what type of problem they will solve (addition, subtraction, multiplication, or division). Blocku will also come with an accompanying editor, which will allow teachers to create boards for their students customized for their own curriculum.
Blocku was entered into the inaugural National STEM Video Game Challenge, an educational game development competition sponsored in part by the Whitehouse and Microsoft, and finished in the top 10. In total, Blocku has had 4 releases - in Python, Flash, C#/XNA, and HTML5/Canvas. It is currently in its fifth development cycle, and will soon be released on the Sifteo Cubes, an innovative gaming platform that is quickly gaining popularity. This will most likely be the final version of the game, and when it is released its source code (in C++) will be released as well.
SourceForts is a class-based, multiplayer CTF game where the players build their own fortifications each round. Using the Source engine's incredible physics system, players can position blocks of varying sizes to protect themselves and their flag during the Build phase. Once the Build phase is finished, the wall separating the two teams comes down, and each begins the assault on their opponent's base. Players can choose from 5 distinct classes, each of which bring unique abilities to the team, and all of which are required for success. Teams are awarded 1 point for touching the flag and 100 points for successfully bringing it back to their own flag. At the end of the Combat phase (or phases, depending on the server), the team with the most points wins.
The current version of SourceForts (v22.214.171.124) includes 11 maps, all of which have received a graphical update in preparation for the latest release. Anyone in the community can create their own maps using the Hammer world editor from Valve and then submit those maps for inclusion into the next official release of SourceForts.
The next version of SourceForts is currently under development and will bring new maps, gametypes and (finally!) player models. The development team is made up of current students and recently-graduated students, and is spread across 5 countries.
At its height, SourceForts received TV and magazine coverage, was one of the first mods to be added to Steam, and enjoyed over 1000 concurrent players for several months.
StoreWorld, Rochester, NY
Producer, Designer, Server-Side Developer, March 2012 - Aug 2013
RIT CIAS, Rochester, NY
Simulations Programmer, September 2011 - March 2012
First Solar, Inc., Bridgewater, NJ
Training Program Designer, June 2011 - August 2011
RIT, Rochester, NY
Teaching Assistant/Grader, September 2010 - March 2012
NJ Tech Medics, Neshanic Station, NJ
Consultant, November 2009 - January 2010
Blocku - www.blockugame.com
Designer/Developer, September 2010 - August 2011
SourceForts - www.sourceforts2.com
Producer/Writer/Level Designer/Web Dev, 2008 - September 2012
JS/jQuery, MySQL, PHP, CSS
Adobe CS, Visual Studio, FlashDevelop, Aptana
C++, Python, Unity, GLSL
BS in Game Design & Development, Rochester Institute of Technology
3.57 GPA, 3.8 Major GPA - Dean's List All Quarters
Graduated December 2013 w/ Honors