Friday, January 17, 2025

Pra quem é este curso

Antes de começar, quero deixar absolutamente claro o que você deve esperar desse curso.

Esse é um curso para iniciantes, o que significa que caso você já tenha experiência com a Unity ou programação em geral, esse curso talvez não seja para você. Vou passar um bom tempo do curso explicando conceitos fundamentais, o que pode ser frustrante para quem já domina o básico.

Minha filosofia sobre programação

Na minha opinião, não existe jeito certo ou errado de programar. Outras pessoas podem discordar disso, mas se você pretende fazer o meu curso, é preciso que você esteja ciente disso.

Nesse curso, eu não vou expor a "forma certa" de fazer as coisas. Em vez disso, vou compartilhar a forma como eu prefiro trabalhar, explicando os motivos por traz dessas escolhas. O objetivo é que você entenda as possibilidades e forme suas próprias preferências ao longo do tempo.

Minha filosofia é muito influenciada pelo Casey Muratori, criador da série icônica Handmade Hero. Ao longo dessa série, Casey compartilha inúmeras ideias que ressoaram comigo. No entanto, minha abordagem diverge em alguns pontos, mas em essência, ela se baseia na simplicidade, funcionalidade e clareza do código.

Para dar um aperitivo, para mim, o mais importante é que o código funcione, seja fácil de entender e possa ser modificado sem esforço desnecessário. Esses serão os pilares que vamos explorar ao longo do curso.

Sobre POO

Um dos temas mais polêmicos na programação é o paradigma de Programação Orientada a Objetos (POO). Embora eu reconheça que POO possa ter o seu lugar em certos contextos, na minha experiência, ele costuma tornar a programação mais trabalhosa e não oferece benefícios claros que justifiquem essa complexidade.

Meu principal problema com POO é o excesso de código e regras que acabam dificultando a prática, sem oferecer ganhos mensuráveis em eficiência ou clareza. No entanto, essa é a minha opinião, e eu encorajo você a experimentar e tirar suas próprias conclusões.

Durante o curso, não vou ensinar programação orientada a objetos. Vamos explorar uma abordagem mais direta e orgânica, que prioriza a liberdade e o controle total sobre o código. Você não será obrigado a seguir regras de estilo, e tudo será permitido dentro da lógica que funciona para o seu projeto.

Conclusão

Se você prefere seguir padrões como encapsulamento, herança, polimorfismo, ou técnicas como "clean code", esse curso pode não atender às suas expectativas. Mas se você está pronto para explorar uma forma mais prática e descomplicada de programar jogos, esse curso foi feito para você.

Aqui, vamos priorizar simplicidade, funcionalidade e clareza, e você terá liberdade para experimentar e adaptar as técnicas ensinadas ao seu estilo.