Crie um jogo simples com Ruby!
Criado por Patrick Huesler, @phuesler & Floor Drees, @floordrees para o Rails Girls The Hague
Traduzido por Daniel Barreto, @danielfsbarreto
gosu é uma biblioteca de desenvolvimento de jogos 2D. Gosu provê interfaces amigáveis e fáceis de usar para jogos com gráficos 2D e texto (acelerado por hardware 3D), amostras de áudio e música, bem como suporte a entrada de comandos através de teclado, mouse e gamepad/joystick. Também inclui demos para integração com RMagick, Chipmunk e OpenGL.
Seus códigos-fonte, wiki, rastreadores de defeitos, etc. estão todos disponíveis no GitHub. O melhor ponto de entrada para a documentação do Gosu é a página principal da wiki. Instale:
ou adicione gem "gosu", "~> 0.7.48"
ao seu Gemfile e execute bundle
.
Brinque com os jogos de exemplo:
e então: ruby CptnRuby.rb
ou: ruby RMagickIntegration.rb
ou: ruby Tutorial.rb
Já tive o suficiente desses exemplos!
Copie o repositório através de uma nova aba do seu terminal. Se você esteve trabalhando no aplicativo do Rails Girls nesse meio tempo, tenha certeza que você está no seu diretório home rodando cd
.
Agora execute
e vá para o diretório apropriado através do comando
Rode!
Para jogar nosso joguinho, abra-o usando o terminal:
Então, como ele funciona?
Que tal inspecionarmos um pouco de código? Abra game.rb
no seu editor de texto. Consegue ver o trecho
… logo no começo do arquivo? Aqui nós garantimos que ‘chamamos’ as gems necessárias, daí então podemos mover para nossa class
(ou múltiplas classes).
Mais adiante temos nossa
… rolando. Os def
’s que você vê dentro da classe Game são métodos. Neles nós definimos quais instruções o programa deve seguir. Apenas dê uma olhada no seguinte trecho de código:
Quer brincar um pouco? Copie o conteúdo de game.rb
em um novo arquivo .rb
. Salve-o e nomeie-o como preferir. Agora tente mudar algumas coisas no jogo e rode-o no seu terminal para ver as mudanças na prática.
Acha que tem mais habilidades gráficas que Patrick (você provavelmente tem)? Então você pode tentar criar um novo sprites.png
! Não esqueça de chamá-lo aqui:
Está vendo o código Game.new.show
? Ele cria uma nova instância do jogo. Ela não tem memória, então quando você ficar preso em um jogo, apenas comece um novo. Divirta-se!
Créditos
Os assets utilizados em vim adventures podem ser encontrados aqui
Os sons utilizados você vai encontrar em Matthew Klingensmith (www.matthewklingensmith.com)