Você não está seguindo maironw.

Siga-o para acompanhar suas atualizações.

Seguir

  • maironw Mairon S. Wolniewicz
    2018-11-27 10:58:23 -0200 Thumb picture

    Desenvolvendo um jogo em um microcontrolador - Parte 2

    Então, eu havia prometido no outro post que eu ia explicar um pouco como eu estava desenvolvendo um jogo em C que iria rodar em um microcontrolador em uma  tela de um Nokia 5110.

    Eis que eu acabei não falando nada mais sobre justamente por estar ocupado terminando esse e outros projetos da faculdade.

    Voltei, sem um tutorial de como programar o negócio todo, mas trouxe um trailer do jogo (bobinho, mas era parte da avaliação uahsuha) e todo o código fonte no github, que tem comentários o suficiente para quem estiver interessado:

    https://github.com/MaironW/Wings-of-Cucco

    The Legend of Zelda

    Plataforma: NES
    2693 Jogadores
    130 Check-ins

    27
  • 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:

    Parte 2.

    The Legend of Zelda: Link's Awakening

    Plataforma: Gameboy
    1260 Jogadores
    19 Check-ins

    53
    • Micro picture
      emphighwind · 3 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 · 3 meses atrás · 2 pontos

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

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

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

  • maironw Mairon S. Wolniewicz
    2018-03-03 21:38:48 -0300 Thumb picture
    maironw fez um check-in em:
    <p>1 ano e ainda é o único jogo que tenho jogado de - Alvanista
    The Legend of Zelda: Breath of The Wild

    Plataforma: Wii U
    717 Jogadores
    494 Check-ins

    1 ano e ainda é o único jogo que tenho jogado desde que lançou uahsuhas

    Só fui terminar a Trial of the Sword hoje. Mas tá massa.

    9
  • maironw Mairon S. Wolniewicz
    2017-12-19 23:59:54 -0200 Thumb picture
    maironw fez um check-in em:
    <p>Comprei o jogo no lançamento.</p><p>Desde então - Alvanista
    The Legend of Zelda: Breath of The Wild

    Plataforma: Wii U
    717 Jogadores
    494 Check-ins

    Comprei o jogo no lançamento.

    Desde então foi o único jogo que eu joguei.

    A vida andava corrida, o tempo curto. Agora to de férias.

    Resultado: TERMINEI O JOGO PQP COMO ASSIM.

    150h e 42min de gameplay. Todas as shrines, todas as sidequests. Quase 300 koroks (meh).

    Joguei quase o jogo todo usando a roupa pra escalada por que subir morros ftw.

    Talvez eu compre as DLC e jogue no fim das férias. Ou talvez eu aposente meu Wii U, acho que ele já cumpriu seu papel.


    Enfim, foi mal, eu ainda amo Ocarina mais que qualquer Zelda, mas fiquei impressionado com o que a Nintendo conseguiu fazer em BotW. Provavelmente esse vai ser o último Zelda que jogarei até o fim em muitos anos, mas espero estar enganado e ter tempo de sobra no futuro auahah

    7
  • maironw Mairon S. Wolniewicz
    2017-07-19 21:35:48 -0300 Thumb picture
    maironw fez um check-in em:
    <p>Bom dia.</p><p>Esse é o único jogo que eu joguei - Alvanista
    The Legend of Zelda: Breath of The Wild

    Plataforma: Wii U
    717 Jogadores
    494 Check-ins

    Bom dia.

    Esse é o único jogo que eu joguei desde que ele lançou.

    E pretendo jogar só ele até o fim do ano.

    Não sei quantas horas, mas passei das 80 shrines e só tentei derrotar uma besta. Hoje matei meu primeiro Lynel. 

    O que eu to fazendo nesse jogo? Não tenho ideia, mas to amando subir nos morros e só uso a roupa de escalada por que é a mais descolada.

    Quando eu terminar eu aviso.

    Boa noite.

    10
  • maironw Mairon S. Wolniewicz
    2017-03-19 16:04:47 -0300 Thumb picture
    maironw fez um check-in em:
    <p>ah é, to jogando isso.</p><p>E to sem rumo.&nbsp - Alvanista
    The Legend of Zelda: Breath of The Wild

    Plataforma: Wii U
    717 Jogadores
    494 Check-ins

    ah é, to jogando isso.

    E to sem rumo. 

    E feliz pra caralho, bora voltar pra fazer aquela quest... pera, vou subir naquela montanha ali rapidinho e já volto.

    15
  • maironw Mairon S. Wolniewicz
    2016-11-06 21:47:11 -0200 Thumb picture

    Usando o Wii U Pro Controller no Linux

    Medium 3411576 featured image

    Depois de muito tempo fora do Alvanista, depois de ter feito um post sobre Como usar o Wii U Pro Controller no PC e depois de entrar na faculdade e acabar sendo "obrigado" a viver com Linux na minha máquina, resolvi ver como a parada iria rolar com a Steam e meus controles.

    De forma surpreendente pra mim, ao passo de que configurar os controles no Windows era um procedimento um pouco trabalhoso, fazer o mesmo com o Ubuntu foi incrivelmente prático.

    Como ainda sou novo nesse negócio de Linux, não entendo exatamente o que está acontecendo em cada código, e talvez não possa tirar todas as suas dúvidas. A ideia é criar um tutorial em português para um procedimento que está razoavelmente bem explicado em fóruns gringos.

    - Abra o terminal (CTRL+ALT+T)

    - Digite as seguintes linhas de código:

    sudo apt-get update

    sudo apt-get install xwiimote

    - Caso você não tenha Bluetooth nativo no seu PC, utilize um Bluetooth Stack qualquer. Com o Bluetooth ativado, digite no terminal:

    sudo bluetoothctl

    power on

    agent on

    - Pressione o botão vermelho de sincronização do seu controle e digite:

    scan on

    pair <Endereço MAC do seu controle. Você pode usar TAB para completá-lo automaticamente>

    connect <Endereço MAC>

    trust <Endereço MAC>

    disconnect <Endereço MAC>

    Seu controle deve desligar. Caso não aconteça, segure o botão Power até as luzes apagarem.

    Pronto, seu controle agora deve estar funcionando. Caso você consiga controlar o mouse pelo analógico esquerdo (o que não é um efeito desejado), solucione o problema digitando no terminal:

    xinput

    xinput disable <id do seu controle>

    Agora tudo deve estar funcionando legal. Só ligar os jogos e sucesso.

    Na próxima vez que você ligar o computador as configurações ficarão todas salvas, bastando você ativar a conexão com o controle nas opções de bluetooth do Linux.

    7
    • Micro picture
      warpigs43 · mais de 1 ano atrás · 1 ponto

      Vou tentar no Ubuntu! Valeu pelo tutorial!

  • maironw Mairon S. Wolniewicz
    2016-04-26 16:02:46 -0300 Thumb picture
    <p>Aceitando doações de jogos não desejados do Humb - Alvanista

    Aceitando doações de jogos não desejados do Humble Budle da Nintendo xD

    4
    • Micro picture
      felipefabricio · mais de 2 anos atrás · 2 pontos

      assino embaixo UHEAUHEAUHUEA

    • Micro picture
      dandan_g_rous · mais de 2 anos atrás · 1 ponto

      Teve um novo? Qual os jogos da vez?

  • maironw Mairon S. Wolniewicz
    2016-03-13 10:29:45 -0300 Thumb picture
    maironw fez um check-in em:
    <p>Eu nem tinha feito checkin dizendo que eu tava j - Alvanista
    Lifeless Planet

    Plataforma: Xbox One
    17 Jogadores
    4 Check-ins

    Eu nem tinha feito checkin dizendo que eu tava jogando.. Eis que faço agora dizendo que já terminei. Pqp que jogo foda, o desenvolvedor ta de parabéns, por mais clichê que tenha sido a história.

    0
  • maironw Mairon S. Wolniewicz
    2016-03-09 19:30:35 -0300 Thumb picture
    maironw fez um check-in em:
    <p>Eu tava jogando de boas e quando termino vejo qu - Alvanista
    Dragon Quest Heroes

    Plataforma: PC
    21 Jogadores
    15 Check-ins

    Eu tava jogando de boas e quando termino vejo que o meu Plays.Tv tava ligado. Eu nem sei por que eu tenho isso, nunca tinha usado e tal. Mas já que a bagaça gravou quase uma hora disso, bora postar um trechinho do massacre aos slimes.
    http://plays.tv/video/56e0a32adae04ea6a4

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