• maironw Mairon S. Wolniewicz
    2018-09-29 11:30:20 -0300 Thumb picture

    Desenvolvendo um jogo em um microcontrolador - Parte 1

    Medium 3675067 featured image

    Faz um tempo que eu não frequento o Alvanista. Da última vez em que estive por aqui com mais participação, eu meio que estava tentando fazer um jogo para computador. O mais legal? Na época eu não fazia ideia de como programar e devido aos mais diversos motivos o projeto nunca foi pra frente. Um deles foi minha entrada na faculdade, onde acabei tomando como minha área favorita justamente a programação.

    Uma das disciplinas optativas que curso é a de Microcontroladores. Pra quem não saca, um Arduino é um microcontrolador. E pra quem não conhece nem ele, dá pra dizer resumidamente que um microcontrolador é um dispositivo compacto com um processador e a opção de enviar e receber sinais, útil o suficiente para ser embarcado em muitos projetos de engenharia.

    Para deixar claro, o microcontrolador que eu estou usando é um Tiva C Launchpad. Entrarei no mérito de suas configurações quando necessário.

    Diferente de programar software simples para um sistema operacional qualquer, ao programar em um microcontrolador você tem a preocupação de resolver problemas utilizando registradores. Sabe quando alguém fala que computação se resume a 0 e 1? O que a gente faz aqui é praticamente dizer para o processador o que vai valer 0 e o que vai valer 1, e ter como resposta toda uma lógica de ações que ele vai realizar.

    Como intermediário entre um código escrito na linguagem C dizendo para a placa o que fazer e esses comandos binários que ela interpreta, o algoritmo é lido na linguagem Assembly, mais próxima de como o computador entende as coisas do que como o ser humano faz.

    Sabe o que também era programado em Assembly? Jogos de Game Boy. Seja Super Mario Land, Pokémon Red/Blue e Zelda Link's Awakening. Todos foram criados do zero com essa linguagem em mente.

    O desafio proposto a mim foi, utilizando o Tiva C, uma matriz de botões 4x4 e uma tela do clássico celular Nokia 5110, montar um jogo convincente o suficiente para ser aprovado na disciplina. Nada mais justo, partindo de critérios como simplicidade, nostalgia e principalmente semelhança, eu criar minha própria versão de um jogo de Game Boy para o microcontrolador. O escolhido foi The Legend of Zelda.

    Essa é a tela que eu devo utilizar. Ela possui duas grandes limitações: sua resolução é de apenas 84x48 pixels e ela é monocromática, mostrando apenas os pixels ligados ou desligados. Comparando ao GB, ele possui resolução de 160x144 pixels e consegue mostrar 4 escalas de cinza na tela.

    O intuito inicial do jogo é fazer algo o mais próximo de The Legend of Zelda Link's Awakening, mas provavelmente apenas sendo possível atacar e perder vida para os inimigos, sem dungeons.

    Primeiro vou falar da parte mais legal: mostrar as coisas na tela.

    Como parâmetro, utilizei o spritesheet original de Link's Awakening e de ambos os Oracles.

    Meu código, escrito em C, não consegue carregar uma imagem no formato bmp e simplesmente colocar ela na tela. O processo vai um pouco além disso.

    Primeiro, é necessário remover as cores da imagem. Apenas as cores preto e branco serão interpretadas.

    Para minha tela, o que tiver a cor preta, valerá como 0, enquanto branco valerá como 1. Essa lógica também serve para dizer quais pixels da tela estarão desligados (0) e ligados (1).

    Portanto, se eu quero que um sprite apareça com seus contornos em preto na tela, devo desenhá-lo ao contrário no computador.

    Essa é a imagem que eu devo reproduzir, num formato bitmap de 16 bits. Para minha tela interpretar, contudo, eu devo transformá-la em um vetor hexadecimal com as informações de pixel ligado ou desligado. A imagem do Link olhando para a esquerda é usada no meu código na forma:

    Sem entrar no mérito do processo de como a função da tela trata esses números, basta dizer para ela mostrar "link_left_1" nas posições x e y desejadas, e meu personagem aparece na tela.

    Em outros posts eu pretendo explicar um pouco mais da lógica por trás tanto do gameplay e dos botões quanto da própria disposição de coisas na tela, que devido ao pequeno tamanho, se torna um desafio.

    No momento eu tenho como versão de testes a seguinte aplicação:

    The Legend of Zelda: Link's Awakening

    Plataforma: Gameboy
    1259 Jogadores
    17 Check-ins

    51
    • Micro picture
      emphighwind · 2 meses atrás · 2 pontos

      Massa, programação não é o meu forte, mas eu sempre acho interessante de ver estes projetos DIY, não conhecia este Tiva C ai, os únicos microcontroladores que eu mexi direito e arranho alguma coisa foram o próprio ATmega do arduino e o ESP8266.

    • Micro picture
      tiagotrigger · 2 meses atrás · 2 pontos

      Que demais, tá ficando legal. Quero ver pronto, boa sorte com o projeto. o/

    • Micro picture
      msvalle · 2 meses atrás · 2 pontos

      Parabéns pelo projeto, e sucesso no desenvolvimento!
      @alvadevs

  • z3karlos Jose Carlos Lopes Junior
    2017-09-03 09:54:55 -0300 Thumb picture
    <p>Estava acompanhando essa thread no Twitter e é s - Alvanista

    Estava acompanhando essa thread no Twitter e é sensacional

    Desenvolvedores revelando mecânicas invisíveis aos jogadores. Pode estragar a ilusão pra algumas pessoas

    Por exemplo : os inimigos em Bioshock ficam mais lentos quando vc não está olhando pra eles

    Ou a barra de vida tem mais HP no final em Doom e AC pra dar a sensação q vc venceu por pouco

    https://www.polygon.com/2017/9/2/16247112/video-game-developer-secrets

    36
    • Micro picture
      matsugaki · 1 ano atrás · 3 pontos

      Maneiro

    • Micro picture
      waterstill · 1 ano atrás · 3 pontos

      Esse negócio de final da barra durando mais é muito maneiro! Acho muito legal usar mecânicas assim para criar mais envolvimento no jogador

      E esse "coyote time" é bacana que foi usado como mecânica clara em Looney Tunes Sheep Raider, quando você corre pra fora das plataformas o jogo te deixa correr no ar um tempo XD

    • Micro picture
      deathcorps · 1 ano atrás · 2 pontos

      Geralmente os jogadores acham mecânicas ocultas por eles mesmos.

  • 2017-08-21 10:15:09 -0300 Thumb picture

    Development report!

    Como as postagens legais vão vir com menos frequência, decidi fazer um mini-tipo-de-diário sobre o desenvolvimento pra vocês terem uma noção de como está indo o projeto.

    Ontem foi finalmente finalizado todos os controles (interface, funções, tudo relacionado) de todos os personagens jogáveis padrão!

    Isso significa que todos os humanos, todos os digimons de nível bebê (fresh ou in-trainging) e todos de nível infantil (rookie) são completamente controláveis e funcionais.

    Todos com seus ataques comuns, ataques especiais e habilidades são inteiramente jogáveis. Inclusive há já uma tela de seleção de personagens 100% funcional com todos os modos de humanos e digimons também.

    Só falta uma única coisa para finalizar os protagonistas: suas versões adultas (champion).

    Vocês devem saber que já há uma forma de evoluir para o Dinohumon pelo Kotemon, porém tanto a animação de evolução como o sistema na programação vão mudar para simplificar e ao mesmo tempo ficar mais bonito e mais prático. E além do sistema de evolução, ainda falta desenhar todas as animações dos outros dois digimons adultos e programar seus ataques e habilidades. E esse é o foco agora! Evoluções.

    A previsão é para que essa fase de desenvolvimento termine até o fim deste mês e assim teremos todos os personagens 100% jogáveis!

    Em breve vocês verão essas novas formas evolutivas dos digimons!

    9
  • 2017-03-08 14:00:46 -0300 Thumb picture

    SAGA lança série de oficinas gratuitas de computação gráfica

    http://joystickterrivel.com.br/saga-oficinas-gratu...

    A SAGA, rede de escolas de desenvolvimento de games, arte digital, design e efeitos visuais do país, tem uma grande novidade para quem deseja trabalhar com computação gráfica e ainda não escolheu a área de atuação ou não sabe por onde começar. Já estão abertas as inscrições para três novas oficinas gratuitas que ensinarão técnicas importantes para futuros profissionais da indústria do entretenimento: produção em 3D, edição de imagem e desenvolvimento de games

    Noticia completa AQUI

    -----------------------------------------------------------------------------------------

    Acompanhe nossas rede sociais:

    Facebook - Youtube - Twitter - Instagram - SITE

    17
  • 2017-02-01 02:35:48 -0200 Thumb picture

    Nietzsche em Dragon's Dogma

    Durante minhas lives de Dragon's Dogma (@anebarone aqui!), e sua DLC, conversamos bastante sobre como a lore do jogo lembra a teoria do Eterno Retorno, de Nietzsche.

    Um tempo depois achei bem bacana encontrar nas wikis que realmente o jogo foi inspirado na teoria, tanto que a música título chama Eternal Return. E ela termina te pedindo para "terminar o ciclo," sensação que é explorada durante o jogo todo, mesmo que você não entenda a letra das músicas ou saiba da filosofia que inspirou o DD.

    E os nomes dos músicos também me surpreenderam: Inon Zur e Audrey Ashburn, compositor e vocais que já conhecemos do Dragon Age, por exemplo! Os estilos das músicas título do DA e DD são bem semelhantes, aliás.

    Não contarei detalhes da história do jogo aqui, mas pra quem quer saber o que é e a tal teoria de Nietzsche, coloco aqui o aforisma 56 do livro Gaia Ciência. Vai fazer bastante sentido pra quem já jogou, imagino: 

    E se um dia ou uma noite um demônio se esgueirasse em tua mais solitária solidão e te dissesse: “Esta vida, assim como tu vives agora e como a viveste, terás de vivê-la ainda uma vez e ainda inúmeras vezes: e não haverá nela nada de novo, cada dor e cada prazer e cada pensamento e suspiro e tudo o que há de indivisivelmente pequeno e de grande em tua vida há de te retornar, e tudo na mesma ordem e seqüência – e do mesmo modo esta aranha e este luar entre as árvores, e do mesmo modo este instante e eu próprio. A eterna ampulheta da existência será sempre virada outra vez – e tu com ela, poeirinha da poeira!“ Não te lançarias ao chão e rangerias os dentes e amaldiçoarias o demônio que te falasses assim? Ou viveste alguma vez um instante descomunal, em que lhe responderías: “Tu és um deus e nunca ouvi nada mais divino!” Se esse pensamento adquirisse poder sobre ti, assim como tu és, ele te transformaria e talvez te triturasse: a pergunta diante de tudo e de cada coisa: “Quero isto ainda uma vez e inúmeras vezes?” pesaria como o mais pesado dos pesos sobre o teu agir! Ou, então, como terias de ficar de bem contigo e mesmo com a vida, para não desejar nada mais do que essa última, eterna confirmação e chancela?

    Dragon's Dogma: Dark Arisen

    Plataforma: PC
    96 Jogadores
    134 Check-ins

    20
    • Micro picture
      niiinjaz · quase 2 anos atrás · 2 pontos

      Esse jogo pra min foi uns dos rpg que mais chamou minha atençao e tempo mesmo zerando 20 vez matando deimon 50 vez nao me cansei dele.

      2 respostas
    • Micro picture
      darlanfagundes · quase 2 anos atrás · 2 pontos

      Chamou minha atenção... o Eterno Retorno foi um divisor de águas em minha forma de enxergar a moral e a ética... me fez dizer um definitivo não a todas as religiões e formas encantadas de explicar o mundo e me deu a crueza necessária pra enxergar o que posso e devo mudar no mundo e em mim... Se existe um jogo com a idéia desse pensamento filosófico utilizada eu vou jogar...rsrsrs, vou ver como fazer isso aqui, obrigado pela dica!

      2 respostas
    • Micro picture
      cptguapo · quase 2 anos atrás · 2 pontos

      Quer dizer que existem jogos com tais influências e profundidade? Já fiquei interessado... Vou ver se encaixo essa criança na minha lista de jogatinas.

      Valeu!

      1 resposta
  • rodolfodth Rodolfo Valezin
    2016-05-27 06:59:36 -0300 Thumb picture
    <p>Fala galera!<br><br>Meu nome é Rodolfo e ano pas - Alvanista

    Fala galera!

    Meu nome é Rodolfo e ano passado eu participei em uma Game Jam de 7 dias, após isso eu postei o jogo no Game Jolt (http://gamejolt.com/games/try-die-repeat/86584) e eu recebi vários feedbacks positivos.

    Mas o problema foi que na época eu trabalhava em 2 empregos e não tinha tempo para continuar o projeto, mas depois de alguns meses eu encontrei uma indie publisher que vai me ajudar nesta jornada!

    Agora estou trabalhando nele novamente, eu tive que começar do zero porque o projeto da Game Jam estava uma bagunça... e agora eu quero escrever / gravar todo o processo de desenvolvimento do jogo, então, eu fiz um devblog:
    http://devblog.trydierepeat.com

    Eu também criei um Forum, onde nós podemos conversar, divulgar nossos jogos, encontrar empregos, etc... não seja tímido <3
    http://forum.trydierepeat.com


    Eu fiz o primeiro post agora:


    Twitter: http://twitter.com/rodolfodth
    Facebook: http://facebook.com/TryDieRepeat
    Forum: http://forum.trydierepeat.com
    Twitch: http://twitch.tv/rodolfodth
    Game Jolt: http://gamejolt.com/games/try-die-repeat/86584
    Devblog: http://devblog.trydierepeat.com
    0
  • spencerv Spencer Voorhees
    2015-11-20 02:26:43 -0200 Thumb picture
  • jonatasbermudes Jonatas Bermudes
    2015-10-27 09:57:18 -0200 Thumb picture

    Unity #05 - Screenshots da alegria! :D

    Bom dia, pessoal! Então, passando aqui só pra deixar algumas capturas de tela do trabalho feito até aqui. Elas foram tiradas no celular. :D Eu ainda não implementei controles touch para o jogo, então estou usando um aplicativo que emula um controle de Xbox na tela do celular (fica a dica).

    Houve uma mudança significativa no meu joguinho de teste/aprendizado: substituí a espada do personagem por um arco! Eu tive umas boas ideias de possíveis usos pro arco, mas ainda falta implementar isso com calma... :)

    Por hora, não há física aplicada às flechas, então elas se movem em linha reta, na horizontal, vertical e diagonal. Pretendo tentar melhorar isso, permitindo disparos em qualquer direção e com força variável. Diferente da espada, é preciso segurar o botão de ataque e carregar a flecha antes de disparar. Vou gravar um videozinho assim que der, pra mostrar como funciona. 

    Quanto ao cenário, adicionei uns tiles verde escuro e cinza, que seriam arbustos e pedra. Agora há filetes de água finos e pássaros (que voam ao se aproximar). Estou fazendo modelos de árvores também. Vamos ver como vai ficar...

    30
    • Micro picture
      rafaschiabel · 3 anos atrás · 2 pontos

      Tá ficando ótimo!! Vou ter um tempo disponível agora, e achei interessante a ideia de tentar algo simples para smartphones! Tem algum tutorial pra recomendar?

      3 respostas
    • Micro picture
      ticianavalle · 3 anos atrás · 2 pontos

      Parabéns!!!! Está ficando muito bom!!!

      1 resposta
    • Micro picture
      sulivan · 3 anos atrás · 2 pontos

      Poxa! Que legal! Parabéns!

      1 resposta
  • jonatasbermudes Jonatas Bermudes
    2015-10-19 13:05:37 -0200 Thumb picture

    Unity #04 - Novos sprites de um inimigo

    Então, semana passada comecei a fazer um novo inimigo pra tentar programar ações mais complexas. Porém, por falta de atenção, fiz o inimigo muito pequeno. Na tela do jogo, ele parecia um "filhote" de golem. Tava fofinho demais... Huahua. Daí refiz ele com quase o dobro do tamanho e ficou bem melhor. Fiz a animação dele andando também e programei a movimentação de "ronda", andando de um lado para o outro. Agora vou fazer a animação de um dos ataques dele e depois implementar no Unity.

    Ainda esse semana faço mais um pequeno vídeo de demonstração, só pra mostrar as pequenas melhorias no cenário... :)

    17
    • Micro picture
      teamblue · 3 anos atrás · 2 pontos

      o que mais tem do jogo?
      onde posso ver mais coisas?

      1 resposta
    • Micro picture
      zuppao · 3 anos atrás · 2 pontos

      ficou maneiraaaassso..... =D

      1 resposta
    • Micro picture
      rks · 3 anos atrás · 2 pontos

      Ficou muito bom. Eu vivo tendo problemas com os tamanhos das sprites XD

      1 resposta
  • 2015-10-17 15:07:42 -0300 Thumb picture

    Pesquisa de Opinião

    Um colega e eu estamos conversando sobre desenvolver um jogo para Android. O problema é que nenhum de nós manja dos paranuês de animação, então não teríamos como fazer um jogo com, oh well, animação. 

    A idéia é criar um jogo de simulação (digamos, como SimCity é para cidades), porém apenas com imagens estáticas no background e interação text-based - eg, mostra um orçamento, a pessoa tem algumas opções do que fazer com ele; em outra tela, a pessoa pode ver informações sobre o staff; etc. 

    Aí fica a pergunta: 

    Em pleno 2015 onde jogos mobile têm gráficos fantásticos, vocês ainda jogariam um jogo "não animado"?

    20
    • Micro picture
      marcusmatheus · 3 anos atrás · 4 pontos

      Jovem, sua pergunta se encaixaria perfeitamente se você questionasse: "Ainda jogariam games 2D atualmente?" Ou: " Games de 8 bits ainda têm espaço na atual geração???"...
      O próprio Alva te responde: Ainda tem muita gente que curte games estilo velha guarda. Ao meu ver seu jogo seria "tipo um point and click", e jovem, eu mesmo adoro point and click, então manda ver.

      2 respostas
    • Micro picture
      akromvaleth · 3 anos atrás · 4 pontos

      Sim @chiu, se for bem feito e com mecânicas legais, vai ter gente pra jogar.

      3 respostas
    • Micro picture
      llipefarias · 3 anos atrás · 3 pontos

      A um tempo comentei sobre um assunto parecido onde era discutida a relação entre jovens, gráficos "antigos" e toda essa potência das novas gerações. Talvez se esse jogo fosse no computador, parecido com o "Game Dev Tycoon" seria perfeito! Acho que em smartphones a coisa seria diferente. Tiro por mim e por muitas pessoas que a ação real é preferível a uma história elaborada ou algo parecido. Mas claro, para tudo há exceção e com certeza teria público para tal.

Carregar mais postagens

Continuar lendo &rarr; Reduzir &larr;
Carregando...