Leben – Day 26

Ontem de noite eu não consegui postar,

mas não houve grande mudanças visuais,  atualizei as dependências do projeto, implementando o fov da maneira correta, já fiz umas 4 versões.

estou começando fazer testes unitários, pra impedir que bugs durante o jogo sejam detectados, a pior parte não é escrevê-los, mas ter que separar em pequenas partes alguns comportamentos e introduzir isso no jogo, é muito bom pra exercitar programação.

estou começando adicionar BDD pra testar, um exemplo dos testes:

tests

acho que de noite terei mais updates

Leben – Day 25

Bom,

continuando meu trabalho no Leben, consigo compreender o que acho mais desafiante em desenvolver um jogo. Usar a criatividade pra criar código e dar vida pra um jogo, é algo bem parecido com o que faço no trabalho e não há grandes diferenças.

Mas sendo um jogo preciso fornecer instruções pra um computador que até então nunca foi necessário.

Estou voltando estudar álgebra, especificamente trigonometria.

leben-trigonometry

Qual motivo? simples, preciso detectar se determinado objeto está em um raio da visão do personagem, poderia implementar de qualquer forma e sim, funcionaria, MASSSS… eu procuro não fazer de qualquer jeito, afinal quero jogar um jogo que não tenha queda de fps.

Até agora já fiz funcionar, usando uma técnica chamada dot product.

dotproduct

Quando o raio fica vermelho, significa que o arbusto no jogo foi detectado.

porém quero utilizar apenas 120º-130º, afinal o personagem não tem olho nas costas.

continuarei no meu reforço de trigonometria, pra fazer isso funcionar e posteriormente os primeiros passos pra AI.

Leben – Day 24

Estive estudando e pesquisando sobre design.

 

encontrei alguns programas promissores, estava usando Piskel gostei muito de usar, mas tento me forçar usar outras ferramentas só pra saber as possibilidades, estive vendo vários vídeos de artistas desenhando, designers discutindo sobre arte.

encontrei bons programas, como:

  • Aseprite:  (que é pago, então vou deixar pro futuro).
  • Krita:  esse eu comecei usar ontem, eu odiei… Mas depois de ver alguns tutoriais, dicas e metodologias melhores das que usava, comecei gostar bastante, só preciso me adaptar, ainda mais que estou usando a wacom.
  • Tiled: ainda não usei, mas parece facilitar testar os tilesets, ainda preciso de muito trabalho na engine pra precisar realmente montar um cenário dos tilesets, só deixarei no meu toolbox.

Depois de estudar consegui desenhar o que está na imagem abaixo.

ref

 

ainda levará um tempo pra deixar top-notch, mas estou sem ansiedade, então será uma iteração interessante.

 

bush

e comecei criar o processo de desenvolvimento da flora.
é isso, continuarei amanhã.

Leben – Day 22

Hoje estive trabalhando ainda na geração de mapa,

ainda não me habituei usar a engine pra renderizar, na verdade acho que perderia mais tempo checando o resultado do que fazendo como fiz.

eu peguei as coordenadas e o valor perlin, organizei e fiz um display no html.

lá eu faço as adequações de environment.

o resultado foi este:

 

Untitled

 

ainda preciso fazer definições melhores, por exemplo o pico das montanhas, transição de floresta pra montanha, montanha pra deserto.

por enquanto estou satisfeito,

acho que isso é o suficiente pra montar no mapa e começar colocar outros elementos no jogo.

Leben – Day 21

Bom,

Até agora esse engine foi o que achei mais agradável de descobrir e desenvolver.

estive fazendo alguns samples pro terreno, na última postagem deu pra ver, mas agora estou criando umas ferramentas pra pra gerar o terreno randomicamente, com algumas variações, como tudo é placeholder ainda está feio, mas o importante é a ideia por enquanto.

Untitled

esse terreno já foi gerado randomicamente, ainda existe alguns erros de transição, mas isso é porque eu não estou acertando transição ainda, mas ela funciona, as variações já estão funcionando também.

E implementei o FOV do personagem, ainda penso em aumentar o range, mas por enquanto está como placeholder, assim como todo resto :p

 

vamos ver o resultado daqui algum tempo

Leben – Day 20

Eae,

 

voltei desenvolver de novo o Leben, fazia algum tempo que não tinha mais vontade de programar ele, mas agora voltei.

Como eu já estava sendo organizado somente atualizei minha engine que eu já havia construído,  continuei testando outras engines, finalmente achei uma que fico confortável, gostei muito do Godot, agora com a possibilidade de usar C#.

