Executando verificação de segurança...
18

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.

Um controle remoto

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

Carregando publicação patrocinada...
6

Ótimo post!
Tenho muito interesse em desenvolver jogos, só que nenhuma engine tem me agradado muito por conta das linguagens ou do esquema de negócio delas. To interessado em estudar Rust e Vulkan, talvez eu bole minha própria engine.

1

Cara... oq posso falar? Incrivel! Eu admiro e eu mesmo gosto de fazer essas geringonças não só por fazer mas também pra me testar, um desafio. Eu acompanho muito 3 youtubers que fizeram o mesmo com suas respectivas bibliotecas: Jdh, ThinMatrix e daFluffyPotato. (OBS: As vezes conhecimento de matematica nessa área é importante)

5

uma informação extra sobre Godot:

Apesar de ter um script próprio (GDScript), a engine proporciona bastante liberdade ao desenvolvedor, já que fornece suporte completo ao C# 7, por meio do Mono, além de suporte total a C ++ sem precisar recompilar.

As linguagens oficialmente suportadas para Godot são GDScript, Visual Scripting, C# e C ++. O suporte a C# e Visual Scripting é recente e o suporte para novos idiomas pode ser adicionado por terceiros usando os recursos GDNative / NativeScript / PluginScript.

1
5

Olá, amigo. Tudo bem?

Eu li tua postagem, entrei na bibliotéca de jogos que tu fez, e quer saber?
Fiquei extremamente entusiasmado e feliz por ter compartilhado conosco tua experiência e trajetória no mundo dos games. Sou um apaixonado por MMORPG, jogo desde os 10 anos de idade e hoje tenho 26. Meu sonho seria trabalhar nessa área.

Estou começando agora os estudos em programação, mais especificamente em desenvolvimento web. Porém, vou estudar e trabalhar muito para que em algum momento eu consiga trabalhar desenvolvendo games.

De verdade, muito obrigado por fazer uma das melhores postagens que li até o momento nessa plataforma. Esse é o padrão de postagens que precisamos aqui, em meio a poluição que virou o TabNews sobre notícias de ctrl c ctrl v.

3

Cara, muito obrigado pelo feedback e fico feliz em ter ajudado você. Cara, acho sim que tem como seguir essa carreira de game dev indie (ou até trabalhar em um grupo indie, ou uma empresa triple A) só basta tentar. Não é fácil, até porque eu também não consegui(ainda), mas quer saber? O importante é correr atrás dos seus sonhos e ser feliz. Se você quer correr atrás disso, existem vários estúdios de game dev(No Brasil também). Pesquisa, fala com os caras, mostra o seu valor e já era. Eu acho que o maior valor que um programador pode ter é o amor pelo que ta fazendo.

1

tbm sou apaixonado por MMORGP, por esse motivo comecei um projeto que era meio que criar um MMORPG de mesa. Consegui finalizar e deu tudo certo, mas infelizmente faltou a parte da interface gráfica. O jogo todo é por texto, e nele tem escolhas e cada escolha pode mudar todo o rumo da história, e isso virou uma das minhas metas q é criar uma interface gráfica pra ele de alguma forma.

Caso queira dar uma olhada: https://github.com/Ally-Matias/PROJETO-JOGO_RPG

foi meu primeiro projeto e fiz com um amigo, ent n é dos melhores kkk

3

Vale também mencionar o Bevy, uma engine feita pra Rust!

Pelo fato do Rust ter o borrow checker pode evitar vários problemas na hora de produzir o game, e evitar vários bugs!

Ela pode ser usada tanto para fazer jogos 2D, ou 3D, tem um sistema de som imbutido, é cross plataform (Windows, Linux, MacOS, iOS, Android), e é baseado no conceito Data Driven!

2
3
2
2
1
1

Opa! É uma honra ter você por aqui mano. Vou continuar fazendo posts sobre Game Dev, acompanhe, pode te ajudar. E muito obrigado pelo o feedback.

1
0
3

A um tempo atrás eu comecei a fazer um curso de programação de jogos na Unreal Engine. Era coisa básica, mas foi onde eu aprendi orientação a objetos (ou pelo menos o básico da coisa).

Foi uma forma muito massa de aprender! Os jogos são aplicações com um fluxo que é muito dinâmico, e eu pude ver na prática como OO pode ajudar a organizar a complexidade desse tipo de programa.

Sem falar que era extremamente divertido!

Ótimo post, e um grande abraço a todos!

1
2
1
2

Também já tive essa vontade de começar com desenvolvimento de jogos, comecei a aprender a engine Godot a partir da documentação e fiz o projeto do tutorial, mas sempre chego na mesma barreira que a maioria do pessoal que quer fazer jogos não pensa de primeira, a arte. No início a maioria, assim como eu, provavelmente escolhe pixel art por parecer mais simples, mas acabei descobrindo que não é tão simples assim, vejo uns tutoriais, tento fazer algo e penso, "nossa isso tá horrível", e acabo deixando pra lá, mas quem sabe um dia eu dê continuidade. Excelente postagem 👋🏻

1

Ai que tá, game devs que programam jogos por hobby não programam pra ser o próximo Stardew Valley, programamos jogos por um simples motivo, expandir nossa criatividade no nosso código. Pra mim pelo menos é a arte de aplicar uma estrutura de dados, um algoritmo, um design pattern, fisica, matematica e etc. É a arte de expandir sua criatividade no código. Vou falar mais sobre isso em breve em outro post, mas resumindo é isso. (OBS: É bacana arrumar um time que faria as artes e etc. e pegar pra fazer um projeto ou até mesmo participar de uma game jam)

