{"id":35,"date":"2009-12-14T15:35:00","date_gmt":"2009-12-14T15:35:00","guid":{"rendered":"http:\/\/rockbot.upperland.net\/?p=35"},"modified":"2009-12-14T15:35:00","modified_gmt":"2009-12-14T15:35:00","slug":"carregando","status":"publish","type":"post","link":"https:\/\/rockbot.upperland.net\/?p=35","title":{"rendered":"carregando&#8230;"},"content":{"rendered":"<p>Semana passada eu descobri que a SDL foi portada para o Nintendo DS, ent\u00e3o eu pensei que seria legal portar o Rockbot para ele &#8211; eu adoraria recriar o Rockman 0 e 10 para jogar no meu DS j\u00e1 que a Capcom decidiu n\u00e3o port\u00e1-lo. Na verdade, a primeira raz\u00e3o para eu decidir criar todo o projeto Rockbot foi por estar brabo com a Capcom que decidiu n\u00e3o portar um jogo que parece de NES para plataformas antigas como o Playstation, e eu n\u00e3o tenho dinheiro ou desejo de comprar um console de nova gera\u00e7\u00e3o.<br \/>Mas bem, uma vez assentada a id\u00e9ia, eu tinha que construir todo o SDK do DS e as bibliotecas SDL, o que se mostrou um desafio, porque a SDL foi baseada em uma evrs\u00e3o antiga do kit de desenvolvimento e tive que corrigir alguns bugs antes de ter um ambiente funcional para compilar alguns testes. Uma vez terminado, eu teria que diminuir o uso de mem\u00f3ria de 46MB para menos de 4MB, que \u00e9 o limite do Nintedno DS.<\/p>\n<p>A\u00ed vem a parte divertida, a maioria dos programadores de hoje s\u00e3o simplesmente pregui\u00e7osos de otimizar o c\u00f3digo e usam o quanto de mem\u00f3ria conseguirem, e frequentemente as pessoas acham que os jogos mais legais s\u00e3o os que as obrigam a comprar um computador inteiro novo, ent\u00e3o podem ter um PC super modificado com luzes de laser interno e resfriamento a \u00e1gua e outras tolices frescas. Felizmente, os videogames n\u00e3o est\u00e3o infestados por essa moda de atualiza\u00e7\u00f5es frequentes. Ent\u00e3o, a primeira coisa a fazer \u00e9 usar vari\u00e1veis menores, j\u00e1 que estou lidando com valores abaixo de 64 mil, todos os inteiros foram convertidos para short. O pr\u00f3ximo passo foi limitar o uso de cores a 256, usando paleta web-safe, o que no fim das contas \u00e9 legal, por parecer mais com os jogos antigos de NES. Finalmente, n\u00e3o d\u00e1 para carregar toda uma fase na mem\u00f3ria de uma vez, pois \u00e9 isso o que mais usa mem\u00f3ria, j\u00e1 que o n\u00facleo em s\u00ed \u00e9 bem pequeno. Ent\u00e3o, eu reduzi o tamanho do mapa, e agora o jogo usa cerca de 5.1MB de RAM!<\/p>\n<p>Mas n\u00f3s precisamos de mais, por isso eu planjeo usar os mesmos truques que jogos de NES antigos usavam: quebranco a fase em partes. Lembram-se como era lenta a transi\u00e7\u00e3o de tela quando voc\u00ea estava em uma escadaria, ou alguns jogos tinham uma sala de chefe no meio? A raz\u00e3o \u00e9 que, neste momento, voc\u00eas est\u00e1 liberando um mapa e carregando outro. Assim, acredito que ser\u00e1 poss\u00edvel reduzir o uso de mem\u00f3ria para 3MB.<\/p>\n<p>O passo seguinte \u00e9 aprender a editor os makefiles dos exemplos de SDL para DS para recompilar o Rockbot para o Nintendo DS e testar. Mas como o fim de ano est\u00e1 pr\u00f3ximo, por enquanto planejo trabalhar em gr\u00e1ficos.<\/p>\n<p>Outras not\u00edcias:<br \/>&#8211; voc\u00ea pode sair da introdu\u00e7\u00e3o pressionanto start<br \/>&#8211; come\u00e7ado trabalho em um teileset para montar um cen\u00e1rio<br \/>&#8211; feito um build teste para PS2, funciona bem, mas ainda tem problemas com delay\/waiters.<br \/>&#8211; O PS2 precisa de ajustes para carregar os drivers necess\u00e1rios de acordo com a unidade de onde o programa est\u00e1 rodando, e tamb\u00e9m setar o FILEPATH com ela<br \/>&#8211; precisa ser refeito o sistema de tempo para frame de anima\u00e7\u00e3o- por alguma raz\u00e3o eu perdi parte do c\u00f3digo<br \/>&#8211; devemos implementar escadarias e &#8220;teleporte&#8221; de um mapa para outro<br \/>&#8211; implementar som usando SDL_mixer e doomsdl_mixer (PS2)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Semana passada eu descobri que a SDL foi portada para o Nintendo DS, ent\u00e3o eu pensei que seria legal portar o Rockbot para ele &#8211; eu adoraria recriar o Rockman 0 e 10 para jogar [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"","footnotes":""},"categories":[8],"tags":[],"class_list":["post-35","post","type-post","status-publish","format-standard","hentry","category-rockbot"],"_links":{"self":[{"href":"https:\/\/rockbot.upperland.net\/index.php?rest_route=\/wp\/v2\/posts\/35","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rockbot.upperland.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rockbot.upperland.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rockbot.upperland.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/rockbot.upperland.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=35"}],"version-history":[{"count":0,"href":"https:\/\/rockbot.upperland.net\/index.php?rest_route=\/wp\/v2\/posts\/35\/revisions"}],"wp:attachment":[{"href":"https:\/\/rockbot.upperland.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=35"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rockbot.upperland.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=35"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rockbot.upperland.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=35"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}