tag:blogger.com,1999:blog-59339594315050787942024-02-19T05:11:03.976-03:00Mr Brum GamesAcompanhe aqui os trabalhos desenvolvidos por MrBrum.Master Newshttp://www.blogger.com/profile/00348962552210015954noreply@blogger.comBlogger30125tag:blogger.com,1999:blog-5933959431505078794.post-84502764451867528162015-03-18T02:10:00.001-03:002015-03-18T14:59:51.684-03:00Lady Bugs<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLDc_zkz5iQhlwwGgrEZLUqtVWx677bft_qY_VhIgpo2ksmLhQjTIfEvHER-K_UhZIgIs2t6Bjy5fi7rNKyrhN0A8XCNPASKBYTvk32lj8QTmV3XDM1hxOMtImI1QKOKi75j7jMavUqck/s1600/lady+bug+banner.png" imageanchor="1" style="background-color: white; margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLDc_zkz5iQhlwwGgrEZLUqtVWx677bft_qY_VhIgpo2ksmLhQjTIfEvHER-K_UhZIgIs2t6Bjy5fi7rNKyrhN0A8XCNPASKBYTvk32lj8QTmV3XDM1hxOMtImI1QKOKi75j7jMavUqck/s1600/lady+bug+banner.png" height="38" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="background-color: white;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="text-align: justify;">
<span style="background-color: white;"><strong style="background-color: #f1f3f0; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18.2000007629395px; margin: 0px; padding: 0px; text-align: start;">Descrição:</strong><span style="background-color: #f1f3f0; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: start;"> LadyBugs são animais que cuidam da natureza, elas preservam as plantas e atacam a praga dos pulgões. Mantenha as LadyBugs em pé no jardim, devore os pulgões e proteja as formigas. Não deixe que elas se toquem, pois isso faz com que elas se virem e tenham dificuldade pra ficar de pé. </span></span></div>
<span style="background-color: white;"><span style="background-color: #f1f3f0; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: start;"></span><br /></span>
<div style="text-align: left;">
<span style="background-color: #f1f3f0; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: start;"><span style="background-color: white; line-height: 18.2000007629395px;">A cada fase a dificuldade aumenta!</span></span></div>
<span style="background-color: white;"><span style="background-color: #f1f3f0; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: start;">
</span>
</span><br />
<div style="text-align: left;">
<span style="background-color: #f1f3f0; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: start;"><span style="background-color: white; line-height: 18.2000007629395px;"><br /></span></span></div>
<span style="background-color: #f1f3f0; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: start;">
</span>
<div style="text-align: left;">
<span style="background-color: #f1f3f0; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: start;"><strong style="line-height: 18.2000007629395px; margin: 0px; padding: 0px;">Controles:</strong><span style="line-height: 18.2000007629395px;"> Clique no solo para guiar as LadyBugs de forma que elas não se toquem.</span></span></div>
<span style="background-color: #f1f3f0; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: start;">
<div style="text-align: left;">
<span style="line-height: 18.2000007629395px;"><br /></span></div>
<div style="text-align: left;">
<strong style="line-height: 18.2000007629395px; margin: 0px; padding: 0px;">Imagens:</strong><span style="line-height: 18.2000007629395px;"> </span></div>
</span><br />
<div class="separator" style="clear: both; text-align: center;">
<span style="background-color: #f1f3f0; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: start;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZTT-tSbmMuej_nZzeleryTZzCYRfHnG1eadJyZY9gLZ2vEmOPVjTCjqPRw3TlhmWmxVAPTqtQTPNx4yje5AxjH5VC1Dtnj3pvR4grbWXnjM5Ukrr3Glgm5t6Hlmtp6DD4vQrjwAjP5KA/s1600/lady+bug+game+play.png" imageanchor="1" style="background-color: white; margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZTT-tSbmMuej_nZzeleryTZzCYRfHnG1eadJyZY9gLZ2vEmOPVjTCjqPRw3TlhmWmxVAPTqtQTPNx4yje5AxjH5VC1Dtnj3pvR4grbWXnjM5Ukrr3Glgm5t6Hlmtp6DD4vQrjwAjP5KA/s1600/lady+bug+game+play.png" height="240" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAn9TKEt2DeLOdTjMdtoBakdj_uMK3jx0E2pNpgiFxaDtahrQeo1ptccaEZ05RhCZxeMEUz39skXAhG8ZdMhGUmytaQ6_B34wWs1h1xPl_tFVA9Vgg9rXEO49l91iFvOOD4cAq8aFSNts/s1600/lady+bug+menu.png" imageanchor="1" style="background-color: white; margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAn9TKEt2DeLOdTjMdtoBakdj_uMK3jx0E2pNpgiFxaDtahrQeo1ptccaEZ05RhCZxeMEUz39skXAhG8ZdMhGUmytaQ6_B34wWs1h1xPl_tFVA9Vgg9rXEO49l91iFvOOD4cAq8aFSNts/s1600/lady+bug+menu.png" height="240" width="320" /></a></div>
<span style="background-color: white;"><br /></span>
<span style="background-color: white;"><br /></span>
<span style="background-color: white;"><br /></span>
<div style="text-align: left;">
<a href="http://www.kongregate.com/games/mvsb22/lady-bugs" rel="nofollow" style="color: #22b14c; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18.2000007629395px; margin: 0px; padding: 0px; text-align: -webkit-center;" target="_blank"><span style="color: #cc0000; margin: 0px; padding: 0px;"><span style="font-size: 16px; line-height: normal; margin: 0px; padding: 0px;"><strong style="background-color: white; margin: 0px; padding: 0px;">Jogar LadyBug</strong></span></span></a></div>
<span style="background-color: white;"><span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18.2000007629395px;"><br /></span>
<span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18.2000007629395px;"><br /></span></span>
<span style="background-color: #f1f3f0; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18.2000007629395px;"><br /></span>Master Newshttp://www.blogger.com/profile/00348962552210015954noreply@blogger.com0tag:blogger.com,1999:blog-5933959431505078794.post-53719017810043124392012-09-15T14:48:00.003-03:002012-09-15T14:48:53.908-03:00[Game Maker] Engine Pause Game Letra por Letra<div style="text-align: center;">
<b><span style="font-size: large;"> Pause Game Letra por Letra</span></b></div>
<div style="text-align: center;">
<b><span style="font-size: large;"><br /></span></b></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSHPSaW9uJcEieP_BB3YGu1lP2_982Lq0wRa7DlmkVn-QZ1fbTmDlNOM5dVDkzl8tWEobiEMrg5dSk0pkJJgjFY1Dxtq5Q8Xt1ktMYVsWRY5KWskIHSxV8w_6TRxSMaurTjkfGMFV4kjw/s1600/screenshot100.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSHPSaW9uJcEieP_BB3YGu1lP2_982Lq0wRa7DlmkVn-QZ1fbTmDlNOM5dVDkzl8tWEobiEMrg5dSk0pkJJgjFY1Dxtq5Q8Xt1ktMYVsWRY5KWskIHSxV8w_6TRxSMaurTjkfGMFV4kjw/s320/screenshot100.png" width="320" /></a></div>
<div style="text-align: center;">
<b><span style="font-size: large;"><br /></span></b></div>
<div style="text-align: center;">
<b><span style="font-size: large;"><br /></span></b></div>
<div style="text-align: left;">
A pedido de um amigo, eu fiz essa engine de pause game, onde um texto é apresentado na tela letra por letra.</div>
<div style="text-align: left;">
O mesmo mecanismo pode ser usado num sistema de chat com npcs, ou até mesmo em mensagens do jogo.</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
Vamos ao passo-a-passo do sistema:</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
1*- Marque a room do seu jogo como<i> Persistente.</i></div>
<div style="text-align: left;">
Isso é necessário, pois quando voltarmos do pause queremos que tudo esteja no mesmo lugar, do mesmo jeito que estava.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitOHLm3Ze6pM2CEX58mnLTKq57wQBJe89FINg28zv6RSIj1gnRuXKxQwMFXMhgDw3dLB69m68IG0ZisMYWGjbYD-etNVupW79g7YujO5pcxwer9Ixxgz4Q4FkLWBohNuikV5nKqSxO-Js/s1600/persistente.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitOHLm3Ze6pM2CEX58mnLTKq57wQBJe89FINg28zv6RSIj1gnRuXKxQwMFXMhgDw3dLB69m68IG0ZisMYWGjbYD-etNVupW79g7YujO5pcxwer9Ixxgz4Q4FkLWBohNuikV5nKqSxO-Js/s1600/persistente.png" /></a></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
2*- Crie uma outra room , vamos chamá-la de <i>Pause.</i></div>
<div style="text-align: left;">
Ela deve ter o mesmo tamanho da room do seu jogo.</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<i>3*- </i>Crie um objeto, vamos chamá-lo de <i>Obj_Pause.</i></div>
<div style="text-align: left;">
Crie uma nova sprite para ele,vamos chamá-la de <i>Spr_Pause.</i></div>
<div style="text-align: left;">
Nela crie várias sub-imagens para compor o texto que deseja. Sempre adicionando uma letra por vez.</div>
<div style="text-align: left;">
Ex:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3tFC-YZJlZ7oNalOCfpfvA7Zr3VIkq5SZqv3w2grIlY86KfCH0G6OsuNMjehapJWaFeOd2VfuuCr4hyphenhyphenr0d57i__wK6GXXFqrQB1-jArVxct-f4MSPnUVphoa7HrMrpzsl8uLD3VL2hrg/s1600/pauseimages.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="298" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3tFC-YZJlZ7oNalOCfpfvA7Zr3VIkq5SZqv3w2grIlY86KfCH0G6OsuNMjehapJWaFeOd2VfuuCr4hyphenhyphenr0d57i__wK6GXXFqrQB1-jArVxct-f4MSPnUVphoa7HrMrpzsl8uLD3VL2hrg/s320/pauseimages.png" width="320" /></a></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<i><br /></i></div>
<div style="text-align: left;">
4*- No <i>Obj_Pause</i> vamos programar os eventos:</div>
<div style="text-align: left;">
<b> Create:</b></div>
<div style="text-align: left;">
</div>
<i>//paramos a animação da sprite:</i><br />
<i>image_speed=0</i><br />
<i>//setamos o alarm:</i><br />
<i>alarm[0]=5</i><br />
<br />
<b> Alarm[0]:</b><br />
<br />
<i>//Se a image_index estiver acima da última, aumentar 1 nela e redefinir o alarm:</i><br />
<i>if image_index<8 {image_index+=1;alarm[0]=5} </i><br />
<div>
<br /></div>
<div>
<b> Key_Press_Enter:</b></div>
<div>
<div>
<i>//voltamos ao jogo</i></div>
<div>
<i>room_goto(Game)</i></div>
</div>
<div>
<i><br /></i></div>
<div>
5*- No objeto principal do seu jogo,que deve estar na room Game, coloque um evento de <i>key_press_space</i> e ponha uma ação para ir para room <i>Pause</i>:</div>
<div>
EX:</div>
<div>
<div>
<i>//voltamos ao jogo</i></div>
<div>
<i>room_goto(Pause)</i></div>
</div>
<div>
<br /></div>
<div>
<i>6*- </i>Coloque o <i>Obj_Pause</i> na room <i>Pause</i> .</div>
<div>
<br /></div>
<div>
7*-Teste o jogo!!</div>
<div>
Jogue um pouco na sua room Game, e depois aperte Espaço para pausar.</div>
<div>
O texto irá se compor letra por letra.</div>
<div>
Depois vc aperta espaço e volta ao seu jogo.</div>
<div>
<br /></div>
<div style="text-align: center;">
<a href="https://www.dropbox.com/s/97btxg19qewmi7y/Mensagem%20Letra%20por%20Letra%20RPG.gmk"><span style="font-family: Verdana, sans-serif;">DOWNLOAD</span></a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<br />
<br />
<div style="text-align: left;">
<i><br /></i></div>
<div style="text-align: left;">
<i><br /></i></div>
<div style="text-align: left;">
<b><span style="font-size: large;"><br /></span></b></div>
Master Newshttp://www.blogger.com/profile/00348962552210015954noreply@blogger.com0tag:blogger.com,1999:blog-5933959431505078794.post-42054197130676793072012-09-07T19:42:00.001-03:002012-09-07T19:42:50.524-03:00[Game Maker]Abrindo URL no Navegador PadrãoVou mostrar de uma maneira fácil, como abrir uma página da Web no navegador padrão do usuário.<br />
Para isso vamos criar um arquivo .bat com o comando para abrir a página, depois vamos executar esse arquivo, e por fim excluí-lo.<br />
<br />
Mãos à massa:<br />
<br />
1*- Abra o Game Maker , e crie um objeto. Faça também uma sprite para ele.<br />
<br />
2*- No evento Create do objeto, coloque:<br />
<i>//criamos o arquivo na pasta local do jogo,com a terminação .bat:</i><br />
<br />
<i>t=file_text_open_write("url.bat")</i><br />
<i>//escrevemos o nosso comando(start) no arquivo criado,com o url desejado:</i><br />
<i>file_text_write_string(t,"start http://mrbrumgames.blogspot.com/")</i><br />
<i>//fechamos o arquivo</i><br />
<i>file_text_close(t)</i><br />
<br />
3*- No evento Click do objeto, ponha:<br />
<br />
<i>//executamos o nosso arquivo de texto .bat:</i><br />
<i>execute_program("url.bat",0,"")</i><br />
<i><br /></i>
4*- No evento Game_end coloque:<br />
<br />
<br />
<div style="font-style: italic;">
//deletamos o arquivo</div>
<div style="font-style: italic;">
file_delete("url.bat")</div>
<div style="font-style: italic;">
<br /></div>
5*- Coloque o objeto na room e teste o jogo!<br />
<br />
Se tudo estiver certo, basta um clique no objeto para que a URL desejada abra no navegador padrão do usuário.<br />
<br />
<div style="text-align: center;">
<a href="https://dl.dropbox.com/u/43446077/JOGOS/engines/abrir%20pagina%20no%20navegador%20padrao.gmk">DOWNLOAD</a></div>
<br />
<br />
<div style="font-style: italic;">
<br /></div>
<div style="font-style: italic;">
<br /></div>
<div style="font-style: italic;">
<br /></div>
<div style="font-style: italic;">
<br /></div>
<br />
<br />
<br />
Master Newshttp://www.blogger.com/profile/00348962552210015954noreply@blogger.com3tag:blogger.com,1999:blog-5933959431505078794.post-40370937697256678312012-08-29T19:53:00.000-03:002012-08-29T19:53:02.504-03:00Pelé's Soccer 3D Video 1Aqui está o primeiro vídeo de Game Play do meu jogo: <b>Pelé's Soccer 3D</b>:<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/YyUcpvZAF1Y?feature=player_embedded' frameborder='0'></iframe></div>
<br />
Original: Pelé's Soccer - Atari<br />
Programa: Game Maker 8<br />
Créditos: João Vann Blizzard, pelos modelos.<br />
<br />
Em breve eu vou lançar uma versão Beta!Master Newshttp://www.blogger.com/profile/00348962552210015954noreply@blogger.com0tag:blogger.com,1999:blog-5933959431505078794.post-24430952786801656162012-08-26T23:37:00.002-03:002012-08-26T23:37:33.297-03:00PELÉ SOCCER TESTES DE ILUMINAÇÃO<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhx7MLV0CscYl2mtHVCpfU50BnBS_PUZpupsETVBJyWeCgQxUceIiRfy6RJ-ACkj1dKa3f1sF4JsHNEMTDL7k4tFHtRDo4uobWMjfEIx6vbTheJHjDCotTBRsbAUlo-KPIQ5RKRIxk329U/s1600/screenshot125.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="192" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhx7MLV0CscYl2mtHVCpfU50BnBS_PUZpupsETVBJyWeCgQxUceIiRfy6RJ-ACkj1dKa3f1sF4JsHNEMTDL7k4tFHtRDo4uobWMjfEIx6vbTheJHjDCotTBRsbAUlo-KPIQ5RKRIxk329U/s320/screenshot125.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYeymJGW_H7pj11WH9x8ZuwelF2cHaWmfaVJ5UdVDjVANQddIRXFKse_HJGTcGsjqGaZEbTxscg41b07WbRaZDKt7eMrAztb7TA4bravea_qmI13etc3jEiQKSXN95JsQzAqTpxHjFehE/s1600/screenshot126.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="192" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYeymJGW_H7pj11WH9x8ZuwelF2cHaWmfaVJ5UdVDjVANQddIRXFKse_HJGTcGsjqGaZEbTxscg41b07WbRaZDKt7eMrAztb7TA4bravea_qmI13etc3jEiQKSXN95JsQzAqTpxHjFehE/s320/screenshot126.png" width="320" /></a></div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtx0V_vJUpF5HDdT9OprpCZ1x32LWo3VlPRIpuV9VelKrV_KMp75ldKYpikBitbc_L_VlXrwoygg8zDMnNvThBLuukCP0w8yhMixwATEB3zf7tg_KkiU2fdbBVypGEmxFtNq3RMW78K5E/s1600/screenshot127.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="192" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtx0V_vJUpF5HDdT9OprpCZ1x32LWo3VlPRIpuV9VelKrV_KMp75ldKYpikBitbc_L_VlXrwoygg8zDMnNvThBLuukCP0w8yhMixwATEB3zf7tg_KkiU2fdbBVypGEmxFtNq3RMW78K5E/s320/screenshot127.png" width="320" /></a></div>
Master Newshttp://www.blogger.com/profile/00348962552210015954noreply@blogger.com0tag:blogger.com,1999:blog-5933959431505078794.post-39100916472623911632012-08-12T16:14:00.003-03:002012-08-12T16:14:37.751-03:00[Remake] Pelé´s Soccer 3D<div class="separator" style="clear: both; text-align: center;">
<a href="https://dl.dropbox.com/u/43446077/JOGOS/Pel%C3%A9's%20soccer/screenshot106.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="192" src="https://dl.dropbox.com/u/43446077/JOGOS/Pel%C3%A9's%20soccer/screenshot106.png" width="320" /></a></div>
<span style="background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18.200000762939453px; margin: 0px; padding: 0px;"><br /></span>
<span style="background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18.200000762939453px; margin: 0px; padding: 0px;"><br /></span>
<span style="background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18.200000762939453px; margin: 0px; padding: 0px;">Está rolando um concurso de jogos no fórum <a href="http://gmbr.forumeiros.com/">GMBR</a> , e o tema é: <b>Atari Remakes</b>, então resolvi fazer um remake desse jogo que eu gosto muito no Atari:</span><br />
<strong style="background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18.200000762939453px; margin: 0px; padding: 0px;"><br /></strong>
<span style="background-color: white;"><strong style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18.200000762939453px; margin: 0px; padding: 0px;">Nome:</strong><span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18.200000762939453px;"> Pelé´s Soccer</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18.200000762939453px; margin: 0px; padding: 0px;" /><strong style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18.200000762939453px; margin: 0px; padding: 0px;">Console: </strong><span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18.200000762939453px;">Atari 2600</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18.200000762939453px; margin: 0px; padding: 0px;" /><strong style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18.200000762939453px; margin: 0px; padding: 0px;">Gênero:</strong><span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18.200000762939453px;"> Futebol</span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18.200000762939453px; margin: 0px; padding: 0px;" /><strong style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18.200000762939453px; margin: 0px; padding: 0px;">Wikipédia Descrição:</strong><span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18.200000762939453px;"> </span><br style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18.200000762939453px; margin: 0px; padding: 0px;" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18.200000762939453px;">Futebol Pelé é um Atari 2600 jogo baseado no famoso futebol (soccer) jogador Pelé , e publicado em 1981 .</span></span>
<br />
<b style="background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18.200000762939453px;">Imagens:</b><br />
<div style="text-align: center;">
<span style="background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18.200000762939453px;"> Versão original:</span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://dl.dropbox.com/u/43446077/JOGOS/Pel%C3%A9's%20soccer/s_ChampionshipSoccer_1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://dl.dropbox.com/u/43446077/JOGOS/Pel%C3%A9's%20soccer/s_ChampionshipSoccer_1.png" width="400" /></a></div>
<br />
<br />
<div style="text-align: center;">
Minha versão:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://a6.sphotos.ak.fbcdn.net/hphotos-ak-snc7/376580_231757056947432_1166787364_n.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://a6.sphotos.ak.fbcdn.net/hphotos-ak-snc7/376580_231757056947432_1166787364_n.jpg" width="400" /></a></div>
<br />
Na medida que for evoluindo eu vou postando aqui.<br />
<br />Master Newshttp://www.blogger.com/profile/00348962552210015954noreply@blogger.com0tag:blogger.com,1999:blog-5933959431505078794.post-4767739549774742652012-07-30T22:19:00.003-03:002012-07-30T22:19:26.770-03:00ANÁLISE DE SISTEMAS PARA JOGOS INDIES<div style="text-align: center;">
<b>Para Refletir:</b></div>
<div style="text-align: center;">
<b><br /></b></div>
<div style="text-align: left;">
Você já parou para pensar porque 99% dos seus projetos não chegam ao final esperado?</div>
<div style="text-align: left;">
A resposta para essa pergunta pode estar no planejamento do seu projeto.</div>
<div style="text-align: left;">
A análise de sistemas tem como objetivo permitir o planejamento,desenvolvimento e conclusão de um projeto.</div>
<div style="text-align: left;">
No caso de pequenos projetos, nós até conseguimos fazer tudo sozinhos,transcrevendo o jogo da nossa mente para o computador. Mudando o rumo do projeto várias vezes,e alterando livremente a nossa idéia inicial.</div>
<div style="text-align: left;">
Mas e no caso de projetos grandes,ou até de médio porte? Quando se tem uma idéia que irá desbancar a Blizard e a EA?? Como carregar todo o projeto na cabeça e conduzi-lo apenas com o seu cérebro???</div>
<div style="text-align: left;">
E se for em equipe, como coordenar a equipe???</div>
<div style="text-align: left;">
A resposta para essas perguntas está no planejamento do seu jogo. É ele quem vai possibilitar ao seu projeto chegar ao final,e atingir todos os objetivos esperados.</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: center;">
<b>Planejamento</b></div>
<div style="text-align: center;">
<b><br /></b></div>
<div style="text-align: left;">
O Planejamento vai permitir traçar os objetivos do seu projeto,os detalhes técnicos,os recursos usados e o limite onde se poderá chegar.</div>
<div style="text-align: left;">
Para um bom planejamento é nescessário levar em conta alguns aspectos:</div>
<div style="text-align: left;">
<b>*Anote:</b></div>
<div style="text-align: left;">
Quando sentir o estalo do seu jogo,começar a conceber o seu jogo, corra e anote tudo quanto puder, o nosso cérebro é falho,e por muitas vezes um brainstorm pode fazer a gente esquecer de alguns projetos, dando mais atenção a outros,<strike>e no final não fazemos nenhum!</strike></div>
<div style="text-align: left;">
É importante que você anote todos os objetivos pretendidos com o projeto, eles serão o motivo pelo qual você deverá continuar o projeto.</div>
<div style="text-align: left;">
<strike><br /></strike></div>
<div style="text-align: left;">
<b>*Organize as idéias:</b></div>
<div style="text-align: left;">
Após descrever seu projeto de forma geral, organize suas idéias.</div>
<div style="text-align: left;">
Separe a sua descrição por etapas, utilizando arquivos,títulos e subtítulos.</div>
<div style="text-align: left;">
Abuse da organização!</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<b>*"Desenhe" o jogo:</b></div>
<div style="text-align: left;">
Tá na hora de partir para os detalhes técnicos, defina todos os aspectos do jogo, como:</div>
<div style="text-align: left;">
Plataforma,Gráfico,Jogabilidade,Áudio,Versões...</div>
<div style="text-align: left;">
É nessa hora que você vai ver tudo o que imaginou quando teve o estalo começar a ganhar forma.</div>
<div style="text-align: left;">
Descreva aquilo que foi visualizado na sua mente.</div>
<div style="text-align: left;">
Se nescessário use imagens,vídeos e até slides para ilustrar suas idéias,pois assim elas não serão mais esquecidas. E te possibilita a apresentar a sua idéia a outras pessoas(<strike>sem que elas te chamem de louco!</strike>).</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<b>*"Defina" os recursos:</b></div>
<div style="text-align: left;">
É importante que essa parte venha após as etapas anteriores, porque ela pode decidir pela efetuação ou não do projeto, se você fizesse ela no início,poderia comprometer sua idéia. O que não seria bom!!</div>
<div style="text-align: left;">
Descreva quais as Engines,Programas,Métodos,Resources e Investimentos que o jogo terá.</div>
<div style="text-align: left;">
Descreva também o saldo que você obtém para gastar nesses recursos,fontes de ganhos,e a forma e potencial de lucro do jogo.</div>
<div style="text-align: left;">
Após essa etapa podemos ter idéia do valor gasto para o projeto,e viabilizar <strike>ou não</strike> a continuação do projeto.</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<b>*Divida o trabalho:</b></div>
<div style="text-align: left;">
O trabalho já está a caminho, resta saber como e por quem será feito.</div>
<div style="text-align: left;">
Existem 3formas de trabalho para um maker indie:</div>
<div style="text-align: left;">
-<b>Forever Alone:</b> Você vai fazer tudo! É nescessário que você tenha habilidades variadas pra lidar com todos os aspectos do jogo, o tempo não será seu aliado,portanto é normal que seu projeto termine <strike>no próximo milênio</strike> depois de muito tempo além do esperado.</div>
<div style="text-align: left;">
-<b>OutSourcing:</b> Você não tem uma equipe formal, e sim uma rede de contatos,com terceiros dispostos a te ajudar no projeto,remuneradamente ou <strike>por pelasaquismo</strike> não. Geralmente eses terceiros são bons em alguma área,e você poderá passar o trabalho especializado para eles. Os quisitos a se levar em conta são: O preço do trabalho,A confiabilidade do terceiro,O Prazo de entrega e a Qualidade do trabalho.</div>
<div style="text-align: left;">
<b>-Equipe: </b>Você se une a pessoas interessadas no seu projeto e especializados em alguma área. É importante que a equipe seje liderada pelo Analista de Sistemas, pois ele sabe todos os detalhes do projeto e é o responsável por acompanhar o andamento. Divida o trabalho de forma que cada integrante faça aquilo que sabe fazer! Estipule prazos para entrega, cobre responsabilidade dos seus pupilos,e nunca deixe de forma nenhuma de acompanhar o andamento do projeto.</div>
<div style="text-align: left;">
Para Makers Indies, eu dividiria a equipe da seguinte maneira:</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
</div>
-Analista de sistema> Pode ser você,desde que tenha os dons adequados! O Analista de Sistemas deve saber um pouco de cada área do jogo, pra que tenha uma base ao tomar decisões.<br />
Ele faz o planejamento do projeto, definindo todos os recursos que serão usados, dividindo as tarefas entre a equipe. Coordena o projeto e a equipe e é o responsável pelo andamento do projeto e por alcançar sua meta final.<br />
<br />
-Auxiliar de desenvolvimento> Geralmente é aquele cara que não tem nenhuma especialidade, mas que que mostra disposição para ajudar no que precisar!<br />
Ele deve efetuar tarefas de cunho geral, ou tarefas específicas que vão ajudar os outros membros.<br />
Outra função que pode ser delegada à ele são tarefas repetitivas ou menos importantes,como por exemplo, se vocês usam uma IDE, ele pode efetuar a estruturação do projeto nela.<br />
Criando objetos e resources vazios para serem preenchidos pelos membros específicos.<br />
<br />
-Programador> Eu diria que ele é o motor da equipe! Ele é quem vai programar o jogo,seguindo o roteiro criado pelo analista de sistemas, ele vai ser o responsável por fazer a transição entre rascunho e projeto,e fazer com que os resources criados pelos membros da equipe tenham utilidade.<br />
É importante que a equipe tenha um programador inteligente,e que aceite opniões dele relacionadas ao funcionamento do jogo.<br />
<br />
-Design gráfico> Como estamos falando de <strike>noobs querendo fazer um jogo</strike> makers indies,não é possível que se tenha na equipe um mebro para cada área gráfica, como: Spriter,Design,WebDesign,Mapper...<br />
(se você puder ter,melhor ainda!)<br />
Então o Design Gráfico vai ficar responsável pela parte<strike> dócil</strike> visível do jogo.<br />
É importante que o Design trabalhe com prazos estipulados,e que os cumpra!<br />
Pois muitas vezes o projeto pode ficar garrado,à espera do trabalho gráfico!<br />
<br />
-Áudio Mixer> Esse cara geralmente tem menos trabalho no projeto,mas seu trabalho é lento e geralmente tem mais prazos!A falta de jogadores críticos <strike>level99</strike> bons acaba por não estimular a qualidade do áudio dos games indies, que geralmente tem a parte gráfica mais observada.<br />
É importante que esse membro saiba trabalhar com formatos de arquivos de áudio diferentes.<br />
<br />
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: center;">
<b>Conclusão</b></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
Muito Bem!</div>
<div style="text-align: left;">
+Criamos um PLANEJAMENTO.</div>
<div style="text-align: left;">
-Tivemos um estalo.</div>
<div style="text-align: left;">
-Descrevemos nossa idéia.</div>
<div style="text-align: left;">
-Dividimos o trabalho.</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
A Análise de Sistemas parece gerar um trabalho inútil para o seu jogo, pois ela não faz parte das partes técnicas do jogo.Mas se engana quem pensa assim! Ela está longe de ser uma perca de tempo, e muito pelo contrário, ela permite que você veja bem no início os pontos fortes e fracos de uma idéia, e te dá a condição de desitir de um projeto que jamais daria certo,e que muitas vezes nós só descobrimos após perder nosso precioso <strike>dinheiro</strike> tempo nele.</div>
<div style="text-align: left;">
Se você terminou todas as etapas ainda com a convicção que seu game vai Bombar, Parabéns, você está no caminho certo!!</div>
<div style="text-align: left;">
Para nós seres<strike> alienígenas</strike>humanos é muito mais produtivo seguir um papel,do que segui nosso cérebro.</div>
<div style="text-align: left;">
Portanto sua idéia deixa de existir nesse momento,ela passa a ser um projeto!</div>
<div style="text-align: left;">
Um projeto planejado e pronto para ser executado!</div>
<div style="text-align: left;">
A conclusão vai ser resultado do seu empenho e trabalho, é importante que você não desanime quando encontrar dificuldades, mantenha o foco definido no planejamento, e lembre-se que após a tempestade virá <strike>terremoto</strike> a bonança, e você irá colher o fruto do seu trabalho!!</div>
<div style="text-align: left;">
<strike><br /></strike></div>
<div style="text-align: left;">
<strike>Abraços MrBrum!</strike></div>
<div style="text-align: left;">
<strike><br /></strike></div>
<div style="text-align: left;">
<strike><br /></strike></div>
<div style="text-align: left;">
<strike><br /></strike></div>
<div style="text-align: left;">
<strike><br /></strike></div>
<div style="text-align: left;">
<strike><br /></strike></div>
<div style="text-align: left;">
<strike><br /></strike></div>
<div style="text-align: left;">
<strike><br /></strike></div>
<div style="text-align: left;">
<strike><br /></strike></div>
<div style="text-align: left;">
<strike><br /></strike></div>
<div style="text-align: left;">
<strike><br /></strike></div>
<div style="text-align: left;">
<strike><br /></strike></div>Master Newshttp://www.blogger.com/profile/00348962552210015954noreply@blogger.com0tag:blogger.com,1999:blog-5933959431505078794.post-71495383542419347022012-07-15T15:55:00.001-03:002012-07-15T15:55:24.571-03:00Brum FacesDepois de um longo tempo sem novos trabalhos, venho apresentar a vocês, o Brum Faces:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://dl.dropbox.com/u/43446077/JOGOS/BrumFaces/screenshot101.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://dl.dropbox.com/u/43446077/JOGOS/BrumFaces/screenshot101.png" width="320" /></a></div>
<br />
Um modelador no qual eu trabalhei no último mês, para Produzir um soft de modelagem 3D totalmente compatível com o Game Maker.<br />
Diferentemente do Brum Shapes, o Brum Faces trabalha com Faces e não com Shapes.<br />
As Faces dele são compostas por 3vértices, que podem ser manipulados livremente, permitindo ao usuário modelar qualquer coisa que deseje a partir de uma simples face.<br />
<br />
Além de modelar, ele permite que vc use cores nas faces.<br />
E ainda aceita o uso de textura(apenas para teste).<br />
<br />
Por fim tem um animador simples, onde vc pode por meio de Steps(Frames) criar sequencias de poses para serem interpretadas como uma animação.<br />
<br />
Após terminar seu modelo, vc poderá gerar o código gml do modelo.<br />
Serão gerados 2arquivos txts: Create e Draw.<br />
Basta colocar cada qual no seu respectivo evento, dentro do objeto desejado no GM e testar.<br />
<br />
<b><a href="http://dl.dropbox.com/u/43446077/JOGOS/BrumFaces/brum_faces_rel_1.exe">Baixar Primeiro Released.</a></b>Master Newshttp://www.blogger.com/profile/00348962552210015954noreply@blogger.com0tag:blogger.com,1999:blog-5933959431505078794.post-41521811762689794722012-04-03T21:37:00.000-03:002012-04-03T21:37:25.804-03:00Dino Clones<a href="http://dl.dropbox.com/u/43446077/JOGOS/dino_clones_Demo1.rar">Dino clones</a> é um dos meus melhores jogos.<br />
Foi feito em alguns dias para o Concurso quinzenal da <a href="http://gmbr.forumeiros.com/">GMBR</a>, e venceu o concurso!<br />
Já postei sobre ele <a href="http://mrbrumgames.blogspot.com.br/2012/02/dino-clones-chalenge-met.html">AQUI NO BLOG</a> ,porém como o concurso tinha a restrição de uso apenas do mouse, não tive como implantar tudo que eu queria nele, por isso resolvi refazer o projeto, adicionando o teclado, e outros sistemas que não foram possíveis no concurso.<br />
<br />
À medida que o projeto for evoluindo, eu irei postando aqui no Blog pra vocês acompanharem.<br />
Em breve vou postar uma Demo.<br />
Mas enquanto isso, deixarei algumas screens pra vocês, e por favor, se tiverem alguma sugestão, ou alguma idéia para o jogo, não deixe de me enviar.<br />
<br />
<div style="text-align: center;">Primeira Screen</div><div style="text-align: center;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9zFN5I2jz9oYIO9O3ZJFsrvW301CK07nlI3S7O67O59rOW9VS_LpJvWSo_OvHBpBgeM8-yG25dX63LYT_2TBNYoeRQ7-Zr5lnW1W5v1ARGNv-lg3UqohIs_1W5OOKd2NMlqg78UBDiwc/s1600/screenshot100.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9zFN5I2jz9oYIO9O3ZJFsrvW301CK07nlI3S7O67O59rOW9VS_LpJvWSo_OvHBpBgeM8-yG25dX63LYT_2TBNYoeRQ7-Zr5lnW1W5v1ARGNv-lg3UqohIs_1W5OOKd2NMlqg78UBDiwc/s320/screenshot100.png" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><br />
</div><div class="separator" style="clear: both; text-align: center;">Percebam que o mapa continua o mesmo!</div><div class="separator" style="clear: both; text-align: center;">Porém, ao invés das grades que tinham, foi criado um terreno com relevo.</div><div class="separator" style="clear: both; text-align: center;">O projeto ainda está bem no início, tem muito trabalho pela frente!</div>Master Newshttp://www.blogger.com/profile/00348962552210015954noreply@blogger.com1tag:blogger.com,1999:blog-5933959431505078794.post-53099222139798102682012-03-31T17:30:00.002-03:002012-04-08T16:57:18.377-03:00[Engine] TERRENO NUMÉRICO<div style="text-align: center;"><div class="separator" style="clear: both; text-align: center;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><b>TERRENO NUMÉRICO</b> </div><div class="separator" style="clear: both; text-align: center;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="http://dl.dropbox.com/u/43446077/Fotos%20de%20jogos/screenshot100.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://dl.dropbox.com/u/43446077/Fotos%20de%20jogos/screenshot100.png" width="320" /></a></div><b><br />
</b></div><br />
<br />
O terreno numérico é resultado de uma idéia baseada nos heightmaps.<br />
O sistema consiste em criar uma string de caracteres, com números de 0 a 9.<br />
O interpretador irá ler os caracteres 1 por 1, converter para real, e guardar numa grid.<br />
<br />
Após terminar de escrever a grid, ele vai criar triângulos(faces), para cada ítem da grid.<br />
Estes triângulos são jogados numa primitive, que será renderizada na tela,com a textura que vc escolheu.<br />
<br />
Caso você queira usar colisão para a engine, vc irá usar o método de get_z, ele puxa no grid,<br />
o valor de Z correspondente à posição x,y, que vc informou, e aí basta que vc trabalhe o z recebido.<br />
<br />
<br />
<b>CONTROLES</b><br />
w- anda pra frente<br />
s- anda pra trás<br />
a- anda para a esquerda<br />
d- amda para a direita<br />
mouse- move o olhar da câmera.<br />
<br />
<a href="http://dl.dropbox.com/u/43446077/JOGOS/engines/TERRENO_Num%C3%A9rico.gmk"> <strong><span style="font-size: large;"><span style="font-family: "Georgia", "Times New Roman", serif;">BAIXAR</span></span></strong></a>Master Newshttp://www.blogger.com/profile/00348962552210015954noreply@blogger.com2tag:blogger.com,1999:blog-5933959431505078794.post-91444840251222487402012-03-03T02:21:00.002-03:002012-03-03T02:51:15.495-03:00[Curso Gm 3D] Aula 6: Modelos animados (.md2)<b>ENGINE:</b> Game Maker<br />
<b>NÍVEL:</b> intermediário<br />
<b>TEMA:</b> Game Maker, Modelos animados (.md2).<br />
<b>PRÉVIA:</b>Nesta aula, vamos falar sobre Modelos animados (.md2), que serão renderizados no GM por meio de uma extensão.<br />
<b>DIREITOS: </b><span style="color: #990000;">Este tutorial não pode ser copiado nem exibido em outros locais na internet sem a devida autorização do autor.Caso tenha interesse em usá-lo ,contate-me.</span><br />
<br />
<br />
<div style="text-align: center;"><b>INTRODUÇÃO</b></div><br />
Bom, começo lhes informando que vamos ter que adotar recursos externos para realizar esta atividade, pois o GM por si só não consegue renderizar os modelos em .md2 , por isso vamos usar o <a href="http://gmbr.forumeiros.com/t13916-extensaogml-sdk-v10">GMSDK</a>,que é uma extensão para o GM, feito pelo <span style="color: blue;"><b><a href="http://gmbr.forumeiros.com/u1876">jiraya</a></b></span>, Colaborador da <a href="http://gmbr.forumeiros.com/">GMBR</a>.<br />
<br />
Muito já se falou da limitação do GM no 3D, com arquivos animados por bones, essa limitação é ainda maior, fiz alguns testes com a velocidade de renderização, e de rotação maior de frames, e o GM não suportou! portanto nem abordarei aqui sobre velocidade de mudança dos frames, visto que o GM não suporta essa ação.<br />
O que vamos fazer será uma engine simples, com um modelo externo .md2 animado.<br />
Então antes de mais nada, baixe o <a href="http://dl.dropbox.com/u/43446077/tutoriais/GMLSDK.gex">GMSDK</a>.<br />
Aprenda a instalá-lo <a href="http://gmbr.forumeiros.com/t5153-instalando-uma-extensao">AQUI</a>.<br />
<br />
<br />
<div style="text-align: center;"><b>SEQUÊNCIA</b></div><br />
O uso de modelos externos consiste nas etapas:<br />
<br />
<b>criação:</b> Onde dizemos ao GM que queremos reservar um espaço na memória para utilizarmos com algo, este espaço será representado por um índice, que usaremos em todas as funções relacionadas a este modelo.<br />
No caso da GMSDK, essa função já vai criar e carregar o modelo para a memória de uma só vez, evitando que usemos duas funções para isso. Por causa dessa função de carregamento ser um tanto quanto pesada e demorada, devemos executá-la apenas uma vez! E é bom que isso seja feito na primeira room do jogo, para depois passarmos às próximas e não voltarmos mais nela.<br />
Iremos usar a função: global.ÍNDICE=d3d_md2_load("nome_do_modelo.md2")<br />
*O modelo deve estar na mesma pasta que o jogo.<br />
*ÍNDICE é a variável que está guardando o id do modelo.<br />
<br />
<b>renderização:</b> Nesta parte, o modelo será renderizado na tela!<br />
Por isso devemos usá-la no draw do objeto.<br />
Função: d3d_md2_draw(global.ÍNDICE,x,y,z,background_get_texture(background))<br />
*A background é a textura que o modelo terá.<br />
*ÍNDICE é a var que contém o id do modelo.<br />
<br />
<br />
<br />
<div style="text-align: center;"><b>PRÁTICA</b></div><div style="text-align: center;"><b><br />
</b></div><div class="separator" style="clear: both; text-align: center;"><a href="http://dl.dropbox.com/u/43446077/tutoriais/screenaula6.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="269" src="http://dl.dropbox.com/u/43446077/tutoriais/screenaula6.jpg" width="320" /></a></div><div style="text-align: center;"><b><br />
</b></div><div style="text-align: center;"><b><br />
</b></div><div style="text-align: center;"><b><br />
</b></div><div style="text-align: left;">Abra a nossa primeira engine!<br />
Se nao tem , baixe-a <a href="http://dl.dropbox.com/u/43446077/JOGOS/engines/AULA2-CAMERA.gmk">AQUI</a>.<br />
Após abri-la, não se esqueça de ativar a GMSDK para o projeto atual, clicando na "cruzinha verde" do menu, selecionando GMSDK, e dando OK.</div><div style="text-align: left;"><br />
</div><div style="text-align: left;">««Let´s go»»</div><div style="text-align: left;"><br />
*Crie uma nova <b>room</b>, coloque o nome dela de <b>load</b>, e ponha ela como a 1ª do jogo.<br />
no <b>creation code</b> dela, coloque:<br />
<i>//inicia a GMSDK no modo 3d<br />
d3d_init()<br />
//carregamos o modelo animado externo (.md2), e guardamos seu índice de criação na var model_char.<br />
global.char=d3d_load_md2("char.md2")<br />
//mudamos de room<br />
room_goto_next()</i><br />
<br />
<br />
*Baixe essa textura: </div><div class="separator" style="clear: both; text-align: center;"><a href="http://dl.dropbox.com/u/43446077/tutoriais/bchar.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="http://dl.dropbox.com/u/43446077/tutoriais/bchar.png" width="200" /></a></div><div style="text-align: left;"><br />
</div><div style="text-align: left;"><a href="http://dl.dropbox.com/u/43446077/tutoriais/bchar.png">http://dl.dropbox.com/u/43446077/tutoriais/bchar.png</a><br />
Crie uma <b>background</b>, e coloque ela,ponha o nome de: <b>bchar</b><br />
<br />
*Crie um <b>objeto</b>, e coloque o nome dele de: <b>ochar</b>.<br />
No <b>create</b> dele,coloque:<br />
<i>//definimos a var z=0 para o objeto:<br />
z=25</i><br />
<br />
No <b>draw</b>:<br />
<i>//desenhamos o modelo na posição do objetos na room, com a textura indicada:<br />
d3d_md2_draw(global.char,x,y,z,background_get_texture(bchar))</i><br />
<br />
No <b>Key_Press_Space</b>:<br />
<i>//exibimos uma mensagem, mostrando qual frame está sendo renderizado no momento / quantos frames ele tem,<br />
show_message("<br />
FRAMES: "+string(d3d_md2_frame_index(global.char))+" / "+string(d3d_md2_frames(global.char)))</i><br />
<br />
*Coloque o <b>objeto</b> ochar na <b>2ª room</b>, que é onde está a câmera, e teste o jogo.</div><div style="text-align: left;"><br />
</div><div style="text-align: left;">Caminhe até o objeto, e veja que o modelo renderiza a animação perfeitamente!</div><div style="text-align: left;"><br />
</div><div style="text-align: left;"><br />
</div><div style="text-align: left;">Se você não conseguiu fazer a engine, aqui vai o link: <a href="http://dl.dropbox.com/u/43446077/JOGOS/engines/aula6-modelos%20animados.rar">DOWNLOAD</a><br />
<br />
<strong>CRÉDITOS:</strong> <br />
Modelo do char e textura: Engine de exemplo da md2.dll .<br />
<br />
<br />
Até + !<br />
<br />
<br />
<br />
<br />
</div>Master Newshttp://www.blogger.com/profile/00348962552210015954noreply@blogger.com0tag:blogger.com,1999:blog-5933959431505078794.post-22399606812017837032012-02-21T23:33:00.000-02:002012-02-21T23:33:02.886-02:00[Curso Gm 3D] Aula 5: TRANSFORMAÇÕES<div style="text-align: left;"><strong>ENGINE:</strong> Game Maker<br />
<strong>NÍVEL:</strong> intermediário<br />
<strong>TEMA:</strong> Game Maker, Transformações.<br />
<strong>PRÉVIA:</strong>Nesta aula, vamos falar sobre transformações, que são ações aplicadas sobre os nossos shapes e modelos,afim de move-los,escala-los ou rotaciona-los .<br />
<strong>DIREITOS: </strong><span style="color: #990000;">Este tutorial não pode ser copiado nem exibido em outros locais na internet sem a devida autorização do autor.Caso tenha interesse em usá-lo ,contate-me.</span><br />
<br />
<br />
<strong> INTRODUÇÃO</strong><br />
<br />
As transformações no Game Maker são um ponto forte dos jogos 3D.<br />
As ações usadas são: Escala,Rotação e Posição, elas nos permitem alterar um modelo mesmo após definido sua forma e atributos básicos.<br />
Elas devem ser usadas no evento draw do objeto, englobando o código de modelagem do mesmo.<br />
Para entender como elas funcionam,vamos relembrar o conceito de eixos,explicados ao longo das nossas aulas anteriores:<br />
A terceira dimensão trabalha com 3eixos: x,y e z , estes eixos são a base para se aplicar uma transformação de forma adequada.<br />
Por padrão, os eixos são a orgem da room(0,0,0), mas podemos mudá-lo,de acordo com a nossa nescessidade.<br />
Para isso usaremos o método de transformações.<br />
<br />
A estrutura de uma transformação é a seguinte:<br />
<br />
1º- d3d_transform_set_identity()<br />
iniciamos o modo de transformação.<br />
<br />
2º- d3d_transform_add_...<br />
aplicamos a transformação.<br />
<br />
3º- d3d_transform_set_translation(xt,yt,zt)<br />
definimos os eixos a se desenhar o modelo.<br />
<br />
4º- d3d_draw_...<br />
desenhamos o modelo.<br />
<br />
5º- d3d_transform_set_identity()<br />
terminamos o modo de transformação.<br />
<br />
Seguindo este método, nós conseguiremos Transformar o modelo desejado.<br />
<br />
<br />
<strong> OS EIXOS</strong><br />
<br />
Os eixos vão determinar a posição na room, onde tudo vai acontecer.<br />
Se vc quer que o modelo tenha as transformações aplicados em torno de si mesmo, vc deve definir a posição dele como eixo: (x,y,z).<br />
Mas se deseja aplicar as transformações num local exato na room, você pode definir este local, como eixo. Por exemplo:(20,20,0)<br />
Note que quando você define um eixo,com a posição exata, você não poderá mover seu modelo,pois não tem uma variável de referência para isso!<br />
O mesmo vai ocorrer com as transformações, caso use um valor exato, não conseguirá alterá-lo em runtime, pois vc não definiu uma variável para isso.<br />
<br />
Portanto, a regra para se obter o resultado esperado é a seguinte:<br />
-Se o seu modelo, nunca vai sair do lugar,ou se vc está usando um objeto para desenhar modelos em vários locais na room, que vc sabe extamente onde é.<br />
Exemplo:(Uma casa.)<br />
Use um eixo fixo,com o valor que você deseja.<br />
<br />
-Se o seu modelo vai se mover,ou se você tem um objeto específicamente pra ele.<br />
Exemplo:(Um carro que se move.)<br />
Use um eixo com variáveis(de preferência: x,y,z), assim vc pode movê-lo alterando o valor delas.<br />
<br />
-Se seu modelo terá uma transformação definida,e não pretende mudá-la.<br />
Exemplo:(uma casa,girada 90graus em torno de si.)<br />
Use um valor exato para transformar. <br />
<br />
-Se seu modelo terá transformações que mudam ao longo do jogo.<br />
Exemplo:(Um carro que se move.)<br />
Use varáveis para as transformações,assim vc pode transformá-la alterando o valor delas.<br />
<br />
<br />
<strong> ESCALA</strong><br />
<br />
O modo escalar é usado quando se deseja alterar o tamanho do modelo,sem ter que mecher nas suas coordenadas.<br />
A função que o representa é a seguinte:<br />
d3d_transform_add_scaling(xs,ys,zs)<br />
<br />
Onde xs,ys e zs, são os valores de escala do objeto.<br />
Tenha o valor 1 como padrão, tudo que for acima dele, vai aumentar o objeto, e o que for abaixo irá diminuir.<br />
<br />
<br />
<br />
<strong> ROTAÇÃO</strong><br />
<br />
A rotação é usada para fazer com que um modelo gire em torno de um eixo.<br />
Pode ser feita pelas seguintes funções:<br />
d3d_transform_add_rotation_x(Ângulo)<br />
d3d_transform_add_rotation_y(Ângulo)<br />
d3d_transform_add_rotation_z(Ângulo)<br />
d3d_transform_add_rotation_axis(xa,ya,za,Ângulo)<br />
<br />
Onde Ângulo é o valor que se deseja girar o modelo.<br />
xa,ya e za seriam os eixos a serem transformados.<br />
<br />
<br />
<strong> POSIÇÃO</strong><br />
<br />
A posição do modelo é definida pelo eixo configurado para transformação,e portanto não se define uma função para alterá-la.<br />
Isso deve ser feito manualmente por vc, criando variáveis para representar os eixos, e alterando elas, para mover o modelo.<br />
<br />
<br />
<br />
<strong> PRÁTICA</strong><br />
<br />
Como de costume, vamos praticar o que aprendemos aqui, para reforçar nossas idéias.<br />
<br />
*Abra a engine construída na <a href="http://mrbrumgames.blogspot.com/2012/02/curso-gm-3d-aula-2-visualizando-o-mundo.html">segunda aula</a>,se não tem , baixe-a <a href="http://dl.dropbox.com/u/43446077/JOGOS/engines/AULA2-CAMERA.gmk">AQUI</a>.<br />
<br />
*Crie uma <strong>background</strong> no tamanho: 128x128, e coloque o nome de <strong>bplayer</strong>.<br />
<br />
*Crie um<strong> objeto</strong>, e ponha o nome dele de: <strong>oplayer</strong>.</div><div style="text-align: left;"><br />
-No <strong>create</strong> dele,coloque o seguinte código:<br />
<em>//criamos a var z,para guardar a altura<br />
z=10<br />
//criamos as vars que vão guardar a quantia de rotação em cada eixo:<br />
rx=0<br />
ry=0<br />
rz=0<br />
//criamos as vars que vão guardar a quantia de escala em cada eixo:<br />
xs=1<br />
ys=1<br />
zs=1</em><br />
<br />
-Agora, ponha no <strong>Step</strong>:<br />
<em>//controles de rotação<br />
if keyboard_check(ord("X"))<br />
{<br />
if keyboard_check(vk_add) rx+=2<br />
if keyboard_check(vk_subtract) rx-=2<br />
}<br />
<br />
if keyboard_check(ord("Y"))<br />
{<br />
if keyboard_check(vk_add) ry+=2<br />
if keyboard_check(vk_subtract) ry-=2<br />
}<br />
<br />
if keyboard_check(ord("Z"))<br />
{<br />
if keyboard_check(vk_add) rz+=2<br />
if keyboard_check(vk_subtract) rz-=2<br />
}<br />
<br />
//controles de escala<br />
if keyboard_check(ord("S"))<br />
{<br />
if keyboard_check(ord("X"))<br />
{<br />
if keyboard_check(vk_add) xs+=1<br />
if keyboard_check(vk_subtract) xs-=1<br />
}<br />
<br />
if keyboard_check(ord("Y"))<br />
{<br />
if keyboard_check(vk_add) ys+=1<br />
if keyboard_check(vk_subtract) ys-=1<br />
}<br />
<br />
if keyboard_check(ord("Z"))<br />
{<br />
if keyboard_check(vk_add) zs+=1<br />
if keyboard_check(vk_subtract) zs-=1<br />
}<br />
}<br />
<br />
</em>-E por fim, coloque no <strong>Draw</strong>:<em><br />
//inicia o modo de transformações:<br />
d3d_transform_set_identity();<br />
//aplica escala ao modelo: <br />
d3d_transform_add_scaling(xs,ys,zs)<br />
//aplica rotação ao eixo x: <br />
d3d_transform_add_rotation_x(rx);<br />
//aplica rotação ao eixo y: <br />
d3d_transform_add_rotation_y(ry);<br />
//aplica rotação ao eixo z: <br />
d3d_transform_add_rotation_z(rz);<br />
//Define os eixos para modelagem: <br />
d3d_transform_add_translation(x,y,z);<br />
//desenha o modelo na tela: <br />
d3d_draw_ellipsoid(-8,-8,-8,8,8,8,background_get_texture(bplayer),1,1,16)<br />
//Finalzia o modo de transformações: <br />
d3d_transform_set_identity();</em><br />
<br />
*Só pra esclarecer,ponha no <strong>Game Information</strong>:<br />
<strong>Controles:</strong><br />
x+ :rotaciona no eixo x.<br />
y+ :rotaciona no eixo y.<br />
z+ :rotaciona no eixo z.<br />
sx+: escala no eixo x.<br />
xy+: escala no eixo y. <br />
sz+: escala no eixo z.<br />
Use setas para se movimentar.<br />
<br />
<br />
*Coloque o objeto na <strong>room</strong>, e teste.<br />
<br />
*Use os controles para girar e escalar ele.<br />
<br />
<br />
<strong> CONCLUSÃO</strong><br />
<br />
As Transformações são de grande utilidade, e se você quer fazer algo que preste no <strong>GM3D</strong>, é bom que aprenda a usá-las.<br />
Pode ser complicado entender no início, ou apenas com a explicação dada aqui.<br />
Portanto vou deixar como exercício, que você baixe o meu programa: <a href="http://mrbrumgames.blogspot.com/search/label/Brum%20Shapes%203D">BRUM SHAPES</a><br />
E brinque um pouco com ele!<br />
Mas não se esqueça de testar as transformações que ele oferece: <strong>Posição,Escala e Rotação</strong>.<br />
Troque os eixos que está transformando, Escale, Gire, Mova, Observe!!<br />
E veja com frequência tb, o código gml gerado, ele é de grande ajuda para o entendimento das transformações.<br />
<br />
Vou disponibilizar aqui, o download da engine, pra quem não conseguiu montar: <a href="http://dl.dropbox.com/u/43446077/JOGOS/engines/AULA5-TRANSFORMA%C3%87%C3%95ES.gmk">DOWNLOAD</a></div><div style="text-align: left;"><br />
</div><div style="text-align: left;">Nas próximas aulas, vamos falar sobre texturas,colisão por simulação 2D,controles...</div><div style="text-align: left;"><br />
</div><div style="text-align: left;">Até lá!</div><div style="text-align: left;"><br />
</div><div style="text-align: left;"><br />
</div>Master Newshttp://www.blogger.com/profile/00348962552210015954noreply@blogger.com0tag:blogger.com,1999:blog-5933959431505078794.post-76323299963141099712012-02-19T02:01:00.002-02:002012-02-19T02:04:29.252-02:00DINO CLONES - CHALENGE MET<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSiCH-uIYpZoe_y516yGVjCA6rHTarKPPoBf6S5npUs3HJ4_xRtCvD50Ps_-EtzHnMcQ8RxsFxTxv2w9cB4dxnJcTpXGqcFcfVB04kpoFQS6yzDgCzoomdwAujZ4cPwGKx9Nbg2BRvFAk/s1600/DINO.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSiCH-uIYpZoe_y516yGVjCA6rHTarKPPoBf6S5npUs3HJ4_xRtCvD50Ps_-EtzHnMcQ8RxsFxTxv2w9cB4dxnJcTpXGqcFcfVB04kpoFQS6yzDgCzoomdwAujZ4cPwGKx9Nbg2BRvFAk/s1600/DINO.png" /></a></div><br />
<br />
Saiu o <a href="http://gmbr.forumeiros.com/t21044-cq10-resultados#158684">resultado</a> do <b>10º CONCURSO QUINZENAL</b> de jogos da <a href="http://gmbr.forumeiros.com/">GMBR</a>!<br />
E o vencedor foi o meu jogo <b><a href="http://gmbr.forumeiros.com/t20683-dino-clones-3d">DINO CLONES</a></b> , que ainda estava em faze Beta,<br />
O jogo se trata de um fps onde você deve acabar com os Dinossauros clonados por cientistas mau intencionados!<br />
O concurso quinzenal - GMBR consiste na criação de jogos,dentro de uma regra,e do prazo determinado de 15dias. Esse CQ como são chamados,foi sem dúvida o maior da GMBR.<br />
A regra foi a utilização apenas do mouse como controle pelo usuário,e houveram um total de 20 jogos inscritos,de pessoas de todo o Brasil !<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://dl.dropbox.com/u/16329835/1315782881_medal_gold_2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://dl.dropbox.com/u/16329835/1315782881_medal_gold_2.png" /></a></div><br />
Meu agradecimento a você que me acompanha,e me incentiva a continuar nessa tarefa prazerosa que é a criação de jogos.Master Newshttp://www.blogger.com/profile/00348962552210015954noreply@blogger.com0tag:blogger.com,1999:blog-5933959431505078794.post-66883740735860112762012-02-14T15:06:00.002-02:002012-02-22T00:51:18.711-02:00[Curso Gm 3D] Aula 4: MODELOS<b>ENGINE:</b> Game Maker<br />
<b>NÍVEL: </b>intermediário<br />
<b>TEMA:</b> Game Maker, Modelagem.<br />
<b>PRÉVIA: </b> Aprenderemos agora uma outra maneira de modelagem: <b>Por modelos</b>,que iremos usar no GM,o que nos permite importar modelos externos,ou criar nossos próprios, sem o uso de scripts complexos, nem dlls e extensões.<br />
<b>DIREITOS:</b><span style="color: #e06666;"><b> </b></span><span style="color: #cc0000;">Este tutorial não pode ser copiado nem exibido em outros locais na internet sem a devida autorização do autor.Caso tenha interesse em usá-lo ,contate-me.</span><br />
<span style="color: #cc0000;"><br />
</span><br />
<br />
<div style="text-align: center;"><b>INTRODUÇÃO</b></div>O Game Maker possui um método de modelagem mais profissional que o de Shapes.<br />
É o método de Modelos!<br />
Eles são mais velozes,mais fáceis de se usar,e geralmente apresentam melhores resultados.<br />
Os modelos podem ser criados através de Shapes ou carregados de um arquivo externo,e ainda podem ser modelos através de vértices(que não irei abordar aqui).<br />
<br />
<div style="text-align: center;"><b>FUNÇÕES BÁSICAS</b></div><i>INDICE=d3d_model_create () </i><br />
Cria um novo modelo e retorna seu índice. Esse índice é usado em todas as outras funções que lidam com modelos. Use esta função somente em eventos não repetitivos, ela deve ser usada apenas uma vez, para não ficar pesando o seu jogo.Por isso é recomendável que a use numa primeira room que não será recarregada,ou no create de um objeto que não seje criado novamente! Dependendo do seu jogo,ela pode ser usada também no evento <u>game_start</u>.<br />
A variável <i>INDICE</i> que eu exemplifiquei, é a variável que irá guardar o id do modelo,recomendo que use var global,e de nome bem fácil de se lembrar.<br />
<br />
<i>d3d_model_destroy (ind)</i> <br />
Destrói o modelo com o índice determinado, liberando sua memória. Lembre-se de usá-la sempre que destruir algum modelo definitivamente, para liberar a memória.Geralmente é usada no evento <u>destroy</u> de um objeto.<br />
<i>ind:</i> Variável com Índice do modelo que deseja apagar. <br />
<br />
<i>d3d_model_clear (ind)</i> <br />
Limpa o modelo com o índice determinado,removendo todos os seus shapes e primitivos. <br />
Se vc vai redesenhar shapes num modelo durante o jogo, é recomendável que use esta função para limpar o modelo antes de adicionar os novos.<br />
<i>ind:</i> Variável com Índice do modelo que deseja limpar. <br />
<br />
<i>d3d_model_save (ind, fname)</i> <br />
Salva o modelo para o nome do arquivo indicado.<br />
Com isso você pode exportar seu modelo,no formato que desejar.<br />
Para usá-lo novamente em outro jogo.<br />
<br />
<i>ind: </i>Variável com Índice usado na criação do modelo, que contém o modelo.<br />
<i>fname:</i> Nome do arquivo modelo que deseja salvar,(não se esqueça de botar a extensão.),o arquivo será salvo na mesma pasta do projeto.<br />
<br />
<i>d3d_model_load (ind, fname)</i> <br />
Carrega o modelo do nome do arquivo indicado.<br />
Esta é a função que permite a você importar modelos externos para o seu jogo.<br />
Geralmente são modelos <i>.d3d</i>(nativos do directx), ou <i>.mod</i>(semelhantes ao d3d),mas se você salvou algum modelo com a função anterior a esta, mesmo que com uma extensão inventada, você pode carregá-lo com esta função, visto que a estrutura dele é compatível.<br />
<i>ind: </i>Variável com Índice usado na criação do modelo, para onde você irá adicionar este que está carregando.<br />
<i>fname:</i> Nome do arquivo modelo que deseja carregar,(não se esqueça de botar a extensão.),o arquivo deve estar na mesma pasta do projeto.Se não estiver,especifique o caminho dele no nome.<br />
<br />
<i>d3d_model_draw (ind, x, y, z, texid)</i> <br />
Desenha o modelo guardado na variável <i>ind</i> ,na posição (x, y, z),<i>texid</i> é a textura a ser usada.<br />
Use este evento no<u> draw</u> do <u>objeto</u> que vai renderizar o modelo.<br />
<br />
<br />
<div style="text-align: center;">CRIAÇÃO DE MODELOS POR SHAPES</div><br />
A modelagem por shapes, tem as seguintes funções:<br />
<br />
d3d_model_block (ind, x1, y1, z1, x2, y2, z2, hrepeat, vrepeat)<br />
Adiciona uma forma de bloco para o modelo.<br />
<br />
d3d_model_cylinder (ind, x1, y1, z1, x2, y2, z2, hrepeat, vrepeat, closed, steps )<br />
Adiciona uma forma cilíndo para o modelo.<br />
<br />
d3d_model_cone (ind, x1, y1, z1, x2, y2, z2, hrepeat, vrepeat, closed , steps )<br />
Adiciona uma forma cone para o modelo.<br />
<br />
d3d_model_ellipsoid (ind, x1, y1, z1, x2, y2, z2, hrepeat, vrepeat, steps) <br />
Adiciona uma forma esfera para o modelo.<br />
<br />
d3d_model_wall (ind, x1, y1, z1, x2, y2, z2, hrepeat, vrepeat) <br />
Adiciona uma forma de parede para o modelo.<br />
<br />
d3d_model_floor (ind, x1, y1, z1, x2, y2, z2, hrepeat, vrepeat) <br />
Adiciona uma forma solo para o modelo.<br />
<br />
Note que as funções são bem parecidas com as de <i>d3d_draw</i>, aprendidas na <a href="http://mrbrumgames.blogspot.com/2012/02/curso-gm-3d-aula-3-modelagem-de-shapes.html">AULA PASSADA</a>,<br />
a única diferença é que não temos o parâmetro textura.<br />
Isso foi feito de propósito pelo <i>Tio Mark</i>, pois sua intenção foi permitir que você possa modelar um modelo base, e desenhá-lo várias vezes,com texturas diferentes.Por isso as texturas serão aplicadas no evento <u>draw</u>, na função <i>d3d_model_draw</i>, que renderiza o modelo na tela.<br />
Outra diferença das funções de <u>draw</u>, é que o eixo base para a modelagem aqui,será imaginário.<br />
Ou seja, vc vai se basear num eixo para modelar os shapes, mas o modelo pronto não terá eixos.<br />
Porque os eixos também serão definidos na hora da renderização.<br />
Isso vai te possibilitar criar um modelo,e renderizá-lo em lugares diferentes.<br />
<br />
<br />
<div style="text-align: center;"><b>PRATICANDO</b></div><br />
Vamos criar uma engine,com algumas das funções vistas neste tuto.<br />
Para isso,abra a nossa <a href="http://dl.dropbox.com/u/43446077/JOGOS/engines/Engine%20com%20c%C3%A2mera%203d%20e%20solo.gmk">ENGINE BASE</a> , que foi construída na <a href="http://mrbrumgames.blogspot.com/2012/02/curso-gm-3d-aula-2-visualizando-o-mundo.html">SEGUNDA AULA</a> .<br />
Ela já tem a câmera, o solo, e os controles básicos para darmos seguimento às aulas.<br />
<br />
Vamos iniciar,modelando os shapes básicos, que será renderizado na <u>room</u> em vários <u>objetos</u>.<br />
E vamos importar um <i>modelo externo</i>,e renderizá-lo também.<br />
<br />
<br />
<b>INSTRUÇÕES</b><br />
<br />
*Baixe <a href="http://dl.dropbox.com/u/43446077/tutoriais/modelo_aula4.rar">ESTE MODELO</a> , e extraia-o para a mesma pasta onde está sua engine.<br />
Este é um modelo de um tank, em formato <i>.mod</i>, que será importado e renderizado na nossa engine.<br />
<br />
*Crie uma <u>room</u>, e coloque o nome dela de:<u> Load</u>.<br />
-No <u>creation code</u> dela, ponha o seguinte código:<br />
<br />
<i>//criamos os modelos:<br />
global.cubo=d3d_model_create()<br />
global.esfera=d3d_model_create()<br />
global.cone=d3d_model_create()<br />
global.cilindro=d3d_model_create()<br />
global.solo=d3d_model_create()<br />
global.parede=d3d_model_create()<br />
global.modelo=d3d_model_create()<br />
<br />
//adicionamos shapes para os respectivos modelos:<br />
d3d_model_block(global.cubo,-8,-8,8,8,8,24,1,1) <br />
d3d_model_ellipsoid(global.esfera,1-8,-8,0,8,8,16,1,1,24) <br />
d3d_model_cone(global.cone,-8,-8,0,8,8,32,1,1,1,24) <br />
d3d_model_cylinder(global.cilindro,-8,-8,0,8,8,64,1,1,1,24) <br />
d3d_model_floor(global.solo,-128,-128,0.3,128,128,0.3,1,1)<br />
d3d_model_wall(global.parede,-8,0,0,8,0,16,1,1) <br />
d3d_model_load(global.modelo,"modelo.mod")</i><br />
<br />
<i>//mudar de room<br />
room_goto_next()</i><br />
<br />
*Agora crie uma <u>Background</u>,no tamanho de 128x128, com a imagem que preferir,e ponha o nome dela de: <u>btextura</u>.<br />
<br />
*Crie <u>objetos</u> com os seguintes nomes ,e ponha os respectivos códigos no <u>draw</u>,deles:<br />
<u>ocubo</u><br />
<i>d3d_model_draw(global.cubo,x,y,z,background_get_texture(btextura))</i><br />
<u>oesfera</u><br />
<i>d3d_model_draw(global.esfera,x,y,z,background_get_texture(btextura))</i><br />
<u>oparede</u><br />
<i>d3d_model_draw(global.parede,x,y,z,background_get_texture(btextura))</i><br />
<u>osolo</u><br />
<i>d3d_model_draw(global.solo,x,y,z,background_get_texture(btextura))</i><br />
<u>ocone</u><br />
<i>d3d_model_draw(global.cone,x,y,z,background_get_texture(btextura))</i><br />
<u>ocilindro</u><br />
<i>d3d_model_draw(global.cilindro,x,y,z,background_get_texture(btextura))</i><br />
<u>omodelo</u><br />
<i>d3d_model_draw(global.modelo,x,y,z,background_get_texture(btextura))</i><br />
<br />
*no create de todos estes <u>objetos</u>, coloque o seguinte código:<br />
<i>//definimos a variável z no objeto.<br />
z=0</i><br />
<br />
*Espalhe todos os <u>objetos</u> pela segunda <u>room</u>, que já estava na <i>engine</i>,após a room <u>Load</u>.<br />
<br />
Teste o jogo!<br />
<a href="http://dl.dropbox.com/u/43446077/Fotos%20de%20jogos/curso%20GM3D/screenshot100.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"></a><a href="http://dl.dropbox.com/u/43446077/Fotos%20de%20jogos/curso%20GM3D/screenshot100.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"></a><a href="http://dl.dropbox.com/u/43446077/Fotos%20de%20jogos/curso%20GM3D/screenshot101.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="300" src="http://dl.dropbox.com/u/43446077/Fotos%20de%20jogos/curso%20GM3D/screenshot101.png" width="400" /></a><img border="0" height="300" src="http://dl.dropbox.com/u/43446077/Fotos%20de%20jogos/curso%20GM3D/screenshot100.png" width="400" /><br />
<br />
<br />
<br />
<b>Conclusão</b><b><br />
</b><br />
Você poderá notar que o uso de modelos é semelhante ao de Shapes,e poderá até pensar que é perca de tempo!, mas observe que estes modelos são carregados de forma rápida, e adiantam seus projetos, porque você vai modela-los apenas uma vez,e com o índice gerado, poderá usá-lo várias vezes! Inclusive em objetos diferentes, sem precisar fazer o código de modelagem de novo.<br />
O modelo externo se comportou de maneira correta! Isso foi possível porque ele é leve,e está num formato bem aceito pelo GM, que é o <i>.mod</i>! Com o aprendizado dessa aula, você poderá importar vários modelos semelhantes no seu jogo, mas lembre-se de deixá-los sempre bem leves,e use sempre <i>.mod </i>ou <i>.d3d.</i><br />
<br />
Se você tem modelo leves em formato <i>.obj</i>, e deseja convertê-los para <i>.mod</i>, você pode usar o:<br />
<a href="http://mrbrumgames.blogspot.com/search/label/Brum%20Shapes%203D">BRUM SHAPES 1.1</a> ,e usar o modelo gerado em .mod no seu jogo, como foi explicado aqui.<br />
<br />
Se você não conseguiu fazer a engine, você pode baixá-la aqui: <a href="http://dl.dropbox.com/u/43446077/JOGOS/engines/Aula4-Modelos.gmk">DOWNLOAD</a><br />
<br />
Até a próxima aula!Master Newshttp://www.blogger.com/profile/00348962552210015954noreply@blogger.com1tag:blogger.com,1999:blog-5933959431505078794.post-56871187311840410422012-02-12T18:24:00.000-02:002012-02-12T18:24:19.391-02:00BRUM SHAPES versão 1.1<div class="separator" style="clear: both; text-align: center;"><a href="http://sandbox.yoyogames.com/extras/image/name/san2/848/502848/original/print_obj.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="251" src="http://sandbox.yoyogames.com/extras/image/name/san2/848/502848/original/print_obj.jpg" width="320" /></a></div><br />
Mais um released do Brum Shapes está pronta!<br />
Os bugs relatados na versão anterior foram corrigidos,<br />
os gráficos do menu foram reobservados, e foram adicionados alguns botões que não haviam, e foi incrementado a opção de importar modelos .obj e convertê-los em .mod, que é um modelo fácil de se usar no Game Maker.As transformações tem agora um novo sistema, onde você clica com o botão do meio do mouse sobre a ação desejada(escalar,mover,girar),ou segurando CTRL e clicando normalmente nelas,e escolhe o valor através de uma caixa de entrada de valores.<br />
<br />
<b>NOVIDADES versão 1.1 (12/02/2012):</b><br />
V-Redução da escala limitado.<br />
V-Bug de posição no código gml gerado foi corrigido.<br />
V*Importa modelos .obj<br />
V*Converte e exporta .obj em .mod<br />
V*Mais botões adicionados: <br />
hrep,vrep,steps,closed,nome,deletar,selecionar,clonar,texturizar shape.<br />
V*Sistema de transformação por valor exato:<br />
com click pelo meio do mouse ou CTRL+left_click.<br />
<br />
Contamos com sua ajuda para melhorar o programa, por isso reporte os bugs encontrados e envie suas dúvidas e sugestões para: <strong>mrbrum22@hotmail.com</strong><br />
<strong><br />
</strong><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://sandbox.yoyogames.com/games/194272-brum-shapes-1_1"><img border="0" src="http://dl.dropbox.com/u/43446077/novos/down.png" /></a></div><strong><br />
</strong>Master Newshttp://www.blogger.com/profile/00348962552210015954noreply@blogger.com3tag:blogger.com,1999:blog-5933959431505078794.post-52062873142801874302012-02-11T14:51:00.002-02:002012-02-14T15:34:44.692-02:00[Curso Gm 3D] Aula 3: MODELAGEM DE SHAPES<b>ENGINE:</b> Game Maker<br />
<b>NÍVEL: </b>intermediário<br />
<b>TEMA:</b> Game Maker, Modelagem.<br />
<b>PRÉVIA:</b> Vamos aprender o básico da modelagem no Game Maker,falarei sobre a criação de shapes básicos,que temos no GM.<br />
<b>DIREITOS:</b><span style="color: #cc0000;"><b> </b>Este tutorial não pode ser copiado nem exibido em outros locais na internet sem a devida autorização do autor.Caso tenha interesse em usá-lo ,contate-me.</span><br />
<span style="color: #cc0000;"><br />
</span><br />
<span style="color: #cc0000;"><br />
</span><br />
<br />
<div style="text-align: center;"><b>INTRODUÇÃO</b></div><div style="text-align: center;"><br />
</div>A modelagem por gml pode parecer complicada, mas com experiência pode tornar-se fácil!<br />
Os eixos devem ser observados antes de se modelar algo,lembre-se que a referência do ponto,é a origem da room,ou seja, se você fornece a coordenada 320 como x1,a origem no eixo x do objeto será a posição x: 320 da room.Mas se você define x1 como x-16,a origem do modelo no eixo x, será: 16pixels antes do seu modelo no eixo x.<br />
<br />
<br />
<div style="text-align: center;"><b>ATRIBUTOS</b><b><br />
</b></div><br />
A modelagem de um shape é definida por uso de funções pré-definidas, com atributos a serem configurados.<br />
Os atributos vão definir a posição,escala e texturização de um shape.<br />
Abaixo eu detalho cada um:<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://dl.dropbox.com/u/43446077/tutoriais/shapes.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><br />
</a></div>Observem um exemplo de cubo,com as coordenadas destacadas:<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://dl.dropbox.com/u/43446077/tutoriais/coordgm3d.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="315" src="http://dl.dropbox.com/u/43446077/tutoriais/coordgm3d.jpg" width="400" /></a></div><br />
Como podem ver, cada coordenada define o limite de renderização do objeto.São elas: <br />
<b>x1</b>= é a origem do modelo no eixo x.<br />
<b>x2</b>= é o fim do modelo no eixo x.<br />
<b>y1</b>= é a origem do modelo no eixo y.<br />
<b>y2</b>= é o fim do modelo no eixo y.<br />
<b>z1</b>= é a origem do modelo no eixo z.<br />
<b>z2</b>= é o fim do modelo no eixo z.<br />
<br />
Além das coordenadas, os shapes podem ter os seguintes parâmetros:<br />
<b>texid</b>= aplica uma textura ao shape,podendo ser uma cor,background ou sprite:<br />
<b> cor</b>= -1 ; vai deixar o shape com a cor definida no <i>draw_set_color()</i>.<br />
<b>background</b>= <i>background_get_texture(NOME_DA_BACKGROUND)</i><br />
<b>sprite</b>= <i>sprite_get_texture(NOME_DA_SPRITE,SUB_IMAGEM)</i><br />
<b>hrepeat</b>= quantidade de vezes que a textura se repetirá na horizontal, no shape.<br />
<b>vrepeat</b>= quantidade de vezes que a textura se repetirá na vertical, no shape.<br />
<b>closed</b>= indica se o shape será: fechado(1) ou aberto(0) . (cilindro e cone)<br />
<b>steps</b>= arredondamento do shape,tenha 24 como padrão,aumente pra ficar mais "redondo" ou diminua pra deixar mais "quadrado". (elipsoid,cilindro e cone)<br />
<br />
<br />
<br />
<br />
<div style="text-align: center;"><b>SHAPES</b></div><div style="text-align: center;"><b><br />
</b></div><div class="separator" style="clear: both; text-align: center;"><a href="http://dl.dropbox.com/u/43446077/tutoriais/shapes.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="http://dl.dropbox.com/u/43446077/tutoriais/shapes.png" width="320" /></a></div><br />
Os shapes do GM são modelados por códigos gml,cada shape tem sua função pré-determinada,com atributos a serem configurados.<br />
São eles:<br />
<br />
<span style="color: #38761d;"><b>Floor(solo)</b></span><br />
Os<i> Floors</i>,são os shapes mais simples de se modelar,são uma malha plana e fina,que se desenha da origem(x1,y1), até o fim(x2,y2),tendo a as coordenadas de altura(z1,z2) como inclinação.<br />
Eles são usados na intenção de simular uma plataforma,por isso suas coordenadas z1 e z2 devem ser iguais(ou próximas),para que ele não fique desequilibrado.<br />
<b>Textura:</b> se repete em ambos os lados.<br />
<b>Code:</b> <tt><i>d3d_draw_floor(x1,y1,z1,x2,y2,z2,texid,hrepeat,vrepeat)</i></tt><span style="color: #38761d;"><br />
</span><br />
<br />
<br />
<b><span style="color: blue;">Wall(parede)</span></b><br />
A <i>wall</i> é bem parecida com o floor,porém é usada para simular paredes.<br />
Ela deixa a critério do maker a escolha se será vertical ou horizontal.<br />
Por exemplo,se vc quer a parede no eixo y, vc terá que definir valores não-nulos para x1,x2,z1,z2, deixando o eixo y(y1,y2) =0, verás que a parede fica reta, e de pé! Caso queira incliná-la lateralmente,altere o eixo y(y1,y2).<br />
<b>Textura:</b> se repete em ambos os lados. <br />
<b>Code: </b> <tt><i>d3d_draw_wall(x1,y1,z1,x2,y2,z2,texid,hrepeat,vrepeat)</i></tt> <br />
<br />
<br />
<b><span style="color: cyan;">Block(cubo)</span></b><br />
Os <i>blocks </i>são bastante usados no GM3D,ele aprsenta uma forma que deve ocupar espaço nas 3dimensões e são bem simples de se modelar.<br />
Você não precisa anular nenhum eixo.<br />
<b>Textura:</b> se repete em ambos os lados. <br />
<b>Code: </b> <tt><i>d3d_draw_block(x1,y1,z1,x2,y2,z2,texid,hrepeat,vrepeat)</i></tt> <br />
<br />
<br />
<br />
<b><span style="color: yellow;">Elipsoid(esfera)</span></b><br />
A <i>elisoid </i>é uma das formas mais interessantes do GM, com ela podemos dar um toque melhor ao jogo, e através de um atributo chamado steps , você pode definir o arredondamento do shape.<br />
<b>Textura:</b> Envolve toda a forma,se originando do centro superior do shape até o centro inferior. <br />
<tt>Code:</tt><tt> <i>d3d_draw_ellipsoid(x1,y1,z1,x2,y2,z2,texid,hrepeat,vrepeat,steps)</i></tt><br />
<br />
<span style="color: red;"><b>Cyllinder(cilindro)</b></span><br />
Os <i>cyllinders</i> são desenhados de forma vertical(em pé).O atributo <i>closed</i> dele vai indicar se suas superfícies serão fechadas.Já o <i>step</i> vai indicar o arredondamento da forma.<br />
<b>Textura:</b> Envolve toda a forma,lateralmente. As superfícies terão a cor base da textura, mas não serão propriamente texturizadas.<br />
<b>Code:</b> <tt> <i>d3d_draw_cylinder(x1,y1,z1,x2,y2,z2,texid,hrepeat,vrepeat,closed,steps)</i></tt> <br />
<br />
<span style="color: magenta;"><b>Cone(pirâmide)</b></span><br />
Os <i>cones</i> são algo como uma pirâmide, e também são desenhados na vertical(em pé).<br />
Iniciam com uma ponta bem fina,e vai se largueando,até a base.Seu atributo <i>closed</i> indica o fechamento da malha, e <i>steps </i>, o arredondamento.<br />
<b>Textura: </b> Envolve toda a forma,lateralmente. A superfície inferior(larga) terá a cor base da textura, mas não serão propriamente texturizada. <br />
<b>Code:</b> <tt>d3d_draw_cone(x1,y1,z1,x2,y2,z2,texid,hrepeat,vrepeat,closed,steps)</tt> <br />
<br />
<br />
<br />
<div style="text-align: center;"><b>PRATICANDO</b></div><br />
Vamos criar uma engine com todos os shapes que aprendemos aqui.<br />
Abriremos a engine da aula passada,para aproveitar a câmera e o solo,e introduziremos as outros shapes.<br />
<br />
1º-> Abra a engine da <a href="http://mrbrum-gmbr.blogspot.com/2012/01/curso-gm-3d-aula-2-visualizando-o-mundo.html">aula anterior</a> , ou se não a fez, baixe ela <a href="http://dl.dropbox.com/u/43446077/JOGOS/engines/Engine%20com%20c%C3%A2mera%203d%20e%20solo.gmk">AQUI</a>.<br />
<br />
2º-> Crie um objeto, e chame-o de <i>ofloor</i>.<br />
Coloque no <i>draw</i>:<br />
<i>/*modelamos um shape floor(solo), na altura(z1,z2) 0,que vai da origem(0,0) da room, até o final da room. Com a textura do solo,se repetindo 32x.*/</i><br />
<i>d3d_draw_floor(0,0,0,room_width,room_height,z,bsolo,32,32)</i><br />
<br />
3º-> Crie uma <i>background</i> de 128x128,com a textura que desejar,coloque o nome dela de <i>besfera</i>.<br />
Crie um objeto,e chame-o de <i>oelipsoid</i>.<br />
Coloque no <i>draw</i>:<br />
<br />
<i>//definimos a transparência de desenho para 0.7</i><br />
<i>draw_set_alpha(0.7)</i><br />
<br />
<i>/*modelamos uma esfera,na posição onde colocamos ela na room,com uma textura de repetição única.E um arredondamento de 24</i><i>.</i><i>*/</i><br />
<i>d3d_draw_ellipsoid(x-8,y-8,0,x+8,y+8,16,background_get_texture(besfera),1,1,24)</i><br />
<br />
<i>//voltamos o a transparência de desenho para 1.</i><i><br />
</i><i>draw_set_alpha(1)</i><br />
<br />
4º-> Crie um objeto,e chame-o de <i>oblock</i>.<br />
Coloque no <i>create</i>:<br />
<i>//declaramos a var z=5.</i><br />
<i>z=15</i><br />
Coloque no <i>draw</i>:<br />
<i>/*criamos um bloco,e desenhamos ele na posição do objeto na room,e na altura definida em z, este bloco não terá textura, e será renderizado com a cor usada para desenhar.(que neste caso,é branco!)*/</i><br />
<i>d3d_draw_block(x-10,y-10,z-10,x+10,y+10,z+10,-1,1,1)</i><br />
<i><br />
</i><br />
5º-> Crie uma <i>background </i>de 128x128 e coloque o nome de <i>bmuro</i>.<br />
Crie um objeto,e chame-o de <i>owall</i>. <br />
<br />
Coloque no <i>Create</i>:<br />
<i>z=0</i><br />
Coloque no <i>draw</i>:<br />
<i>/*modelamos uma parede em pé,no eixo x,anulamos o eixo y,para que ela fique reta,será desenhada no local onde está o objeto,com a textura do muro,se repetindo 10x hor e 1x ver.*/</i><br />
<i>d3d_draw_wall(x-100,y,z,x+100,y,z+10,background_get_texture(bmuro),10,1)</i><br />
<i><br />
</i><br />
6º-> Crie uma objeto e coloque o nome de <i>ocone</i>.<br />
Coloque no <i>Create</i>:<br />
<i>z=20</i><br />
Coloque no <i>draw</i>:<br />
<i>//definimos a cor de desenho para amarelo.</i><br />
<i>draw_set_color(c_yellow)</i><br />
<i>/*modelamos um cone,no local do objeto,na altura de z,sem textura,usaremos a cor de desenho,definindo ele como fechado, e com um arredondamento de 8.*/</i><br />
<i>d3d_draw_cone(x-10,y-10,z-10,x+10,y+10,z+10,-1,1,1,1,8)</i><br />
<i>//voltamos a cor de desenho para branco novamente,para que o resto do jogo não fique amarelo.</i><br />
<i>draw_set_color(c_white) </i><br />
<br />
7º-> Crie uma <i>background</i> e coloque o nome de <i>bcilindro</i>.<br />
Crie um objeto,e coloque o nome de <i>ocilindro</i>.<br />
Coloque no <i>create</i> dele:<br />
<i>z=0</i><br />
Coloque no <i>draw</i>:<br />
<i>//modelamos um cilindro fechado,no local onde está o objeto,na altura de z,com 24 de arredondamento.</i><i><br />
</i><i>d3d_draw_cylinder(x-10,y-10,z,x+10,y+10,z+30,background_get_texture(bcilindro),1,1,1,24)</i><br />
<br />
<b>8º-> </b>Crie uma nova <i>room</i>, coloque o nome dela de: <i>Shapes</i>.<br />
Coloque a câmera nela.<br />
Coloque os objetos espalhados por ela.<br />
Teste o jogo.<br />
Mova-se pelo cenário, e olhe atentamente cada forma.<br />
Perceba , como cada uma tem características individuais, note também os efeitos que aplicamos a cada uma:<br />
-O solo,que tem o eixo na origem da room.<br />
-A esfera com transparência.<br />
-O bloco que está sem textura, usando a cor de desenho que é branco.<br />
-O muro, com textura que se repete apenas na horizontal.<br />
-O cone que fica no alto e é desenhado com a cor amarela sem afetar os outros shapes.<br />
-O cilindro com altura e textura não repetida.<br />
<br />
<br />
Existem outras formas de modelagem no GM, porém, essa é a mais fácil, e a mais provável.<br />
Fique atento para suas texturas, que devem ter medidas proporcionais aos modelos.<br />
As texturas de 128x128, 256x256 e derivadas, quase sempre dão certo no seu shape, mas às vezes é preciso alterá-las.<br />
Nas próximas aulas eu vou abordar outras formas de modelagem e falarei mais sobre as texturas.<br />
Edit: Aqui está o link,pra quem não conseguiu criar a engine:<br />
<div style="text-align: center;"><a href="http://dl.dropbox.com/u/43446077/JOGOS/engines/Aula3-Shapes.gmk">DOWNLOAD</a></div><div style="text-align: center;"><br />
</div><div style="text-align: center;"><br />
</div><br />
<br />
<br />
<br />
<br />
<br />
<span style="color: #cc0000;"><br />
</span><br />
<span style="color: #cc0000;"><br />
</span><br />
<span style="color: #cc0000;"><br />
</span><br />
<span style="color: #cc0000;"><br />
</span><br />
<span style="color: #cc0000;"><br />
</span><br />
<span style="color: #cc0000;"><br />
</span><br />
<span style="color: #cc0000;"><br />
</span><br />
<span style="color: #cc0000;"><br />
</span><br />
<span style="color: #cc0000;"><br />
</span>Master Newshttp://www.blogger.com/profile/00348962552210015954noreply@blogger.com0tag:blogger.com,1999:blog-5933959431505078794.post-47205789321626382292012-02-11T14:46:00.004-02:002012-02-14T15:34:50.580-02:00[Curso Gm 3D] Aula 2: VISUALIZANDO O MUNDO<b>ENGINE: </b>Game Maker<br />
<b>NÍVEL:</b> intermediário<br />
<b>TEMA: </b>Game Maker, Visualizando o mundo.<br />
<b>PRÉVIA:</b> Vamos iniciar os trabalhos com o game maker no modo 3D, iniciando com os códigos, e criando nossa primeira engine,faremos uma engine simples, com: câmera em primeira pessoa,solo e movimentos básicos.<br />
<b>DIREITOS: </b><span style="color: #cc0000;">Este tutorial não pode ser copiado nem exibido em outros locais na internet sem a devida autorização do autor.Caso tenha interesse em usá-lo ,contate-me.</span><br />
<span style="color: #cc0000;"><br />
</span><br />
<span style="color: #cc0000;"><br />
</span><br />
<div style="text-align: center;"><b>INTRODUÇÃO</b><span style="color: #cc0000;"><br />
</span></div>Como eu já havia dito no tutorial anterior:" a câmera é o principal objeto de um jogo 3D.", ela é quem definirá o estilo de visualização do jogo. Algumas vezes vocês me verão chamá-la de projeção, para que você não se confunda, na hora de mudar a vista do seu jogo.<br />
<br />
<div style="text-align: center;"><b>SCRIPT</b></div>Abra o seu Game Maker, inicie um novo projeto,crie um objeto, e coloque o nome dele de ocam.<br />
No depth dele coloque 10000,isso é nescessário para que a câmera seje o último objeto a ser renderizado na room, permitindo assim que vc veja todos os outros à sua frente.<br />
<b>->No create do objeto,nós vamos colocar o seguinte código:</b><br />
<br />
<span style="font-family: "Georgia", "Times New Roman", serif;">//</span><span style="font-family: "Georgia", "Times New Roman", serif;">iniciaremos</span><span style="font-family: "Georgia", "Times New Roman", serif;"> o modo 3D</span><span style="font-family: "Georgia", "Times New Roman", serif;"><br />
</span><span style="font-family: "Georgia", "Times New Roman", serif;"> </span><br />
<span style="font-family: "Georgia", "Times New Roman", serif;">d3d_start()</span><br />
<span style="font-family: "Georgia", "Times New Roman", serif;">//Setamos a cor de desenho para branco(neutro).</span><span style="font-family: "Georgia", "Times New Roman", serif;"><br />
</span><span style="font-family: "Georgia", "Times New Roman", serif;"> </span><span style="font-family: "Georgia", "Times New Roman", serif;">draw_set_color(c_white)</span><span style="font-family: "Georgia", "Times New Roman", serif;"><br />
</span><span style="font-family: "Georgia", "Times New Roman", serif;"> </span><br />
<span style="font-family: "Georgia", "Times New Roman", serif;">//criamos a variável z,e atribuimos um valor a ela:</span><span style="font-family: "Georgia", "Times New Roman", serif;"><br />
</span><span style="font-family: "Georgia", "Times New Roman", serif;"> </span><br />
<span style="font-family: "Georgia", "Times New Roman", serif;">z=10</span><br />
<br />
O que fizemos foi "avisar" ao GM,que estamos no modo 3D, e isso vai mudar completamente a forma com que ele tratará o nosso jogo.<br />
<span style="color: #e06666;">*as mudanças foram citadas no 1º tuto da série.</span><br />
<br />
<b>->Baixe uma <i>textura</i> de solo(pode ser de grama),e certifique-se de que ela tem a medida de <i>128x128</i>,</b><br />
Se quiser pode usar essa:<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://dl.dropbox.com/u/43446077/tutoriais/grama128.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="http://dl.dropbox.com/u/43446077/tutoriais/grama128.png" width="200" /></a></div><br />
<b>->Crie uma <i>background</i>,e carregue a <i>textura</i> do solo para ela.e coloque o nome de: <i>bsolo</i>.</b><br />
<br />
<b>->Vá ao evento <i>Draw</i>,e ponha o seguinte código:</b><br />
<br />
<span style="font-family: "Georgia", "Times New Roman", serif;">/*Criamos a projeção da câmera,com uma geometria simples,que permitirá enchergar em 180º,à </span><br />
<span style="font-family: "Georgia", "Times New Roman", serif;">frente dela, como na visão humana.*/</span><br />
<span style="font-family: "Georgia", "Times New Roman", serif;">d3d_set_projection(x,y,z,x+cos(direction*pi/180),y-sin(direction*pi/180),z,0,0,1);</span><br />
<span style="font-family: "Georgia", "Times New Roman", serif;">//Modelamos um solo.</span><span style="font-family: "Georgia", "Times New Roman", serif;"><br />
</span><span style="font-family: "Georgia", "Times New Roman", serif;"> </span><span style="font-family: "Georgia", "Times New Roman", serif;">d3d_draw_floor(0,0,0,room_width,room_height,0,background_get_texture(bsolo),32,32)</span><span style="font-family: "Courier New", "Courier", monospace;"><br />
</span><br />
<span style="font-family: "Courier New", "Courier", monospace;"><br />
</span><br />
Ao criar a projeção,nós definimos uma visão de 180º à nossa frente, como na visão humana,como nossa câmera será dinâmica, nós definimos a <i>direction</i>, como a variável que vai mudar o nosso ângulo de visão.<br />
Depois, modelamos um solo simples,que vai da origem até o final da room,com a textura de solo,que se repitirá 32vezes na horizontal e 32vezes na vertical. Você pode ajustar esses valores para obter um melhor resultado.Quanto mais repetições, mais real será o resultado.<br />
Vou abordar melhor sobre as texturas numa futura aula,sobre modelagem.<br />
<br />
Agora vamos configurar o movimento da nossa câmera:<br />
<b>->Vá no evento Step,e coloque o código:</b><br />
<br />
<span style="font-family: "Georgia", "Times New Roman", serif;">//setamos a fricção da câmera.</span><span style="font-family: "Georgia", "Times New Roman", serif;"><br />
</span><span style="font-family: "Georgia", "Times New Roman", serif;"> </span><br />
<span style="font-family: "Georgia", "Times New Roman", serif;"> friction=.5 </span><span style="font-family: "Georgia", "Times New Roman", serif;"><br />
</span><span style="font-family: "Georgia", "Times New Roman", serif;"> </span><br />
<span style="font-family: "Georgia", "Times New Roman", serif;">//Configuramos os movimentos da câmera pelas setas do teclado:</span><span style="font-family: "Georgia", "Times New Roman", serif;"><br />
</span><span style="font-family: "Georgia", "Times New Roman", serif;"> </span><br />
<span style="font-family: "Georgia", "Times New Roman", serif;">if keyboard_check(vk_right) direction-=5</span><span style="font-family: "Georgia", "Times New Roman", serif;"><br />
</span><span style="font-family: "Georgia", "Times New Roman", serif;"> </span><span style="font-family: "Georgia", "Times New Roman", serif;">if keyboard_check(vk_left) direction+=5</span><span style="font-family: "Georgia", "Times New Roman", serif;"><br />
</span><span style="font-family: "Georgia", "Times New Roman", serif;"> </span><span style="font-family: "Georgia", "Times New Roman", serif;">if keyboard_check(vk_up) speed=5</span><span style="font-family: "Georgia", "Times New Roman", serif;"><br />
</span><span style="font-family: "Georgia", "Times New Roman", serif;"> </span><span style="font-family: "Georgia", "Times New Roman", serif;">if keyboard_check(vk_down) speed=-5</span><br />
<br />
Setamos uma fricção na câmera, fazendo com que ela desacelere quando estiver se movendo.<br />
E depois criamos moveimentos na câmera, através do teclado.<br />
As setas laterais vão mudar a direction da câmera, o que fará com que ela gire,e as setas verticais,vão setar a velocidade, fazendo ela se mover para frente e para trás.<br />
<br />
<div style="text-align: center;"><b><br />
</b></div><div style="text-align: center;"><b>CONCLUSÃO</b></div>Bom, depois de tudo isso temos a nossa engine com câmera,solo e movimentos básicos.<br />
A partir dela vamos continuar o curso nas próximas aulas, implementando: <i>gravidade,modelos,texturas,mais controles</i> e outras coisas.<br />
Se você não conseguiu montar a <i>engine</i>, seguindo o <i>tutorial</i>, aqui vai o download:<br />
<div style="text-align: center;"><a href="http://dl.dropbox.com/u/43446077/JOGOS/engines/Engine%20com%20c%C3%A2mera%203d%20e%20solo.gmk">DOWNLOAD</a></div>Master Newshttp://www.blogger.com/profile/00348962552210015954noreply@blogger.com0tag:blogger.com,1999:blog-5933959431505078794.post-613764712739928562012-02-11T14:43:00.002-02:002012-02-14T15:35:00.992-02:00[Tutorial] Salvando e carregando jogos.<b>ENGINE: </b>Game Maker<br />
<b>NÍVEL:</b> intermediário<br />
<b>TEMA: </b>Salvar e carregar jogos.<br />
<b>PRÉVIA:</b>Hoje venho lhes trazer um tutorial sobre como salvar e carregar jogos no Game Maker,para isso vamos usar as janelas padrão do Windows, que abrem quando realizamos estas tarefas nos nossos arquivos.<br />
<b>DIREITOS: </b><span style="color: #cc0000;">Este tutorial não pode ser copiado nem exibido em outros locais na internet sem a devida autorização do autor.Caso tenha interesse em usá-lo ,contate-me.</span><br />
<span style="color: #cc0000;"><br />
</span><br />
<span style="color: #cc0000;"><br />
</span><br />
<div style="text-align: center;"><b>SALVANDO O JOGO</b></div>Vamos iniciar salvando o nosso jogo, para isso,usaremos a função <b>game_save()</b>.<br />
Antes de salvar,será nscessário que o jogador escolha o local a ser salvo,e aí usaremos a função <b>get_save_filename()</b>,que retornará o caminho escolhido pelo usuário. <br />
Aí vão os códigos,com explicação nos comentários:<br />
<br />
<b><span style="font-family: "Courier New", "Courier", monospace;">//vamos abrir a janela de sav game,ela só vai mostrar arquivos com a terminação .sav:<br />
//a variável s, irá guardar o nome do arquivo que o usuário digitou.</span></b><span style="font-family: "Courier New", "Courier", monospace;"><br />
s=get_save_filename('Saves|*.sav;',"")</span><b><span style="font-family: "Courier New", "Courier", monospace;">//se o nome do arquivo for válido, ou seja diferente de uma string vazia:<br />
//salvar o jogo com o nome+a terminação .sav</span></b><span style="font-family: "Courier New", "Courier", monospace;"><br />
if s!="" game_save(s+".sav")<br />
<b>//Atenção: Vc pode criar sua própria terminação, substituindo o .sav pela terminação desejada, EX: .brum</b></span><br />
<span style="font-family: "Courier New", "Courier", monospace;"><b><br />
</b></span><br />
<span style="font-family: "Courier New", "Courier", monospace;"><span style="color: #660000;">*Este código deve ser colocado em eventos não repetitivos, como no click em um botão,no create ou destroy de um objeto,no fim de uma room...</span></span><span style="font-family: "Courier New", "Courier", monospace;"><span style="color: #274e13;"><br />
</span></span><br />
<br />
<br />
<div style="text-align: center;"><b>CARREGANDO O JOGO</b></div>Para carregar o jogo, vamos usar a função game_save().<br />
Mas antes, vamos abrir a janela do windows,para escolhermos o aqruivo a ser carregado, usando a função get_open_filename(),que retornará o caminho escolhudo pelo usuário:<br />
Códigos explicados:<br />
<br />
<span style="font-family: "Courier New", "Courier", monospace;"><b>//vamos abrir a janela de load game,ela só vai mostrar arquivos com a terminação .sav:<br />
//a variável l, irá guardar o nome do arquivo que o usuário digitou</b>.<br />
l=get_open_filename('Saves|*.sav;',"")<br />
<b>//se o arquivo com o nome digitado existir,abrir o jogo salvo nele:</b><br />
if file_exists(l) game_load(l)<br />
<b>//Atenção: Vc pode criar sua própria terminação, substituindo o .sav pela terminação desejada, EX: .brum</b></span><br />
<br />
<span style="font-family: "Courier New", "Courier", monospace;"><span style="color: #660000;">*Este código deve ser colocado em eventos não repetitivos, como no click em um botão,no create ou destroy de um objeto,no fim de uma room...</span></span> <br />
<span style="font-family: "Courier New", "Courier", monospace;"><span style="color: #660000;"><br />
</span></span><br />
<span style="font-family: "Courier New", "Courier", monospace;"><br />
</span><br />
<span style="font-family: "Arial", "Helvetica", sans-serif;">Fiz uma engine seguindo este tutorial, mas recomendo que você mesmo crie a sua, seguindo as instruções,para um mlehor aprendizado.</span><br />
<span style="font-family: "Arial", "Helvetica", sans-serif;">caso queiram baixar pra conferir: </span><b><span style="font-family: "Arial", "Helvetica", sans-serif;"><a href="http://dl.dropbox.com/u/43446077/JOGOS/engines/Engine%20de%20salvar%20e%20carregar%20jogo.gmk">DOWNLOAD</a></span></b><br />
<span style="font-family: "Courier New", "Courier", monospace;"><span style="color: #660000;"><br />
</span></span>Master Newshttp://www.blogger.com/profile/00348962552210015954noreply@blogger.com0tag:blogger.com,1999:blog-5933959431505078794.post-4492867149477112462012-02-11T14:42:00.004-02:002012-02-14T15:35:11.801-02:00[Curso Gm 3D] Aula1: INICIANDO NO MODO 3D<b>ENGINE: </b>Game Maker<br />
<b>NÍVEL</b>: intermediário<br />
<b>TEMA:</b> Game Maker, modo 3D .<br />
<b>PRÉVIA:</b> Neste artigo eu pretendo abordar o tema , mas sem usar códigos, por enquanto, quero apenas passar os conceitos iniciais, para que nos próximos artigos da série ,vocês já tenham uma noção de como funciona o 3D no Game Maker..<br />
<b>DIREITOS:</b><span style="color: #cc0000;"> Este tutorial não pode ser copiado nem exibido em outros locais na internet sem a devida autorização do autor.Caso tenha interesse em usá-lo ,contate-me.</span> <br />
<span style="color: #cc0000;"><br />
</span><br />
<div style="text-align: center;"><b>INTRODUÇÃO</b></div> Se você nunca teve experiência com 3D no Game Maker, poderá parecer um pouco complicado pra você,criar um jogo 3D nele.Mas depois de estudos e treinos , tudo se tornará bem claro,e intuitivo, e te tornará possível,fazer seu jogo sem complicações.<br />
O Game Maker foi criado para fazer jogos, mas tendo total foco no 2D. A parte 3D é como que um bônus inserido de última hora pelo tio Overmars. Por isso muita gente diz que não dá pra se fazer bons jogos 3D nele, eu desminto,e digo que com um pouco de esforço você consegue sim fazer bons jogos nele.<br />
<br />
<div style="text-align: center;"><b>A TERCEIRA DIMENSÃO</b></div> A terceira dimensão é indicada em muitos locais como o eixo Y,porém no Game Maker o eixo é representado por Z:<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://t0.gstatic.com/images?q=tbn:ANd9GcRV96X5h2HiMwbuERW97tFQLQAi4kEI9nDOV0Wln9v6eLOrUfcWdP402O0ngA" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://t0.gstatic.com/images?q=tbn:ANd9GcRV96X5h2HiMwbuERW97tFQLQAi4kEI9nDOV0Wln9v6eLOrUfcWdP402O0ngA" /></a></div><br />
<br />
<br />
As coordenadas 2D do GM são representadas pelas variáveis x e y por padrão, porém quando iniciamos a programação 3D nele, a variável z não é criada automaticamente, temos que criá-la manualmente.E este é<br />
um dos primeiros erros de muitos makers que iniciam o 3D no GM. Portanto é de essencial importância,que você esteje sempre atento para essa variável, assim como está para x e y nos seus jogos 2D.<br />
Outro ponto importante a se considerar é que a coordenada y ficará invertida neste novo modo.<br />
Em seus jogos 2D você poderá perceber que a origem do y(0,0) fica no canto esquerdo superior da sua tela,mas ao iniciar o modo 3D, esta origem vai passar para o canto esquerdo inferior, porém é uma coisa que às vezes passa batido por nós, já que a coordenada y,é que nos parece a nova coordenada.<br />
<br />
<div style="text-align: center;"><b>A CÂMERA</b></div> A parte essencial dos jogo 3D com certeza é a câmera,no GM a câmera é chamada de projeção,e é através dessa projeção que será renderizado o seu jogo,caberá ao Maker configurá-la e adaptá-la ao seu jogo. Uma regra que ele não pode esquecer jamais, é que todos os objetos do jogo deverão ter depths menores que o da câmera. Isso é nescessário para que sejam vistos corretamente.Isso ocorre porque o depth irá definir a camada de desenho na tela, e quando mais de um objeto estiver alinhado na tela, somente o de menor depth será visto, portanto se seu objeto tiver um depth menor que o da câmera, isso garante que ele será visualizado corretamente.<br />
<br />
<div style="text-align: center;"><b>POTENCIAL</b></div> Quando estamos em busca do aprendizado, uma coisa que nos estimula muito é ver o potencial que teremos ao fim dos estudos,portanto vou apresentar uma lista com as funções que o GM3D pode fazer:<br />
Modelar formas básicas: ( Blocos,Elipsoids,Cones,Cilindros,Paredes,Solos.)<br />
Modelar polígonos: (através de faces triangulares.)<br />
Aplicar transformações: (rotação,posição,escala.)<br />
Texturizar: (usa as backgrounds e até sprites para texturizar os modelos.)<br />
Criar Neblina: (é um efeito visual que o GM usa para embaçar a visão mais distante.)<br />
Criar iluminação: (criar efeitos de iluminação no jogo.)<br />
Usar modelos: (criar,carregar e salvar modelos.)<br />
Visão ortográfica: (é uma porjeção 2D que pode ser usada para desenhar sprites ou texto na tela.)<br />
<br />
<div style="text-align: center;"><b>REFERÊNCIAS</b></div> Então pra deixar você com água na boca,e ancioso pelos próximos artigos,aqui vai algumas screens,de jogos 3D feitos no Game Maker:<br />
<div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"><a href="http://dl.dropbox.com/u/43446077/Fotos%20de%20jogos/brumshapes.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"></a><a href="http://www.baixaki.com.br/imagens/66547/38823.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="238" src="http://www.baixaki.com.br/imagens/66547/38823.jpg" width="320" /></a><img border="0" height="157" src="http://dl.dropbox.com/u/43446077/Fotos%20de%20jogos/brumshapes.png" width="200" /><a href="http://dl.dropbox.com/u/43446077/Fotos%20de%20jogos/screen%20super%20marcos.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="150" src="http://dl.dropbox.com/u/43446077/Fotos%20de%20jogos/screen%20super%20marcos.png" width="200" /></a><a href="http://sandbox.yoyogames.com/extras/image/name/san1/279/35279/01.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="150" src="http://sandbox.yoyogames.com/extras/image/name/san1/279/35279/01.jpg" width="200" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"><a href="http://sandbox.yoyogames.com/extras/image/name/san2/374/390374/original/cl3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://sandbox.yoyogames.com/extras/image/name/san2/374/390374/original/cl3.jpg" width="320" /></a></div>Master Newshttp://www.blogger.com/profile/00348962552210015954noreply@blogger.com0tag:blogger.com,1999:blog-5933959431505078794.post-52435241439411069402012-02-11T14:39:00.001-02:002012-02-14T15:35:19.500-02:00[Artigo] DICAS MAKER<b>Yô</b> a todos,<br />
vim falar hoje sobre algumas manias e técnicas que eu tenho na hora de programar.<br />
São manias que eu adquiro na intenção a produtividade na hora de programar.<br />
Desde já , vou recomendar a vocês que incorporem algumas nos seus modos de programar<br />
porque são bem úteis,<br />
Aqui vão elas:<br />
<b><br />
</b><br />
<b>1-Nomeação de sources</b><br />
Muitos makers adquirem o hábito de manter um prefixo padrão para o nome de seus sources,<br />
isso é bom, porque te ajuda a lembrar o nome deles na hora de programar,e ainda evita erros de sources com o mesmo nome.Minha maneira de renomear:<br />
Sprites: Coloco um "s" antes do nome, Exemplo: splayer.<br />
Sounds: Coloco um "so" antes do nome, Exemplo: soplayer.<br />
Backgrounds: Coloco um "b" antes do nome. Exemplo: bplayer.<br />
Paths: Coloco um "p" antes do nome. Exemplo: pplayer.<br />
Scripts: Coloco um "sc_" antes do nome. Ex: sc_player.<br />
Fontes: Coloco um "f" antes do nome. Ex: fplayer.<br />
Time Lines: Coloco um "t" antes do nome. Ex: tplayer.<br />
Objects: Coloco um "o" antes do nome. Ex: oplayer.<br />
Rooms: Geralmente eu não uso prefixos, mas vc pode por um "r" antes do nome. Ex: rplayer.<br />
<br />
Parece idiotice, mas é uma técnica que ajuda a evitar erros no jogo.<br />
<br />
<b>2-Backups próprios</b><br />
Não gosto de usar os backups padrão do gm, aqueles que criam automáticos, <br />
por isso eu tenho meu próprio método de backups, tipo, a cada edição significativa no meu projeto, eu salvo ele com um nome diferente e coloco no título a mudança principal dele.<br />
Assim , caso vc tenha um erro com seu jogo, dá pra vc pegar uma versão anterior e refazer as mudanças perdidas. Tem muita gente que perde um jogo inteiro, por não usar esse método, comigo isso não acontece. <br />
Se você tiver pouco espaço no hd, vá deletando os backups mais antigos.<br />
Ex: Crio o game play do jogo e salvo: Meu_jogo_(game play)1<br />
Depois eu ponho sprites, e salvo: Meu_jogo_(sprites)2<br />
e assim sucessivamente...<b><br />
</b><br />
<br />
<b>3-Usar o Game Information</b><br />
Quando eu inicio o projeto, gosto de deixar tudo anotado no Game Information.<br />
Assim, sempre que tenho dúvida quanto a algo, eu recorro a ele, que tá bem pertinho. :d .<br />
Outra coisa que faço muito, é ir anotando nele todas as idéias que vão surgindo durante a criação do jogo.<br />
Geralmente a gente tem muita idéia que acaba passando batido, mas com esse método não ocorrerá mais.<br />
É interessante também ,manter um log, de tudo que você está fazendo no jogo,para que ao fim, você saiba informar os pontos positivos do jogo, e saiba corrigir os pontos negativos.<br />
<br />
<b>4-Criar Grupos</b><br />
A organização do seu jogo é extremamente importante.<br />
Procure separar seus sources por meio de pasta com nomes auto-explicativos, facilita a você achar algo que procura quando o projeto está com muto sources.Além de deixá-lo com uma aparência bem organizada, e prazerosa de se trabalhar, principalmente se o trbalho for feito por mais de uma pessoa.<br />
<br />
<b>5-//Anulação de códigos.</b><br />
Muitas vezes vc gostaria de testar seu código, mas tem que deletar determinada parte,e depois do teste precisa reescreve-la. Use os comentários para isto, no caso de ser só uma linha, vc coloca as duas barras (//) antes do código que deseja anular, se for muitas linhas , você pode usar o outro tipo:(/* */),depois de testar, vc pode apagá-lo,ativá-lo, ou até deixá-lo quietinho lá.<br />
<br />
<b>6-Coleção de Engines e Scripts</b><br />
Muitas vezes vc passa horas e horas criando um script,um algoritmo ou até uma engine para seu jogo.<br />
Depois de criar a mesma coisa várias vezes,eu cheguei a conclusão que estava andando em círculos.<br />
Daí tive a idéia de ir salvando essas bênçãos. Por isso recomendo que sempre que você criar um script difícil, e que puder ser usado novamente, salve-o com um nome bem identificado, para reusá-lo no futuro,a mesma dica serve para as engines.<br />
<br />
<br />
Bom, por hoje serão só estas dicas, mas logo postarei outras! você está livre para usá-las e nunca mais perder tempo com coisa repetidas, ou ter que refazer seu projeto porque não tinha um backup!<br />
<br />
Até!<br />
<b><br />
</b><br />
<b><br />
</b><br />
<b><br />
</b>Master Newshttp://www.blogger.com/profile/00348962552210015954noreply@blogger.com1tag:blogger.com,1999:blog-5933959431505078794.post-5582514721436841492012-02-11T14:18:00.000-02:002012-02-11T14:18:42.752-02:00UNIFICANDO BLOGS<div class="separator" style="clear: both; text-align: center;"><a href="http://dl.dropbox.com/u/43446077/novos/banerbrumgmbr.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://dl.dropbox.com/u/43446077/novos/banerbrumgmbr.png" /></a></div><br />
Como vocês devem saber, eu mantenho um outro blog,onde posto tutoriais e artigos relacionados exclusivamente ao Game Maker e à GMBR.<br />
Hoje, tomei a decisão de unificar os blogs!<br />
Por isso, estou importando o conteúdo dele para cá, e a partir de hoje, poderão acompanhar aqui, os novos tutoriais.<br />
Não deixe de nos visitar, pois com a unificação o blog será atualizado com muito mais frequência!Master Newshttp://www.blogger.com/profile/00348962552210015954noreply@blogger.com0tag:blogger.com,1999:blog-5933959431505078794.post-4723113413571300912012-01-16T01:30:00.000-02:002012-01-16T02:08:07.909-02:00BRUM SHAPES 3D versão 1.0<div class="separator" style="clear: both; text-align: center;"><a href="http://dl.dropbox.com/u/43446077/Fotos%20de%20jogos/brumshapes.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="315" src="http://dl.dropbox.com/u/43446077/Fotos%20de%20jogos/brumshapes.png" width="400" /></a></div><br />
<br />
Estou lançando em primeira mão,o meu modelador 3D para Game maker: Brum Shapes.<br />
Depois de postar uma versão beta aqui no blog,há alguns dias, eu retomei o projeto e fiz várias modificações.<br />
São elas:<br />
v-o antigo menu "sistema" foi dividido em 2: "arquivo" e "editar".<br />
v-agora o programa está todo em português.<br />
v-novo sistema de foco no menu.<br />
v.novas barras adicionadas: superior e inferior.<br />
v-marca dágua retirada.<br />
v-bug do cancelar na for de fundo corrigido(bgcolor ficava vermelha).<br />
v-bug do cancelar na textura corrigido(pedia o hrepeat e vrepeat).<br />
v-modelar por código só acima de 40caracteres,pra prevenir erros.<br />
v-opções dos menus arquivo e editar reorganizadas.<br />
v-nome do shape inserido como comentário antes do seu código de modelagem.<br />
v-novos atalhos para as opções do menu.<br />
v-nova fonte.(agora com acentuação.)<br />
v-novo sistema de exportar 2D.(tira o grid sozinho, e salva somente a parte do modelo)<br />
v.inserido uma introdução e modificada a cor de fundo inicial.<br />
<br />
Com isso, acho que a versão ficou bem mais light, e mais estável.<br />
<br />
<br />
<div style="text-align: center;"><b><u><span style="font-size: large;"><span style="color: blue;"><a href="http://sandbox.yoyogames.com/games/192755-brum_shapes">DOWNLOAD</a></span></span></u></b></div>Master Newshttp://www.blogger.com/profile/00348962552210015954noreply@blogger.com0tag:blogger.com,1999:blog-5933959431505078794.post-57438290666846347882012-01-14T19:37:00.000-02:002012-01-14T19:45:52.243-02:00Perfil na GMCEaew galera,<br />
<br />
Criei um perfil na GMC,para postar meus jogos feitos no Game Maker.<br />
A GMC é a maior comunidade de Game Maker do mundo.<br />
Ela é administrada pela YOYO Games,dona do GM, além dela, tem a SandBox,<br />
que é onde makers do mundo inteiro postam seus projetos.<br />
Acessem meu perfil, lá vocês podem acompanhar meus jogos:<br />
<br />
<div style="border: 1px solid #a5a5a5; margin: 30px; width: 177px;"><a href="http://sandbox.yoyogames.com/"><img alt="YoYoGames" src="http://sandbox.yoyogames.com/images/embed/user_tag_bg.gif" style="border: 0; margin: 0; padding: 0;" /></a><br />
<div style="padding-top: 5px; text-align: center;"><a href="http://sandbox.yoyogames.com/users/mrbrum22"><img alt="Smarcadagua_-_cópia" src="http://sandbox.yoyogames.com/extras/user/image/san2/808/395808/medium/smarcadagua_-_Cópia.png" style="border: 0;" /></a></div><div style="color: #676767; font-family: arial; font-size: 0.8em; margin: 0; padding: 15px 10px;"><a href="http://sandbox.yoyogames.com/users/mrbrum22" style="color: #8ec63f;">mrbrum22</a><br />
<b>Age:</b> 20<br />
<b>Location:</b> http://mrbrumgames.blogspot.com/</div></div>Master Newshttp://www.blogger.com/profile/00348962552210015954noreply@blogger.com0tag:blogger.com,1999:blog-5933959431505078794.post-27549199298964349242012-01-11T01:57:00.000-02:002012-01-14T19:25:33.135-02:00SÚPER MARCOS -A ilha de Mr Bug-<div class="separator" style="clear: both; text-align: center;"><a href="http://dl.dropbox.com/u/43446077/Fotos%20de%20jogos/supermarcos.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://dl.dropbox.com/u/43446077/Fotos%20de%20jogos/supermarcos.png" /></a></div><br />
<div style="text-align: center;"><br />
<br />
<b>SÚPER MARCOS</b><br />
<b>A ilha de Mr Bug</b><br />
<br />
<br />
<b>O INÍCIO</b><br />
Chovia muito,numa tarde de janeiro de 2012,<br />
<b>Marcos</b>,um maker indie, estava programando seus jogos em casa,trancado no seu quarto.<br />
Quando percebeu que seus jogos tinham bugs incomuns,sem causas aparentes.<br />
Incessantemente,<b>Marcos </b>ficava falando consigo mesmo: "se eu pudesse,entraria lá dentro do PC, e resolveria eu mesmo".<br />
Foi quando caiu um grande raio próximo a sua casa.<br />
<b>Marcos</b> desmaiou,e dormiu por um longo tempo!<br />
Ao acordar,não se lembrava de muitas coisas,apenas de ter visto um clarão,e de ter apagado!<br />
Olhou em volta de si,e percebeu que não estava no seu quarto,aliás,não estava no seu mundo!<br />
Ele estava noutra dimensão,denominada: <b>A ilha de Mr Bug</b>.<br />
Ao entrar na atmosfera da ilha, os makers recebem novos dons, como o pulo gravitacional,que os tornam especiais e fortalecidos.<br />
<br />
<b>O INIMIGO</b><br />
Mr Bug é um terrível maker, que conseguiu criar uma dimensão através da sua programação,<br />
sua dimensão é alimentada pelos bugs existentes em todos os jogos do universo!<br />
E por isso,ele insiste em atrapalhar os makers,para manter seu império!<br />
Nesta ilha, milhares de makers estão presos,e são obrigados a trabalhar como escravos, na criação de bugs,<br />
tudo isso por terem desafiado o terrível <b>Mr.Bug</b>.<br />
<br />
<b>O OBJETIVO</b><br />
Agora, o<b> Súper Marcos</b>, carrega a responsabilidade de derrotar <b>Mr.Bug</b>,e libertar os makers presos,<br />
para que os seres humanos possam continuar com os bons jogos !<br />
<br />
<br />
<br />
<br />
<b>HUD </b><br />
Seu player tem uma Hud mostrada na tela,composta de ícones:<br />
<b>Coração-></b> Mostra a sua porcentagem de vida no jogo.<br />
<b>Raio-> </b>Mostra o seu especial,ao enchê-lo,você pode liberar o poder máximo.<br />
<b>Poção-></b>Mostra quantas poções de cura você tem(carrega no máximo 10).<br />
<b>Cifrão-</b>>Mostra a quantia de moedas que você possui(a cada 100 você ganha 1 poção).<br />
<br />
<br />
<b>AS CIFRAS </b><br />
As cifras são ítens representados por um cifrão.<br />
As amarelas valem 1$,e não desparecem quando são pegas,apenas mudam de cor, para indicar que vc já passou por ali.<br />
As laranjadas valem 2$,e somem quando são pegas.<br />
A cada 100 cifras completadas, você ganha 1poção de cura automaticamente.<br />
<br />
<br />
<b>CONTROLES </b><br />
cetas -> corre<br />
Espaço->pula(ataca)<br />
B->ataca no Boss<br />
M,N-> zoom<br />
V->especial(quando a barra está cheia)<br />
P->pause/resume<br />
F1->ajuda<br />
F4->resize tela<br />
Esc->Sai.<br />
-----<br />
X->Usa Poção de cura.(quando tem a poção)<br />
S->Tirar foto.<br />
<br />
<b>MAPA </b><br />
Floresta->caverna->garden->castelo->Boss<br />
<br />
Floresta<br />
O desafio é chegar sozinho até a caverna.<br />
O player poderá treinar seu ataque contra Caixotes de madeira.<br />
E ainda encher um pouco do especial.<br />
Há uma lenda,que diz existir um mapa que leva a um tesouro escondido lá.<br />
<br />
caverna<br />
Na caverna vc lutará contras os fantasmas,<br />
que renascem rapidamente.<br />
Ao final,tem uma barreira de pedra.<br />
que só pode ser destruída com o especial.<br />
<br />
garden<br />
No garden vc encontra os minibugs,<br />
você deve destruir todos para abrir a porta do castelo.<br />
<br />
castelo<br />
Você está próximo do Mr.Bug.<br />
Ele estava te espiando das torres do castelo,e está tentando te clonar.<br />
Vários clones já estão sendo preparados.<br />
Destrua todos eles para abrir a porta final.<br />
<br />
<b>BOSS</b><br />
Você recebe um novo poder, para lutar contra o boss,destrua-o e salve o mundo!<br />
<br />
<br />
<b>CRÉDITOS </b><br />
<br />
Fontes: Súper Mário 64<br />
<br />
Modelo e animação do char: Open source Zelda Drandula<br />
<br />
Músicas de fundo: <br />
Zelda The waker :<br />
(131_Ocean)<br />
(below_deck)<br />
(chamberofthesages)<br />
(DragonRoostIslandXGv1_1)<br />
(EscapeCastle)<br />
(Boss02)<br />
(btest)<br />
(remix)</div><div style="text-align: center;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="http://dl.dropbox.com/u/43446077/Fotos%20de%20jogos/screen%20super%20marcos.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://dl.dropbox.com/u/43446077/Fotos%20de%20jogos/screen%20super%20marcos.png" width="320" /></a></div><div style="text-align: center;"><br />
</div><div style="text-align: center;"><br />
<span style="font-size: large;"><span style="font-family: "Courier New", "Courier", monospace;"><strong><u><a href="http://sandbox.yoyogames.com/games/192572-s%C3%9Aper-marcos--a-ilha-de-mr-bug-">DOWNLOAD</a></u></strong></span></span></div>Master Newshttp://www.blogger.com/profile/00348962552210015954noreply@blogger.com0tag:blogger.com,1999:blog-5933959431505078794.post-31611791788476583422012-01-11T01:51:00.000-02:002012-01-11T01:51:26.622-02:00Mudança de planosBom, trago-lhes boa e má notícias:<br />
<strong>-Má: </strong>Não vou mais continuar o projeto da Ilha dos Makers.<br />
<strong>-Boa: </strong>Estou refazendo o projeto da Ilha dos Makers,agora,seguindo uma linhagem de RPG,onde o Súper Marcos,vai encarar os desafios na Ilha de Mr Bug. O novo projeto,ficou bem fluído,com gráficos melhorados,e muitas inovações em relação ao antigo.<br />
No próximo post,irei postar o projeto detalhado.Master Newshttp://www.blogger.com/profile/00348962552210015954noreply@blogger.com0