Machinima - UCCS | College of Engineering and Applied Science

jockeyropeInternet και Εφαρμογές Web

2 Φεβ 2013 (πριν από 5 χρόνια και 5 μήνες)

154 εμφανίσεις


CS 525

Semester Project

Grant Cahill

Mikkel Garcia

Joseph Laconte


Table of Contents







Shattered Ruby












Graphics in Machinima



Putting It All Together











Wouldn’t it be great if we could create a
three dimensional computer generated
movie in real time? Would it be even better if we could manipulate that movie in
real time should we desire?

Machinima provides that ability and this technology is here, today.

Through the use of various tools

an operator has the

to create a

Machinima which

in the case of this paper
, such tools can

include items
Adobe Audition, Shattered, Ruby, Autodesk Maya, and Ogre3D.

The integration of the above mentioned tools allow for the generation of
Machinima and thus provide the ability t
o create real time rendered movies that
can be manipulated and redesigned as the user sees fit.

In this paper, we plan to discuss Machinima and the tools used to create it. We
will also go into the
steps needed to create
Machinima and
attempt to discuss
pros and cons of this technology along the way.



To understand machinima, recognize the observation that “
capturing live action,
even if it takes place in a virtual world, is a kind of filmmaking.”

This remark
should be simple enough to co
mprehend. After all, computer animated movies
have been hitting the box office for quite some time (Toy Story was released in
1995). Arguably these movies take place in a virtual world of some sorts.

The term “machinima” was coined by merging “machine
” plus “cinema”
in 1998
by Hugh Hancock and Anthony Bailey.

The origin suggests any cinema
captured in a machine (more specifically a computer machine); however, this
implication is incorrect.

Still, what is machinima? From the earlier observation, we
know that machinima
deals with capturing action in a virtual world. Yet, as hinted, not all filmmaking
that satisfies these requirements is considered machinima. The official definition

“Machinima (muh
mah) is filmmaking within a real
time, 3D
virtual environment, often using 3D video
game technologies.


Recorded by Dennis Jerz, an Associate Professor of New Film Media, while attending a pres
entation by
Paul Marino, Executive Director Academy of Machinima Arts and Sciences.



In an expanded definition, it is the convergence of filmmaking, animation
and game development. Machinima is real
world filmmaking techniques
applied within an interactive virtual space

where characters and events
can be either controlled by humans, scripts or artificial intelligence.”

The definition provides the final piece for understanding machinima. The
descriptor “real
time” sets machinima apart from current Hollywood movies.
urther discussion follows, but for now, understand that movies such as Shrek
and Toy Story employ “pre
rendered” graphics instead of real
time rendering.

Rendered Versus Real

Before understanding the benefits of machinima, you must first know th
difference between pre
rendered graphics and real
time graphics. Real
time is
easier to understand, so we will start there.

A simple example of real
time rendering is a video game. In a typical video
game, you have some control over a virtual enviro
nment and may have control
on some characters inhabiting that environment. Because the video game
requires human interaction, the environment must be displayed in real
More specifically, each frame is calculated on
fly and sent directly to the
screen (may be buffered slightly). For smooth performance, a frame rate of
30fps (frames per second) or higher is recommend; however, we have all
experienced jittery game play. Jitters are the result of the computer not being



able to render frames fast e
nough for smooth animation. This is often the case if
game settings are too high, we barely meet the system requirements of the
game, or the current scene has too many actors and effects in play.

rendered graphics are primarily used for movies or
static backgrounds. They
do not allow for real
time interaction. A scene is created in a development
environment such as Maya. After setting up a scene, rules, animations, effects,
materials, and lighting are applied to all of the actors and the scene i
s batched for
rendering on one or more (usually more) computers. Pixar claims the rendering
process takes an average of six hours per frame using their Renderfarm.

“Rendering is the act of translating all of the information in
the files that make up the


sets, colors, character
movement, etc.

into a single frame of film. Pixar’s
Renderfarm [at left] is a huge computer system that
interprets the data and incorporates motion blur. Each
frame represents 1/24 of a second of screen time and takes
out six hours to render, though some frames have taken as many as ninety hours.”

So why does it take so long to render a frame in an animated movie? Well, if you
sit down and watch a Pixar movie, turn on a typical computer game, and


Pixar How D
o We Do It: 13 The Computer Data is Rendered;


compare them side
side, you will see a drastic difference in quality. Computer
game programmers are creative and have developed “good enough” algorithms
for generating certain visual effects. In addition to optimized algorithms, games
makers employ as many techniques a
s possible to bring rendering into real
(another example is reducing model vertices). Further details are beyond the
scope of this paper.

