post image
farendar devlog

100 dias de projeto

Cem dias, quem diria?! Foram dias divertidos e cheios de desafios e quero fazer uma pequena retrospectiva sobre eles.

Para um abandonador de projetos em série como eu, a marca de 100 dias tem um sabor especial. É aquela marca para quebrar a maldição, para mostrar a mim mesmo que a diferença entre projetos abandonados e projetos que prosperam é a persistência. Alguns desenvolvedores adotam o chamado “no zero day”, que consiste em não deixar de trabalhar um dia sequer em seu projeto para não perder o ânimo. Não cheguei a tanto, mas eu tenho uma regra na minha cabeça de não ficar mais de dois dias seguidos sem fazer algo. Até agora, vem funcionando bem. Agora, uma pequena retrospectiva de como foram esses dias que me trouxeram até essa marca.

Dia zero - o início de tudo

A ideia deste projeto vem povoando meus pensamentos há mais de uma década. Mas alguns fatores nunca se alinharam para que eu começasse de fato. Falta de tempo, de ânimo, de dinheiro ou de habilidade. Sempre teve algo que me manteve com um pé atrás. Dessa vez os planetas se alinharam então dei meu pulo ao desconhecido.

Tudo começou quando cheguei de São Paulo do evento ElixirDays. Eventos de comunidade são energizantes. Cheguei determinado a iniciar um projeto utilizando a linguagem Elixir. Parece exagero mas Elixir me trouxe de volta uma coisa que estava perdida faz um tempo: o prazer em programar. Então comecei a pensar no que fazer e foi quando comecei a pensar que fazer o servidor do jogo em Elixir seria um desafio que eu estava procurando. Foi então que no dia 29 de maio de 2024 fiz o commit de criação do repositório do servidor.


print do github com o primeiro commit do repositório do servidor
O primeiro commit do repositório do servidor. O primeiro commit a gente nunca esquece.



O commit de criação do repositório do cliente aconteceu bem antes. Entre o final do ano passado e o início deste ano, passei 3 meses testando a Unreal Engine 5 e a Godot Engine com pequenos projetos. Naquela época eu já ensaiava começar este projeto, então acabei apenas criando o repositório e o deixei lá. Quando iniciei de fato este projeto estava claro pra mim que a Godot seria a melhor escolha devido a três fatores:

– O suporte a gráficos 2D da UE5 é deficiente enquanto o Godot é exatamente o contrário.
– Godot tem suporte a linguagem C# e a UE5 C++. Tenho fluência em C# e apenas me viro em C++.
– Godot é FOSS (Free Open Source Software). Viva a tecnodiversidade!


print do github com o primeiro commit do repositório do cliente
O primeiro commit do repositório do cliente. Registrado para a posteridade.



Dias 1 ao 74 - Trabalho pesado de fundação

Foram dias de trabalho pesado na fundação do jogo. Levantar tudo do zero requer muita experimentação e estudo. Tive que ler bastante para extrair o máximo das vantagens que o Elixir poderia me dar no servidor e ao mesmo tempo minimizar as possíveis desvantagens sobre usar uma linguagem funcional para fazer um jogo (falarei sobre isso em algum post no futuro).

Apesar de ter passado um tempo estudando Godot no início do ano, me considero ainda bem iniciante na engine. Isso significa que estes primeiros dias foram de muito aprendizado. Foi estudando bastante e vendo o quanto de esforço é colocado pela comunidade na engine, que decidi me tornar um doador para ajudar a financiar o desenvolvimento da ferramenta. São apenas 5 euros por mês mas que somado a ajuda de outras pessoas pode se tornar uma quantia significativa. Se estiver usando Godot e tiver condições financeiras, considere ser um doador também.


print de tela mostrando a doação de 5 euros por mês para o projeto Godot
it ain't much but it's honest work.



Dia 74 - Habemus Devlog

No dia 71 cheguei a conclusão que já tinha avançado o suficiente para começar a compartilhar minha jornada com o mundo. Havia chegado a hora de criar um devlog. Na realidade eu sei que ninguém lê isso aqui mas escrever sobre o que eu fiz e o que estou planejando me ajuda a organizar as ideias. Escrever sobre essa jornada também tem um certo efeito terapeutico se assim podemos dizer.

Para criar o devlog eu comprei os dominios farendar.com e farendar.com.br e comecei um projeto do zero utilizando Phoenix Framework, que é o framework web mais conhecido da comunidade Elixir. Em apenas um dia eu tinha o blog pronto, com autenticação, sistema de comentários e posts (que são gerados a partir de arquivos markdown). Então foi no dia 74 que dei meu hello world por aqui.

Dias 74 ao 100 - Avançando em passos largos

Durante o desenvolvimento, dividi diversas partes do servidor e o cliente em o que eu chamo de “sistemas”. Temos o sistema de movimentação, sistema de rotação, sistema de chat, sistema de inspeção e por aí vai. Foram nesses dias que criei e consegui fazer diversas melhorias em cada um deles. Foram duas versões terminadas (v0.1.0 e v0.2.0) e dois testes servers onde convidei alguns amigos para se conectar e realizar alguns testes.


imagem do teste server do Diguifi, Joel e eu
Eu, Diguifi e Joel no primeiro teste server. Já estão na história do jogo.



Dias 100+ e além

Esta sendo bem divertido até aqui. Poucas pessoas ainda sabem desse projeto. Estou começando a falar bem timidamente sobre ele no bsky @farendar.com. Cem dias para um grande abandonador de projetos que sou é uma marca e tanto. Da um certo orgulho e quem sabe pode ser a quebra da maldição de projetos não terminados. Não sei, não quero pensar muito sobre o futuro. Quero apenas desfrutar o dia a dia do desenvolvimento deste projeto.

Faça Log in para comentar

Não tem uma conta? Crie uma conta agora.

diguifi - há 3 meses
          Que jornada incrível! Pra mim é uma grande honra fazer parte do gênese de um projeto tão ambicioso, maneiro e, principalmente, divertido como esse. Parabéns pelos 100 dias e que venham muitos mais 🍻
        
Latoh - há 3 meses
          Tem gente que le o post sim, muito bom ver o seu caminha nessas terras, continua com esse foco e logo chega no primeiro ano 🥹