This paper describes how to develop video games using only free and Open Source tools. 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. 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. This opportunity can be extended to developing countries as an accelerator for the consolidation of a video games' industry.
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