open source game studio

4
Simposio Nacional de Software en la Sociedad del Conocimiento (Videojuegos 2008)  Abstract  —The high quality and matur ity of Open Source and free tools bring new opp ortu niti es to sma ll teams to redu ce startup cost s witho ut los ing qua lity . This opport unit y can be ext end ed to dev el oping count ri es as an acce le rat or for the consolidation of a vide o game s' industry. This pa per desc ribes 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.I  NT!"#CTI !N raditionall$% &ideo games studios 'ad een c'aracteried  $ 'a&ing a large team of artists and programme rs% and 'uge udgets wit' t'e capailit$ 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'ale goal for small teams.  Ne&ert'ele ss% new opportunities for small tea ms 'a&e emerged wit' t'e appeareance of new platforms% de&ices% mar+ets and  usiness models. ,s a direct effect of gloaliatio n% t'e opportunities 'a&e een t'ere for all t'e countries e-uall$% ut% as eperience 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 prolem &er$ s'ort udgets. ,nd 'ere is w'ere !pen Source and free tec'nologies can 'elp. T'e +ind of 'elp is% i n fact% larger t'an lice nsing costs reductions% as de&eloped countries 'ad disco&ered 13. Section II wi ll epla in 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 !ctoer 7% 200. C. 6. 9ac':n was wit' t'e Natio nal #ni& ers it$ of Colo mi a as reseac'er student% t'e #6N; as teac'er and auiliar reseac'er and now as independent consultant and de&eloper of &ideogames% computer grap'ics and &irtual worlds.  cesarpac'on<gmail.com % 'ttp==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'ing from file definition to networ+  protocols. It means t'at it was almost impossile to c'ange from one pro&ider to anot'er (wic' was t'e end goal of t'ese compan ies ). /ut now% ope n sta nda rds 'a& e c'a nge d t'e la ndscape% and inte rc 'a ngea i li t$ e twee n tool s 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 opens ource imp leme nta tions % also +now n as I or eference Implementations% t'at in man$ cases 'a&e &er$ few differences wi t' t'eir commer cial counterparts. 4urt'ermore in ma n$ cases t'e ope n sourc e imple men tat ion us es t'e standards as core functionalit$% w'ile commercial tools will offer t'e standard feature as secondar$. ,n eample is t'e SV; sta nda rd (Sc ala le Vector ;ra p'i cs) des ign ed for &ectorial drawing. T'e In+scape tool uses SV; as its principal format% w'i le ot'er commerc ial dra wing tools wou ld offe r SV; integration t'roug' more or less functional eport and imp ort plu gi ns% and somet ime s as somet 'in g opt ion al. Sum ma ri in g% t'e use of open sta nda rds red uces t'e ris + asociated wit' eing tied up to a single software pro&ider. It gi&es fleiilit$ to t'e team% t'e ris+ and fleiilit$ can e estimated in mone$ $ an$ project planning met'odolog$.  B. Licensing c osts T'e most o&ious of t'e ad&antages% reducing license costs would ma+e t'e difference etwee n allowing a project to go on or di e pr ematur el $. T'is is spec ia ll $ tr ue in some &e r$ competiti& e mar+ets% wit' low earning margins% li+e t'e games for moile 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 gloal 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 Studio opportunities for small teams and de&eloping countries Cesar Mauricio Pachón Meneses

Upload: pepehux

Post on 03-Jun-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Open Source Game Studio

8/12/2019 Open Source Game Studio

http://slidepdf.com/reader/full/open-source-game-studio 1/4

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

 Abstract  —The 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.I NT!"#CTI!N

raditionall$% &ideo games studios 'ad een c'aracteried

 $ 'a&ing a large team of artists and programmers% and

'uge udgets wit' t'e capailit$ 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'ale 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 gloaliation% t'e

opportunities 'a&e een t'ere for all t'e countries e-uall$% ut%