To summarize, real
time graphics are employed in applications such as 3D
games to allow user interaction. The r
esulting quality is lower in real
graphics due to less accurate algorithms and lower quality components. Pre
rendered graphics do not allow user interaction and produce a static result such
as 24 frame per second film.

Advantages of Machinima


As mentioned above, an array of machines is often utilized for pre
movie scenes. Because machinima takes advantage of real
time rendering and
often 3D game engines, a single work station or pc can be used to develop and
play machinima.

This behavior results in lower financial overhead since special
equipment is not necessary. As you will see below, the use of 3D game engines
also produces lower development overhead and results in faster production.


Faster Production Time and Easier Fi
lm Making

Use of real
time graphics eliminates the tedious rendering time required in the
typical movie making process. Despite that difference, employing 3D game
engines provides a huge development advantage. A great deal of work has gone
into the produ
ction of the game engine itself while much of the game content is
created using development tools that interact with the game engine.

Often, these tools are provided for free to the consumer, allowing “unlimited”
content (ie. players can create their ow
n game content and share with others).
The best example of this is Neverwinter Night’s Aurora toolkit. This toolkit allows
the producer Bioware to release additional “official” game modules as
expansions and allows players to create their own content to
the extent that a
player community has released an expansion pack (CEP

community expansion
pack) for the toolkit, adding additional playable characters and rules from the
dungeons and dragons universe.

The Aurora toolkit is also being utilized by
Hugh H
ancock in his efforts to produce a full feature machinima film Blood Spell.

Using such a game engine has many benefits to speed production. Many game
rules such as the physics, character interaction, and action scripting can be
utilized. Games come pre
loaded with scenery (tiles and props) as well as
animated and textured characters around which the film’s story can revolve. As
mentioned above, toolkits are also available providing a simple interface and




integration of these resources. The usefulness,
speed, and cost efficiency of
game engines as film tools is evident by George Lucas and other directors using
them for pre
visualization of movies such as the latest Star Wars.

Capable of Producing Dynamic Effects

Again the advantages of real
time graph
ics are reflected in machinima. With
time graphics nothing has to be predetermined. Standard films are always
the same each time you see them. This is often a complaint by theatre lovers (ie.
live theatre). There are many possible applications for

machinima “and some
groups are experimenting further with the concept of game performance pieces.
Hancock said Rooster Teeth has been toying with the idea of a live

Beyond an extreme such as possible live performances with machinima, a m
typical use of dynamic content is a machinima clip in an actual game. Game
makers can use pre
rendered movies for many game scenes, but these are often
reserved for great achievements within the game such as introductions,
conclusions, or between majo
r acts of the story. Minor stories are often told
using machinima, and dynamic elements such as equipment, clothing, and
vehicles that the main character is using can be appropriately replaced each time
a player views the scene, adding another level of re




Interactive movies can be created using DVD features like menus as seen on the
Shrek 2 DVD where they have a spoof of American Idol and allow users to
choose who wins the singing contest; however, dynamic content encompasses
more than such simple i
nteraction as noted earlier in this section.

Resolution Independence

rendered movies have a set frame size. The picture will always be a set
number of pixels high and a set number of pixels wide. With real
time rendering,
we can adjust the size of ea
ch frame because the frame is not pre
The most common and simplest game option for graphics is resolution.

Yield Smaller Distribution Size

Smaller distribution size is of course dependant on the means of distribution;
however, we will assume
the machinima is in its native form. In its native form,
machinima is a combination of game elements such as models, textures, and
scripts. Even in this state, machinima might not be smaller than a corresponding
set of pre
rendered frames. The number of

elements and complexity of a scene
may contribute to bulk for machinima. For instance, a short clip at a fair with a
crowd of unique people would require a massive amount of game elements, yet
because the clip is short it has a limited number of frames.

As such, some of the
factors affecting size include length of the clip, number of elements, quality of
elements, reuse of elements, and complexity of the scene.


Disadvantages of Machinima

As seen in the previous sections, machinima has a lot to offer.
While there are
fewer disadvantages, they may carry more weight to some applications of


Means of distribution can be a disadvantage. As mentioned above, the native
form for machinima is often game elements; however, if the end user

does not
have access to the game engine, another version of the machinima must be
produced. From the vantage of machinima in a game context, this is of little
consequence; however, for those interested in machinima for other applications,
this can have a

substantial bearing.

While capturing frames of machinima during playback is somewhat trivial and
provides an easy means of distribution (such as AVI), many of the above
advantages are destroyed; however, these advantages (such as dynamic
content) may pr
ovide little use for the scheme in which such distribution is
necessary. For example, dynamic content may be necessary while being used in
a MMORPG (Massive Multiplayer Online Role Playing Game) where game
content is frequently updated, but the user would