estou há alguns dias já portando o que havia feito e o resultado:
2020-05-14-22-55-38

 

ok… concordo, não é bonito, mas por enquanto não estou querendo deixar bonito, quero programar a idéia, ver se eu consigo me divertir se conseguir, ai sim acho que fará sentido gastar tempo em deixar bonito.

 

vamos ver até onde vou desta vez :p

 

Inicio de pathfinding e outras coisas

Bom, ontem eu melhorei como funciona os eventos de npcs (mais detalhes abaixo) e  iniciei o pathfinding, não ficou bom, na verdade ficou muito estranho, mas funciona.

acredito que vou ignorar essa parte de fazer eles andarem e apenas teleportar as unidades por enquanto, não é que seja difícil fazer, mas é muito trabalhoso, e meio frustrante, porque depois de horas e horas escrevendo e polindo você percebe que ficou estranho, então vou meio que ignorar o pathfinding, ouvi falar em uma biblioteca que posso utilizar, mas precisarei portar e adaptar ao mundo de leben, bom é isso sobre pathfinding.

Acredito que já falei isso, mas eu quero que o Leben possa ser modificado quase que plenamente, pra isso eu preciso criar todo um framework pra suportar isso, preciso que todas as apis necessárias pro jogo estejam expostas e trazendo algum tipo de retorno pra quem estiver fazendo o mod, uma dessas api’s são os eventos de npcs, onde tem a responsabilidade apenas de ter saber os eventos daquele NPC, o framework possui um timer que conforme o jogo passa vai atualizando os eventos e quando estes chegam ao seu limite chamam um callback para o registro do evento,  que a origem pode ser do próprio jogo ou de algum mod que está nele.

 

bom vou terminar por aqui, tenho ainda muito trabalho com o leben.

 

Update Leben

eae o/

Bom fiz a correção que citei ontem, onde selecionar as coisas não era respeitado quando o zoom não era 100%

depois de fazer essa correção comecei portar o código do unity que eu já tinha escrito para o mono, nada muito complicado, apenas trabalhoso…

bom sem mais update…

cya!

Voltando do hiatus.

Oi ! o/

Investi um tempo estudando c++ e unreal, gostei bastante de trabalhar com eles, porém quanto mais passa o tempo, mais percebo que se eu quiser realmente fazer o Leben terei que investir um tempo absurdo.

Eu quero jogá-lo, no melhor gráfico possível, porém sendo one-man-army é mais difícil do que parece, além de estudar o que preciso pro Leben funcionar existe blender (desenhar o mundo em 3d) , parte de áudio, c++ , falta de costume de trabalhar com frameworks de jogos “unity”, “unreal” e o mais recente Godot.

Bom, fiquei algumas horas procurando engines que fossem menos visuais e mais código que é a forma que eu tenho costume, encontrei Godot, porém o drawback foi justamente não poder utilizar o que eu já tinha escrito em c#, eu sei que eu poderia passar o código pra c++ e depois fazer o godot consumir isso, mas não era o que eu queria, quando godot tiver essa possibilidade quem sabe 😛

Bom, tenho uma noticia boa, pelo menos pra mim, iniciei o desenvolvimento do leben de novo, qual engine? Bom… é xna/monogame, eu inicialmente não queria usar xna, mas percebi que estou tentando programar um jogo onde eu preciso de muitos braços, porém se eu usar xna fica mais simples.

 

Ah! minhas tarefas estou deixando no trello, https://trello.com/b/OgaTI4mF/leben

este é o Leben funcionando no mono

 

ezgif-2-e994fd6e51.gif

sim, não é lá grande coisa, eu sei… e eu ainda achei um bug que não dá pra selecionar uma unidade quando é alterado o zoom.

 

p.s. os assets que estou usando são de uso público, também usei códigos de criação do mapa como placeholder.

 

bom esse era o update do que fiz no Leben.

 

cya!

Hiatus e tal

Apesar de não fazer mais postagens, estou sempre aperfeiçoando meus conhecimentos para fazer o Leben, já tenho o Leben programado em C#, não por completo, mas o core dele.

Estou testando outras engines, a ultima é a Unreal, sendo sincero nunca programei em c++ de verdade, é uma boa oportunidade pra ver no que dá, né?

enquanto isso voltei estudar violão, ajuda muito estudar quando o som do instrumento é agradável.

 

bom é isso

 

até o/