as eperience 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 prolem &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 13. Section

II will eplain t'e wa$s in w'ic' a small team can ta+e

ad&antage of !pen Source tec'nologies% and section III wills'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

56anuscript recei&ed !ctoer 7% 200.

C. 6. 9ac':n was wit' t'e National #ni&ersit$ of Colomia as

reseac'er student% t'e #6N; as teac'er and auiliar reseac'er and now as

independent consultant and de&eloper of &ideogames% computer grap'ics and

&irtual worlds.  cesarpac'on<gmail.com% 

'ttp==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'ing from file definition to networ+

 protocols. It means t'at it was almost impossile to c'ange

from one pro&ider to anot'er (wic' was t'e end goal of t'esecompanies). /ut now% open standards 'a&e c'anged t'e

landscape% and interc'angeailit$ 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'ermore

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 eample is t'e

SV; standard (Scalale Vector ;rap'ics) designed for

&ectorial drawing. T'e In+scape tool uses SV; as its principalformat% w'ile ot'er commercial drawing tools would offer

SV; integration t'roug' more or less functional eport and

import plugins% and sometimes as somet'ing optional.

Summariing% t'e use of open standards reduces t'e ris+

asociated wit' eing tied up to a single software pro&ider. It

gi&es fleiilit$ to t'e team% t'e ris+ and fleiilit$ 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 moile 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

gloal 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 Studio

opportunities for small teams and de&eloping

countries

Cesar Mauricio Pachón Meneses

Page 2: Open Source Game Studio

8/12/2019 Open Source Game Studio

http://slidepdf.com/reader/full/open-source-game-studio 2/4

/uilding an !pen Source ;ame Studio opportunities for small teams and in@de&elopment countries

+now eac' memer 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

epertise and constrained $ udget*s sie. Aow can open

source tec'nologies reduce t'is ris+B 4irst% it is more li+el$ forteam memers to 'a&e real eperience wit' open source tools%

eit'er as part of personal eploration or for academical

 projects. Secondl$% it is possile t'at some memer 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 aaar and cat'edral model discussions13.

 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 ale to adapt to

c'anging client re-uirements is mandator$. T'is is t'e case of

ad&ergaming projects% w'ic' are c'aracteried 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 liraries and tec'nologies not planned.

4or eample% 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 ojects. 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 liraries% 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 etremel$ 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 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 prolems. T'e artist will use a modelingtool wit' its proprietar$ format% w'ic' will t'en run some

eport plugin to transform t'e model into a suitale 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.   S'ows t'is situation. 9rogramming and artistic

acti&ities are de&eloped in parallel% ut t'e$ are closel$ inter@

related.

4ig. 2 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 liraries 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 liraries% ecause in some cases not all t'e formats

will e appropriate for eac' art asset. 4or eample% !/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

Page 3: Open Source Game Studio

8/12/2019 Open Source Game Studio

http://slidepdf.com/reader/full/open-source-game-studio 3/4

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

order to ma+e t'e Hasset pipeline as smoot' as possile% 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'at

. To protect artwor+ putting t'e final artwor+ of t'e

game in pulic formats for final distriution ma+est'em more &ulnerale to e copied and modified.

Aowe&er% t'e practice of using oscure and

undocumented in@'ouse formats to protect t'e art

assets is not recommended% since it is preferale 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 sie ,not'er reason for in@'ouse

formats are reduction in t'e sie of t'e final

distriution. T'is is a ad reason too% ecause it is

alwa$s preferale to use ot'er compression

tec'nologies.

K. To optimie loading times T'is indeed is a &alid

reason. T'ere is a ig difference in t'e loading times

 etween resources sa&ed in tet ased file formats

and inar$ file formats. In some cases% it is possile

to swap complete inar$ structures from memor$ to

dis+% t'us getting t'e maimum speed in load times.

L. Supporting additional features 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

eternal repositories% not in t'e source code1L3. ,

simple eample 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

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

t'e terrain information re-uired for some ,I

algorit'ms. 9recalculated grap's and indicators

associated to t'e terrain would ring &aluale

information to t'e agents. In large worlds% &isual

editor tools are mandator$% and a wa$ to uild t'em is

to etend t'e modeling tools wit' plugins to use t'emas specialied 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

H9odium was t'e cornerstone of a ad&ergaming campaign

launc'ed in 200 and sponsored $ a Colomian 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 prie to t'e

faster dri&ers eac' wee+.

In order to reac' t'e largerest amount of people% t'e$

estalis'ed some tec'nical restrictions

. 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 sie under 0 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 "irect

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$.. T'e game 'ad to allow c'anges in t'e #I areas eac'

wee+% w'ere t'e client wanted to epose t'ird@part$

ad&ertising.

 B. %echnological choices

Eit' t'ese re-uirements in mind% t'e net step was to c'oose

t'e tools t'at were to e used in t'e project. e-uirement %2%

and K caused t'e rejection of some roust game engines%

speciall$ !greK"% ecause t'e engine*s core itself 'ad a sie

'ig'er t'an t'e 0 6/ limit. !t'ers engines were rejected

 ecause t'e$ 'a&e dependencies wit' t'ird part$ liraries% li+e

"irect 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 feature it 'ad man$ in@'ouse

file formats% ot' in inar$ and tet forms% and eport pluginsfor /lender% a K" !pen Source modeling and animation tool.

T'en% t'e asset pipeline was defined as

. 6odeling and animating in /lender.

2. >porting to !/9lus tet format using 9$t'on scripts.

K. Transforming from !/9lus tet format to inar$

format% using t'e tools pro&ided wit' t'e engine.

T'is was done ot' in geometr$ assets and in teture assets%

satisf$ing a new re-uirement from t'e client users would not

 e ale to modif$% edit or replace ad&ertising assets from t'e

game.

Page 4: Open Source Game Studio

8/12/2019 Open Source Game Studio

http://slidepdf.com/reader/full/open-source-game-studio 4/4

/uilding an !pen Source ;ame Studio 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 descrie 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' editor% 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$ roust and fleile !pen Source

alternati&e. ,nd finall$% a 6$SO? dataase was used for

 persistence of user information.

 E. 'ree and OpenSource tools used 

T'is is a relation of all t'e tools and liraries used in t'e

 project

CPP programming language of t'e !/9lus engine.

!pen;? K" grap'ic lirar$.

S"? asic window and I! support for t'e client.

!"> p'$sic lirar$% written in C.

/loods'eed free CPP editor en&ironment% compiling under

C$gwing.

Setup6a+er free tool for ma+ing installers.

;imp Image 6anipulator 9rogram. #sed for edition of

tetures.

/lender K" modeling and animation pac+age.9$t'on scripting language used for write plugins for /lender.

Ga&a programming language used in t'e ser&er side.

>clipse !pen Source I"> for ja&a de&elopment.

G/oss !pen Source we ser&er used for t'e aut'entication and

timing ser&er.

6$SO? 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 donot '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

13 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 >#% is'a ,i$er ;'os'% 6>IT%

septemer 200Q%

'ttp==ec.europa.eu=enterprise=ict=polic$=doc=200Q@@20@

flossimpact.pdf% pp 7

 

123 >. 9ip'o% 4ocus on K" 6odels% 9remiere 9ress% 200K% IS/N

@7200@0KK@7% pp QK@

1K3  N. ?in% ?inu K" ;rap'ics 9rogramming% IS/N @Q22@2K@% pp

L7@2.

1L3 4. ". ?aramee% , ;ame >ntit$ 4actor$% ;ame 9rogramming ;ems II%

 pp %Q

13 >. a$mond% t'e Cat'edral and t'e aaar% !*eill$ 6edia% 777% IS/N

@Q72@2L@7