have access to the game
engine and could receive the machinima in its more native form. On the other
hand, if using machinima as an independent film of some sorts, the end user
would not have access to the game engine, but the advantages lost are not


licable to standard films (ie. standard films do not have dynamic effects,
resolution independence, and use a set of already rendered frames) and as such
may not be of relevance (or to a lesser degree).

Limited Capability

Here is one of the areas where pr
rendered films have a major advantage over
machinima. Development is unrestrained for production of films such as those
produced by Pixar. They make all of the content themselves and have full
control over it. Machinima is restricted by that which giv
es it so much, speed of
development and other advantages, the game engine. In machinima, if you
would like to do something contrary to that capable by the game engine you must
be able to change the game engine itself.

Hardware Requirements and Quality

nsumer game hardware such as graphics cards continue to improve. Quality
of some of the recent games is incredibly impressive. Upon seeing the
introduction to Half Life 2, I was surprised to see the seamless transition into
game play; the graphics are th
at good. Yet, one of the major draw backs to
games are system compatibility. Does the game run using the components the
user has? Is the user’s system fast enough? Are there any compatibility
problems? These are some of the issues that plague game mak
ers and as a
result fall into the realm of machinima for the same reason. Yet because


machinima can be delivered as a captured set of frames (as discussed above),
there is often a work around.

Related to hardware requirements is quality of graphics. Rea
time rendering on
today’s graphics cards still cannot compete with pre
rendered graphics. This is
especially true with complexity of the scene such as millions of blades of grass
being used in calculations of wind animation and lighting effects. Such a

is but one example, but many more have been used in the course of this
discussion on machinima.

Summary of Machinima

Machinima is a means of capturing a virtual environment in real
time. While
primary use has been to provide and an alternate mean
s of in
game cinema,
machinima is being tapped for its film making abilities. The ability to produce
cinema with little overhead and powerful tools such as game engines has
allowed the little guys (ie. independent film makers) to try their hand in a popul
industry. Inventiveness can further increase the use of machinima such as the
possibility of live animated performances.

The advantages and disadvantages of machinima often revolve around the
simple trait of real
time rendering versus pre
rendering gr
aphics. The exception


is of course the development and use of game engines as a means of producing

Shattered Ruby


A framework for the creation of 3d games



Shattered Ruby

Shattered Ruby was released in December of 2005, as a
n o
pen and easy way

to create 3D



initial release, it has gained momentum

and is now on

third major release

and has active contributors


ongoing success.

The principles of Shattered Ruby are heavily inspired by the principle

Ruby on Rails.

Those principles are:

* Don

t repeat yourself

* Convention before Configuration

Shattered Ruby is written in the Ruby programming language, and, in it's

Shattered Ogre core, uses the Ogre3D rendering engine.

Ogre’s entire

interface is

hidden by ShatteredView, which sits on top of



Ogre as a facade.

Shattered Ogre is not specific to any

language, and is a
set of C++ facades around Ogre3D
's core.

These two

layers of abstraction allow a simplicity not yet seen in 3
D game creati

is an example of loading and moving a mesh in Shattered

class RobotView < ...

mesh "robot", :position => v(25,0,0)


Now, here's what that same task would be in Ogre:

Entity *ent1 = mSceneMgr
ntity( "Robot", "robot.mesh" );

SceneNode *node1 =

>createChildSceneNode( "RobotNode" );

>attachObject( ent1 );

>translate( Vector3( 25, 0, 0 ) )


This, by itself, does n
ot re
iterate the power of Shattered Ruby.


power of Shattered Ruby really is in a concept called Feature Driven



Feature Driven Development

Game play

in a game
is derived

from many factors.

One of those factors is the

uniqueness of ea
ch experience.

Using ruby to specify in
game details

means never having to fit your great game concept into re

creative, non
unique data driven elements in your game

unless you

want to.

Data driven has emerged from feature driven, because C

are all horrible for extending unique content.

Feature driven

evolution to the days when every event was unique, but without the

technical limitations of the past.

It is important to note that Feature Driven Development does encompass

Driven Development, and Data Driven should still be used where

appropriate (done much easier with ruby, of course).


Ruby is a fully featured Object Oriented language that has gained much

buzz over the last year.


Ruby is a programming language th
at is meant to put the fun back in


It accomplishes this by following the principles of good

user interface design, and the principle of least

The principle

of least

basically states that things should do as you believe

y should do.

In the cas
e of Ruby, things should do as R
uby users


Ruby Examples:

Everything is a class:


=> Fixnum

Supports blocks (inline functions):

1.upto(100) do |i|

puts i


=> prints the numbers from 1 u
p t
o 100 into standard output

Blocks are inline functions, and can be passed around as parameters.

This allows the
uby programming language attributes from the functional


