Ben Mosher

Ben Mosher : He is a developer who gets the job done.

Project Bearchester

The goal of Bearchester was to create a program which could dynamically create city vistas. The buildings in the city animate through a rapid construction cycle, persist for a set amount of time, then are eventually demolished. After demolition, trees grow where the buildings previously were.

In order to implement this, our group set up a modular construction system, where multiple building plots would be placed in the world, out of which multi-moduled building blocks would grow up to form a single structure. Building designs are generated procedurally, and laid out in a “square-spiral” pattern. Through the interface, users are able to control the flow of time, accelerating, rewinding, and pausing time to examine the various stages of construction

Caption: The first stages of development involved animating building construction by hand in 3D Studio Max, in order to determine timings for building generation.

Caption: The final version of Bearchester as of February 27th. The video showcases the features outlined above.

Flash Games

Airplane Panic

Airplane Panic is a simple, yet incredibly amusing flash game I made way back in freshman year. Even though it technologically pales in comparison to my more recent work, it still remains one of the most fun games I’ve made. Essentially, a plane is quickly running out of fuel, and is about to crash land. In desperation, passengers are abandoning the plane and trying to land in a small truck filled with hay below.

Click here to play the game!

Directions: Keep the plane in the air with the arrow keys. Drop passengers by pressing Spacebar.

Strategic Castle Defense

Castle defense combines advanced crowd dynamics with the top-down Real Time Strategy genre. As the commander of the Red army, your task is to train groups of soldiers to counter the enemy attack, with the ultimate goal of driving them back and invading their castle.

Units in this game are split up into squads of nine soldiers. Each soldier in a squad exhibits several different behaviors: alignment, cohesion, separation, avoidance, and pursuit.

  • Alignment: Units align their heading with the average heading of the other units in their squad.
  • Cohesion: Units move back to the center of their squad to avoid spreading out too much.
  • Separation: Units try to spread out from the rest of their squad, to cover more ground and avoid bunching up.
  • Avoidance: When units approach an obstacle (such as a tree), they move outwards around it.
  • Pursuit: Units pursue a given target (either a waypoint or another unit).

Unit behaviors are weighted with values that change based on conditions. This way, when a unit gets too far from its squad, the weight for his cohesion behavior increases, making him more likely to return to the center of his group. Likewise, when a unit approaches an obstacle, the weight for avoidance is increased so that the unit will avoid the obstacle before joining back up with his group. To get a better idea of how this works, I included a basic demo below where the user can manually set the weights of the various behaviors:

Finally, the Strategic Defense game implements these weights in a game environment, along with waypoint paths, and some basic opponent AI algorithms which react to which units you create, as well as where your units are:

Project Shrink

Project Shrink was done as part of RIT’s Game Design & Development program. In the beginning of the GDD sequence, students are required to create their own game concept, then pitch their game ideas to the professors and the class. From there, the game ideas are narrowed down, a round of development is completed, and another round of game pitches is done, after which the final games are picked and developed.

Out of a pool of 70 total game ideas, my concept for an innovative 2D side-scrolling action / platformer was chosen as one of the six games to go into full development. Over the course of ten weeks, I led a team of twelve other students to create a working demo of my game in Microsoft XNA over C#.

The story behind SHRINK revolves around a reluctant psychiatrist in Nazi-occupied Austria, where the malicious director of the facility is running inhumane experiments on the patients. When one of his workers begins to defy him, the director decides to teach his staff the price of rebellion by forcing him into these experiments as well. After months of torturous experimentation, the worker is thrown, broken, into a cell to die. Unbeknownst to the director though, the worker has a secret ability as a side-effect of his experimentation - the power to shrink himself! Using his newfound abilities, the worker enacts a desperate escape plan that can end only with death or freedom.

This video runs through many of the game mechanics we implemented for SHRINK, while showcasing the level we created for the demo.

SHRINK’s levels are stored in external XML documents which can be modified on the fly with the use of our built-in level editor.

As part of the development process, we were required to draft industry-standard design documents containing detailed descriptions of every aspect of the game. A mostly complete digital version of this document is now available online at the following address:

Click here for digital version.

Full game and design document available upon request

Samsara

Samsara is a game that was created for Xbox Live! over the course of six months by a small startup company of students from RIT. The game played much like a standard “side-scrolling beat-em-up”, except that the player controlled a wayward spirit who had to “posses” the physical bodies of his enemies in order to engage in combat. In addition to possession, the player was also able to turn enemy NPCs over to his side to fight with him. A gameplay demo video is available below:

My contribution to Samsara was the level design, which I took complete responsibility for.

My first task was to create several iterations of to-scale concept sketches for the six levels in the game. In the interest of simplicity, I have provided one of the series of sketches below which was used to base the final levels off of. As usual, additional sketches and assets are available upon request.

The Red Sands: The player must cross a vast desert, climb through the remains of an ancient city, and cross the open expanse of the gates in order to reach the main base of the game’s villain. Below are the several of the sketches I made while flushing out the level.

The base concept and layout of the level is put down on paper.

Hard details and scales are added with full screen sizes measured out.

The level is expanded to its full, scaled size, and tiles / objects are listed out for reference in later stages of development.

Following the sketches, we began debating the best way in which to create the levels. Our art director began sketching out full-color cartoony concept images in order for us to get the feel for the direction he wanted to take the art. After reviewing his sketches, it occurred to me that modeling and rendering levels in 3D, then mapping everything with cell-shaded textures would give us several advantages. First off, it would give us the ability to make changes to the level quickly without having to redraw entire frames by hand. It would also allow us to copy and distribute files which anyone on the art team could modify and work on at the same time. Lastly, most everyone on the team was familiar with 3D modeling, while hardly anyone had the capacity to draw truly spectacular images (game design students != graphic designers).

I therefore began roughing out how we might go about rendering scenes in such a way that it would closely match the art style which the lead designers wanted to use.

The source image provided by the art director. Drawn by hand.

First iteration – basic geometry and lighting.

Second iteration – advanced lighting and basic textures; more detailed geometry.

Finalized lighting, textures, and geometry.

Having decided how to create the levels, it was now time to actually start modeling them. My next steps were to start modeling assets to place in the background, as well as the terrain itself. Below are some renders of finalized level assets I created to put in the Red Sands level:

A rendered concept image of the ruined city.

Objects to go into the military base at the end of the level

The glorious elevator the character uses to escape the ruins.

Over the course of twenty days, I fully modeled and rendered out the entirety of the six levels single-handedly. The final renders of the Red Sands are available below (other finals available upon request).

Part 1 of the Red Sands

Part 2 of the Red Sands

Part 3 of the Red Sands

Part 4 of the Red Sands

For those interested, the online version of Samsara’s design document is available at the following address:

http://cias.rit.edu/~ses7192/Samsara/GameDesignDoc_HTML.html

Animation

FIRST Robotics Animation Competition

My senior year in High School, I won second place in FIRST Robotics Granite State Regional Animation Competition for creating the following animation (the theme was “dreams realized”).

<

StarTrek

A trailer for a movie I was planning on making back in High School. Despite its age, its still pretty impressive, all things considered.

Hydropic

HydroPic is a community art piece that I am making with a team of fellow New Medians as part of our Senior Capstone. The project is being programmed in 3D in XNA, and combines crowd systems with particle physics to produce unique works of art in an abstract, sub-aquatic environment.

Take a look at our awesome blog!:

http://growl.cias.rit.edu/