1

Sou dev, e esparrei nesse mesmo problema. Estou pensando em começar a aprender a como fazer as artes, acho que é uma habilidade interessante de se aprender.

2

Pode adicionar em Lua o Defold, provavelmente a Engine e o metódo mais optimizado de fazer jogos 2D principalmente no mercado dos mobiles, até porque a desenvolvedora não é nada mais e nada menos que a criadora do Candy Crush então ja da pra ter uma ideia do orçamento dos caras...

Outro ponto é que Godot não tem suporte nativo a Python e sim GDScript que é uma linguagem própria baseada em Python, assim como GMLanguage é em JS, com suporte nativo a C# e C++, porém tem a opção de adicionar mais linguagens através da comunidade (pelo menos é isso que diz o site deles)

2

Sim, vou adicionar o Defold. O GDScript é muito parecido com Python, por isso coloquei na categoria Python, mas vou deixar mais claro. Obrigado pelo ofedback!

1

Muito bom, agora so falta a proatividade de começar a criar jogos. Python é a melhor escolha pra quem ta iniciando, linguagem mais simples, de fácil entendimento.

1

Sim! E também a produtividade que é muito importante. Por isso não recomendo as pessoas fazer igual a mim, game dev sem engines. É um nicho completamente maluco HAHAHA.

2

Sempre apreciei o desenvolvimento de jogos. Tem uma Engine chamada Game Maker Studio 2, ela possui uma própria linguagem de programação, tão simples e prática quanto python, possui documentação excelente. Recomendo muito pra quem queira aprender. Undertale, por exemplo, foi criado utilizando esta engine.

1
2
1

HAHAHAHAHA Beleza, vou colocar. Obrigado pelo o Feedback. Ainda falta muitas pois eu tentei deixar pouca coisa aqui nesse post, mas decidi continuar atualizando para ajudar a galera!

2

Muit legal cara, parabéns. Eu tenho uns 11 joguinhos lançados, alguns inclusive tiveram até um sucesso relativo. Fiz todos na Unity, inclusive trabalho profissionalmente com Unity também. NO caso, uso C# (que é uma linguagem MARAVILHOSA). Vou deixar aqui o link dos meus projetos publicados. Ah, e tô em um projetinho pessoal agora, um jogo de mundo aberto e caça que se passa no sertão brasileiro hehe.
Meus jogos publicados

1

Olha só, um game dev! Muito bom cara, pode mandar suas coisinhas aqui sim! Existe alguma forma de eu ficar ligado nesse jogo do sertão brasileiro? Se sim, manda uma forma ai (Pro pessoal curioso também)

2
1

wow! eu me lembro do MMF! multimidia media fusion, era uma ferramenta muito legal, usava tbm o parecido com ela, o the GamesFactory e o clickteam.
Um fato interessante é que hoje ambas se fundiram se tornando o Clickteam Fusion 2.5, que compila alem de windows, mac, android, html5 e ios.

1

Perfeito, Cristiano! Inclusive meu último game foi um joguinho de tela única pro Android dos meus filhos, um peixinho que tem que fugir o máximo possível de 2 piranhas, simples mas daqueles viciantes! Eles jogaram muito!

1

Experiência boa! Já eu comecei com o GameMaker Engine, umas das primeiras versões onde não era graficamente agradável de se olhar ou codar HAHAHA.

1
1

Sim realmente era bem complicado de começar com ela, mas pra falar a verdade eu ficava maratonando videos e copiando e colocando código hahahaha era uma bagunça.

2

Eu tive a experiência de fazer alguns jogos. Inclusive participei de algumas game jams, e posso dizer que realmente ajuda muito a ampliar os horizontes criativos. Além, claro, de alimentar nossas crianças interiores rs

1

Perfeito! Descreveu exatamente o meu sentimento por essa área. Amo game dev e mesmo que eu não atuo profissionalmente nesse território, é a aquela minha grande motivação de programador.

1

te falar que não tive boas experiências comerciais (vendas) com jogos.

mas como desenvolvimento foi muito interessante, a forma de cosar pra um jogo (unity) é bem diferente da programação atual e exige do programador atenção ao que poucos se atentam hj em dia: desempenho e qualidade de código, pq sua função pode estar sendo chamada milhões de vezes recursivamente durante ações aparentemente irrelevantes.

1
1

Tenho um pouco de experiência com a framework SDL2 ( C++) e acho bem divertido fazer jogos com ela. Infelizmente não é tão completa quanto a MonoGame, mas ela é complementada com outras bibliotecas como SDL2_image e outras.

1

Existe um nicho de programadores que gostam de fazer tudo, desde os gráficos, sons e etc. Eu sou um deles e SDL ajuda muito pra quem quer fazer isso(Só graficos). MonoGame é mais um FrameWork, mais perto de uma engine.

1

Esqueci de mencionar no meu primeiro comentário feito há alguns dias, mas JavaScript também serve para o famoso RPG Maker, é a única forma de realmente programar algo lá sem a ajuda da ferramenta. Normalmente o pessoal 'das antigas' curte aquele rpg estilo anos 90.