open source game studio
Post on 03-Jun-2018
219 Views
Preview:
TRANSCRIPT
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
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
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.
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
top related