Skip to content

Requisitos Tecnológicos

Lucas Mattioli edited this page Apr 21, 2016 · 1 revision

###Linguagens e Frameworks

  • Linguagem de programação:
    • C++ 11
      • A linguagem de programação C++ oferece uma combinação de abstração e eficiência que é necessária para o desevolvimento de um jogo. É uma linguagem já consolidada, sendo uma das mais utilizadas na produção de jogos. Além disso, é uma das linguagens suportadas pela biblioteca que será utilizada como API gráfica e API de áudio: a SDL 2.
  • Compilador ou Máquina virtual:
    • G++ 4.8
      • O compilador G++ é um ramo da GCC (GNU Compiler Collection), uma famosa e madura coleção de compiladores, específico para a linguagem C++. É um dos mais famosos e bem testados compiladores da linguagem C++, além de ser fácil de instalar e suportar diversas arquiteturas.
  • Linguagem de script:
    • Lua
      • Lua é uma simples, mas poderosa, linguagem de programação que é mundialmente utilizada no desenvolvimento de jogos. A sua simplicidade de escrita facilita a criação de scripts para diversos eventos, até mesmo por parte de designers e end users, por exemplo. Além disso, é uma linguagem que é interpretada de forma rápida, o que é muito favorável em um ambiente onde a quantidade de código e o tempo de compilação são absurdos.
  • Editor de texto:
    • Vim
    • Atom
      • Por preferência dos desenvolvedores da equipe, Vim e Atom são os editores de textos a serem utilizados no desenvolvimento deste jogo. Outro ponto a destacar é que ambos são livres e têm grande quantidade de usuários, o que facilita o aprendizado e a troca de ideias de como utilizá-los da melhor maneira possível.
  • Depurador:
    • GDB
      • O GDB (GNU Project Debugger) é um depurador que suporta linguages como C, C++, Pascal e Objective-C. Além de ter uma boa documentação, membros da equipe já têm experiência prévia com o depurador, fazendo esses serem uns dos motivos pela escolha do mesmo.

Interfaces

  • API gráfica e de áudio:
    • SDL2, SDL2 Image e SDL2 Mixer
      • É uma biblioteca multiplataforma desenhada para prover acesso de baixo nível para áudio, inputters e hardware de gráficos. É utilizada em diversas engines de jogos dada a sua poderosa e simples forma de trabalhar com componentes essenciais na criação de um jogo.
  • Sistema operacional:
    • GNU/Linux
      • É o sistema operacional mais adorado pela maioria dos programadores e, não diferente, pelos desenvolvedores desta equipe. A facilidade e velocidade que a linha de comando proporciona, o suporte dado pela comunidade de desenvoldedores e o suporte para as mais diversas ferramentas de programação são uns dos muitos motivos que levam à escolha deste.