You are on page 1of 4

Simposio Nacional de Software en la Sociedad del Conocimiento (Videojuegos 2008)

AbstractThe high quality and maturity of Open Source and


free tools bring new opportunities to small teams to reduce
startup costs without losing quality. This opportunity can be
extended to developing countries as an accelerator for the
consolidation of a video games' industry. This paper describes
how to develop video games using only free and Open Source
tools, how to choose and integrate them, in order to obtain a real
Open Source ame Studio.
Index Terms!lender, imp, Open Source, video game
development, video games studio.
I.INT!"#CTI!N
raditionall$% &ideo games studios 'ad (een c'aracteri)ed
($ 'a&ing a large team of artists and programmers% and
'uge (udgets wit' t'e capa(ilit$ to support all t'ese people
during de&elopment timelines (etween eig'teen mont's to two
$ears. If we add t'e 'ardware% software*s licenses% office rent
and ot'ers% and it will (ecome clear t'at serious de&elopment
projects were not a reac'a(le goal for small teams.
Ne&ert'eless% new opportunities for small teams 'a&e emerged
wit' t'e appeareance of new platforms% de&ices% mar+ets and
(usiness models. ,s a direct effect of glo(ali)ation% t'e
opportunities 'a&e (een t'ere for all t'e countries e-uall$% (ut%
as e.perience s'ows% latin american countries seem to (e out
of t'e game.
T
T'ere are man$ reasons% ranging from cultural and 'istorical
to educational issues% and t'eir anal$sis is (e$ond t'e scope of
t'is paper. /ut w'en a small team is put tog'et'er and 'as a
project in mind% and all t'e restrictions are o&ercome% in t'e
end t'e$ will face t'e ultimate pro(lem0 &er$ s'ort (udgets.
,nd 'ere is w'ere !pen Source and free tec'nologies can
'elp. T'e +ind of 'elp is% in fact% larger t'an licensing costs
reductions% as de&eloped countries 'ad disco&ered 123. Section
II will e.plain t'e wa$s in w'ic' a small team can ta+e
ad&antage of !pen Source tec'nologies% and section III will
s'ow t'e concept of production wor+flow and 'ow it can (e
implemented wit' t'ese tools..
4inall$% t'e last section will s'ow a case stud$ on 'ow !pen
Source and free tec'nologies can (ring a commercial project
5
6anuscript recei&ed !cto(er 7% 2008.
C. 6. 9ac':n was wit' t'e National #ni&ersit$ of Colom(ia as
reseac'er student% t'e #6N; as teac'er and au.iliar reseac'er and now as
independent consultant and de&eloper of &ideogames% computer grap'ics and
&irtual worlds. cesarpac'on<gmail.com%
'ttp0==www.geocities.com=cesarpac'on
to life.
II.9 ,"V,NT,;>S !4 !9>N S!#C> 4! S6,?? T>,6S
A.Open Standards
!pen Source tools are closel$ related to open standards.
Traditionall$% closed software 'ouses 'ad designed t'eir own
specifications for e&er$t'ing0 from file definition to networ+
protocols. It means t'at it was almost impossi(le to c'ange
from one pro&ider to anot'er (wic' was t'e end goal of t'ese
companies). /ut now% open standards 'a&e c'anged t'e
landscape% and interc'angea(ilit$ (etween tools is a
re-uirement t'at all modern tools must pro&ide. In t'e core of
t'e groups and consortiums w'ic' define t'e standards are
alwa$s opensource implementations% also +nown as I or
eference Implementations% t'at in man$ cases 'a&e &er$ few
differences wit' t'eir commercial counterparts. 4urt'ermore0
in man$ cases t'e open source implementation uses t'e
standards as core functionalit$% w'ile commercial tools will
offer t'e standard feature as secondar$. ,n e.ample is t'e
SV; standard (Scala(le Vector ;rap'ics) designed for
&ectorial drawing. T'e In+scape tool uses SV; as its principal
format% w'ile ot'er commercial drawing tools would offer
SV; integration t'roug' more or less functional e.port and
import plugins% and sometimes as somet'ing optional.
Summari)ing% t'e use of open standards reduces t'e ris+
asociated wit' (eing tied up to a single software pro&ider. It
gi&es fle.i(ilit$ to t'e team% t'e ris+ and fle.i(ilit$ can (e
estimated in mone$ ($ an$ project planning met'odolog$.
B. Licensing costs
T'e most o(&ious of t'e ad&antages% reducing license costs
would ma+e t'e difference (etween allowing a project to go on
or die prematurel$. T'is is speciall$ true in some &er$
competiti&e mar+ets% wit' low earning margins% li+e t'e games
for mo(ile p'ones one. >&en in t'e case w'ere t'e team 'as
t'e mone$% it can alwa$s (e used in more critical costs suc' as
de&elopers* salaries. ?ower costs can alwa$s (e passed to t'e
final client% and (ecoming itself more price@competiti&e in a
glo(al mar+et is a clear ad&antage.
C.Educational Issues
,not'er ris+ t'at an$ de&elopment project must face is to
/uilding an !pen Source ;ame Studio0
opportunities for small teams and de&eloping
countries
Cesar Mauricio Pachn Meneses
/uilding an !pen Source ;ame Studio0 opportunities for small teams and in@de&elopment countries
+now eac' mem(er of t'e team*s +nowledge of t'e tools. 9oor
+nowledge is a recipe for disaster. ?earning as $ou go% ma$(e
too. #suall$ t'e final tools for t'e project are not well defined
in earl$ stages. In fact% in parallel to t'e design stage% tec'nical
team must ma+e recommendations on t'e tools and
tec'nologies more appropriated to turn t'e design into a real
product. T'ese recommendations will (e (iased ($ personal
e.pertise and constrained ($ (udget*s si)e. Aow can open
source tec'nologies reduce t'is ris+B 4irst% it is more li+el$ for
team mem(ers to 'a&e real e.perience wit' open source tools%
eit'er as part of personal e.ploration or for academical
projects. Secondl$% it is possi(le t'at some mem(er of t'e team
(e an acti&e participant in some open source initiati&e% w'ic'
newl$ will (e a (ig ad&antage. 4inall$% support from t'e
communit$ in forums% wi+is% tutorials and mail lists will (e
e&en (etter t'at t'e support from commercial pro&iders% as
s'owed in t'e (a)aar and cat'edral model discussions1C3.
D.Reducing technological risk
Tec'nological landscapes c'anges -uic+l$% (ut t'e mar+et do
it faster. 4or some +ind of (usiness models% (e a(le to adapt to
c'anging client re-uirements is mandator$. T'is is t'e case of
ad&ergaming projects% w'ic' are c'aracteri)ed for low (udgets
and e&en s'orter timelines. ,not'er feature is an almost
complete indifference from t'e client regarding t'e tec'nical
features and tools used in t'e project. In ad&ergaming projects
t'e final product is different from t'e initial proposals% (ecause
t'e project will (e adjusted all t'e time ($ t'e client% w'o will
as+ for new features. Some of t'is features will re-uire t'e
team to include new li(raries and tec'nologies not planned.
4or e.ample% a game was planned wit' a &er$ simple collision
model% and suddenl$% t'e client as+s now t'at instead of
wal+ing% t'e c'aracter dri&e a &e'icle t'at can cras' wit'
anot'er o(jects. T'e team planned t'e game wit' &er$ (asic
collision routines% and now it seems t'at t'e$ will need a
p'$sics engine. If t'e$ licensed a t'ird part$ grap'ic engine for
t'e game% ma$(e t'e$ will need to license t'e p'$sic engine
separatel$.. and t'at will 'it t'eir costsD In t'e open source
side% t'e$ will 'a&e man$ options% li+e t'e inclusion of !"> or
N>ET!N li(raries% or mo&ing t'e project to ot'er engine
w'ic' offers integrated p'$sic routines.
III.9!"#CTI!N E!F4?!E
A.Asset pipeline
#nli+e traditional software de&elopment% &ideogames
de&elopment is an e.tremel$ multidisciplinar$ tas+. 4rom t'e
design document to t'e testing and deli&er$ of t'e product%
man$ interdependences (etween t'e su( teams will emerge.
Ironicall$% t'ese conflicts will arise e&en in t'e case of one
person team% (ecause some c'ange in coding would re-uire
slig'tl$ modifications to art assets. >-uall$% some art assets
would (e constructed in a wa$ t'at is not appropriated for t'e
game.
4ig 20 9rogramming and art tas+ run in parallel% (ut are
mutuall$ dependent.
T'e formats used for loading art assets into t'e game are a
common source of pro(lems. T'e artist will use a modeling
tool wit' its proprietar$ format% w'ic' will t'en run some
e.port plugin to transform t'e model into a suita(le format to
(e loaded into t'e game. !nce t'e programmer do t'is% t'e
artist will notice t'at t'e model in w'ic' 'e in&ested man$
'ours loo+s reall$ different in t'e game t'at in t'e modeling
tool.
4ig. 2 S'ows t'is situation. 9rogramming and artistic
acti&ities are de&eloped in parallel% (ut t'e$ are closel$ inter@
related.
4ig. 20 asset pipeline% assets would c'ange
t'eir format t'roug' t'e process.
T'e team must careful and ma+e sure t'at all t'e tools used
in t'e production wor+flow will wor+ toget'er in a seamless
wa$. It is a priorit$ to c'ec+ t'at (ot' t'e art tools and t'e
de&eloper li(raries will use t'e same open standards. It is also
good to 'a&e more t'an one option in (ot' t'e art tool and t'e
de&eloper li(raries% (ecause in some cases not all t'e formats
will (e appropriate for eac' art asset. 4or e.ample% !/G is
good for static geometr$% (ut it can not 'andle s+eleton
deformation 123.
, careful selection of tools and formats must (e done in
Simposio Nacional de Software en la Sociedad del Conocimiento (Videojuegos 2008)
order to ma+e t'e Hasset pipelineI as smoot' as possi(le% as
4ig. 2 s'ows.
B.In house ile or!ats
Sometimes t'e de&elopment team defines its own file
formats. t'ese formats are +nown as Jin 'ouse file formatsJ%
and t'ere are man$ reasons to do t'at0
2. To protect artwor+0 putting t'e final artwor+ of t'e
game in pu(lic formats for final distri(ution ma+es
t'em more &ulnera(le to (e copied and modified.
Aowe&er% t'e practice of using o(scure and
undocumented in@'ouse formats to protect t'e art
assets is not recommended% since it is prefera(le to
use digital signature and ot'er well@tested encr$ption
tec'nologies t'at will sa&e t'e time re-uired to
de&elop and maintain t'ese formats.
2. To reduce si)e0 ,not'er reason for in@'ouse
formats are reduction in t'e si)e of t'e final
distri(ution. T'is is a (ad reason too% (ecause it is
alwa$s prefera(le to use ot'er compression
tec'nologies.
K. To optimi)e loading times0 T'is indeed is a &alid
reason. T'ere is a (ig difference in t'e loading times
(etween resources sa&ed in te.t (ased file formats
and (inar$ file formats. In some cases% it is possi(le
to swap complete (inar$ structures from memor$ to
dis+% t'us getting t'e ma.imum speed in load times.
L. Supporting additional features0 T'ere is a software
design principle t'at encourages t'e separation of
data and logic. T'is principle sa$s t'at t'e source
code must +eep onl$ logic dri&en ($ data stored in
e.ternal repositories% not in t'e source code1L3. ,
simple e.ample of t'is are t'e implementations of
4S6*s (4inite State 6ac'ines) used widel$ in
&ideogames* projects. In a (asic implementation% a
4S6 can (e written as a long se-uence of Hif.. else.. if
..I sentences. , implementation more compliant wit'
t'e data@dri&en principle would write generic classes
to represent states and transitions% and would load t'e
particular conditions from a file. ,not'er e.ample is
t'e terrain information re-uired for some ,I
algorit'ms. 9recalculated grap's and indicators
associated to t'e terrain would (ring &alua(le
information to t'e agents. In large worlds% &isual
editor tools are mandator$% and a wa$ to (uild t'em is
to e.tend t'e modeling tools wit' plugins to use t'em
as speciali)ed design tools.
IV.C,S> ST#"M
T'is section focuses in one case stud$% an ad&ergaming
&ideogame de&eloped for an internet campaign. T'is is a real
project wit' a one person team% and s'ows t'e ris+s faced ($ a
small team and t'e 'elp pro&ided for open source and free
tools in order to a&oid t'em.
A.Podiu! pro"ect# re$uire!ents
H9odiumI was t'e cornerstone of a ad&ergaming campaign
launc'ed in 200C and sponsored ($ a Colom(ian (roadcasting
agenc$. ,t t'e (eginning% t'e client wanted a car racing game
t'at could (e pla$ed t'roug' internet% in a massi&e wa$ (not
multipla$er). It was important to 'a&e an aut'entication and
timing ser&er% (ecause t'e client wanted to gi&e a pri)e to t'e
faster dri&ers eac' wee+.
In order to reac' t'e largerest amount of people% t'e$
esta(lis'ed some tec'nical restrictions0
2. It 'ad to run in older mac'ines% e&en wit' on@(oard
grap'ics c'ips% wit'out K" acceleration 'ardware.
2. T'e installer 'ad to alwa$s 'a&e a si)e under 20 6/%
e&en wit' all t'e audio% &ideo and art assets.
K. #sers s'ould not need an$ ot'er configuration
(esides former installation. T'e$ did not 'a&e to
download and install an$ dependencies% li+e "irectN
runtimes.
L. >ac' wee+ t'e sponsor would free new le&els for t'e
game. T'ese le&els could (e downloaded and
installed easil$.
C. T'e game 'ad to allow c'anges in t'e #I areas eac'
wee+% w'ere t'e client wanted to e.pose t'ird@part$
ad&ertising.
B. %echnological choices
Eit' t'ese re-uirements in mind% t'e ne.t step was to c'oose
t'e tools t'at were to (e used in t'e project. e-uirement 2 %2%
and K caused t'e rejection of some ro(ust game engines%
speciall$ !greK"% (ecause t'e engine*s core itself 'ad a si)e
'ig'er t'an t'e 20 6/ limit. !t'ers engines were rejected
(ecause t'e$ 'a&e dependencies wit' t'ird part$ li(raries% li+e
"irectN runtimes or Ga&a &irtual mac'ine% li+e Gmon+e$.
It was decided to use a in@'ouse K" engine de&eloped for
pre&ious projects. T'e engine% called !/9lus% was reall$
simple% (ased in !pen;? and S"?% all of t'em free
tec'nologies wit'out licensing restrictions for commercial
usage.
!/9lus 'ad &er$ (asic features% and some limitations t'at were
not critical for t'e project. !ne of t'em% was t'e lac+ of
support for /one 6es' deformation% (ut t'at was not an issue
(ecause it was a cars game wit' rigid models.
!/9lus 'ad also an interesting feature0 it 'ad man$ in@'ouse
file formats% (ot' in (inar$ and te.t forms% and e.port plugins
for /lender% a K" !pen Source modeling and animation tool.
T'en% t'e asset pipeline was defined as0
2. 6odeling and animating in /lender.
2. >.porting to !/9lus te.t format using 9$t'on scripts.
K. Transforming from !/9lus te.t format to (inar$
format% using t'e tools pro&ided wit' t'e engine.
T'is was done (ot' in geometr$ assets and in te.ture assets%
satisf$ing a new re-uirement from t'e client0 users would not
(e a(le to modif$% edit or replace ad&ertising assets from t'e
game.
/uilding an !pen Source ;ame Studio0 opportunities for small teams and in@de&elopment countries
!t'er uses of propietar$ formats w'ere t'e definition of le&els%
t'an+s to t'e integration wit' /lender t'roug' a 9$t'on script
t'at allowed t'e use of /lender as a scene editor.
C.Pro"ect speciic ile or!ats
Some project specific file formats were de&eloped. !ne of
t'em was a pat' file format% used to descri(e t'e road topolog$
for t'e ,I agents. T'us% w'ile t'e user controlled 'is own
&e'icle% artificial agents were dri&ing ot'ers cars% using t'e
pat' info for na&igation. Aere% /lender was used again as a
H9at' editorI% t'an+s to a script written in 9'$ton.
D.Ser&er side
In t'e ser&er side% a we( ser&er was implemented using Ga&a
(G2>>) wit' a (asic ser&let implementation. T'e application
ser&er was G/!SS% a &er$ ro(ust and fle.i(le !pen Source
alternati&e. ,nd finall$% a 6$SO? data(ase was used for
persistence of user information.
E. 'ree and OpenSource tools used
T'is is a relation of all t'e tools and li(raries used in t'e
project0
CPP0 programming language of t'e !/9lus engine.
!pen;?0 K" grap'ic li(rar$.
S"?0 (asic window and I! support for t'e client.
!">0 p'$sic li(rar$% written in C.
/loods'eed0 free CPP editor en&ironment% compiling under
C$gwing.
Setup6a+er0 free tool for ma+ing installers.
;imp0 Image 6anipulator 9rogram. #sed for edition of
te.tures.
/lender0 K" modeling and animation pac+age.
9$t'on0 scripting language used for write plugins for /lender.
Ga&a0 programming language used in t'e ser&er side.
>clipse0 !pen Source I"> for ja&a de&elopment.
G/oss0 !pen Source we( ser&er used for t'e aut'entication and
timing ser&er.
6$SO?0 4ree "ata /ase 6anager used for account
management.
V.C!NC?#SI!N
!pen Source and 4ree tools and tec'nologies can (e of
great 'elp for small teams w'o needs professional tools (ut do
not 'a&e ade-uate (udgets. >&en w'en 'a&ing t'e mone$% t'e
use of free tec'nologies can 'elp to reduce production costs in
order to offer more competiti&e prices.
>4>>NC>S
123 HStud$ on t'e >conomic impact of open source software on inno&ation
and t'e competiti&eness of t'e Information and Communication
Tec'nologies (ICT) sector in t'e >#I% is'a( ,i$er ;'os'% 6>IT%
septem(er 200Q%
'ttp0==ec.europa.eu=enterprise=ict=polic$=doc=200Q@22@20@
flossimpact.pdf% pp 7

123 >. 9ip'o% 4ocus on K" 6odels% 9remiere 9ress% 200K% IS/N0
2@C7200@0KK@7% pp QK@82
1K3 N. ?in% ?inu. K" ;rap'ics 9rogramming% IS/N 2@CCQ22@82K@N% pp
L78@CC2.
1L3 4. ". ?aramee% , ;ame >ntit$ 4actor$% ;ame 9rogramming ;ems II%
pp C2%Q2
1C3 >. a$mond% t'e Cat'edral and t'e (a)aar% !*eill$ 6edia% 2777% IS/N
2@CQC72@82L@7

You might also like