Machinima - UCCS | College of Engineering and Applied Science

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

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

134 εμφανίσεις





Machinima

CS 525

Semester Project

Grant Cahill

Mikkel Garcia

Joseph Laconte





2


Table of Contents


Introduction

................................
................................
................................
...........

3

Machinima

................................
................................
................................
............

4

Shattered Ruby

................................
................................
................................
...

14

Ruby

................................
................................
................................
...................

16

Ogre3D

................................
................................
................................
...............

19

Maya

................................
................................
................................
...................

20

Graphics in Machinima

................................
................................
.......................

20

Putting It All Together

................................
................................
.........................

21

Conclusion

................................
................................
................................
..........

22

References

................................
................................
................................
.........

23












3



Introduction


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
capability

to create a

Machinima which
,

in the case of this paper
, such tools can

include items
such
as
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
the
pros and cons of this technology along the way.



4

Machinima


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

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.
2

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
follows:


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





1

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.
http://jerz.setonhill.edu/weblog/permalink.jsp?id=3834

2

http://jerz.setonhill.edu/weblog/permalink.jsp?id=3834


5

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.”
3


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


Pre
-
Rendered Versus Real
-
Time

Before understanding the benefits of machinima, you must first know th
e
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
-
time.
More specifically, each frame is calculated on
-
the
-
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



3

http://www.machinima.org/machinima
-
faq.html


6

able to render frames fast e
nough for smooth animation. This is often the case if
in
-
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.


Pre
-
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

shot


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
ab
out six hours to render, though some frames have taken as many as ninety hours.”
4




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



4

Pixar How D
o We Do It: 13 The Computer Data is Rendered;
http://www.pixar.com/howwedoit/index.html#


7

compare them side
-
by
-
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
-
time
(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
-
time
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

Lower
Overhead

As mentioned above, an array of machines is often utilized for pre
-
rendering
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.



8

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.
5

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


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



5

http://en.wikipedia.org/wiki/Neverwinter_Nights

6

http://www.bloodspell.com/


9

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.
7


Capable of Producing Dynamic Effects

Again the advantages of real
-
time graph
ics are reflected in machinima. With
real
-
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
performance.”
8



Beyond an extreme such as possible live performances with machinima, a m
ore
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
alism.





7

http://en.wikipedia.org/wiki/Machinima

8

http://www.machinimatedstudios.com/news_08070
5.html


10

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

Pre
-
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
-
generated.
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.


11


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
machinima.

Distribution

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

12

app
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
e
-
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

Co
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

13

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
l
-
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

scene
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
ar
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

14

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


Shattered Ruby



-

A framework for the creation of 3d games


History

of

Shattered Ruby
:


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

to create 3D

games.


Since
its

initial release, it has gained momentum

and is now on
its

third major release

and has active contributors

ensuring
its

ongoing success.


The principles of Shattered Ruby are heavily inspired by the principle
of

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


15

Shattered

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
on.


Following
is an example of loading and moving a mesh in Shattered




class RobotView < ...





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



end


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






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



SceneNode *node1 =

mSceneMgr
-
>getRootSceneNode()
-
>createChildSceneNode( "RobotNode" );



node1
-
>attachObject( ent1 );





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





...


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


The

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

Development.



16

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
-
useable

non
-
creative, non
-
unique data driven elements in your game
-

unless you

want to.


Data driven has emerged from feature driven, because C
++/Java/C#

are all horrible for extending unique content.


Feature driven

de
-
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

Data
Driven Development, and Data Driven should still be used where

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





Ruby


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

buzz over the last year.



17

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

programming.

It accomplishes this by following the principles of good

user interface design, and the principle of least
surprise
.

The principle

of least
surprise

basically states that things should do as you believe

the
y should do.

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

expect.


Ruby Examples:


Everything is a class:








113.class








=> Fixnum



Supports blocks (inline functions):


1.upto(100) do |i|




puts i


end



=> 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
R
uby programming language attributes from the functional


18

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
-
programming:


class BlogEntry < ActiveRecord::Base




validate_uniqueness_of :title


end



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.

Most

notably, that :title must be a unique field

which

ties back to error

messages when an instance is created and saved.









Substitutes f
or:


class BlogEntry < ActiveRecord::Base
















def save!

















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

unique." if not unique_field?(:title)
















end


end



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


19

Surprise.


Getting Started with Ruby:

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

of least
surprise
.

To get more information, start at
:

http:/
/poignantguide.net/ruby/


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


Ogre3D


OGRE stands for Object
-
Oriented Graphics Rendering Engine and Ogre3D is a
“scene
-
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” (
www.ogre3d.org
). 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
Lice
nse, which makes it a great tool for poor college students.



20

Maya


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.


Graphics
in

Machinima


Usi
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
real
-
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
b
udget and time. Machinima
, however, have the ability to allow animators and

21

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
scenes.


Putting It All Together


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


1.

Select video game engine.

a.

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

2.

Create graphical models and animations for use in the Machinima.

3.

Record sound effects and voice dialog.

4.

Use Ogre3D to process models and animation.

5.

Set up models and sounds in and around game engine
.

6.

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

to sound.

7.

Play Machinima.


22


Conclusion

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

o
f numerous
items

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
n
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.

23

References

http://www.loudthinking.com/arc/000199.html


-

Getting Started with Ruby

http://en.wikipedia.org/wiki/Ruby_programming_language

-

General explanation

http://www.wired.com/news/technology/0,70058
-
0.html



Wired News:
Machinima for the Mass
es

http://en.wikipedia.org/wiki/Machinima

-

General Machinima Explanation

www.machinima.com



Making Movies in Virtual Reality

http://www.machinima.org/

-

Academy of Machinima Arts and Sciences

http://jerz.setonhill.edu/weblog/permalink.jsp?id=3834

-

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

http://www.machinima.org/machinima
-
faq.html

-

Frequently asked question about
machinima

http://www.pixar.com/howwedoit/index.html#

-

How Pixar creates animated
movies

http://en.wikipedia.org/wiki/Neverwinter_Nights

-

Information about the
Neverwinter Nigh
ts and the Aurora toolkit

http://www.machinimatedstudios.com/news_080705.html

-

Article on filmmaking
with machinima

http://en.wiki
pedia.org/wiki/Machinima

-

History and use of machinima.

http://www.machinima.com/

-

Place to go for machinima content