Por que desenvolver jogos?
Se você é um programador e sempre foi apaixonado pela área de entretenimento dos jogos, visto que esses games foram desenvolvidos por grandes empresas triple A ou simplesmente jogos indies, vai gostar dessa publicação.
Uma extensa maioria dos programadores nunca tocaram nesse aspecto da programação. Sempre é "Um jogo? Mas como que isso vai me ajudar na minha carreira?" ou "Se eu desenvolver um jogo, eu vou saber como funcionam, logo, vou perder interesse por jogos." mas segundo Thomas Brush um Game Dev individual norte-americano, a carreira de Game Dev é uma "explosão de criatividade" e mesmo que você não deseja atuar nessa área, é importante entender que isso pode te ajudar estimulando seu cérebro a codar com mais criatividade. E é isso, que eu desejo trazer ao meu público.
Por onde começar?
O território Game Dev tem várias características de qual caminho exato você deseja seguir. Eu(Kodex) por exemplo, decidi programar sem engines(Veja Engines), somente usando uma linguagem de programação e algumas bibliotecas/modulos/frameworks. Eu usei Python e a biblioteca mais proeminente para programação de jogos 2D, Pygame(Veja Pygame) pois eu tenho mais estímulo quando recorro a algoritmos, estrutura de dados, design patterns eu mesmo sem a ajuda de uma engine.
Ok, você leu a introdução e decidiu que vai pelo menos fazer um mini projeto para um portfolio, ou criou-se um novo interesse dentro de você nessa área e agora deve estar se perguntando por onde começar. Vamos lá, não tenho a resposta exata para cada pessoa particular, mas tenho uma noção.
A Linguagem
Se você começou na área de programação recentemente e não sabe sobre Pseudocode, é basicamente uma forma de descrever etapas simples de qualquer linguagem de programação, basta somente entender lógica de programação. Isso é uma forma para inciantes entender que a linguagem de programação em si não importa.
O importante mesmo, é chegar do ponto A para o ponto B e na programação de jogos, a linguagem ou o método qual você usou raramente importa. Dado isso, na questão de otimização, a linguagem pode ser um fator crítico(Falo mais desse fator crítico futuramente. Agora é bom entender somente o caminho básico para partir para o mais avançado depois).
Antes de listar algumas Frameworks, Engines e Bibliotecas para uma pequena porção de linguagens, é bom citar que existe uma biblioteca grafica(boa para fazer jogos) chamada "raylib" que tem suporte para a maioria das mais conhecidas linguagens e Game Maker uma engine que tem sua própria linguagem/script.
Linguagem/SDK | Ferramenta | Tipo |
---|---|---|
Python | Pygame | Biblioteca |
GDScript (Similar Python) | Godot | Engine |
Python | PySDL2 | Biblioteca |
Python | PyOpenGL | Biblioteca |
Python | Panda3D | Framework |
C# | MonoGame | Framework |
C# | Unity | Engine |
C++ | Unreal | Engine |
C++ | SDL2 | Biblioteca |
C++ | OpenGL | Biblioteca |
JavaScript | melonJS | Framework |
JavaScript | pixijs | Framework |
JavaScript | phaserjs | Framework |
Lua | Löve2D | Framework |
Lua | Defold | Engine |
Lua | Roblox | Engine |
Lua | CoronaLabs | Framework |
Flutter | Flame Engine | Framework |
Flutter | SpriteWidget | Biblioteca |
Rust | Bevy | Framework |
7/12/2022 - 14:00