paradigm of languages.

Although in many languages (C#, Python, etc)

functions can b
e variables (functions as first class objects), this is

not true with Ruby.

Blocks replace functions as first class objects.

Supports meta

class BlogEntry < ActiveRecord::Base

validate_uniqueness_of :title


In this example, from Ru
by on Rails, we see that outside of the scope of

an instance of the class, we have defined some business logic.


notably, that :title must be a unique field


ties back to error

messages when an instance is created and saved.

Substitutes f

class BlogEntry < ActiveRecord::Base

def save!

raise ActiveRecord::Error, "Cannot save blog entry, title is not

unique." if not unique_field?(:title)



The first is much easier to read, and follow
s the Principle of Least



Getting Started with Ruby:

We have only skimmed the surface of Ruby, and the power of the principle

of least

To get more information, start at


At the very least, you'll be entertained by this man's crazy ramblings.


OGRE stands for Object
Oriented Graphics Rendering Engine and Ogre3D is a
oriented, flexible 3D engine written in C++ designed to make it eas
ier and
more intuitive for developers to produce applications utilizing hardware
accelerated 3D graphics” (
). Ogre3D is a 3D engine first and
foremost; in addition it also has the ability to aid in game
engine solutions, but is
primarily focused on 3D graphics. Ogre3D also provides an abstraction layer in
relation to the underlying graphics libraries, such as Direct3D or OpenGL.
Ogre3D is also a free engine for use under the GNU Lesser General Public
nse, which makes it a great tool for poor college students.



Autodesk’s Maya package is a 3D graphics modeling and animation tool used by
amateurs and professionals alike the world over. Maya provides its users the
ability to make high quality three
dimensional models, animations, and
productions through the use of a complex and multi
faceted interface. In addition,
it also provides multiple rendering engines (both software and hardware based)
in order to create photo
realistic graphics that are able
to undergo scrutiny from
the most observant eye.



ng the knowledge that Machinima

combine the technologies of filmmaking,
animation, and game development; it follows that this cutting edge, interactive
environment has the ability
to produce movie like graphics and productions,
right? Wrong. U
nfortunately, because Machinima

are generally created using
time graphics engines, their graphic quality is decent but it is currently not
comparable to the graphics most audiences are use
d to. We must keep in mind
that most Hollywood productions requiring 3D graphics use large render farms
consisting of large arrays of computers solely dedicated to rendering these
images. These render farms develop high quality graphics at the expens
e of
udget and time. Machinima
, however, have the ability to allow animators and


directors to create and modify their machinima creations in a close to real time
environment thus virtually eliminating this long and drawn out rendering process.
It is because of
this that machinima produced graphics tend not to rival “true,
high quality” three
dimensional productions. Due to current trends in hardware
and software upgrades, we could easily find Machinima based productions
finding themselves on the forefront of Hol
lywood films and video game cut

Putting It All Together

From a high level point of view, putting a Machinima together is done using the
following steps:


Select video game engine.


This is probably the most important part of the process. It is thr
the game engine that your Machinima will gain life.


Create graphical models and animations for use in the Machinima.


Record sound effects and voice dialog.


Use Ogre3D to process models and animation.


Set up models and sounds in and around game engine


Via scripts and game engine, set up timing and animation as well as

to sound.


Play Machinima.



In closing, Machinima has a lot of flexibility and has the ability to allow various
industries the ability to mo
ck up
rapid prototype

f numerous

such as
movie clips, video game cut scenes, or even testing military strategies.
Unfortunately, this technology has been around for a few years but has never
been able to obtain a large following. This is most likely due to the fact that i
order to create and play Machinima, multiple technologies are required. In
addition, the quality of the graphics tends not to be as great as most audiences
expect due to the real time re
ndering aspect of Machinima.

The potential that Machinima offers is

great and as hardware and software
improve, it will be able to better compete with other more established modes of
three dimensional animations. For example, it can allow directors the ability to
execute and redesign a shot much more rapidly than in the p
ast and thus save
time and money.

The concept of Machinima is to create three dimensional movies using existing
technologies that can be manipulated and rendered in real time. This idea is so
strong and profound that should it gain traction, it will defi
nitely be a force to be
reckoned with.




Getting Started with Ruby


General explanation,70058

Wired News:
Machinima for the Mass


General Machinima Explanation

Making Movies in Virtual Reality


Academy of Machinima Arts and Sciences


notes by Dennis Jerz on
Paul Marino’s presentati
Machinima: Using Games to Change Filmmaking and
Instructional Video


Frequently asked question about


How Pixar creates animated


Information about the
Neverwinter Nigh
ts and the Aurora toolkit


Article on filmmaking
with machinima


History and use of machinima.


Place to go for machinima content