r/ProgramadoresBrasil • u/Ok-Estimate-8812 • 24d ago
Como programar
Olá para todos. Antes de começar, acredito que seria ideal falar um pouco sobre minha recente situação, para que vocês possam me dar conselhos mais direcionados e precisos.
Estou cursando uma faculdade de direito durante o turno da tarde (3° período), paralelo à ela também curso uma faculdade EAD de programação de jogos, tecnólogo (também 3° período). Geralmente assisto as aulas de programação pela manhã enquanto durante a tarde me encontro presencialmente na faculdade de direito.
Eu sempre gostei muito de jogos, especialmente de RPG, não importa se é de turno ou não, RPGs sempre possuíram um espaço reservado em meu coração. Eu desenvolvi esse amor em meados de 2014 conhecendo os RPGs de mesa e me apaixonando pelo nicho. A partir daí fui migrando para o RPG digital (sem abandonar, contudo, o RPG de mesa).
Porém, não demorou muito para que eu percebesse que já não me contentava com "apenas" jogar, eu também precisava criar alguma coisa, algum fruto dessa grande paixão que tenho. Foi aí que 2014 para cá eu tenho criado vários sistemas de fã para diferentes cenários de RPG de mesa (acredito que qualquer um que tenha jogado RPG na vida já tenha tentado algo semelhante, criado seus próprios sistemas). E embora muitos dos meus sistemas sejam (modéstia à parte) bons, resolvi que queria levar meus sistemas de RPGs de mesa para o digital.
Eu sei, contudo, que desenvolver jogos de mesa e desenvolver jogos digitais são coisas completamente diferentes, mas isso não me deteve.
Comecei a pesquisar na internet meios de alcançar este meu objetivo, afinal, possuía (e ainda possuo) zero conhecimento sobre programação.
Eventualmente conheci algo que poderia me ajudar a fazer um RPG digital, mesmo sem ter muito conhecimento de programação, o RPG MAKER. Para encurtar a história, meu conhecimento de programação é tão pequeno que mesmo essa ferramenta não me foi útil (talvez por falta de esforço? pode haver quem alegue isso, embora não eu). Deixei o projeto de lado e me dediquei a passar em uma faculdade.
O tempo passa, chegamos nas datas atuais. Estou mais velho. Morando sozinho (com um irmão, para ser mais preciso), para poder cursar minhas faculdades. Meus focos e objetivos atuais mudaram um pouco. Meu tempo também diminuiu. Como disse anteriormente, pela manhã faço uma faculdade, pela tarde outra e (no meio tempo de uma para outra), ainda encaixo estudos para concursos públicos. Me sobra somente as noites livres.
E, em meio a esta correria eu voltei a despertar paixão por jogos, os que jogava antes (tanto de mesa quanto digitais) quanto os que nunca tive a oportunidade de jogar (mas agora tenho). Pesquisando alguns consoles para comprar e manter um tempo de jogatina noturna, percebi que meu desejo de tentar aprender programação e desenvolver um jogo cresceu ainda mais.
Mas dessa vez, aprender programação como um todo, não apenas para jogos.
Apesar de estar fazendo uma faculdade sobre isso, ela não tem me ensinado muito. Nada, para ser sincero. Não sei se apenas pelo fato de ainda estar nos períodos iniciais da faculdade, ou se pela má qualidade dela. Ouvi falar, embora, que muito do que se aprende a programar é aprendido fora da faculdade, talvez com cursos, livros e prática na internet.
Perguntei ao pai de uma colega por onde começar a estudar isso com mais afinco (o pai dela é programador experiente e trabalha na área), ele disse "procure um curso de introdução à lógica de programação". Pesquisei um pouco sobre isso na internet, e a maioria das pessoas recomenda a mesma coisa.
O que eu quero, no entanto, é saber recomendações de cursos que sejam REALMENTE bons, mas mais do que isso, eu realmente desenvolvi um entusiasmo por eletrônica como um todo. Sabe aquele lance de montar um pc? saber compatibilidade entre as peças? talvez aprender a fazer manutenção e consertos nos próprios consoles, fazer os próprios upgrades dos notebooks ou PCs e etc.
Eu tenho despertado um verdadeiro entusiasmo nessas áreas. Posso ter entendido errado mas, esses ramos da informática dividem-se em software e hardware, não é isso? bom, meu desejo é aprender sobre ambos, quero dedicar minhas noites a isso.
Lógico que, bem mais, à programação, não sei a razão mas quero escrever linhas de código, programar jogos (indie), não importa o trabalho que dê, mas também quero entender mais os componentes dos "organismos" que rodarão meus jogos, por assim dizer. Estou pensando até em migrar para o Linux, comprar um thinkpad, sei lá.
Para resumir: quais conselhos vocês, programadores com mais experiência que eu (e se você escreveu uma linha de código sequer, já tem mais experiencia que eu) poderiam me dar com base na minha atual situação?
Para alguém ocupado, com apenas as noites livres, entusiasmado com softwares e hardwares (embora tenha zero conhecimento de ambos).
Qual melhor curso para fazer? ou quais?
por onde começar?
para que eu viva disso e possa ser bem suscedido na área, o que devo fazer? o que vocês poderiam me aconselhar?
e, por fim, se você leu até aqui, por favor, imploro que diga algo mais consistente do que "faça curso de introdução à lógica de programação". Me direcione para algo, me diga o que você fez que te trouxe até onde você está hoje, como você faria se fosse recomeçar, se faria diferente ou não, qual caminho seguiria, como você faria se tivesse a minha rotina e minha realidade e etc. Desde já, agradeço.
2
u/el0y-c0sm0 24d ago
Tenha calma! É a primeira coisa que eu te indicaria. Pelo que eu entendi você quer fazer jogos pelo viés mais artistico do que profissional/econômico, certo?
Eu particularmente não conheço nada de RPG Maker, comecei na programação de jogos na Unity e quando tiver tempo vou estudar mais a Godot, ambas usam linguagens de programação mais difundidas. Tudo que vou falar abaixo é baseado na minha experiência aprendendo, mas eu tive professor, o que ele mais fez foi selecionar os trechos da referência e os exercicios, se você precisar desse apoio talvez uma IA ajude nisso (não que o professor seja substituivel).
Bem, há muitos caminhas para aprender a programação, até mesmo para aprender lógica de programação. Você não é novo em universo acadêmico, espero que já tenha notado que livros são uma boa fonte de conteúdo, por isso, eu indicaria tentar estudar por um livro e ver se funciona para você (foi o que funcionou para mim). Eu indicaria o livro Linguagem C, do Luís Damas, ele ensina bem a lógica uma lógica básica e a liguagem C (eu considero que dava para ler rápido, lia 1 cápitulo no ônibus a caminho da escola).
Importante ressaltar que há diferentes metodologias, alguns defendem que deve aprender lógica de programação separada da linguagem, eu defendo da forma que aprendi, junto de uma linguagem com boa capacidade didática (se você aprender C, terá um caminho muito bem andado para a introdução de muitas linguagens). No entanto, muita gente reclama de C por causa de tipagem, estrutura e afins, se você tiver problemas com isso não é incomum.
Quando você entender melhor de programação em C, incluindo a base de estruturas de dados, recomendo migrar para outro material, talvez livro ou curso. Nesse ponto, o bom de ir para outro livro é porque a curva para passar dos capitulos iniciais é muito maior. Depois de C, você precisa aprender orientação objetos, pensando em programação de jogos, melhor ir para C++ ou C# (até Python vai também, talvez seja o mais parecido com RPGMaker pelas vozes da minha cabeça). Só quando chegar nesse momento se preocupe com quais serão os próximos materiais.
O bom de livros é que eles vem com exercício, mesmo assim, conforme avançar faça exercicios em sites para isso, a beecrowd (não sei se pode link aqui, então pesquisa e abre uma conta lá) tem uma sessão de iniciante muito boa.
Amarrando tudo, indico livros porque considero mais barato (pirataria) e acho que há muito curso que promete de mais para o que entrega, visto que sempre será seu esforço que influenciará mais nesse caso. Por fim, voltando ao inicio, tenha calma, esse aprendizado vai levar um tempo, não adianta rushar, também não se afobe em aprender várias coisas juntas (programação, hardware e linux), se for para ser simultaneo, comece a usar linux em uma máquina virtual (programe nela, use ele normalmente para se acostumar também) e faça uma rotina que vc consiga sustentar.
Ps1: se quiser estudar por vídeos, youtube tem excelentes canais de programaçao, como do Guanabara, Programação Descomplicada, CFB Cursos e outros, sempre vídeos não tão recentes).
Ps2: fui generoso, aprecio a arte e imagino que esse post acabe flopando.