# ICAD IGames/VisionLab Departamento de Informtica PUC Rio Centro de Cincias Exatas e ecno!"#icas Uni$ersidade do Va!e do Rio dos %inos &U'I%I'(%) esteban@inf.puc-rio.br, jrbitt@ludensartis.com.br Abstract: This paper describes traditional computer games development process. After a brief discussion about history and documentation, the paper will present the steps necessaries to create 3D games, with emphasis at professional and commercial tools. Along the document, important bibliographies for each process will indicated. Free Softwares or not expensive tools will be shown in order to help research institutions for developing proects in !ames and Digital "ntertainment field. #n the last part, the paper will present other applications created with game development technology and will discuss perspectives for this new research field. Resumo: "ste documento discute de forma geral o processo de cria$%o de um ogo computadori&ado 3D. #nicialmente ser%o apresentadas as principais etapas na elabora$%o de um ogo 3D, destacando diversas ferramentas dispon'veis no mercado. (rocura)se tamb*m destacar e indicar as principais bibliografias ade+uadas para cada uma das etapas do processo de cria$%o e ferramentas gratuitas e livres +ue facilitem o uso pela comunidade acad,mica viabili&ando novas pes+uisas na -rea de .ogos e "ntretenimento Digital. /o final deste documento ser%o apresentadas outras aplica$0es +ue podem ser desenvolvidas com a mesma base tecnol1gica dos ogos e as tend,ncias futuras para este segmento. $ %ntroduo Um *o#o +D , -m soft.are especia!/ pois cont,m e!ementos m-ito $ariados0 m"d-!os de Comp-ta12o Grfica/ Inte!i#ncia Artificia!/ Redes de Comp-tadores/ 3-!tim4dia/ entre o-tros5 odos estes m"d-!os de$em f-ncionar em perfeita 6armonia/ obedecendo a -ma caracter4stica f-ndamenta! de -m *o#o0 de$e ser -m soft.are em tempo rea!5 Para 7-e isto se*a poss4$e! , necessrio exp!orar ao mximo o 6ard.are dedicado/ as con6ecidas p!acas #rficas ace!eradoras +D5 Para este prop"sito , f-ndamenta! 7-e o *o#o este*a baseado sobre di$ersas APIs/ tais como o 2pen!3/ Direct4 e 2penA35 A!,m disso/ en7-anto a maioria dos soft.ares precisam apenas se#-ir -ma s,rie de re7-isitos e atender bem os prop"sitos para os 7-ais foram e!aborados/ -ma caracter4stica imprescind4$e! para -m *o#o , 7-e e!e de$e ser di$ertido e a#rad$e! de se -ti!i8ar/ -ma $e8 7-e se- principa! ob*eti$o , proporcionar entretenimento para as pessoas5 (s *o#os comp-tadori8ados precisam criar a sensa12o de imersi$idade nos -s-rios/ ta! caracter4stica obtida pe!a combina12o de aspectos art4sticos e tecno!"#icos 9:A ;<=5 Assim/ tratar de *o#os comp-tadori8ados representa !idar com -ma rea extremamente interdiscip!inar/ aproximando os aspectos comp-tacionais de o-tras cincias/ tais como Ed-ca12o/ Psico!o#ia/ Artes P!sticas/ Letras/ Design Grfico e 3>sica5 Considerando o aspecto comp-taciona! tais ap!ica1?es re7-erem a ado12o de sofisticadas t,cnicas 7-e na maioria das $e8es representam o @estado da arteA das pes7-isas em Cincia da Comp-ta12o principa!mente as pes7-isas re!acionadas com An!ise de A!#oritmos &(timi8a12o)/ Comp-ta12o Grfica/ Redes de Comp-tadores e Inte!i#ncia Artificia!5 Por esta ra82o desen$o!$er *o#os comp-tadori8ados tornaBse -ma rea fascinante para o desen$o!$imento de ap!ica1?es t,cnicoBcient4ficas/ conforme foi destacado por :attaio!a 9:A ;;=5 Para Laird e Van Lent 9LAI ;C=/ os *o#os comp-tadori8ados podem ser considerados a 5iller application da comp-ta12o/ principa!mente na rea de Inte!i#ncia Artificia!/ o- se*a/ -ma ap!ica12o mode!o *-stamente pe!o fato de poss-ir prob!emas si#nificati$os 7-e ao serem so!-cionados ir impactar em o-tras ap!ica1?es5 D importante destacar 7-e no Con#resso da %ociedade :rasi!eira de Comp-ta12o &<;;;) o Prof5 Dr5 Andr, :attaio!a p-b!ico- na Eornada de At-a!i8a12o em Informtica &EAI) o arti#o intit-!ado 6.ogos por 7omputador 8 9ist1rico, :elev;ncia Tecnol1gica e <ercadol1gica,Tend,ncias e T*cnicas de #mplementa$%o= 9:A ;;=5 a! p-b!ica12o representa -m marco si#nificati$o na com-nidade acadmica/ pe!o fato do recon6ecimento das potencia!idades t,cnicoBcient4ficas e mercado!"#icas das pes7-isas ap!icadas em *o#os comp-tadori8ados e entretenimento di#ita!5 A p-b!ica12o deste presente arti#o ap"s cinco anos a p-b!ica12o do traba!6o de :attaio!a ocorre em -m contexto diferenciado/ pois at-a!mente a %:C * conso!ido- -ma Comiss2o Especia! de Eo#os e Entretenimento/ foi criada a Associa12o :rasi!eira das Desen$o!$edoras de Eo#os E!etrFnicos &A:RAGA3E%) e at, mesmo a1?es #o$ernamentais * foram feitas como o Eo#os:R Conc-rso de Eo#os promo$ido pe!o 3inist,rio da C-!t-ra/ in>meros editais GI'EP/C'P7 fomentando a rea de entretenimento e o recon6ecimento dos *o#os comp-tadori8ados como obra de a-dio$is-a! pe!o 3inistro da C-!t-ra5 ais a1?es e$idenciam a importHncia do setor conforme foi apresentado por :attaio!a/ em <;;;5 Dado esse contexto o ob*eti$o principa! deste arti#o , apresentar o processo de concep12o e desen$o!$imento de *o#os +D/ destacando ferramentas comerciais e a!ternati$as !i$res e #rat-itas 7-e podem ser -sadas para o desen$o!$imento de ap!ica1?es m-!tim4dia em #era! no Hmbito acadmico e extens4$e! para o setor ind-stria!5 EsperaBse desta forma fomentar no$as pes7-isas interdiscip!inares na rea da comp-ta12o promo$endo o desen$o!$imento de tecno!o#ia naciona! ap!icada ao setor de Entretenimento Di#ita!5 Certamente esta p-b!ica12o n2o pretende tratar de todos os aspectos de desen$o!$imento de *o#os +D/ entretanto pretende ser$ir de embasamento inicia! para o desen$o!$imento de #r-pos de pes7-isas no Hmbito das -ni$ersidades brasi!eiras e a-xi!iar na forma12o tecno!"#ica de no$os est>dios de desen$o!$imento5 D importante destacar 7-e este arti#o poss-i -ma nat-re8a t,cnicoBcient4fica diferenciandoBse da concep12o tradiciona! dos demais arti#os p-b!icados neste e$ento5 Entretanto tratar da rea de games , -m prob!ema c-*os aspectos tecno!"#icos s2o inerentes ori-ndos de -m processo de pes7-isa ap!icada bastante com-m no setor5 3-itas t,cnicas 7-e ser2o citadas representam res-!tados de pes7-isa em Comp-ta12o Grfica 7-e a posteriori acabam sendo -ti!i8adas em ferramentas para o desen$o!$imento de games5 Ao tratar de aspectos t,cnicos n2o est minimi8ando os aspectos cient4ficos/ mas sim destacando o-tro aspecto da cincia5 Para isto este arti#o est or#ani8ado em de8 se1?es5 'a se12o < , apresentado -m bre$e 6ist"rico destacando a e$o!-12o dos *o#os comp-tadori8ados at, aos *o#os +D5 D importante efet-ar esta context-a!i8a12o para compreender o se#mento5 'a se12o + ser2o apresentadas e deta!6adas cada -ma das etapas consideradas no processo de desen$o!$imento de -m *o#o +D5 'a se12o I ser2o apresentados os principais conceitos te"ricos dos motores de *o#os/ con6ecidos como engines/ destacando os engines +D e demais engines de apoio &sim-!a12o f4sica/ Inte!i#ncia Artificia!)5 'a se12o J ser re!acionado o -so dos engines apresentando a ferramenta 3D !ame Studio/ -ma so!-12o comercia!5 Em contrapartida/ na se12o K/ ser apresentado o contexto da engines !i$res e #rat-itas com desta7-e para o 7rystal Space e o 2gre3D5 'a se12o L ser2o destacadas o-tras ap!ica1?es/ principa!mente de c-n6o cient4fico 7-e poder2o ser desen$o!$idas sob a mesma base tecno!"#ica apresentada nas se1?es anteriores5 'a se12o M ser apresentado deta!6adamente o contexto mercado!"#ico naciona! e internaciona! e as iniciati$as de fomento ao setor5 'a se12o N ser2o apresentadas as ino$a1?es de pes7-isas no setor de entretenimento di#ita!/ com nfase na V Di#ita! Interati$a5 Por >!timo/ na se12o C; s2o !istadas as referncias bib!io#rficas 7-e ser$ir2o de base para contin-idade dos est-dos referentes aos *o#os comp-tadori8ados e ao entretenimento di#ita!5 #$ &ist'ria dos Jogos Computadorizados Esta bre$e context-a!i8a12o ser baseada no traba!6o de Oa$ier 9OAV ;+=5 #$ (r)ueologia ( professor Pi!!iam Qi#inbot6an &Gi#-ra C) 7-e/ ima#inando no$as formas de demonstra1?es cient4ficas/ in$ento- -m processo de entretenimento com -m comp-tador e -m osci!osc"pio5 A primeira experincia cient4fica com o -so de ima#ens e!etrFnicas operadas por *o#adores5
Figura 1: 1958 - Tnis para Dois %te$e R-sse! &Gi#-ra <)/ ent2o est-dante do 3I/ *-ntamente com ami#os/ desen$o!$e- Space>ar?/ o primeiro *o#o e!etrFnico propriamente dito5 ( *o#o f-nciona$a como demonstra12o das capacidades #rficas do processador de ima#ens de a!ta reso!-12o5
Figura 2: 1962 - SpaceWar! Em CNL< &Gi#-ra +)/ 'o!an :-s6ne!!/ $isionrio de -m mercado para *o#os e!etrFnicos/ pop-!ari8o- as experincias !>dicas com 7omputer Space e o-tros *o#os p>b!icos operados nas rotas dos pinba!!s5 G-ndo- com -m ami#o a Atari/ a maior e mais inf!-ente empresa de entretenimento e!etrFnico da ,poca5
Figura 3: 1972 - Computer Space 'o mesmo ano Ra!f :aer &Gi#-ra I)/ en#en6eiro/ desen$o!$e- 2dyssey/ o primeiro conso!e de $ideo#ame da 6ist"ria/ inicia!mente so!icitado por mi!itares interessados em treinar so!dados em !"#ica e ref!exos rpidos e depois reade7-ado para o -so dom,stico5
Figura 4: 1972 - Mgnavox Odyssey #$# (rcades (s arcades s2o m7-inas de *o#os de -so p>b!ico/ operados por fic6as o- moedas em casas especia!i8adas o- n2o5 Gi8eram #rande s-cesso na d,cada de L; e M;5 ( primeiro s-cesso dos arcades trataBse do Atari P('G &CNL<)&Gi#-ra J)5 Pop-!ari8o- o conceito de entretenimento e!etrFnico de forma simp!ista e so!idifico- o fenFmeno Atari5 (b*eto do primeiro #rande !it4#io do mercado/ P('G foi ac-sado de p!a#io do 2dyssey e e!e mesmo foi p!a#iado por in>meras o-tras empresas5 Figura 5: Atari PONG (1972)
Figura 6: Atari Shark Jaws (1974) Em CNLI , !an1ado o Atari Shar5 .aws &Gi#-ra K)/ o primeiro *o#o a apresentar persona#ens independentes animados e -ma tentati$a exp!4cita de associar o *o#o ao fenFmeno de bi!6eteria do cinema Tubar%o5 'o ano se#-inte , !an1ado o <idway !un Fight/ o primeiro *o#o a -ti!i8ar -m microprocessador/ conferindo me!6ores #rficos e rec-rsos de *o#o para os se-s participantes5
Figura 7: Midway Gun Fight (1975) Em CNLK/ a Atari !an1o- o /ight Driver &Gi#-ra M) -ti!i8ando como atrati$o $is-a! em s-a cabine/ $o!ante/ marc6as e pedais/ o *o#o se prop?e a criar -ma atmosfera rea!ista5 'a escasse8 de rec-rsos #rficos/ fa8ia -so do desen6o do interior do carro pintado sobre a te!a5
Figura 8: Night Driver (1976) Em CNLM/ o aito Space #nvaders &Gi#-ra N) trataBse da primeira #rande reperc-ss2o dos *o#os e!etrFnicos/ 7-e desde ent2o in$adiram a sociedade em todos as s-as extens?es5 Para parecer co!orido/ o *o#o *apons fa8ia -so de overlays5
Figura 9: Taito Space Invaders (1978) Em CNLN com o !an1amento do Atari Asteroids &Gi#-ra C;) , tido com -m dos #randes c!ssico da Atari5 Para o desen$o!$imento deste *o#o foi apro$eitado a mode!a#em $etoria! de s-cesso como em Space>ar?5
Figura 10: Atari Asteroids (1979) 'o mesmo ano/ a 'amco !alaxian &Gi#-ra CC) foi !an1ado baseandoBse no s-cesso mi!itarista de Space #nvaders. D importante destacar 7-e %pace In$aders , o primeiro *o#o em cores da 6ist"ria5
Figura 11: Namco Galaxian (1980) Em CNM; , !an1ado 'amco (ac)<an &Gi#-ra C<)5 Grande fenFmeno de pop-!aridade o *o#o 7-e inicia!mente $isa$a o p>b!ico feminino tomo- a m4dia de assa!to e pro$oco- -ma crise inf!acionria no Eap2o5 Licenciado para a Atari/ a $ers2o foi -ma das respons$eis pe!a crise 7-e encerro- o mercado5
Figura 12: Namco Pac-Man (1980) 'esse ano/ Stern @er&er5 foi o primeiro #ame a -sar com 7-a!idade a sinteti8a12o de $o8/ o *o#o foi respons$e! pe!a morte de -m est-dante B a primeira diretamente associada ao -so de *o#os e!etrFnicos B fa8endo aca!orar o debate sobre a inf!-ncia dos *o#os e!etrFnicos na sociedade5
Figura 13: Stern Berzerk (1980) amb,m em CNM;/ >illiams Defender &Gi#-ra CI)/ foi criado praticamente por -ma >nica pessoa/ E-#ene Ear$is5 ( *o#o amp!ia o sentido de *o#abi!idade com $rios contro!es/ f4sica rea!ista e -m sentido percepti$o ori#ina!0 o -ni$erso do *o#o existe a!,m do 7-e , $isto pe!o *o#ador &conceito de scrolling)5
Figura 14: Williams Defender (1980) 'o ano se#-inte a 'intendo !an1a Don5ey Aong &Gi#-ra CJ)5 A primeira apari12o do persona#em m-ndia!mente con6ecido como 3ario e debut de se- criador/ %6i#er- 3iRamoto/ como o #rande desi#ner de *o#os de todos os tempos5
Figura 15: Donkey Kong (1981) Em CNNC/ foi !an1ado 7apcom Street Fighter ## &Gi#-ra CK)5 !ame adota o mode!o de anima12o por sprites0 ima#ens bidimensionais 7-e se mo$imentam -mas sobre as o-tras criando i!-s2o de prof-ndidade e contro!e dos res-!tados5
Figura 16: Street Fighter II (1991) A Acc!aim/ em CNN</ !an1a <ortal Aombat &Gi#-ra CL)$ ( *o#o adota o mode!o de anima12o por capt-ra de mo$imentos e di#ita!i8a12o s-bse7Sente0 ima#ens de atores s2o di#ita!i8adas e animadas para a a12o5 3aior rea!ismo est,tico em troca de mo$imentos mais repetiti$os5
Figura 17: Mortal Kombat (1992)
Figura 18: Virtua Fighter (1993) Em CNN+/ a %EGA !an1a Birtua Fighter &Gi#-ra CM)5 Esse *o#o te$e -ma #rande reperc-rss2o na ,poca por -ti!i8a12o -m mode!o de anima12o por ob*etos tridimensionais5 Constr-1?es po!i#onais s2o animadas !e$ando em conta massa e ace!era12o em tempo rea! de processamento5 Com a pop-!ari8a12o dos rec-rsos #rficos de #erenciamento #eom,trico e das p!acas de processamento #rfico/ os *o#os ditos +D tornaramBse paradi#mticos desde ent2o/ o- se*a/ come1am a ser adotados de forma -nHnime na prod-12o de *o#os5 #$3 Consoles (s conso!es o- $ideo#ames s2o *o#os e!etrFnicos desen$o!$idos para -so dom,stico5 :asicamente f-ncionam acop!ados a apare!6os de te!e$is2o5 Em CNL</ 3a#na$ox (dRsseR &Gi#-ra CN)/ ap"s !ibera12o de patentes/ :aer conse#-i- 7-e a 3a#na$ox prod-8isse se- prod-to5 3onocromtico e sem som/ $in6a com overlays/ dados/ fic6as e din6eiro de brin7-edo para a-mentar a participa12o do *o#ador5 Po-cas $aria1?es de *o#o e p!anos de mar5eting errados n2o imp-!sionaram as $endas iniciais 7-e pararam ap"s C;; mi! -nidades5
Figura 19: Magnavox Odyssey (1972) Em CNLJ/ Atari 9ome (ong &Gi#-ra <;)/ apoiada financeira e !o#isticamente pe!a %ears/ a Atari in-ndo- o mercado com a $ers2o partic-!ar de (2/!/ se- primeiro s-cesso5 ( excesso do prod-to e de simi!ares foi respons$e! pe!a primeira #rande crise do mercado5 Figura 20: Atari Home Pong (1975) Em CNLK/ Fairchild 7hannel F &Gi#-ra <C) foi o primeiro conso!e a m-!tip!icar os *o#os por dispositi$os de mem"ria externa em cart-c6os p!sticos5 '2o permanece- m-ito tempo no mercado de$ido a po-ca $ariabi!idade de *o#os e principa!mente pe!o pre1o fina! dos mesmos5 Figura 21: Fairchild Channel F (1976) Entretanto o ano de CNLL , -m marco na 6ist"ria dos $ideo#ames5 (corre- o !an1amento do Atari VG% <K;; &Gi#-ra <<)/ o maior fenFmeno de pop-!aridade de s-a ,poca/ cerca de <J mi!6?es de -nidades $endidas em J anos5 ( B!S CDEE aprimoro- a id,ia ori#ina! de repro#ramabi!idade do 7hanell F para bases mais baratas5 ( carroB c6efe da pop-!ari8a12o m-ndia! da marca Atari no m-ndo tamb,m exten-ado por -ma !-doteca de 7-ase dois mi!6ares de *o#os desen$o!$idos por di$ersas softhouses/ inc!-indo a dissidente Acti$ision5
Figura 22: Atari VGS 2600 (1977) ( !an1amento do 3atte! #ntellivision &Gi#-ra <+) em CNM; representa$a o concorrente tecnicamente mais poderoso da Atari5 ( conso!e tra8ia atrati$os como -m sinteti8ador de $o8 acop!$e! e -m con$ersor de modo a fa8er com 7-e *o#os do B!S CDEE p-dessem ser -sados ne!e5
Figura 23: Mattel Intellivision (1980) #$3$ * crash de +,- ( ano de CNMI represento- a se#-nda e derradeira #rande crise do mercado de *o#os e!etrFnicos5 A Atari se disso!$e e arrasta consi#o todo o mercado ocidenta! de conso!es5 (s principais moti$os de ta! crise s2o0 C5 De.asagem tecnol'gica / Apesar de em dec!4nio desde fim da Era de (-ro em CNM;/ os *o#os para arcade 6a$iam a!can1ado -m incr4$e! #ra- de 7-a!idade #rfica com -so/ inc!-si$e/ da tecno!o#ia de $4deo di#ita!5 Por o-tro !ado os conso!es ainda en#atin6a$am com tecno!o#ias obso!etasT <5 Crise de conte0do / Com incont$eis softhouses desen$o!$endo *o#os para a Atari/ m-itos n2o correspondiam em 7-a!idade5 Por exemp!o/ -m *o#o da <ysti+ue pro$oco- re$o!ta na sociedade americana por apresentar como temtica -ma proposta porno#rfica e $io!enta contra a minoria ind4#enaT +5 %n1cio da in.orm2tica dom3stica / Visando o #rande p>b!ico e a partir da red-12o dos pre1os dos dispositi$os e!etrFnicos a 7ommodore !an1a VICB<;/ o primeiro microcomp-tador co!orido a s-perar a barreira de UU +;;/;;5 'este mesmo per4odo no Eap2o/ d-as empresas despertam no$amente o interesse da *-$ent-de0 a 'intendo e a %EGA5 A 'intendo/ -ma ancestra! fbrica de cartas in$este em e!etrFnicos em meados do s,c-!o OO e tenta se estabe!ecer nos EUA com o s-cesso de Don5ey Aong5 Apostando em -ma prod-12o iconoc!asta pr"pria/ na fi#-ra emb!emtica de 3iRamoto e em contratos de exc!-si$idade com softhouses a empresa rapidamente se torna a mais respeitada do no$o mercado5 A %EGA/ -ma poderosa concorrente da 'intendo a$an1a sobre o mercado orienta! com $oracidade e tecno!o#ia de ponta5 ( #rande embate entre as d-as empresas rea7-ece o mercado e #arantir a #rande bata!6a pe!a s-bexistncia dos conso!es e do mercado d-rante a pr"xima d,cada5 #$3$#$ Gerao , bits Em CNMJ , !an1ado o 'intendo /"S5 ( /"S &Gi#-ra <I) foi o #rande atrati$o da reno$a12o pois a!,m de m-ito co!orido/ rapidamente * conta$a com -m acer$o de de8enas de *o#os5 'o ano se#-inte a %EGA !an1a o <aster System &Gi#-ra <J)5 %-cesso apenas na E-ropa o 3aster %Rstem poss-4a *o#os me!6ores mas em n>mero extremamente red-8ido/ a!,m de pisto!a e "c-!os tridimensionais5 A fa!ta de CRPGs &7omputer :ole)(laying !ames) foi cr-cia! para a 6e#emonia do 'E% sobre e!e5
Figura 24: NES (1985)
Figura 25: Master System (1986) #$3$3 / Gerao 4bits Em CNMM/ a %EGA !an1a o !enesis &Gi#-ra <K) tentando sobrep-*ar a concorrente5 A %EGA in$este em -ma no$a ar7-itet-ra para o n4$e! da apresenta12o dos conso!es/ dimin-indo o gap em re!a12o aos arcades5 'o$amente o mercado dos *o#os respira nos EUA com a a*-da do mascote %onic5 Eo#os de CRPG in$adem o Eap2o e acertam p!enamente o interesse do p>b!ico5
Figura 26: Genesis (1988) Dois anos depois/ a 'intendo !an1a o S/"S &Gi#-ra <L)5 A 'intendo aposto- em no$idades e na re$a!ori8a12o das persona!idades da casa5 3ario #arante -ma fran7-ia mi!ionria para a empresa 7-e se so!idifica para o-tras no$idades5
Figura 27: SNES (1990) #$3$-$ Gerao 3#bits Em CNN+ , !an1ado o 3D2 &Gi#-ra <M)5 Um dos maiores fracassos do mercado dos *o#os e!etrFnicos/ o conso!e foi concebido por rip Qa.Vins/ f-ndador da "lectronic Arts/ para ser o 4cone de desen$o!$imento da no$a #era12o5 -do n2o passo- de -ma idea!i8a12o em torno de -m apare!6o caro5
Figura 28: 3DO (1993) Em CNNI/ a %onR entra no mercado dos *o#os e!etrFnicos com o !an1amento do (layStation &Gi#-ra <N)5 Inicia!mente proposto como o upgrade do S/"S/ a %onR reso!$e- e!a mesma prod-8ir o apare!6o 7-e ce!ebro- o pice da re$o!-12o m-!tim4dia para os conso!es5 %-cesso de cr4tica e $endas o (layStation ainda , fabricado em no$a e dimin-ta $ers2o5
Figura 29: Playstation (1994) 'este mesmo ano a %EGA !an1a o Saturn &Gi#-ra +;) para ser concorrente direto do (layStation. ( apare!6o n2o te$e s-cesso por permanecer $inc-!ado a -ma ar7-itet-ra comp!exa de m-itos processadores e as dific-!dades da pro#rama12o em Assembler5
Figura 30: SEGA Saturn (1994) #$3$5$ Gerao 4-bits Em CNN+ , !an1ado o Atari .aguar &Gi#-ra +C)5 Representante inde$ido da #era12o KIbits &por -sar dois processadores de +<bits e n2o -m de KIbits) representa$a o >!timo rec-rso da Atari antes de ser fortemente pe!a cr4tica5 Po-cos *o#os/ tentati$a infr-t4fera de re$ita!i8a12o com -m !eitor de CD e contro!es #i#antes5 ( p>b!ico fico- mais cr4tico5
Figura 31: Atari Jaguar (1993) ( 'intendo KI &Gi#-ra +<) , !an1ado em CNNK como -ma rpida inc-rs2o da 'intendo #arantida pe!a fran7-ia (o5em1n e por *o#os de esporte5 Acabo- n2o con7-istando o #rande p>b!ico com #rficos refinados por,m de text-ras repetiti$as em cart-c6os m-ito caros5 A!,m de t-do/ perdia em ori#ina!idade0 re$isita1?es constantes a s-cessos de se-s t4t-!os antecessores5
Figura 32: Nintendo 64 (1996) #$3$4$ Gerao #,bits Em CNNM/ , !an1ado o %EGA Dream7ast &Gi#-ra ++)5 Este conso!e te$e -ma c-rta existncia no mercado B apenas dois anos5 ( apare!6o apesar de excepciona! do ponto de $ista tecno!"#ico n2o #aranti- p>b!ico s-ficiente para arcar com as d4$idas da %EGA/ 7-e desde ent2o decidi- focarBse -nicamente em soft.ares5
Figura 33: DreamCast (1998)
Figura 34: PSX2 (2000) Em <;;;/ a %onR !an1a o (S4C &Gi#-ra +I)5 Adota a tecno!o#ia de DVD/ o conso!e mante$e -m p>b!ico fie! por #arantir 7-e *o#os do (layStation p-dessem permanecer sendo -sados e de forma me!6orada5 Em <;;C/ a 'intendo !an1a o !ame7ube &Gi#-ra +J) e a 'intendo entra nas m4dias di#itais5 ( apare!6o #aranti- a empresa W $it"ria fina! do s,c-!o OO0 -m mercado m-ndia! fie! ao conso!e e no$os prot"tipos em desen$o!$imento5
Figura 35: GameCube (2001) 'este mesmo ano/ a 3icrosoft entra no mercado dos conso!es com o !an1amento do 4)@ox &Gi#-ra +K)5 ( apare!6o poss-i adota a tecno!o#ia DirectO faci!itando a adapta12o de #randes s-cessos dos PCs para o conso!e5 Ainda 7-e as $endas n2o ten6am ref!etido as expectati$as/ a 3icrosoft recentemente !an1o- se- no$o mode!o/ o 4)@ox 3DE5
Figura 36: X-Box (2001) #$5$ Computadores Eo#os de comp-tador s-r#em como experimentos !in#Sisticos e de comando 6omemB m7-ina5 As primeiras empresas desen$o!$edoras de *o#os para PCs s2o formadas por *o$ens ent-siastas em #ara#ens/ $endendo a prod-12o em !o*as de e!etrFnica e informtica5 As temticas iniciais trata$amBse dos Adventures/ *o#os de exp!ora12o ambienta! atra$,s de -ma !eit-ra interati$a &Gi#-ra +L) e os CRPGs B *o#os de representa12o de -m -ni$erso pr"prio onde , poss4$e! enri7-ecer experincia e o-tros atrib-tos dos persona#ens5 Diferem do RPG con$enciona! por aterBse ao mecanismo reati$o do *o#ador diante de esco!6as pr,Bestabe!ecidas &Gi#-ra +M)5
Figura 37: Mistery House
Figura 38: Zork Para os comp-tadores pessoais a d,cada de M; foi extremamente si#nificati$a5 Em CNM+ , !an1ado (lanetfall &Gi#-ra +N), o primeiro *o#o a ser pop-!ado por persona#ens atrati$os psico!o#icamente e apresentar -m enredo comp!exo para a participa12o do *o#ador5
Figura 39: Planetfall (1983) Em CNMI foi !an1ado o Flight Simulator &Gi#-ra I;)5 Depois foi re!an1ado pe!a 3icrosoft e o *o#o torno-Bse o referencia! para *o#os de sim-!a12o operaciona! rea!ista5
Figura 40: Flight Simulator (1984) Em CNMJ , !an1ado >here in the >orld is 7armen SandiegoF &Gi#-ra IC) Um misto de administra12o de tempo com a-!a de #eo#rafia5 ( *o#o foi -m dos prec-rsores da temtica edutainment B press-posto ed-caciona! para o di$ertimento do *o#ador5
Figura 41: Whre in the World is Carmem Sandiego? (1985) Em CNML , !an1ado o Tetris/ o mais famoso *o#o de todos os tempos tem -ma 6ist"ria ins"!ita 7-e en$o!$e pirataria e espiona#em d-rante a G-erra Gria5 Primeiro *o#o a sair da Cortina de Gerro5 Tetris , sem d>$ida o #rande basti2o da simp!icidade para o di$ertimento &Gi#-ra I<)5 'o mesmo ano , !an1ado Test Drive &Gi#-ra I+)5 Goi o prec-rsor de *o#os de corrida -sando b"!idos famosos/ o *o#o da Accolade imer#e o *o#ador no cenrio atra$,s do ponto de $ista do motorista5
Figura 42: Tetris (1987) Figura 43: Test Drive (1987) Em CNMN/ (rince of (ersia &Gi#-ra II) -sa anima1?es rea!istas sobre -m cenrio aparentemente simp!ista5 ( *o#o , o me!6or exemp!o de a$a!ia12o de rec-rsos $itais para a #arantia de -m bom pro*eto de *o#o5 amb,m em MN/ Sim7ity &Gi#-ra IJ) , !an1ado5 D -sado inc!-si$e em esco!as para compreens2o de ci$ismo e responsabi!idade socia! o *o#o de administra12o de cidades , -m dos mais renomados por ter feito s-cesso sem se ater na $a!ori8a12o da $io!ncia5
Figura 44: Prince of Persia (1989)
Figura 45: SimCity (1989) #$5$$ 6uebra dimensional 7 Do #D para o 3D Com as no$as tecno!o#ias de cria12o de -ni$ersos tridimensionais e a red-12o dos pre1os de processadores mais potentes/ os *o#os para comp-tador tornaramBse a!tamente imersi$os5 ( primeiro s-cesso desta tecno!o#ia para os PCs , >olfenstein 3D &CNN<) &Gi#-ra IK)5 A partir de experincias pr,$ias com ima#ens distorcidas sobre s"!idos para a fa!sa i!-s2o de prof-ndidade/ o *o#o apresenta pe!a primeira $e8 de forma atrati$a -m e!emento 7-e se *o#a sobre o cenrio B -ma arma B #arantindo ao *o#ador a experincia de participar $is-a!mente na a12o &*o#os em primeira pessoa con6ecidos como GP% First (erson Shooters)5
Figura 46: Wolfenstein 3D (1992) Em CNNI , !an1ado Doom &Gi#-ra IL) pe!a id %oft.are5 Como at-a!i8a12o da proposta de >olfenstein 3D/ me!6orias no som &a#ora tamb,m espacia!) e na constr-12o ambienta! &di$ersos n4$eis ar7-itetFnicos poss4$eis)/ Doom marco- o pice do desen$o!$imento para *o#os 7-e seriam dora$ante con6ecidos como GP%5
Figura 47: Doom (1994) Em CNNK , !an1ado Gua5e &Gi#-ra IM)5 ota!mente re$o!-cionrio para s-a ,poca/ o *o#o #arantia/ sem a necessidade de -ma p!aca ace!eradora +D/ a experincia $erdadeiramente tridimensiona!5 odos os e!ementos B cenrios e persona#ens B eram pro$idos de $o!-me5 Desde ent2o/ o -so de ambientes constr-4dos tridimensiona!mente seria -ma constante5
Figura 48: Quake (1996) 3$ Etapas do Processo de Elaborao de um Jogo Como 7-a!7-er o-tro soft.are a prod-12o de -m *o#o comp-tadori8ado/ se*a esse <D o- +D/ re7-er a ado12o de -m processo de desen$o!$imento5 'o caso das ap!ica1?es de entretenimento di#ita!/ tais com os *o#os/ , necessrio tratar dos aspectos art4sticos neste processo5 %imp!ificadamente o processo de desen$o!$imento de -m *o#o +D en$o!$e as se#-intes etapas 9R(L ;I=0 C5 Confec12o do Design @ibleT <5 Prod-12o de -dio e ima#ens <DT +5 3ode!a#em +DT I5 Desen$o!$imento dos artefatos comp-tacionais5 :asicamente trataBse da esco!6a o- desen$o!$imento do engineH J5 Inte#ra12o dos aspectos art4sticos com os aspectos comp-tacionais5 'as pr"ximas s-bse1?es ser2o descritos os trs primeiros passos no processo de desen$o!$imento de -m *o#o5 ( passo I , descrito nas se1?es +/I e J5 3$$ Design Bible Assim como n2o , poss4$e! criar -m fi!me sem antes ter -m roteiro bem e!aborado/ tamb,m , imposs4$e! desen$o!$er -m *o#o sem antes ter -m doc-mento com todas as s-as especifica1?es5 Cost-ma c6amarBse a este doc-mento de Design @ible/ 7-e pode ser $isto como -ma esp,cie de man-a! de instr-1?es para os f-t-ros desen$o!$edores do *o#o 9R(L ;I=5 De fato/ t2o importante , este doc-mento/ 7-e o processo de desen$o!$imento n2o pode come1ar sem 7-e esse n2o este*a pronto5 ( Design @ible de$e conter os se#-intes e!ementos descritos abaixo0 Roteiro Cada $e8 mais se asseme!6am a roteiros de fi!mes5 Este , -m item f-ndamenta! para o processo de cria12o e ser o e!emento cr-cia! para con$encer os in$estidores da potencia!idade do prod-to5 D nesse item 7-e o *o#o de$e mostrar se- diferencia! em re!a12o aos o-tros5 C6amamBse aos roteiros de *o#os de roteiros interati$os/ pois diferentemente 7-e os roteiros de fi!mes/ de$em ter espa1o para interferncia do -s-rio no desencadeamento da 6ist"ria5 Ao e!aborar o roteiro de$eBse considerar 7-a! o esti!o do *o#o 7-e ser desen$o!$ido5 Game Design EntendeBse por #ame desi#n a conceit-a12o art4stica do *o#o5 Qo*e em dia/ dada a comp!exidade das 6ist"rias e dos cenrios e!aborados , importante 7-e esta parte do doc-mento se*a escrita por -m artista5 Dentro deste item de$er2o ser expostos 7-ais as principais caracter4sticas dos cenrios/ esbo1os de persona#ens/ descri12o das text-ras f-ndamentais/ mapas e descri1?es das fases &tamb,m denominado de level design)5 ( !i$ro 9CRA ;I= descre$e deta!6adamente como , a e!abora12o deste t"pico5 'a obra de %a!en 9%AL ;I= tamb,m s2o descritos aspectos de game desi#n do pontos de $ista da concep12o e context-a!i8ado no aspecto socio!"#ico5 Ve*a Gi#-ra IN5 Figura 49 Exemplo da conceituao artstica de um personagem e de um cenrio. (extrado do jogo METALmorphosis ) Game Play 'esta parte do doc-mento de$e descre$erBse como ser a *o#abi!idade5 Por *o#abi!idade entendemBse as re#ras do *o#o e o ba!anceamento das re#ras &game balancing)5 'esta descri12o de$e ficar c!aro 7-e o *o#o , di$ertido e ir proporcionar desafios interessantes5 Esta parte do doc-mento , m-ito importante para #-iar os pro#ramadores principa!mente na etapa de scripting5 Interface Grfica PodeBse di$idir a interface em ingame e outgame5 A primeira consiste na instr-menta12o dispon4$e! d-rante o *o#o e , respons$e! pe!a entrada de dados do *o#ador para a ap!ica12o5 A interface outgame , a forma de apresentar a introd-12o do *o#o/ s-a confi#-ra12o/ instr-1?es/ carre#ar -m *o#o sa!$o anteriormente/ entre o-tras opera1?es de s-porte5 Cost-maBse di8er 7-e a me!6or interface , a7-e!a 7-e passa desapercebida para o *o#ador/ permitindo 7-e o mesmo possa focarBse no desenro!ar da 6ist"ria e das a1?es5 Ve*a Gi#-ra J;5 Figura 50 Exemplo do design de uma interface ingame (extrado do jogo METALmorphosis !" erminada a etapa de conceit-a12o/ o desen$o!$imento de -m game di$ideBse em dois camin6os distintos0 o de cria12o art4stica e o de pro#rama12o/ 6a$endo entretanto -ma #rande interse12o entre ambas5 A cria12o art4stica pode ser compreendida na e!abora12o dos resources do *o#o/ o- se*a/ os e!ementos 7-e ser2o -sados para s-a monta#em0 mode!os +D/ text-ras/ terrenos/ sons/ m>sicas e ar7-i$os de confi#-ra12o5 3$#$ Produo de 8udio e %magens #D Antes de abordar os engines propriamente ditos , importante destacar o-tros aspectos tecno!"#icos 7-e s2o -ti!i8ados na prod-12o de -m *o#o -dio e ima#ens <D5 Para prod-12o de -dio existem d-as ferramentas comerciais bastante arro*adas e bem -ti!i8adas profissiona!mente C-base e o %o-ndGor#e 9%(' ;J=5 ( C-base , -sado basicamente para mixa#em de canais 3IDI e o %o-ndGor#e , -sado para prod-12o de tri!6as e efeitos sonoros5 ( %o-ndGor#e , com-mente -sado no cinema/ na te!e$is2o e na prod-12o de $in6etas para o rdio5 ( A-dacitR 9AUD ;J= , -ma ferramenta !i$re 7-e permite a cria12o de -dio/ inc!-si$e combinando diferentes canais de som/ importando e exportando ar7-i$os no formato PAV/ 3P+ e (## Vorbis5 Entretanto n2o poss-i todos os rec-rsos oferecidos pe!o %o-ndGor#e5 'o aspecto de -dio/ a 2penA3 desen$o!$ida pe!a 3o5i Software/ trataBse de -ma a!ternati$a de imp!ementa12o de som bastante interessante/ pois a 2penA3 permite adicionar som +D/ -ma bib!ioteca estr-t-rada na forma de -ma m7-ina de estados 7-e oferece -m con*-nto de primiti$as de mais a!to n4$e! para manip-!a12o de som5 Para incrementar a imersi$idade , f-ndamenta! adicionar a percep12o sonora no game/ entretanto -m m-ndo $irt-a! pode poss-ir m-itas fontes de som dific-!tando a!#-ma pr,Bmixa#em 9%I ;I= e !imitando a 7-antidade de sons ao mximo de canais de som dispon4$eis no sistema &em #era! de CK a KI canais)5 Assim/ o som +D trataBse de -m processo de @renderi8a12oA de -dio/ o- se*a/ a prod-12o de -dio em tempo de exec-12o 9%I ;I=5 (s *o#os +D n2o s2o constr-4dos somente com mode!os tridimensionais/ na prod-12o de -m *o#o tamb,m , necessrio compor ima#ens bidimensionais5 Em #era!/ tais ima#ens ser2o -sadas como text-ras/ mas tamb,m ser2o -sadas para compor a interface #rfica ingame e outgame,tais como/ bot?es/ *ane!as/ barras de ener#ia e o-tros componentes #rficos5 Para prod-8ir estas ima#ens existe -ma s,rie de ferramentas para editora12o #rfica c-*o Adobe P6otos6op , -m dos soft.ares mais tradicionais para desempen6ar ta! ati$idade5 (-tra ferramenta a!ternati$a m-ito comp!eta/ m-ti!p!ataforma e !i$re , o GI3P &!/I #mage <anipulation (rogram) 9GI3 ;J=5 Ve*a Gi#-ra JC5 Figura 51: Interface do GIMP que ilustra as barras flutuantes e a barra de ferramenta para criao e edio de imagens bidimensionais. ( GI3P basicamente fornece as mesmas f-nciona!idades do P6otos6op para efet-ar tratamento de ima#ens5 (ferece -ma s,rie de pinc,is/ permite traba!6ar com in>meras camadas/ con$erte e sa!$a em diferentes formatos de ima#ens &:3P/P'G/EPG/IG/GA/PCO/GIG/ entre o-tros)/ -so de mscaras/ oferece -ma #rande 7-antidade de fi!tros &gaussian/ detec12o de bordas/ distor1?es/ efeitos de !-8/ entre o-tros)/ s-porte a macros e permite adicionar no$as f-nciona!idades &fi!tros e formatos de ar7-i$os) no pro#rama atra$,s de plug)ins desen$o!$idos em C -sando libgimp5 amb,m permite criar no$as extens?es -sando -ma !in#-a#em de scripts %criptBG-/ baseada em %c6eme 7-e e7-i$a!e as macros5 A!,m disso/ permite sa!$ar -ma ima#em como matri8es em ar7-i$os de c"di#o em C/ com extens2o 5c o- 56/ 7-e podem ser inte#rados em s-a ap!ica12o5 a! f-nciona!idade , bastante interessante/ por exemp!o/ a 2pen!3 manip-!a diretamente matri8es com dados/ desta forma criando #rficos no GI3P e depois exportando para C faci!ita a inte#ra12o em ap!ica1?es 7-e -sam 2pen!35 As text-ras s2o -sadas para representar os materiais 7-e comp?em os mode!os +D5 ratamBse de -m bitmap diferenciado 7-e ser rep!icado sob -ma s-perf4cie com o ob*eti$o de representar a!#-m materia!/ tais como meta!/ madeira/ concreto/ p!stico/ o- 7-a!7-er o-tro5 3-itas text-ras s2o prod-8idas foto#rafandoBse o materia! e depois manip-!ando a ima#em di#ita!mente5 a! procedimento a-menta o rea!ismo das ima#ens compostas pe!a text-ra5 At-a!mente com a pop-!ari8a12o das cHmeras di#itais faci!ito-B se o traba!6o de obten12o de materiais para cria12o dessas text-ras mais rea!4sticas5 A se#-ir ser descrito como criar -ma plug)in para prod-8ir -ma text-ra de madeira -sando GI3P 7-e poder ser -sada nos mode!os +D5 ( GI3P poss-i a!#-mas text-ras prontas5 ( GI3P permite criar macros -sando Script)Fu/ -ma !in#-a#em interpretada asseme!6andoBse a sintaxe do LI%P5 (s ar7-i$os podem ser criados em 7-a!7-er editor de texto5 De$em ser sa!$os no diret"rio scripts/ !oca!i8ado no diret"rio $ gimp/9 &sendo O a $ers2o do GI3P) !oca!i8ado no diret"rio do -s-rio/ no caso dos sistemas Unix no diret"rio :ome5 Abaixo est descrito a sintaxe de -m script para criar text-ra de madeira5 (define (script-fu-wood-texture inW inH) (let* ( (theIm (car (imp-imae-new inW inH !"#))) (the$a%er (car (imp-la%er-new theIm inW inH !"#&-I'&"( )la%er*) *++ ,-!'&$-'-.())) ) (imp-imae-add-la%er theIm the$a%er +) (imp-imae-set-acti/e-la%er theIm the$a%er) (imp-palette-set-bac0round 1(234 2++ *23)) (imp-edit-fill the$a%er *) (plu-in-solid-noise * theIm the$a%er * * *+ 5 + +) (plu-in-solid-noise * theIm the$a%er + + *+ 5 6 6) (set7 the8op% (car (imp-la%er-cop% the$a%er +))) (imp-imae-add-la%er theIm the8op% +) (imp-imae-set-acti/e-la%er theIm the8op%) (plu-in-mblur 9!:( theIm the8op% + + 2+ 25+) (imp-desaturate the8op%) (imp-la%er-set-opacit% the8op% ;4) (imp-la%er-set-mode the8op% *+) (plu-in-ede * theIm the8op% <.+ + *) (imp-displa%-new theIm) )) =end define (script-fu-reister )script-fu-wood-texture) >)?9oolbox@ABtnsACcript-DuAEatternsA9extura de madeira...) )8ria uma textura de madeira para ser usada em modelos ;..F !eGuer as dimensoes da imaem.) )Hoao !icardo #ittencourt) )Cob ",: "E$ license) )&pril 26, 2++6) )!"#&) CD-&.H:C9'(,9 >)$arura) 1(I3 * *+++ * *+ + *) CD-&.H:C9'(,9 >)<ura) 1(I3 * *+++ * *+ + *) ) Ap"s o script ser re#istrado no GI3P a no$a f-nciona!idade poder ser -sada em o-tros p!-#Bins5 A!,m do editor #rfico esta capacidade de persona!i8a12o torna o GI3P -ma op12o bastante interessante de ser -sada no desen$o!$imento de *o#os/ pois se o artista e o desen$o!$edor dese*am -m determinado $is-a! #rfico ao in$,s de se preoc-parem na cria12o de -ma ferramenta de edi12o #rfica/ proc-ram criar -m script 7-e possa ser inte#rado na ar7-itet-ra do GI3P5 Assim/ o foco , para o efeito e n2o para estr-t-ra de soft.are comp!ementar5 3$3$ ;odelagem 3D A e7-ipe de mode!a#em +D ser respons$e! por criar os ob*etos #eom,tricos das fases5 A #eometria de -m *o#o pode ser di$idida em dois tipos0 mode!a#em estr-t-ra! e mode!a#em de e!ementos dinHmicos5 Esta diferencia12o existe pe!o fato de 7-e os mode!os estr-t-rais/ por n2o sofrerem a!tera12o de posi12o/ sofrer2o -m pr,B processamento/ de maneira a otimi8ar o processo de renderi8a12o/ como ser apresentado na sess2o +5 A mode!a#em estr-t-ra! consistir basicamente na cria12o do cenrio em si/ o terreno e a!#-ns o-tros e!ementos estticos5 Para esta etapa os principais soft.ares -ti!i8ados s2o o Discreet +D% 3AO 9DI% ;J=/ 3AXA 9ALI ;J=/ A$id %oftima#e 9AVI ;J= e Li#t6.a$e 9'EP ;J=/ pois fornecem rec-rsos a$an1ados tornandoBos "timos para este processo5 ais rec-rsos est2o descritos abaixo0 Ferramentas de modelagem baseadas em polgonos: oda a mode!a#em de$er ser feita por po!4#onos5 Assim sendo/ , importante 7-e 6a*a -ma fci! e int-iti$a forma de manip-!B!osT Ferramentas intuitias para te!turi"a#$o: Grande parte da ri7-e8a de -ma mode!a#em est na boa ap!ica12o de text-ras sobre os mode!os5 D com-m/ por exemp!o/ ter 7-e ap!icar -m mapeamento de text-ras em po!4#onos indi$id-aisT Boas ferramentas para otimi"a#$o de polgonos: D com-m d-rante o processo de mode!a#em criar ob*etos com mais po!4#onos do 7-e se pode s-portar no *o#o5 Assim sendo/ , importante 7-e -m pacote de mode!a#em forne1a rec-rsos para red-8ir o n>mero de po!4#onos de ob*etos/ minimi8ando a s-a perda de 7-a!idadeT Boa interface de isuali"a#$o: Para o artista , importante 7-e a medida 7-e -m ob*eto se*a constr-4do/ possa acompan6ar este processo em tempo rea!/ sabendo a priori como o mesmo ser $isto no *o#o5 Ve*a Gi#-ra J<5 Figura 5# As interfaces what you see is what you play permite $ue o artista possa %er em tempo real& na interface do soft'are de modelagem& como seus modelos ficar(o na renderi)a*(o final do jogo" +magens extradas do Avid Softimage XSI . 'este processo/ -ma $irt-de importante 7-e os artistas de$em ter , a de serem capa8es de mode!ar ob*etos com o menor n>mero de po!4#onos poss4$e! &Gi#-ra J+)5 (timi8andoBse a mode!a#em/ ser poss4$e! 7-e o cenrio possa ser mais extenso e 7-e mais ob*etos possam ser inseridos no mesmo5 Figura 53 Um mesmo modelo est representado em duas resolues diferentes de polgonos. Perceba-se que o resultado final bastante semelhante, embora o avio da direita possua 15 vezes mais polgonos que o da esquerda. A!,m de tais ferramentas/ -ma a!ternati$a !i$re e #rat-ita , o @lender3D 9:LE ;J=5 rataBse de -m soft.are #rfico comp!eto 7-e oferece f-nciona!idades de mode!a#em/ anima12o/ renderi8a12o/ p"sBprod-12o e cria12o +D5 %-a principa! des$anta#em , s-a interface #rfica 7-e n2o , fci! de ser -ti!i8ada/ sendo po-co int-iti$a &Gi#-ra JI)5 ( :!ender+D s-porta importa12o e exporta12o de diferentes formatos inc!-indo +D%/ Ca!+D/ 3DL/ (:E/ VR3L/ DirectO/ entre o-tros5 Atra$,s da cria12o de scripts em PRt6on , poss4$e! desen$o!$er no$os plug)ins estendendo as f-nciona!idade bsicas da ferramenta5 ( script <a5e9uman &Gi#-ra JJ) , -m exemp!o de plug)in !i$re desen$o!$ido para o :!ender+D $isando a mode!a#em de persona#ens 6-man"ides5 Inc!-si$e o :!ender+D pode ser -sado como en#ine de *o#os comp-tadori8ados/ oferecendo tratamento de co!is2o/ s-porte a -dio e a 2pen!3/ e permite 7-e a !"#ica do *o#o se*a pro#ramada em (ython5 Figura 54: Algumas screenshots do Blender3D que ilustram a capacidade de editor para modelagem e animao 3D. Figura 55: Screenshot do MakeHuman, script desenvolvido para o Blender3D para modelagem de personagens humanides. 3$3$$ <errenos (s terrenos tamb,m s2o con6ecidos como height maps e consistem em ima#ens com di$ersas tona!idades de cin8as5 (s pixels esc-ros corresponder2o a reas baixas do terreno e os c!aros a partes mais a!tas5 Assim sendo/ e!aborar -m terreno res-meBse a criar -m mapa de a!t-ra ade7-ado para o cenrio5 Este mapa de a!t-ra pode ser pintado man-a!mente/ -sando a!#-m soft.are de edi12o de ima#em5 Entretanto/ para re!e$os mais comp!exos existem in>meras ferramentas capa8es de #erar mapas mais deta!6ados/ bem como editB!os de forma mais int-iti$a5 A!,m de #erar os mapas de a!t-ra/ estes soft.ares s2o capa8es de #erar s-as text-ras correspondentes5 A!#-mas das ferramentas mais -ti!i8adas s2o o Core! :rRce 9DA% ;J=/ V-eDYEspirit 9E(' ;J=/ erra#en 9ER ;J= e 3o*o Pord Generator 9PA' ;J=5 Ve*a Gi#-ra JK5 7orel @ryce Terragen BueDJ"spirit <oo >orld !enerator Figura 5, -oft'ares utili)ados para criar height maps e suas correspondentes texturas" Posteriormente/ estes mapas de a!t-ra ser2o pro*etados sobre ma!6as re#-!ares de po!4#onos5 Dependendo do en#ine/ isto ser feito na ferramenta de mode!a#em +D o- no editor espec4fico do en#ine5 Ve*a Gi#-ra JL5 Figura 57 Um mapa de altura aplicado sobre uma malha de polgonos regulares, formando um terreno 3D. Este processo pode ser efetuado no engine ou no software de modelagem 3D. -$ Engines Um motor de -m carro , respons$e! por fa8B!o andar5 Ao dar a i#ni12o do $e4c-!o/ o motorista co!oca o motor em f-ncionamento e come1a a mo$erBse com e!e/ sem precisar saber como f-nciona todo o processo mecHnico5 A transferncia do mo$imento dos eixos para as rodas/ a sincroni8a12o das exp!os?es dos pist?es/ a in*e12o de comb-st4$e! na cHmara de comb-st2o/ t-do fica a car#o do motor5 Um en#ine para *o#os basicamente se#-e o mesmo princ4pio de f-ncionamento5 Dentro do conceito de en#en6aria de soft.are trataBse da parte do pro*eto 7-e exec-ta certas f-nciona!idades para -m pro#rama5 Dentro da rea de *o#os/ -m engine se encarre#ar por entenderBse com o 6ard.are #rfico/ ir contro!ar os mode!os para serem renderi8ados/ tratar das entradas de dados do *o#ador/ tratar de todo o processamento de baixo n4$e! e o-tras coisas 7-e o desen$o!$edor de *o#os norma!mente n2o dese*a fa8er o- n2o tem tempo para se preoc-par5 Existem in>meras defini1?es para -m engine5 Entretanto/ estas defini1?es con$er#em em a!#-mas caracter4sticas0 Permitir 7-e o desen$o!$edor possa criar di$ersos *o#os diferentes/ -sando -m mesmo engine5 D com-m/ entretanto/ 7-e os engines se*am cata!o#ados de acordo com os tipos de *o#os para os 7-ais e!es foram concebidos 9E:E ;;=T Poder reapro$eitar com faci!idade o c"di#o desen$o!$ido em pro*etos anterioresT Abstrair a manip-!a12o de APIs &embora/ em m-itos casos/ o desen$o!$edor ir -sar as pr"prias APIs dentro do ambiente do en#ine/ para imp!ementar f-nciona!idades espec4ficas)T Possibi!itar -ma fci! inte#ra12o entre c"di#o e mode!a#em +D5 Para esta fina!idade , com-m 7-e os en#ines apresentem editores de cenas5 Desen$o!$er -m engine , -ma rea comp!exa/ rep!eta de desafios5 Entretanto/ o ob*eti$o deste doc-mento n2o , ensinar a imp!ementar -m engine/ mas sim entendB!os e saber -ti!i8B!os5 Figura 58 Exemplo de level editors pertencentes a diversos engines comerciais. 'orma!mente/ -m engine , composto por di$ersas ferramentas/ cada -ma respons$e! por a!#-ma etapa do processo de cria12o de -m *o#o5 (s componentes mais com-ns 9ZER ;I= de se encontrar em engines s2o os se#-intes0 %ngine &ore: Consiste no @cora12o do engineA5 Este ser -m pro#rama 7-e exec-tar a ap!ica12o do *o#o/ manip-!ar a fase e os ob*etos/ renderi8ar as cenas/ etc5 Ga8endoBse -ma #rossa ana!o#ia/ podeBse di8er 7-e o engine core , o sistema operaciona! do *o#oT %ngine 'D(: D o c"di#o fonte do engine core5 Atra$,s de!e podeBse a!terar o f-ncionamento do engine5 'orma!mente este componente , o mais prote#ido e para conse#-4B!o/ no caso de engines comerciais/ ser necessrio comprar o pacote 7-e a empresa oferece5 D poss4$e! criar *o#os sem o %D[ de -m engine/ entretanto/ os tipos de ap!ica1?es poss4$eis de serem desen$o!$idos ser2o m-ito mais restritos5 )eel %ditors: Atra$,s deste componente ser poss4$e! -nificar mode!a#ens feitas em di$ersos pro#ramas/ associB!os W pro#rama12o/ inserir c"di#os em scripts/ etc5 Em m-itos casos/ dentro destes editores , poss4$e! tamb,m criar mode!os +D5 Ve*a Gi#-ra JM5 &onersores*%!portadores: (s resources ser2o norma!mente feitos em di$ersos soft.ares comerciais/ como se apresento- no cap4t-!o <5 3ais ainda0 n-ma e7-ipe de desen$o!$imento #rande cada artista poder criar os e!ementos no pro#rama de s-a preferncia5 Assim sendo/ os engines de$er2o fornecer instr-mentos para importar estes mode!os para o formato espec4fico do engine5 Estes con$ersores poder2o ser plug)ins insta!ados nos pro#ramas de mode!a#em +D o- podem estar inc!-4dos no level editorH Builders: Como ser disc-tido a!#-mas opera1?es pr,Bprocessamentos sobre os ob*etos &tais como o :%P/ lightmaps/ portais/ PV%/ etc5) precisam feitas5 Desta maneira/ -m engine fornecer as ferramentas para rea!i8ar estes pr,B processamentos5 D com-m 7-e este*am dentro do level editorH )inguagens 'cript: Grande parte do desen$o!$imento da !"#ica do *o#o e da Inte!i#ncia Artificia! dos e!ementos dinHmicos ser imp!ementada sobre scripts e n2o diretamente sobre o engine core5 Assim/ cada engine poss-ir s-a !in#-a#em de pro#rama12o script/ sendo com-m -sar !in#-a#ens com-ns/ tais como .avaScript/ (ython e LUA5 PodeBse afirmar 7-e -m engine na rea!idade , composto por di$ersos @sub) enginesA/ sendo cada -m respons$e! por tratar -m tipo de prob!ema en$o!$ido em *o#os5 (s principais componentes s2o de renderi8a12o/ de f4sica/ de som e de Inte!i#ncia Artificia!5 'as pr"ximas s-bse1?es cada -m desses componentes ser2o deta!6ados5 -$$Engine de !enderizao =ou engine 3D> Figura 5. Etapas mais importantes do pipeline grfico" ( engine +D ser respons$e! basicamente pe!o pipeline gr-fico &Gi#-ra JN)/ 7-e , o processo de #erar ima#ens <D partindo de mode!os +D &fi#-ra M)5 Este processo , di$idido em di$ersas etapas 9LA3 ;+=/ sendo as mais importantes0 +ransforma#,es -D: 'esta etapa ap!icaBse o mo$imento aos mode!os +D5 Este mo$imento consiste no se#-inte0 a cada passo do *o#o -ma matri8 ir ac-m-!ando o res-!tado de todos os mo$imentos 7-e o ob*eto sofre- ao !on#o de se- 6ist"rico5 Antes de $is-a!i8ar a cena/ ser ap!icada esta matri8 sobre cada $,rtice 7-e o comp?em/ posicionandoBo no !oca! 7-e !6e corresponde na7-e!e instanteT Pro.e#$o -D / 0D: (s $,rtices 7-e comp?em o ob*eto s2o coordenadas +D/ por,m a ima#em do mode!o de$er ser desen6ada n-ma s-perf4cie bidimensiona! &te!a do comp-tador)5 'esta etapa/ os $,rtices do mode!o ser2o pro*etados sobre o p!ano de pro*e12o da cHmera5 D com-m encontrar esta etapa do pipeline *-nto com a etapa de transforma1?es +D/ pois em >!tima instHncia rea!i8ar esta pro*e12o consiste n-ma ap!ica12o de matri8 de transforma12o tamb,mT &ulling: Existem in>meras formas de otimi8ar o processamento #rfico de -m *o#o5 Uma destas consiste nos m,todos de c-!!in# &C-!! em in#!s si#nifica \ref-#o/ esco!6er/ se!ecionar de dentro de -m #r-po\)5 Assim/ o 7-e as t,cnicas de culling ter2o de fa8er , saber esco!6er po!4#onos ade7-adamente/ de forma 7-e n-ma determinada sit-a12o/ este*am presentes apenas a7-e!es 7-e rea!mente importam para a $is-a!i8a12o a partir do ponto em 7-e a cHmera se encontra5 PodeBse pensar tamb,m da se#-inte forma0 7-ais dos po!4#onos de -ma cena de$er2o ser en$iados para o pipeline da p!aca #rfica] (b$iamente n2o se dese*a en$iar a!#-m 7-e n2o ter nen6-ma inf!-ncia na $is-a!i8a12o/ mas at, 7-e ponto , simp!es rea!i8ar esta esco!6a/ de forma rpida5 Existem m-itos a!#oritmos 7-e far2o este tipo de esco!6a5 Em m-itos casos a eficincia deste procedimento estar atre!ada ao tipo de a#r-pamento e ordem de po!4#onos &-m terreno poss-i -ma distrib-i12o de po!4#onos comp!etamente diferente de 7-e -m persona#em o- do 7-e -m !abirinto)5 ( culling pode ser feito em 7-a!7-er est#io do pipeline #rfico5 Entretanto/ , prefer4$e! e!iminar os po!4#onos 7-e n2o interessam o 7-anto antes para e$itar processamento desnecessrio sob po!4#onos 7-e f-t-ramente poder2o ser e!iminados5 Va!e a pena ressa!tar 7-e -m m,todo de culling n2o an-!a o-tro0 podemBse ter os efeitos somados em m-itos casosT &lipping: Ao pro*etar po!4#onos sobre o p!ano de pro*e12o da cHmera/ a!#-ns po!4#onos cair2o tota!mente dentro da rea da te!a e o-tros cair2o parcia!mente dentro/ o- se*a/ apenas -ma parte do po!4#ono estar na te!a de pro*e12o5 Para estes po!4#onos , necessrio rea!i8ar o clipping &recorte)/ 7-e consiste em criar no$as arestas e $,rticesT Rasteri"a#$o 1ilumina#$o e te!turi"a#$o2: Gina!mente/ a >!tima etapa do processo de renderi8a12o consiste em preenc6er os po!4#onos ade7-adamente/ ap!icando o materia! com o 7-a! est2o definidos5 Inicia!mente poderiaBse pensar em fa8er este processo atra$,s de -m c!c-!o de i!-mina12o para cada -m dos pixe!s &per pixel) do interior de -m po!4#ono5 Entretanto isto seria demasiadamente caro em termos comp-tacionais5 Para $iabi!i8ar este processo rea!i8aBse -ma interpo!a12o &rasteri8a12o) entre a cor de cada -m dos $,rtices 7-e comp?em o po!4#ono5 Desta forma/ o c!c-!o de i!-mina12o , feito apenas para cada $,rtice &per vertex) $is4$e! da ma!6a5 Esta rasteri8a12o tamb,m poderia demandar bastante tempo de processamento/ pois apesar de ser a!#o simp!es de ser feito/ existem pixe!s n-ma te!a5 Entretanto/ este processo , rea!i8ado por -m 6ard.are espec4fico para esta tarefa/ 7-e , a p!aca #rfica/ o- GPU !raphic (rocessor Init5 Existem -ma s,rie de efeitos de i!-mina12o &blur/ bumpBmapping/ espec-!aridade) 7-e n2o podem ser ap!icados rea!i8andoBse -ma rasteri8a12o como foi exp!icada anteriormente5 Isto por7-e para estes efeitos , necessrio rea!i8ar -m c!c-!o de i!-mina12o per pixel e n2o per vertex5 Para so!-cionar este tipo de prob!ema/ as p!acas #rficas mais modernas poss-em a capacidade de s-portar pixel shaders &Gi#-ra K;)/ 7-e s2o pe7-enos pro#ramas 7-e s2o exec-tados para cada pixe! 7-e ser p!otado na te!a5 Para maiores informa1?es sobre esta tecno!o#ia/ $er 9%L ;I=5 Figura ,0 +magens geradas em tempo real utili)ando pixel shaders" -$#$ Engine de ?1sica Grande parte da interati$idade de -m *o#o se de$e ao f-ncionamento de a!#-mas !eis da f4sica sobre o m-ndo $irt-a! criado5 Assim/ ao andar sobre -m !abirinto e bater n-ma parede o *o#ador n2o pode atra$essB!aT ao dar -m p-!o/ o *o#ador de$e co!idir com o c62o e n2o contin-ar caindo para sempreT ao ace!erar -m carro/ s-a $e!ocidade de$er ir crescendo #rad-a!mente e n2o abr-ptamente5 (s c!c-!os de f4sica bsicos n-m *o#o s2o0 &olis$o: (b*etos +D de$em co!idir com o-tros5 Esta co!is2o n2o , tri$ia! de ser rea!i8ada para -m m-ndo $irt-a! como , para o m-ndo rea!/ * 7-e em >!tima instHncia corresponderia em $erificar se cada -m dos po!4#onos de -m determinado ob*eto poss-i interse12o com cada -m dos po!4#onos do restante da cena5 Existem in>meras formas de otimi8ar estes c!c-!os &$er 9E:E ;+=)/ sendo a mais com-m a t,cnica de bounding)boxes/ 7-e consiste em en#!obar cada ob*eto por -ma caixa e ca!c-!ar a co!is2o para a caixa e n2o para a ma!6a comp!eta do ob*etoT Resultante de for#as: (s ob*etos se mo$imentam n-m m-ndo rea! de$ido a ap!ica12o de di$ersas for1as sobre o mesmo5 '-m ambiente $irt-a! ser necessrio sim-!ar a ap!ica12o de for1as de di$ersas nat-re8as sobre os ob*etos/ ca!c-!ando a res-!tante a cada instante para $erificar como ser o se- mo$imento5 Para mais deta!6es/ $er 9:ER ;+=5 A 2pen Dynamics "ngine &(DE) , -ma bib!ioteca !i$re para sim-!a12o de dinHmica de corpos r4#idos/ inc!-indo $e4c-!os/ ambientes de rea!idade $irt-a! e criat-ras5 D desen$o!$ida em C^^ e pode ser faci!mente inte#rada com -ma en#ine/ assim permitindo ser re-sada faci!mente5 Para -ti!i8ar basta inc!-ir a bib!ioteca no engine do *o#o e -ti!i8ar as f-n1?es oferecidas por essa5 amb,m , poss4$e! -sar partes do c"di#o para desen$o!$er -ma engine persona!i8ada5 D poss4$e! especificar -m m-ndo com propriedades f4sicas com se-s de$idos ob*etos e a cada cic!o de at-a!i8a12o do *o#o todas as for1as f4sicas s2o ap!icadas sob tais ob*etos considerando o tratamento de co!is?es5 A pr"pria G!R+D 9GLX ;J=/ -m en#ine naciona! adota a (DE5 (-tro exemp!o de -so da (DE , o plug)in para o +D %t-dio c6amado (rnatrix 7-e permite renderi8ar cabe!os5 odo o mode!o f4sico , baseado nesta bib!ioteca5 (-tra a!ternati$a , o pro*eto de c"di#oBaberto denominado (DG &2pen Dynamics Framewor5) 9(DG ;J= c-*o ob*eti$o , criar sim-!a1?es f4sicas em game engine5 Entretanto o (DG exec-ta somente a p!ataforma Pindo.s/ pois -ti!i8a o DirectO5 -$3$ Engine de @om Este componente do en#ine permitir o contro!e sobre os ar7-i$os de som da bib!ioteca de rec-rsos do *o#o5 'orma!mente -ti!i8ar a!#-ma API ade7-ada para manip-!ar este tipo de ar7-i$os/ ta! como o Direct%o-nd o- o (penAL5 A!,m de permitir abrir e tocar estes ar7-i$os/ os en#ines de som permitir2o -m contro!e de som posiciona!/ permitindo 7-e ob*etos da cena emitam sons e estes se comportem conforme o posicionamento do ob*eto na cena5 -$-$ Engine de %nteligAncia (rti.icial EntendeBse por Inte!i#ncia Artificia! &IA) para *o#os/ os pro#ramas 7-e descre$er2o o comportamento de entidades n2o contro!adas pe!o *o#ador/ tipicamente os 'PCs &/on) (layer 7haracters)5 'a maioria dos casos/ o comportamento inte!i#ente desses a#entes comp-tacionais , imp!ementado atra$,s de m7-inas de estados5 (s a!#oritmos de m7-inas de estados proc-ram reso!$er prob!emas forma!i8ando di$ersos poss4$eis estados em 7-e -m e!emento pode se encontrar &no caso de -ma te!e$is2o/ por exemp!o/ poderiaBse ter estes estados0 Des!i#ada/ Acesa e Stand)by)5 A transi12o de -m estado para o-tro estar atre!ado a a!#-m e$ento 7-e dispare esta m-dan1a &no exemp!o anterior/ ao apertar a tec!a _on` a V m-da do estado de des!i#ada para Stand)by)5 Desta maneira/ a inte!i#ncia de -m persona#em de -m *o#o pode ser descrita por di$ersos estados em 7-e o mesmo pode se encontrar &no caso de -m *o#o de a12o/ poder4amos descre$er estes estados como espera/ perse#-i12o/ ata7-e/ f-#a/ morte/ por exemp!o)5 Este persona#em de$er fa8er -m monitoramento constante sobre acontecimentos 7-e possam disparar a m-dan1a de -m estado para o-tro5 Usando o exemp!o de -m *o#o de a12o/ s-pon6aBse 7-e o fato do *o#ador aproximarBse mais do 7-e +;m do 'PC fa1a com 7-e o mesmo passe do estado de espera para o estado de perse#-i12o5 Ve*a a fi#-ra KC5 Entretanto , percept4$e! 7-e ocorreram #randes ino$a1?es do ponto de $ista #rfico/ mas aspectos inte!i#entes das entidades comp-tacionais n2o foram sofisticados com a mesma $e!ocidade5 3-itas $e8es -m *o#o sofisticado #raficamente apresenta -ma IA mediana5 Isto ocorre principa!mente pe!o fato do c-sto comp-taciona! 7-e os a!#oritmos inte!i#entes e de processamento #rfico poss-em5 Conforme %e.a!d 9%EP ;<=/ t,cnicas de IA tais como Redes 'e-ronais Artificiais e A!#oritmos Gen,ticos s2o po-co -ti!i8adas5 Figura 61 Exemplo de uma mquina de estados tpica para um jogo de ao. Um exemp!o de tool5it para o desen$o!$imento de a#entes inte!i#entes , o DirectIA 9DIR ;J=5 rataBse de -ma so!-12o comercia! #en,rica 7-e permite desen$o!$er a#entes adaptati$os 7-e aprendem atra$,s do contato com o ambiente e com -s-rio5 (ferece -ma s,rie de m"d-!os de Emo12o Artificia!/ p!ane*amento/ com-nica12o e Aprendi8ado de 37-inas5 D importante destacar 7-e ferramentas de s-porte para cria12o da IA de games ainda , -ma rea deficitria5 -$5$ ( Escol:a do Engine Existe -ma #rande 7-antidade de engines5 Em Isaco$ic 9I%A ;J= 6 -ma exce!ente !ista de referncias sobre os principais e mais comp!etos5 Como esco!6er o engine ade7-ado para desen$o!$er -m *o#o] Existem di$ersos fatores 7-e de$em ser considerados0 3r#amento disponel: Existem engines 7-e c-stam UU C;;/;; e o-tros 7-e -!trapassam UU C mi!62o5 (s mais caros/ a!,m de poss-4rem todos rec-rsos 7-e -m engine , capa8 de ter/ norma!mente s2o pro#ramas 7-e poss-em -ma exce!ente e7-ipe de apoio/ 7-e ir acompan6ar a empresa desen$o!$edora do in4cio ao fim da s-a prod-12o5 Este acompan6amento consistir em desen$o!$er plug)ins espec4ficos/ adaptar f-nciona!idades do engine para as necessidades espec4ficas e at, dar treinamento para os pro#ramadoresT +ipo de .ogo a ser desenolido: Apesar de existirem engines 7-e s2o capa8es de constr-ir tipos bastante diferente de *o#os/ a maioria ter -ma s,rie de caracter4sticas 7-e fa$orecem para o desen$o!$imento de -m tipo espec4fico de *o#o5 Por exemp!o/ o Gua5e "ngine permite desen$o!$er *o#os no esti!o GP% &First (erson Shooter)5 4ilestones: ( tempo 7-e se poss-i para prod-8ir -m *o#o inf!-encia m-ito na esco!6a do engine5 A!#-ns engines permitem 7-e -m *o#o se*a feito em po-cos dias/ mas imp!icar n-ma s,rie de so!-1?es padr?es/ 7-e o tornam seme!6ante a m-itos o-tros *o#os prod-8idos com a7-e!e mesmo engineT Plataforma: Um *o#o pode ser desen$o!$ido para di$ersas p!ataformas/ tais como PC/ 4)@ox/ !ame7ube/ (layStation/ <ac2S/ entre o-tras5 D f-ndamenta! 7-e o engine esco!6ido s-porte a p!ataforma para a 7-a! se est desen$o!$endo5 (s engines mais caros norma!mente s2o capa8es de prod-8ir *o#os para di$ersas p!ataformasT Documenta#$o oferecida: ( desen$o!$edor de *o#os de$er/ antes de adotar -m en#ine/ $erificar como , a doc-menta12o do mesmo5 %em -ma doc-menta12o eficiente/ difici!mente o pro#ramador ser capa8 de -ti!i8ar ade7-adamente os rec-rsos oferecidos pe!o engineT Ferramentas disponeis: Cada engine poss-ir con$ersores e exportadores/ 7-e permitir2o 7-e se*am -ti!i8ados o-tros pro#ramas para pro#ramar se- %D[ o- para mode!ar os ob*etos +D5 D f-ndamenta! 7-e o desen$o!$edor ana!ise 7-ais as ferramentas com as 7-ais se pode prod-8ir os para o engine em 7-est2o &se a e7-ipe de mode!adores con6ece apenas o 3AXA/ , con$eniente 7-e o engine a ser adotado s-porte o 3AXA para os mode!os +D)5 (-tro ponto 7-e precisa ser destacado , 7-e percebeBse na maioria dos desen$o!$edores a preoc-pa12o em centra!i8ar todo o processo de cria12o do engine dentro das or#ani8a1?es5 a! atit-de acaba ocasionando -ma #rande 7-antidade de reescrita de c"di#o 9R(L ;I=5 Certamente 7-e este comportamento , indese*ado por7-e representa -m maior c-sto de desen$o!$imento e preoc-pa12o com caracter4sticas 7-e * foram amp!amente imp!ementadas5 Ao in$,s das so!-1?es serem recriadas constantemente/ seria mais interessante efet-ar -m reapro$eitamento de componentes * pre$iamente desen$o!$idos5 Para Ro!!in#s a 3orris 9R(L ;I=/ W medida 7-e a comp!exidade dos *o#os incrementa n2o ser poss4$e! 7-e o time interno de desen$o!$edores prod-8a toda a codifica12o de todos os componentes dentro de -m pra8o 6bi!5 Portanto/ a partir desta constata12o , poss4$e! afirmar 7-e #radati$amente a componenti8a12o come1ar a tornarBse mais com-m entre os desen$o!$edores5 A!,m do setor ind-stria! percebeBse esta c-!t-ra no meio acadmico5 PerdeBse tempo e incrementaBse c-stos em conse7Sncia do n2o reapro$eitamento de so!-1?es existentes5 5$ %ntroduo ao 3D Game @tudio ( 3D !ame Studio &Gi#-ra K<) 9+DG ;J= , -m engine de a!to n4$e! de abstra12o/ isto ,/ possibi!ita 7-e o desen$o!$imento de -m game se*a rea!i8ado sem a necessidade de #randes con6ecimentos de pro#rama12o o- con6ecimento de a!#oritmos espec4ficos5 Por -m !ado a prod-12o se torna simp!es e rpida/ mas por o-tro !ado as possibi!idades s2o !imitadas e as interfaces #rficas dos *o#os ter2o !i#eira seme!6an1a entre si5 ( c-sto do en#ine/ a $ers2o extra/ , UUMN/;;/ mas permite prod-8ir *o#os sem nen6-m marca d b#-a/ entretanto n2o oferece s-porte aos *o#os multiplayers/ sim-!a12o f4sica e shaders/ por exemp!o5 A $ers2o profissiona! c-sta UUMNN/;;/ mas sem nen6-ma restri12o5 Exec-t$e! somente na p!ataforma 3icrosoft Pindo.s5 Uma caracter4stica bastante importante do en#ine , o fato de ser extens4$e! -sando -ma DLL &Dynamic 3in5 3ibrary) Figura 62 Alguns nveis de jogos feitos no 3D Game Studio ( en#ine , composto basicamente por < m"d-!os0 4odel %ditor: respons$e! sobret-do pe!a cria12o e anima12o de mode!os dinHmicos e de terrenosT )eel %ditor: para e!aborar -ma fase por comp!eto5 Para se criar -m *o#o no 3D !ame Studio , necessrio/ a!,m de con6ecer estas d-as ferramentas/ con6ecer tamb,m a !in#-a#em script &PDL)/ 7-e permite criar a !"#ica do *o#o e a IA &Inte!i#ncia Artificia!) de a!#-ns e!ementos5 Q di$ersos tipos de e!ementos/ importantes de serem distin#-idos0 3b.etos %stticos0 Corresponder a toda a #eometria 7-e ser co!ocada na :%P e 7-e ser pr,Bprocessada pe!o engine5 Estes ob*etos n2o poder2o ter nen6-ma transforma12o d-rante o *o#o5 Consistem em #era! das paredes/ de ob*etos decorati$os/ tais como co!-nas e $i#as/ acess"rios 7-e n2o sofrer2o a!tera12o5 (s ob*etos pr,Bfabricados e os b!ocos s2o os tipos de e!ementos estticos mais com-ns5 c-anto mais ob*etos p-derem ser co!ocados dentro desta cate#oria/ me!6or para a performance do *o#oT ( formato destes ob*etos , P3PT 3b.etos Din5micos: Correspondem a mode!os 7-e poder2o sofrer a!tera1?es d-rante o *o#o/ tais como 'PCs/ o player/ armas/ power)ups/ etc5 Estes mode!os podem estar animados e podem em #era! ser mode!ados atra$,s de ferramentas terceiras/ tais como o +D% 3AO/ 3AXA/ r-e%pace/ etc5 ( formato dos ob*etos dinHmicos , P3: o- 3DL5 Apenas estes ob*etos ter2o a propriedade behavior/ 7-e consiste na a12o 7-e ir efet-ar d-rante o *o#oT +errenos: Apesar de serem estticos/ poss-em -m tratamento de otimi8a12o especia! e portanto correspondem a ob*etos a parte5 ( formato de -m terreno , Q3P e apenas pode ser criado no <odel "ditorT 'prites: (s sprites s2o e!ementos estticos/ mas constantemente s2o at-a!i8ados para 7-e a s-a norma! este*a apontando para o player5 (s sprites consistem na #eometria mais simp!es de -m *o#o/ -ma $e8 7-e s2o apenas -m p!ano com -ma text-ra5 (s sprites podem ser do formato PCO/ GA o- :3P5 5$$ )eel %ditor ( 3evel "ditor , o principa! m"d-!o do 3D !ame Studio5 D ne!e 7-e ser2o inseridos os e!ementos estticos/ os dinHmicos/ terrenos/ !-8es/ sprites/ c;meras5 amb,m , ne!e 7-e se far a associa12o de pro#ramas feitos em PDL com os mode!os +D5 A!,m de t-do isto/ , neste m"d-!o 7-e ser #erada a :%P/ os light maps/ PV% e demais componentes 7-e permitir2o 7-e o *o#o se*a exec-tado5 'a Gi#-ra K+ podeBse $er 7-e a te!a do 3evel "ditor est di$idida em + partes0 C drea de traba!6o0 Esta re#i2o permite $er a #eometria da cena5 Estas $is?es podem ser orto#onais &sem deforma12o perspecti$a) o- perspecti$as/ dadas pe!a $is2o de camera5 'orma!mente se operar com a $is2o orto#ona! de topo/ !ado e frente e com a $is2o perspecti$a da camera +D5 Para inserir -ma no$a $ista/ basta c!icar no men- ie67Add 8ie65 Para a $is2o de camera podeBse optar pe!o modo de $is-a!i8a12o0 8ie6 7 9ire Frame permite $er a mode!a#em em formato de arestas e $,rtices/ 8ie6 7 'olid permite $er a mode!a#em com os po!4#onos preenc6idos e 8ie6 7 +e!tured permite $er a mode!a#em com as text-ras ap!icadas5 'orma!mente este >!timo modo , o mais con$eniente de se -sar/ pois permitir 7-e se ten6a -ma id,ia mais pr"xima do res-!tado fina!5 Com o bot2o da direita do mouse pode rea!i8arBse a opera12o de (A// 7-e consiste em mo$er a rea 7-e se esta mostrando na re#i2o5 A opera12o de (A/ ocorre sim-!taneamente em todas as $istas orto#onais/ mas separadamente na $is2o de camera5 Para se rea!i8ar -m K22< sobre -ma re#i2o/ podeBse -sar o <ouse wheel o- c!icar no 4cone de !-pa5 %obre a $is2o de camera , poss4$e! tamb,m rea!i8ar -ma opera12o de 2:@#T/ 7-e consiste em #irar a camera ao redor de se- a!$o5 Isto pode ser feito atra$,s do 4cone de -m o!6o $erde com -ma f!ec6a em formato de arco5 < Lrea de (roetoM 'esta se12o manip-!aBse os di$ersos rec-rsos 7-e se encontram presentes no cenrio5 3b.ect refereBse a todos os ob*etos presentes no cenrio/ 8ie6s re!aciona todas as $istas arma8enadas &isto , feito c!icandoBse na pasta com o bot2o direito do mo-se e esco!6endo a op12o Add Biew Settings/ 7-e #ra$ar as confi#-ra1?es das $istas n-m item mostrado dentro desta pasta)/ +e!ture indica todas as bib!iotecas de text-ras dispon4$eis/ bem como as ima#ens de cada bib!ioteca e Resources indica todos os e!ementos 7-e est2o sendo -sados/ tais como sons/ scripts/ mapas/ etc/ Ao dar -m double)clic5 sobre -m dos rec-rsos/ ser aberto o ar7-i$o pe!o pro#rama @!incadoA ao se- tipo5 + <enu e Toolbar0 'esta rea se encotram as f-nciona!idades e comandos do 3evel "ditor5 Figura 63: Tela do Level Editor do 3D Game Studio 5$$$ ;odos de ;anipulao Apenas -m modo de manip-!a12o pode estar acionado de cada $e85 Estes modos podem ser0 B %e!ecionar &bot2o com -m dedo)0 permitir se!ecionar -m determinado ob*eto o- #r-po5 Para se!ecionar basta c!icar sobre o ob*eto o- tra1ar -m retHn#-!o com o mouse/ fa8endo com 7-e todos os ob*etos 7-e este*am dentro se*am se!ecionados5 Um ob*eto se!ecionado aparecer em $erme!6o/ en7-anto os n2o se!ecionados aparecem em branco5 B 3o$er &bot2o com -ma f!ec6a sobre -m c-bo)0 Permitir mo$er -m determinado ob*eto o- #r-po !i$remente5T B Rotacionar &bot2o com -m arco sobre -m c-bo)0 Permitir rotacionar -m determinado ob*eto sobre o eixo perpendic-!ar a $ista em 7-e se rea!i8a a opera12oT B Esca!ar &bot2o com setas em cr-8 sobre -m c-bo)0 Ir a!terar a esca!a de -m ob*eto5 Ao mo$er o mouse 6ori8onta!mente a esca!a ser feita na dire12o 6ori8onta! da $ista e ao mo$er $ertica!mente a esca!a ser feita na dire12o $ertica!5 Para 7-e a esca!a se*a i#-a! nas d-as dire1?es/ basta mo$er o mo-se apertando a tec!a ctrl5 As transforma1?es podem ser feitas com maior o- menor precis2o atra$,s do snap5 ( snap consiste em rea!i8ar incrementos pr,Bestabe!ecidos nas transforma1?es5 ( $a!or do Snap , estip-!ado no pe7-eno slider 7-e se encontra na rea de bot?es do Tool bar5 Caso o $a!or se*a correspondente a C as transforma1?es ser2o cont4n-as5 5$$# <eBturas As text-ras s2o or#ani8adas em bib!iotecas/ c6amadas de 9AD'/ 7-e podem ser manip-!adas atra$,s do comando +e!tures 7 9ad 4anager5 Para se criar -ma no$a bib!ioteca/ -saBse o comando Add 9ad5 A bib!ioteca constr-4da n2o poss-ir nen6-ma text-ra associada/ en7-anto o -s-rio n2o as inserir5 Para inserir text-ras de$eBse c!icar com o bot2o direito sobre o espa1o correspondente W bib!ioteca/ na rea de pro*eto e esco!6er o comando Add +e!ture5 PodeBse tamb,m criar -ma bib!ioteca 7-e conten6a todas as ima#ens 7-e est2o presentes no pro*eto corrente5 Para tanto de$eBse esco!6er o comando Build 9ad no Pad 3ana#er5 Para carre#ar -ma bib!ioteca de text-ras para dentro de -m determinado pro*eto se de$e -sar o comando Add 9ad estando dentro do Pad 3ana#er5 Ao rea!i8ar isto aparecer a !ista de todas as text-ras existentes nesta bib!ioteca no campo Textures/ da rea de pro*etos5 PodeBse criar -ma !ista com as text-ras mais -sadas n-m pro*eto/ sendo 7-e estas text-ras podem o- n2o estar em PADs diferentes5 Para isto de$eBse -sar o comando +e!tures 7 +e!ture Boo:mar:s5 Para associar -ma text-ra a -m determinado ob*eto/ basta se!ecionar o ob*eto e em se#-ida dar -m double clic5 sobre a text-ra dese*ada/ na rea de pro*eto5 Ao rea!i8ar isto/ todos os po!4#onos do ob*eto receber2o esta text-ra5 A text-ra pode ser manip-!ada atra$,s do paine! de propriedades do ob*eto em 7-est2o &Gi#-ra KI)/ tendo em conta 7-e o contro!e ser indi$id-a! para cada po!4#ono 7-e comp?e o ob*eto5 Para esco!6er o po!4#ono de$eBse c!icar sobre as setas 7-e est2o no canto s-perior direito da *ane!a5 ( po!4#ono se!ecionado ir aparecer em amare!o5 Figura 64 Painel de propriedades de um objeto Uma das op1?es do paine! de propriedades se refere *-stamente W forma como a text-ra est ap!icada5 &op12o surface)5 ( parHmetro 2ffset permite mo$er a text-ra sobre os po!4#onos/ scale permite a!terar a esca!a da text-ra em re!a12o ao ob*eto e angle permite #irar a text-ra sobre os po!4#onos5 PodeBse ap!icar -ma text-ra tamb,m apenas para -m e!emento de -m #r-po o- apenas para -ma das paredes de -m b!oco5 Para tanto de$eBse se!ecionar o e!emento o- a parede5 Isto , feito se!ecionandoBse o #r-po ao 7-a! pertence e depois -sar o comando 'cope Do6n &bot2o com -m #r-po de c-bos e -ma seta para baixo) 7-e ir descendo aos n4$eis mais baixos da 6ierar7-ia5 Para $o!tar ao ob*eto ori#ina!/ -saBse o comando 'cope ;p5 5$$3$ Construindo @alas As sa!as ser2o norma!mente feitas atra$,s de ob*etos primiti$os/ o- b!ocos &c-bos/ ci!indros/ pirHmides/ etc)5 Para criar -m ob*eto primiti$o -saBse o comando 3b.ect 7 Add Primitie o- 3b.ect 7 Add &ube5 'oteBse 7-e os ob*etos primiti$os ser2o sempre representados por po!4#onos e de$eBse esco!6er o #ra- de refinamento dos mesmos5 D importante 7-e se esco!6a sempre o menor n>mero de po!4#onos poss4$eis/ de forma a otimi8ar a cena5 Uma $e8 criado o ob*eto 7-e ser$ir de sa!a/ de$eBse -sar o comando %dit 7 <ollo6 Bloc: para 7-e cada po!4#ono se torne -ma parede &composta por K po!4#onos)5 Isto permitir 7-e -ma parede possa ser $ista dos dois !ados/ sem a necessidade de 7-e o en#ine crie -m estado de normais d-p!as para cada po!4#ono5 Como na maioria das $e8es as sa!as ser2o ori#inadas por c-bos/ * existe -m comando capa8 de criar sa!as prontas/ o- se*a/ com o 9ollow @loc5 * ap!icado5 &3b.ect 7 Add <ollo6 &ube) Para acessar Ws propriedades de -ma determinada primiti$a/ basta c!icar com o bot2o direito sobre o mesmo e optar por properties5 As propriedades 7-e -m b!oco pode receber s2o0 B (assable0 ( b!oco n2o ter co!is2o com os e!ementos dinHmicos do *o#o5 &Por exemp!o/ #-a de -ma piscina)T B #nvisible0 ( b!oco n2o ser $is-a!i8ado no *o#o/ mas poder ter co!is2o com os o-tros e!ementos5 B Texture 3oc50 A text-ra permanecer im"$e! 7-ando o ob*eto sofrer transforma1?es espaciais5 Figura 65 Dois cubos vistos de cima e com o Hollow Block j aplicado. O cubo vermelho o objeto auxiliar e consiste na parte a ser removida dos dois blocos. Em (b) pode-se ver o resultado da operao. Ap"s a*-star o taman6o e a posi12o do b!oco 7-e ser$ir de sa!a/ m-ito pro$a$e!mente se dese*ar criar b-racos 7-e sir$am de passa#em de -ma sa!a para o-tra5 Para isto/ de$eBse -ti!i8ar -m ob*eto a-xi!iar/ 7-e poder ser 7-a!7-er -ma das primiti$as dispon4$eis5 Este ob*eto de$er ser co!ocado de ta! forma 7-e conten6a dentro de!e toda a parte da #eometria de o-tros ob*etos 7-e ser2o remo$idos &$er fi#-ra KJ)5 Ap"s posicionB!o ade7-adamente/ de$eBse manter este ob*eto a-xi!iar se!ecionado e -ti!i8ar o comando %dit 7 &'G 'ubtract5 Geito isto/ o ob*eto a-xi!iar ainda estar presente/ mas todas as partes das #eometrias 7-e esti$erem contidas em se- interior ter2o desaparecidos5 Para comp!etar a opera12o de$eBse de!etar o- mo$er o ob*eto a-xi!iar5 Esta opera12o apenas f-nciona com os ob*etos estticos/ o- se*a os b!ocos e os ob*etos pr,Bfabricados5 '2o ter nen6-m efeito com os ob*etos dinHmicos/ sprites e terrenos5 5$# *bCetos Pr3/.abricados (s ob*etos pr,Bfabricados s2o ob*etos estticos &P3P) 7-e est2o dentro do diret"rio @55eGst-dioePrefabseA5 Caso o -s-rio dese*e inserir ob*etos nesta !ista/ basta co!ocB!os dentro deste diret"rio5 Em #era! estes ob*etos consistem em $rios e!ementos a#r-pados/ portanto para editB!os de$eBse -ti!i8ar o comandos de Scope Down antes5 5$3 Duzes As !-8es podem ser de dois tipos0 estticas e dinHmicas5 L-8es dinHmicas apenas podem ser criadas atra$,s de scripts/ * as estticas de$em ser criadas no level editor/ atra$,s do comando 3b.ect 7 Add )ight5 Esta !-8 #erar os light maps/ 7-e consiste no pr,B processamento da i!-mina12o arma8enado pe!o engine5 Isto imp!ica 7-e d-rante o *o#o n2o poder2o ser a!teradas em 6ip"tese a!#-ma5 As propriedades de -ma !-8 s2o a s-a cor e se- a!cance &:angeN. Este a!cance n2o imp!ica 7-e a !-8 termine abr-ptamente 7-ando c6e#-e ao $a!or estip-!ado/ mas existir -ma 7-eda #rad-a!/ se#-indo -ma interpo!a12o !inear5 Apenas as !-8es estticas ir2o prod-8ir sombras rea!istas/ #ra1as ao pr,B processamento do engine5 Ao co!ocar as !-8es estticas/ ser poss4$e! notar 7-e !ocais fora do a!cance da !-8 o- !ocais com sobra ficar2o tota!mente pretos5 Isto ocorre 7-ando n2o 6 nen6-ma !-8 ambiente5 Para inserir !-8 ambiente de$eBse -ti!i8ar o comando File 7 4ap Properties 7 'un5 A !-8 ambiente n2o poss-i -m ponto de ori#em e portanto apenas , necessrio di8er a cor do mesmo5 5$- Compilando e eBecutando uma cena Para poder exec-tar o *o#o , necessrio antes compi!B!o/ o- se*a/ #erar a s-a :%P/ os lightmaps/ os portais/ etc5 Para isto/ , necessrio 7-e a cena este*a fec6ada/ o- se*a/ o player n2o pode em 6ip"tese a!#-ma $er -ma re#i2o 7-e n2o 6a*a nen6-m po!4#ono5 Para compi!ar de$eBse -sar o comando File 7 Build 94B5 Existem -ma s,rie de op1?es &cons-!tar o man-a! para -ma exp!ica12o mais deta!6ada) mas est2o di$ididas em < #r-pos0 :-i!d/ 7-e reconstr-ir t-do o- update/ 7-e apenas at-a!i8ar a!#-ma m-dan1a5 Para compi!ar a cena por comp!eto de$eBse -sar a op12o @uild 3evel <ap5 Entretanto/ em cenrios #randes isto poder demorar m-ito/ portanto caso apenas se ten6am inserido ob*etos dinHmicos desde a >!tima compi!a12o/ -saBse @uild "ntity <ap o- no caso de apenas se ter a!terado a!#-m parHmetro de -m ob*eto dinHmico/ basta dar Ipdate "ntities5 Uma $e8 compi!ado/ o *o#o est pronto para ser exec-tado5 Para isto de$eBse -sar o comando File 7 Run )eel5 PodeBse optar por exec-tar o *o#o em te!a c6eia o- apenas n-ma *ane!a5 D-rante a exec-12o/ podeBse entrar no modo de debug/ 7-e permite $er os po!4#onos e -ma s,rie de informa1?es importantes/ tais como o frame rate/ mem"ria sendo -sada/ etc5 Isto , feito apertando a tec!a D d-rante a exec-12o do *o#o5 ¶ $er os po!4#onos de$eBse tec!ar no$amente a tec!a D) 5$5 *bCetos DinEmicos (s ob*etos dinHmicos s2o todos os ob*etos 7-e n2o ficar2o parados d-rante o *o#o5 ( comportamento destes ob*etos , determinado por -ma f-n12o especia!/ c6amada de action e escrita em >D35 Esta a12o pode estar pronta e disponibi!i8ada n-ma das bib!iotecas do 3D !ame Studio o- pode ser pro#ramada pe!o desen$o!$edor5 (s ob*etos dinHmicos poss-em a!#-mas propriedades especiais/ 7-e n2o est2o presentes nos estticos5 Uma das principais , o behavior/ 7-e consiste na a12o 7-e ser co!ocada no ob*eto em 7-est2o5 Para associar -m comportamento de$eBse c6amar a *ane!a de propriedades e em se#-ida c!icar no 4cone em forma de pasta/ no !ado es7-erdo do campo Action5 Ao fa8er isto ir aparecer -ma s,rie de nomes de a1?es dispon4$eis5 Estas a1?es est2o n-ma das bib!iotecas de script do Game %t-dio o- est2o no script na cena em 7-est2o5 '2o , preciso fa8er nada para 7-e apare1a a re!a12o destes nomes/ basta ter criado -m script para o pro*eto5 &Isto , feito pe!o comando File 7 4ap Properties 7 4ain e c!icar sobre a pasta new script) 'a *ane!a de behaviors est2o presentes campos para as $ar$eis disponibi!i8adas pe!o script5 Estas $ari$eis permitem 7-e -m mesmo script possa ser -sado por mais de -m e!emento dinHmico e 7-e #ere a1?es diferenciadas5 &$er man-a! de PDL para maiores deta!6es5) 5$4 'cripts (s scripts permitir2o desen$o!$er toda a !"#ica do *o#o5 A !in#-a#em -ti!i8ada , seme!6ante W !in#-a#em C/ por,m com a!#-mas faci!idades5 odo pro*eto de$e ter associado a si -m ar7-i$o do tipo PDL5 Este ar7-i$o pode ser criado a-tomaticamente/ bastando para isto -sar o comando File 7 4ap Properties 7 4ain e c!icar sobre a pasta new script5 PodeBse tamb,m -sar -m ar7-i$o * existente &de o-tro *o#o/ por exemp!o)5 ( ar7-i$o de script poss-i a se#-inte estr-t-ra0 B Defini1?es de diret"rios a serem disponibi!i8ados &onde se encontram todos os rec-rsos a serem -ti!i8ados pe!o n4$e! em 7-est2o)0 path )models)=AA Eath to model subdirector% - if an% path )sounds)=AA Eath to sound subdirector% - if an% path )bmaps)=AA Eath to raphics subdirector% - if an% Eath )JFFE!-"!&' DI$(CFF"C9:.I-E!-FFtemplate)= B Defini1?es de bib!iotecas a serem disponibi!i8adas0 include ?mo/ement.wdl@= include ?messaes.wdl@= include ?menu.wdl@= include ?particle.wdl@= include ?doors.wdl@= Estas bib!iotecas consistem sobret-do em f-n1?es e a1?es prontas5 Ao criar -m no$o script o Game %t-dio * inc!-ir as bib!iotecas 7-e a $ers2o oferece ao -s-rio5 Assim por exemp!o/ o ar7-i$o doors.wdl poss-i $rias a1?es prontas para abert-ra de portas/ c6a$es/ -ti!i8a12o de c"di#os para abrir portas/ etc5 De$eBse cons-!tar o man-a! de PDL do Game %t-dio para -ma informa12o deta!6ada de todas as a1?es 7-e se encontram dentro destes ar7-i$os5 B Defini1?es de $ari$eis #!obais0 /ar /ideo>mode K I= AA screen siLe I3+x34+ /ar /ideo>depth K *I= AA *I bit colour .;. mode bmap horiLon>map K ?s0%+*.pcx@= bmap mountain>map K ?Lionlow.pcx@= As $ari$eis #!obais correspondem W7-e!as $ari$eis 7-e podem ser -sadas por 7-a!7-er f-n12o o- pe!a f-n12o principa!5 (s principais tipos de $ari$eis 7-e o script do Game %t-dio permite definir s2o0 $ar ¶ 7-a!7-er tipo n-m,rico)/ bmap ¶ ima#ens)/ strin# ¶ textos em A%CII)/ m-sic ¶ ar7-i$os de som tipo 3IDI) e so-nd ¶ ar7-i$os de som do tipo PAV)5 Defini1?es de f-n1?es e a1?es0 function start>son() M wait(3)= if (midi>/ol @ +) M pla%>son>once(testson,4+)= N N action I&>personaem M m%.>entforce K +.5= m%.>health K ;6= m%.enable>scan K on= m%.enable>shoot K on= m%.enable>detect K on= m%.>state K >state>wait= estado>espera()= N As f-n1?es e a1?es descre$er2o a !"#ica do comportamento dos ob*etos dinHmicos e , pro$a$e!mente a7-i 7-e o pro#ramador #astar a maior parte do se- tempo5 Para maiores deta!6es $er o man-a! de scripts do Game %t-dio5 G-n12o 3ain0 function main() M AA set some common flas and /ariables AA announce bad texture siLes and bad wdl code warn>le/el K 2= tex>share K on= AA map entities share their textures AA pla% a wa/ file snd>pla%file ()trilha*.wa/), *++, *++)= fo>color K 2= AA now load the le/el load>le/el(?castelo.W'#@)= AA fo K *++= AA load some lobal /ariables, li0e sound /olume load>status()= AA client>mo/e()= AA for a possible multipla%er ame AA call further functions here... N A f-n12o 3ain , a primeira coisa a ser exec-tada ao dar :un no *o#o5 (bser$eB se 7-e , e!a 7-em carre#a o ar7-i$o binrio do cenrio &!oadf!e$e!)/ e , e!a 7-em c6ama todas as defini1?es #!obais do *o#o5 Esta f-n12o ser criada a-tomaticamente ao criar o script/ e em #era! po-cas coisas de$er2o ser acrescentadas a e!a5 4$ Engines Divres Conforme foi descrito na se12o < e + existem in>meras so!-1?es !i$res 7-e podem ser -sadas inc!-si$e no desen$o!$imento de soft.ares fec6ados e comerciais/ pois s-as !icen1as permitem ta! -ti!i8a12o5 'esta sit-a12o podeBse tra1ar -m para!e!o com o desen$o!$imento da 2pen!3 7-e at, o se- desen$o!$imento cada empresa desen$o!$ia s-a pr"pria bib!ioteca #rfica despendendo tempo e in$estimentos para criar -m con*-nto de primiti$as #rficas de baixo n4$e!5 c-ando a 2pen!3 a#re#o- tais primiti$as permiti- 7-e fossem desen$o!$idos no$os a!#oritmos #rficos mais si#nificati$os/ de a!to n4$e!/ pois * era poss4$e! -sar estas primiti$as mais e!ementares para pro*etar so!-1?es mais sofisticadas5 3-itas desen$o!$edores despendem #rande parte de se-s pro*etos recriando -m sistema de tratamento de e$entos do sistema/ por exemp!o/ 7-e * fora imp!ementado por di$ersos %[Ds e engines5 ais desen$o!$edores poderiam partir das so!-1?es * existentes/ modificandoBas e adaptandoBas e redistrib-indoBas para com-nidade5 4$$ CrFstal @pace 7rystal Space , -m pro*eto 2pen Source desen$o!$ido por Eorit Rber#6ein 9CRX ;J= 9PE' ;<=5 D distrib-4da #rat-itamente sob a !icen1a LGPL5 Desen$o!$ida -sando C^^ , compat4$e! com as se#-intes p!ataformas0 Lin-x/ Pindo.s e 3ac(%5 'o caso do sistema Pindo.s o 7rystal Space s-porta o Direct4 e em todos os sistemas oferece s-porte a bib!ioteca 2pen!35 DestacaBse 7-e a 7rystal Space n2o , -m engine/ mas trataBse de -m 5it de desen$o!$imento para *o#os comp-tadori8ados +D5 'o #-ia do desen$o!$edor 9CRX ;J= est an-nciado0 67rystal Space * um pacote de componentes e bibliotecas na +ual podem ser Oteis para cria$%o de ogos computadori&ados=5 Entretanto -sando a ar7-itet-ra da CrRsta! %pace , poss4$e! desen$o!$er os pr"prios en#ines5 Apesar de permitir o desen$o!$imento de *o#os bidimensionais/ a maioria de s-as f-nciona!idades est2o $o!tadas para renderi8a12o de #rficos + em tempo rea!5 amb,m apresenta s-porte a -ma s,rie de formatos de som e persistncia dos m-ndos -sando o formato O3L &e4tensible <ar5up 3anguage)5 amb,m permite carre#ar ar7-i$os no formato +D%/ 3DL/ 3D</ A%E/ (:E e P(V5 Existe -ma farta doc-menta12o inc!-indo t-toriais/ #-ias/ referncias da API e !istas de disc-ss2o5 %e#-ndo o site do 7rystal Space 9CRX ;J= existem mais de KJ; pessoas 7-e co!aboram com o pro*eto5 Pen 9PE' ;<= destaca 7-e o 7rystal Space poss-i -m diferencia! em re!a12o os engines +D proprietrios/ tais como Gua5e ### e Inreal pe!o fato do 7rystal Space ser -ma ferramenta de prop"sito #era!5 (- se*a/ n2o , espec4fica para *o#os/ e!a consiste de -ma API #rfica 7-e pode ser -ti!i8ada por 7-a!7-er ap!ica12o m-!tim4dia5 Este tool5it , bastante -sado pe!a com-nidade pe!o fato desta ser bastante est$e! e pe!a #rande 7-antidade de f-nciona!idades +D 9PE' ;<=5 A s-a principa! fra7-e8a trataBse do mecanismo para detec12o de co!is2o 9PE' ;<=5 Uma caracter4stica da ar7-itet-ra do 7rystal Space m-ito importante , o -so do sistema de plug)ins 9PE' ;<=/ isto ,/ -m exec-t$e! f-ncionar com di$ersos renderi8adores/ tais com 2pen!3/ Direct3D e !lide5 Assim criaBse -ma camada de abstra12o da interface oferecida pe!a ferramenta e a forma de imp!ementa12o 7-e poder adotar 7-a!7-er mecanismo de renderi8a12o5 Gradati$amente no$os plug)ins s2o criados e distrib-4dos separadamente faci!itando o processo de desen$o!$imento pe!o fato dessa a!ta mod-!aridade5 Para citar -m exemp!o de ap!ica12o do 7rystal Space/ podeBse destacar o *o#o (laneShift 9PLA ;J=5 Esse *o#o consiste de -m 33(RPG !i$re com #rficos +D/ distrib-4do #rat-itamente e desen$o!$ido com o 7rystal Space5 Comparando o 3D !ame Studio e com 7rystal Space certamente , m-ito mais fci! e int-iti$o de -ti!i8ar o primeiro do 7-e o se#-ndo/ pois oferece -ma s,rie de rec-rsos #rficos em -ma IDE pro*etada para cria12o de *o#os5 Entretanto o se#-ndo , m-!tip!ataforma , permite a cria12o de no$os plug)ins para serem adicionados na infraB estr-t-ra #era! do motor5 Conforme o *ar#2o comp-taciona! a 7rystal Space , -ma ferramenta de mais baixo n4$e!/ mas em contrapartida permite -ma persona!i8a12o mais amp!a5 Ve*a a!#-mas screenshots de games criados -sando a 7rystal Space na Gi#-ra KK5 Ve*a tamb,m o exemp!o de shader na Gi#-ra KL5 Figura 66: Algumas imagens do jogo PlaneShift desenvolvido com a Crystal Space Figura 67: Exemplo de CG Shader Crystal Space ( download do c"di#oBfonte pode ser feito a partir do site da 7rystal Space &C%)5 At-a!mente a $ers2o est$e! , a ;5NMr;;I5 '2o , disponibi!i8ado nen6-m ar7-i$o binrio/ !o#o o 7rystal Space precisa ser compi!ado pe!o pr"prio -s-rio5 ( processo de insta!a12o , tri$ia!/ pois trataBse descompactar -m ar7-i$o 8ipado5 'esse ar7-i$o est disponibi!i8ado o man-a! do pro#ramador/ o #-ia da API do 7rystal Space e todo se- c"di#oBfonte5 Para -s-rios iniciantes o processo de compi!a12o pode ser -m po-co comp!icado/ entretanto o man-a! oficia! do 7rystal Space descre$e deta!6amente todo o processo de insta!a12o para as p!ataformas 3icrosoft Pindo.s/ G'U/Lin-x e 3ac(%5 (s -s-rios do sistema operaciona! G'U/Lin-x encontrar2o mais faci!idade para compi!ar pe!o fato do sistema poss-ir nati$amente -ma forte inte#ra12o com as ferramentas de compi!a12o para C/C^^5 Para compi!ar o 7rystal Space na p!ataforma Pindo. primeiramente , necessrio insta!ar no sistema o 7ygwin o- <ig><5 Caso se*a -ti!i8ado o 3icrosoft Vis-a! %t-dio n2o , necessrio insta!ar estas ferramentas5 'este traba!6o ser descrito como proceder a insta!a12o considerando o CR#.in5 Conc!-4da essa etapa inicia! de$eBse efet-ar o download do >!timo re!ease da Pin+<!ibs 7-e contem os 6eaders pr,Bcompi!ados para os -s-rios do 7ygwin5 ( processo de insta!a12o se#-e o formato padr2o de -m .i8ard com-mente encontrado nas ap!ica1?es Pindo.s5 A!,m dessa bib!ioteca de$eBse fa8er o do.n!oad de -m porte do DirectO M5; para 7ygwin e da 2pen Dynamics "ngine &(DE)5 Para insta!a12o do DirectO de$eBse descompactar o ar7-i$o e compi!B!o atra$,s do comando do ma5e5 A (DE n2o precisa ser compi!ada/ pois * est2o dispon4$eis os binrios para p!ataforma Pindo.s5 Por >!timo o 7rystal Space pode ser compi!ado5 ( script 5/confi#-re de$e ser exec-tado5 'o diret"rio ra48 do engine basta di#itar *am para iniciar a compi!a12o5 A tarefa , bastante demorada5 '2o e!imine os ar7-i$os temporrios 7-e foram -sados na insta!a12o/ pois as !ibs acabam sendo remo$idas5 Para $is-a!i8ar a exec-12o de -m teste di#ite na !in6a de comando wal5test5 4$#$ *gre3D ( 2gre3D &2bect)2riented !raphics :endering "ngine) trataBse de -ma ferramenta constr-4da em C^^/ orientado a ob*etos e distrib-4do !i$remente e #rat-ito sob a !icen1a LGPL5 Goi desen$o!$ido como a disserta12o de mestrado de Eeff P!-mmer na Uni$ersidade do Ari8ona/EUA5 DestacaBse 7-e o 2gre3D da mesma forma 7-e o 7rystal Space n2o tratamBse de -m engine exp!icitamente/ mas constit-emBse de -m con*-nto de componentes 7-e podem ser -sados na cria12o de -m engine5 anto o 7rystal Space 7-anto 2gre3D oferecem ao desen$o!$edor possibi!idades de persona!i8a12o e extens2o/ desta forma potencia!i8ando a re-sabi!idade de c"di#o/ abstraindo primiti$as de baixo n4$e! e permitindo o desen$o!$imento de no$as t,cnicas 7-e poder2o ser @p!-#adasA na ar7-itet-ra dos motores5 ( 2gre3D oferece s-porte ao DirectO e a (penGL/ shaders/ s-porte a text-ras/ a!,m de -ma s,rie de o-tras f-nciona!idade de s-porte para cria12o de *o#os +D5 'a Gi#-ra KM s2o apresentadas a!#-mas te!as de ap!ica1?es criando com o 2gre3D5 ( processo de insta!a12o , bem mais simp!es 7-e a 7rystal Space/ n2o , preciso recompi!ar basta fa8er download do insta!ador e se#-ir os passos de -ma insta!a12o t4pica do Pindo.s5 D importante destacar 7-e a 2gre3D , bastante doc-mentada inc!-si$e com a especifica12o U3L dos se-s componentes5 Figura 68: Exemplo de aplicaes criadas com Ogre3D. G$ Desenvolvendo *utras (plicaHes Isando ?erramentas !elacionadas ao Jogos Computadorizados ( ob*eti$o desta se12o , apresentar para com-nidade exemp!os de ap!ica1?es 7-e podem ser desen$o!$idas -sando a mesma infraBestr-t-ra tecno!"#ica dos games5 Assim/ conforme foi destacado na introd-12o/ m-itos res-!tados ap!icados em entretenimento di#ita! podem ser ap!icados em o-tras pes7-isas5 Um primeiro #r-po de ap!ica1?es s2o os sim-!adores destacando as ap!ica1?es na f4sica 7-e inte#ram 2pen!3 e (DE5 Por exemp!o/ o 2penSim &Gi#-ra KN) 7-e trataB se de -m sim-!ador +D para robFs a-tFnomos5 (-tra ap!ica12o , o @iodesigner &Gi#-ra L;) 7-e trataBse -m mode!ador e $is-a!i8ador de mo!,c-!as5 Figura 69: Screenshot do OpenSim, um simulador 3D de robs autnomos. Figura 70: Screenshot do Biodesigner, representando uma molcula. (-tra tipo de ap!ica12o 7-e potencia! de ser in$esti#ada na rea de intera12o 6-manoBcomp-tador/ trataBse de interfaces #rficas +D5 3-ito comp-tadores pessoais s2o e7-ipados com p!acas ace!eradoras +D 7-e s2o s-bB-ti!i8adas 7-anto ao #erenciamento da interface #rfica com o -s-rio5 Lo#o/ esta infraBestr-t-ra de 6ard.are pode ser -sada para criar ambientes +D comp!etos5 AcreditaBse 9:E' NN= 7-e interfaces #rficas +D faci!itam a intera12o entre 6omemBm7-ina considerando aspectos co#niti$os e percepti$os5 Ap!icati$os de n2oBentretenimento poderiam exp!orar as potencia!idades #rficas dos *o#os/ tais como aspectos art4sticos/ combina12o de cores/ faci!idade de -so para criar interfaces mais int-iti$as para os -s-rios5 ( Pro*eto 3oo5ing !lass 9PR( ;J= apoiado pe!a %-n 3icrosRstems &$e*a Gi#-ra LC) trataBse de -m exemp!o de interface #rfica +D5 D -m pro*eto !i$re desen$o!$ido em Ea$a 7-e permite constr-ir -m sistema #rfico para des5tops baseados em tecno!o#ia +D5 Ao in$,s das tradicionais *ane!as e c!i7-es do mouse sob esses componentes/ o -s-rio contar como -ma co!e12o de ob*etos +D para serem manip-!ados5 'o caso da Gi#-ra LC , apresentada -ma co!e12o de CDs 7-e ao in$,s de ser mostrada na tradiciona! forma de -ma !ista de -m cadastro de CDs/ esses s2o apresentados para o -s-rio como -ma co!e12o de CDs tridimensionais5 Figura /01 Exemplo da interface gr2fica do 3rojeto oo!ing "lass Por >!timo/ destacaBse os *o#os desen$o!$idos com prop"sitos ed-cacionais5 Para -m compreens2o me!6or desta temtica recomendaBse a !eit-ra de :ittenco-rt 9:I ;I=/ :ittenco-rt a Giraffa 9:I ;+= e C!-a a :ittenco-rt 9CLU ;I=5 Para -m p!eno entendimento deste t"pico , necessrio abordar a!#-ns conceitos fi!os"ficos/ socio!"#icos e ed-cacionais 7-e simp!esmente por -ma ra82o de escopo n2o ser2o abordados neste traba!6o5 Entretanto consideraBse 7-e o contexto do s,c-!o OOI , bastante diferenciado do contexto ind-stria! de a!#-mas d,cadas passadas5 At-a!mente $i$eBse em -ma sociedade ciberc-!t-ra!/ !o#o de$eBse preoc-par com a forma12o de s-*eitos p"sBind-striais CompreendendoBse a importHncia dos *o#os comp-tadori8ados/ com o- sem fins peda#"#icos exp!4citos/ no processo de ensinoBaprendi8a#em seria interessante fomentar a prod-12o de no$os t4t-!os e com 7-a!idade 7-e poder2o ser -sados em ambientes de aprendi8a#em/ tais como sa!as de a-!a5 Entretanto tais *o#os n2o de$em adotar o mesmo padr2o dos con6ecidos *o#os didticos/ pois estes n2o s2o atrati$os para os *o$ens/ pois n2o criam -ma sensa12o de imers2o conforme C!-a et a! 9CLU ;<=5 Portanto tais t,cnicas de desen$o!$imento de games +D podem ser bem -ti!i8adas para criar *o#os 7-e se*am !>dicos/ di$ertidos/ atrati$os e 7-e possam atender/ como bac5ground/ a!#-m o- -ma s,rie de ob*eti$os peda#"#icos5 PodeBse citar o pro*eto !ames)To)Teach 9GA3 ;J= cond-8ido pe!o <assachusetts #nstitute Technology 7-e prop?e -ma s,rie de no$os esti!os de *o#os $o!tados para -ma no$a #era12o de aprendi8es5 'a Gi#-ra L< , apresentada -ma screenshot do *o#o :evolution 7-e aborda a 6ist"ria da G-erra Ci$i! Americana na forma de -m 33(RPG &<assive <ultiplayer 2nline :ole)(laying !ames)5 Figura 72: Screenshot do jogo Revolution Project Game-to-Teach (MIT) ,$ Ima Jiso do ;ercado Kacional e %nternacional sobre Jogos Computadorizados Embora a prod-12o naciona! ten6a se- in4cio na d,cada de M;/ apenas recentemente o setor de desen$o!$imento de *o#os no pa4s atin#i- massa cr4tica e passo- a ser considerado como se#mento ind-stria! e recon6ecido como rea de in$esti#a12o t,cnicoBcient4fico5 '-m !e$antamento rea!i8ado pe!a A:RAGA3E% em setembro de <;;I/ 6a$iam no pa4s +L empresas dedicadas ao desen$o!$imento de *o#os e!etrFnicos &destas/ C; s-r#iram nos >!timos < anos)0 II :ico Lar#o/ AVan/ AmoV Entertainment/ At!antis %t-dios/ :erm-da %oft/ :itcrafters/ Ca!ibre Games/ Contin--m Entertainment/ CRpr-x/ D,!ir-s Entertainment/ De$.orVs Game ec6no!o#R/ Eons Games/ Espa1o Informtica/ Gina!boss/ Go-rO/ Green Land %t-dios/ Qop!on Infotainment/ I#nis Games/ Inf!ammation Entretenimento/ ERnx P!aR.are/ LocZ Games/ 3eantime 3obi!e Creations/ 'o!o#R/ 'Rx Entertainment/ (niria Entertainment/ Pa!msoft/ Percept-m/ Pre!o-d/ %e$en.aR 3obi!e App!ication/ %io-x/ %o-t6 Lo#ic %t-dios/ %taridia %oft.orVs/ %R!ic Games/ i!t5net/ VorteV/ ZM; e Zi7x5 'a data do !e$antamento 6a$iam <J *o#os em desen$o!$imento/ e foram re!acionados +J *o#os nacionais &apenas para PC) !an1ados nos >!timos < anos 9A:R ;J=5 amb,m de$eBse destacar a importHncia da cria12o de #r-pos de est-dos principa!mente pe!os est-dantes da cria12o5 De$eBse e$itar a -ma aborda#em a-tora!/ o- se*a/ -m >nico s-*eito desen$o!$endo o *o#o por comp!eto5 Idea!mente , mais interessante a forma12o de #r-pos interdiscip!inares/ c-*os membros dominam reas diferentes da prod-12o de -m *o#o5 Assim/ potencia!i8amBse as c6ances de desen$o!$er -m prot"tipo 7-e f-t-ramente pode tornarBse -m game comercia! estabe!ecendo -ma parceria com a!#-ma empresa at-ante no mercado5 A!,m de poder participar dos diferentes conc-rsos 7-e est2o sendo promo$idos na at-a!idade5 +$ Perspectivas e ConsideraHes ?inais A ind>stria m-ndia! de *o#os e!etrFnicos apresenta at-a!mente -ma impressionante c-r$a de crescimento &apenas em <;;I a ind>stria do entretenimento di#ita! mo$imento- cerca de I; bi!6?es de d"!ares/ -!trapassando de forma si#nificati$a o fat-ramento do cinema)5 Qo*e os *o#os e!etrFnicos est2o presentes em $rios dispositi$os di#itais interati$os/ como te!efones ce!-!ares/ PDAs/ comp-tador &*o#os on !ine/ CD/ DVD)/ a!,m dos pr"prios conso!es de $ideo#ames5 Uma das tendncias do mercado de tecno!o#ia para entretenimento , 7-e as residncias poss-am -m con$ersor di#ita! 7-e f-ncione como -m centro de entretenimento fami!iar/ 7-e 6abi!itar o acesso a ser$i1os como V di#ita!/ fi!mes e m>sica sob demanda/ Internet/ *o#os &indi$id-ais o- m-!tip!aRer/ inc!-si$e on!ine)/ #ra$a12o de pro#ramas/ compra de conte>dos di#itais indi$id-a!i8ados &fi!mes/ *o#os/ s6o.s/ esportes/ ed-ca12o/ o-tros)/ entre o-tras ap!ica1?es5 %omaBse a isto o fato de 7-e os *o#os est2o sendo considerados -ma tecno!o#ia estrat,#ica em m-itos pa4ses/ por7-e -m *o#o , essencia!mente -ma ferramenta de sim-!a12o e $is-a!i8a12o 7-e pode ser -sada para entretenimento/ mas tamb,m para o-tros prop"sitos espec4ficos/ tais como treinamento/ sim-!adores de $Fo/ treinamento mi!itar/ $is-a!i8a12o m,dica e cient4fica e ed-ca12o5 A!iaBse a esta $is2o estrat,#ica/ o fato de 7-e o dom4nio do processo de cria12o de conte>do para entretenimento di#ita! ser $ita! para a cria12o de conte>do para a V Di#ita! e V Interati$a5 De -ma forma #era!/ os games $m ditando as tendncias de mode!o de intera12o5 As #era1?es 7-e *o#am *o#os indi$id-a!mente o- online tm -ma percep12o a$an1ada sobre interati$idade e -ma ac-idade #rfica diferenciada5 A ind>stria dos games sempre in$esti- em interfaces m-ito bem e!aboradas/ de a!ta 7-a!idade $is-a!/ e tamb,m $em est-dando com m-ita propriedade 7-est?es comportamentais referentes a intera12o 6omemBm7-ina e -sabi!idade5 Certamente os games estabe!eceram padr?es e contin-am a impor patamares de 7-a!idade para a ind>stria do a-dio$is-a!/ 7-e de$em ser considerados com m-ito c-idado5 Este panorama desperto- o interesse de pa4ses fora do restrito c4rc-!o de desen$o!$edores tradicionais/ representado pe!os Estados Unidos/ Eap2o/ Canad e pa4ses da E-ropa (cidenta!5 Atentos a isto/ a7-e!es pa4ses reso!$eram exp!orar s-as $anta#ens competiti$as &a!#-ns tin6am tradi12o tecno!"#ica/ o-tros baixos c-stos de prod-12o) e tra1aram po!4ticas p>b!icas para desen$o!$er s-as ind>strias !ocais5 (s me!6ores exemp!os s2o0 Cor,ia do %-!/ A-str!ia/ gndia/ C6ina e Cin#ap-ra 9A:R ;J=5 Assim/ , f-ndamenta! 7-e no :rasi! s-r*am e se so!idifi7-em #r-pos de pes7-isas/ pro*etos/ !aborat"rios e conse7Sentemente empresas e mode!os de ne#"cios neste setor5 EsperaBse 7-e no t,rmino do presente traba!6o ten6a sido poss4$e! apresentar -ma context-a!i8a12o da e$o!-12o/ importHncia e processo de desen$o!$imento dos *o#os comp-tadori8ados/ especificamente os *o#os +D5 Assim/ despertando o interesse na com-nidade acadmica para o desen$o!$imento de pes7-isas no se#mento de Entretenimento Di#ita! constit-indo -m #rande nic6o para efet-ar pes7-isas ap!icadas5 Para as o-tras reas da Cincia da Comp-ta12o conforme foi $isto/ os *o#os comp-tadori8ados s2o exce!entes ap!ica1?es para o desen$o!$imento de mode!os comp-tacionais5 DestacaBse 7-e o-tras reas do con6ecimento tamb,m s2o beneficiadas com pes7-isas nesse setor/ tais como a Ed-ca12o $isando o desen$o!$imento de *o#os ap!icados ao processo de ensinoBaprendi8a#em5 !e.erAncias "ibliogr2.icas +D Game %t-dio5 Dispon4$e! em0 _6ttp0//...5+d#amest-dio5com` Acesso em0 <; abr5 <;;J5 A:RAGA3E%5 Dispon4$e! em0 _6ttp0//...5abra#ames5or#5br/` Acesso em0 CJ mai5 <;;J5 A!ias5 Dispon4$e! em0 _6ttp0//...5a!ias.a$efront5com` Acesso em0 +; abr5 <;;J5 %oftima#ehO%I5 Dispon4$e! em0 _6ttp0//...5softima#e5com/prod-cts/xsi/$I/` Acesso em0 CJ mai5 <;;J A-dacitR5 Dispon4$e! em0 _6ttp0//a-dacitR5so-rcefor#e5net/` Acesso em0 CJ mai5 <;;J5 :attaio!a/ Andr, L5 Eo#os por Comp-tador Qist"rico/ Re!e$Hncia ecno!"#ica e 3ercado!"#ica/ endncias e ,cnicas de Imp!ementa12o In0 OIO Eornada de At-a!i8a12o em Informtica5 C-ritiba0%:C/ E-!6o/<;;;/ $5 <5 pp5 M+BC<<5 :attaio!a/ Andr, L5T E!ias/ 'assim C5T Domin#-es/ Rodri#o G5 et a! Desen$o!$imento de -m %oft.are Ed-caciona! com :ase em Conceitos de Eo#os de Comp-tador In0 OIII %imp"sio :rasi!eiro de Informtica na Ed-ca12o5 %2o Leopo!do0 %:C/ <;;</ pp5 <M<B<N;5 :enQa**i/ GaridT EriV/ DRbner5 +D Grap6ica! User Interfaces5 Estoco!mo0 Uni$ersidade de Estoco!mo/ Re!at"rio ,cnico/ CNNN/ J; p5 :er#en/ Gino Van Den5 Co!!ision Detection in Interacti$e +D En$ironments &3or#an [a-fmann %eries in Interacti$e +D ec6no!o#R)5 3or#an [a-fmann5 (ctober <;;+5 :ittenco-rt/ Eo2o R5T Giraffa/ L-cia 35 A Uti!i8a12o dos Ro!eBP!aRin# Games Di#itais no Processo de EnsinoBAprendi8a#em5 <;;+5 Re!at"rio ,cnico ni;+C/ PPGCC/GACI'/PUCR%/ Porto A!e#re/ <;;+/ K< p5 :ittenco-rt/ Eo2o R5 Um Grame.orV para Cria12o de Eo#os Comp-tadori8ados 3-!tip!ataforma5 Porto A!e#re0 PUCR%/PPGCC/ <;;I/ CNN p5 :!ender+D5 Dispon4$e! em0 _6ttp0//...5b!ender+d5com` Acesso CJ mai5 <;;J5 Cra.ford/ C6ris5 C6ris Cra.ford on Game Desi#n5 'e. Riders P-b!is6ers/ <;;I5 C!-a/ Esteban Pa!ter Gon8a!e8T E-nior/ Car!o L-ciano de L-caT 'abais/ Rodri#o Eos, de 3oraes5 ImportHncia e Impacto dos Eo#os Ed-cati$os na %ociedade5 In0 I PorVs6op :rasi!eiro de Eo#os e Entretenimento Di#ita!5 Proceedin#s5 %:C0 Gorta!e8a/ <;;<5 C!-a/ Esteban P5G5T :ittenco-rt/ Eo2o R5 In0 OV %imp"sio :rasi!eiro de Informtica na Ed-ca12o5 3ana-s0 %:C/ 'o$embro/<;;I5 CrRsta! %pace5 Dispon4$e! em0 _6ttp0//crRsta!5so-rcefor#e5net/` Acesso em0 << abr5 <;;J5 DAZ Prod-ction5 Dispon4$e! em0 _6ttp0//...5da8+d5com/` Acesso em0 CJ mai5 <;;J5 DirectIA5 Dispon4$e! em0 _6ttp0//...5directia5com` Acesso em0 CJ mai5 <;;J5 Discreet5 Dispon4$e! em0 _6ttp0//...5discreet5com/` Acesso em0 <J abr5 <;;J5 Eber!R Da$id Q5/ +D Game En#ine Desi#n 0 A Practica! Approac6 to Rea!Bime Comp-ter Grap6ics5 3or#an [a-fmann/ %eptember/ <;;;5 Eber!R Da$id Q5 Game P6Rsics &Interacti$e +d ec6no!o#R %eries)5 3or#an [a-fmannT :VaCDBRom edition5 December/ <;;+5 EB(n %oft.are5 Dispon4$e! em0 _...5eBonsoft.are5com` Acesso em0 C; mai5 <;;J5 G!R +D5 Dispon4$e! em0 _6ttp0//...5f!R+d5com5br` Acesso0 CJ abr5 <;;J5 Games to eac6 Pro*ect5 Desen$o!$ido pe!o 3I5 Dispon4$e! em0 _6ttp0//cms5mit5ed-/#ames/ed-cation/` Acesso em0 <M abr5 <;;J5 GI3P5 Dispon4$e! em0 _6ttp0//...5#imp5or#/` Acesso em0 CJ mai5 <;;J5 Isaco$ic/ [arsten5 +D En#ine List5 Dispon4$e! em0 _6ttp0//c#5cs5t-B ber!in5de/jVi/en#ines56tm!` Acesso em0 C; mai5 <;;J5 Laird/ Eo6n5 Van Lent/ 3ic6ae!5 Q-manB!e$e! AIYs [i!!er App!ication0 Interacti$e Comp-ter Games In0 AI 3a#a8ine/ $5<</ n5</ <;;C/ pp5 CJB<J5 La3ot6e/ Andr,5 ricVs of t6e +D Game Pro#rammin# G-r-sBAd$anced +D Grap6ics and Rasteri8ation/ Pearson Ed-cation/ E-ne <;;+5 'e.eV5 Dispon4$e! em0 _6ttp0//...5ne.teV5com` Acesso em0 C; mai5 <;;J5 (DG RocVet5 Dispon4$e! em0 _6ttp0//...5p6Rsicstoo!s5or#/` Acesso em0 CJ mai5 <;;J5 (#re+D5 Dispon4$e! em0 _6ttp0//...5o#re+d5or#` Acesso em0 CL mai5 <;;J5 Pandromeda5 Dispon4$e! em0 _6ttp0//...5pandromeda5com` Acesso em0 C; mai5 <;;J5 P!ane%6ift5 Dispon4$e! em0 _6ttp0//...5p!anes6ift5it`5 Acesso em0 <J abr5 <;;J5 Pro*ect LooVin# G!ass5 Dispon4$e! em0 _6ttps0//!#+d5de$5*a$a5net` Acesso em0 CJ mai5 <;;J5 Ro!!in#s/ Andre. and 3orris/ Da$e5 Game Arc6itect-re and Desi#n0 A 'e. Edition5 'e. Riders P-b!is6ers/ <;;I5 %a!en/ [atieT Zimmerman/ Eric5 R-!es of p!aR 0 #ame desi#n f-ndamenta!s5 Cambrid#e0 3I/ <;;I5 KL< p5 %c6.ab/ :rian5 AI Game En#ine Pro#rammin# &Game De$e!opment %eries)5 C6ar!es Ri$er 3edia/ %eptember/ <;;I5 %e.a!d/ Leonardo5 %C(RE0 Uma proposta para pro*eto e imp!ementa12o do comportamento de a#entes co#niti$os ap!icado a *o#os comp-tadori8ados interati$os5 Porto A!e#re0 PUCR%/PPGCC/ <;;</ LJ p5 %onR 3edia%oft.are5 Dispon4$e! em0 _6ttp0//mediasoft.are5sonRpict-res5com/` Acesso em0 CK mai5 <;;J5 %tBLa-rent/ %ebastien5 %6aders for Game Pro#rammers and Artists5 3-sVa a Lipman/PremierBradeT Cst edition53aR/ <;;I5 erra#en5 Dispon4$e! em0 _...5p!anetside5co5-V/terra#en/` Acesso em0 C; mai5 <;;J5 sin#os/ 'ico!asT Ga!!o/ Emman-e!T DrettaVis/ Geor#e In0 AC3 ransactions on Grap6ics/ n5 +5 $o!5 <+/ E-!R/<;;I Pen/ Qo.ard CrRsta!5 CrRsta! %pace0 An (pen %o-rce +D Grap6ics En#ine5 In0 Lin-x Eo-rna! $5<;;< iss-e NL/ 3aio/<;;<5 Dispon4$e! em0 _6ttp0//...5!in-x*o-rna!5com/artic!e5p6p]sidkJJCI`5 Acesso em0 ;I mar5 <;;J5 Oa$ier/ G-i!6erme5 E!etro!-dens5 raba!6o de conc!-s2o de c-rso feito no departamento de artes da PUCBRio/ <;;+ Zerbst/ %tefan and DS$e!/ (!i$er5 +D Game En#ine Pro#rammin#5 6omson Co-rse ec6no!o#R/ Premier press/ <;;I5