Bem-vindo: Sáb, 30 de Novembro 2024, 10:11 Pesquisa avançada

Godot Engine: Desenvolvimento de jogos no Linux

Escreveu alguma aplicação ou script que quer partilhar? Ou conhece algo que quer partilhar? Sabe alguma linguagem de programação e quer partilhar esse conhecimento com um tutorial? Tem alguma dúvida em alguma linguagem? Então este é o sítio certo.

Re: Godot Engine: Desenvolvimento de jogos no Linux

Mensagempor Bitetti » Sex, 11 de Julho 2014, 11:56

Luis :
Avatar do usuário
Bitetti
 
Mensagens: 875
Registrado em: 03 Janeiro, 2012
Localização: São Paulo

Re: Godot Engine: Desenvolvimento de jogos no Linux

Mensagempor Luis Cardoso » Sex, 11 de Julho 2014, 22:57

Bom, e há solução à vista? É que eu queria experimentar o jogo, mas não queria ter de o fazer via WINE... :(
ImagemImagem
«Escolhe um trabalho de que gostes, e não terás que trabalhar um só dia na tua vida» - Confúcio
Avatar do usuário
Luis Cardoso
Redator
 
Mensagens: 10455
Registrado em: 26 Maio, 2011
Localização: Portugal

Re: Godot Engine: Desenvolvimento de jogos no Linux

Mensagempor Bitetti » Dom, 13 de Julho 2014, 18:32

eu estava quase subindo isso como uma issue no github, quando notei q eu só tinha anexado o pacote para 64-bit (ignorei mesmo a existencia de Linux 32-bit)
https://dl.dropboxusercontent.com/u/270587/wwp/wwpeasteregg1/wwpeasteregg1.zip
ou
https://mega.co.nz/#!tFVnhb6C!JguQV5v24oOQM2UOngkESRxKUUCTV54C7irDnR0zHS0


Atualizei o arquivo com o executável, e em ultima instância parece q ele pode conflitar com a biblioteca glibc q no Ubuntu é mais atual que no Debian.
Avatar do usuário
Bitetti
 
Mensagens: 875
Registrado em: 03 Janeiro, 2012
Localização: São Paulo

Re: Godot Engine: Desenvolvimento de jogos no Linux

Mensagempor Luis Cardoso » Dom, 13 de Julho 2014, 22:31

Bitetti (13-07-2014, 18:32) escreveu:eu estava quase subindo isso como uma issue no github, quando notei q eu só tinha anexado o pacote para 64-bit (ignorei mesmo a existencia de Linux 32-bit)
https://dl.dropboxusercontent.com/u/270587/wwp/wwpeasteregg1/wwpeasteregg1.zip
ou
https://mega.co.nz/#!tFVnhb6C!JguQV5v24oOQM2UOngkESRxKUUCTV54C7irDnR0zHS0


Atualizei o arquivo com o executável, e em ultima instância parece q ele pode conflitar com a biblioteca glibc q no Ubuntu é mais atual que no Debian.

Já consegui, muito :obrigado:


Quanto ao glibc, o meu Debian é um híbrido, entre stable e backport, pelo que tenho a versão +/- a par com o Ubuntu... :| penso eu que!

Todavia detectei alguns bugs no jogo, como por exemplo deixar de a deslocar e ela continuar com a animação de deslocação... Numa das vezes isso tornou-se algo aborrecido, porque estava numa escada e não me permitia subir a mesma... Até parar com a mania e ficar quietinha... xD

De resto, parece-me bem e parece prometer, continue o bom trabalho :yeah:
ImagemImagem
«Escolhe um trabalho de que gostes, e não terás que trabalhar um só dia na tua vida» - Confúcio
Avatar do usuário
Luis Cardoso
Redator
 
Mensagens: 10455
Registrado em: 26 Maio, 2011
Localização: Portugal

Re: Godot Engine: Desenvolvimento de jogos no Linux

Mensagempor Bitetti » Qua, 16 de Julho 2014, 2:49

Luis Cardoso escreveu:Todavia detectei alguns bugs no jogo, como por exemplo deixar de a deslocar e ela continuar com a animação de deslocação... Numa das vezes isso tornou-se algo aborrecido, porque estava numa escada e não me permitia subir a mesma... Até parar com a mania e ficar quietinha... xD

De resto, parece-me bem e parece prometer, continue o bom trabalho :yeah:


Isso parece o sistema de colisão, acho q preciso refinar ele mais um pouco msm.

No demais
Imagem

Esse é o sistema de ray-cast da câmera, uso ele para ela não atravessar paredes.
Nesse ponto a GODOT esta ajudando muito bem no desenvolvimento, só notei que o ambiente tem umas peculiaridades quanto ao sistema de coordenadas: os números em ponto flutuante tem poucas casas decimais (menos dq costumo ver na OGRE por exemplo, q usa todo o potencial dos 64-bit) oq gera uns arredondamentos extranhos tipo 90.0002 no lugar de 90.0000

Pensei em montar um tuto disso, mas tipo... o raio do 14.04 sumiu com meus dispositivos de gravação.
Avatar do usuário
Bitetti
 
Mensagens: 875
Registrado em: 03 Janeiro, 2012
Localização: São Paulo

Re: Godot Engine: Desenvolvimento de jogos no Linux

Mensagempor Bitetti » Qui, 17 de Julho 2014, 2:02



Todo um mecanismo funcional de camera e colisão sendo refeito. O exemplo da GODOT é bom, mas funciona bem para uma plataforma 2D portada ao 3D, no caso quero subir rampas, escalar e até voar nos casos mais insanos. Então... bora recodar;

:yeah: por falar em recodificar coisas, já mostrei o repositório com o código do experimento 2D ?

https://github.com/marcosbitetti/WildWitchEasterEgg1
Avatar do usuário
Bitetti
 
Mensagens: 875
Registrado em: 03 Janeiro, 2012
Localização: São Paulo

Re: Godot Engine: Desenvolvimento de jogos no Linux

Mensagempor Bitetti » Sáb, 19 de Julho 2014, 22:48



Esse deu mais trabalho do que eu esperava.
Imaginem q um vetor de rotação me retorna algo como
1.5 - -3.14... - 3.14...
quando eu esperava
1.5 - 1.0 - 0.0
só p exemplificar. Mas chegou o fds e pude pensar com calma e vi que eram os quadrantes do circulo... bom vou ver se ajunto mais algum material sobre isso para um tutorial.

Por falar nisso, continuo sem poder usar o microfone no 14.04 ... fiz uma gambi com o gravador de som do celular. até q deu um nível de ruido menor... afinal o celular n esta ligado a porcaria da rede elétrica p interferir... mas deixa de ser prático e dá um trampo a mais na hora de sincronizar o audio.

Obs
Código: Selecionar todos
tool
extends Control


export(Texture) var base_tex
export(Texture) var disc1_tex
export(Texture) var mapa_tex

var steps = 8
var angle = 0
var scale = 0.1
var d_scale = 0.3
var pos = Vector2(0.5,0.5)
var size = Vector2(50.0,50.0)
var verts = Vector2Array()
var uvs = Vector2Array()
var center
var grid

func _process(delta):
   if center==null or grid==null:
      center = get_parent().get_node("Char")
      grid = get_parent().get_parent().get_node("GridMap")
      return
   
   var ori = center.get_global_transform()
   var c = center.get_rotation() #.rotated(Vector3(0,1,0),PI)# * Vector3(0,1,1)
   var rz = round(c.z)
   if rz==0:
      if c.y>=0:
         angle = -PI+c.y
      else:
         angle = c.y + PI
   else:
      if c.y>=0:
         angle = -c.y
      else:
         angle = PI-c.y - PI
   
   scale += (d_scale-scale) * 3 * delta
   pos = Vector2(ori.origin.x,ori.origin.z) / size + Vector2(0.5,0.5)
   calc_circle(scale)
   
   update()

func _draw():
   if center==null or grid==null:
      return
   var rad = base_tex.get_width() * 0.5
   var cen = center.get_global_transform().origin * -1.0 #inverso
   #var view = get_viewport().get_rect().size
   var v = get_pos()
   draw_set_transform(Vector2(v.x+rad,v.y+rad), 0, Vector2(1,1))
   draw_colored_polygon( verts, Color(1.0,1.0,1.0,1.0), uvs, mapa_tex )
   draw_texture( base_tex, Vector2(-rad,-rad) )

func calc_circle( scale ):
   for i in range(steps):
      #var v = scale * (Vector2(0.5,0.5) + Vector2(0.5,0).rotated( angle + i * ((PI*2)/steps) ))
      var v = pos + scale * (Vector2(0.5,0).rotated( angle + i * ((PI*2)/steps) ))
      uvs[i].x = v.x
      uvs[i].y = v.y

func _ready():
   var rad = base_tex.get_width() * 0.5
   set_size( Vector2(base_tex.get_width(),base_tex.get_height()) )
   for i in range(steps):
      uvs.push_back( (Vector2(0.5,0.5) + Vector2(0.5,0).rotated( angle + i * ((PI*2)/steps) )) )
      verts.push_back( Vector2(rad,0).rotated( i * ((PI*2)/steps) ) )
   angle = PI/2
   
   set_process(true)
Avatar do usuário
Bitetti
 
Mensagens: 875
Registrado em: 03 Janeiro, 2012
Localização: São Paulo

Re: Godot Engine: Desenvolvimento de jogos no Linux

Mensagempor Bitetti » Ter, 22 de Julho 2014, 20:35

Agora que o bicho vai pegar entre mim e a GODOT.


Aqui uma parte do ferramental da GODOT que me deixou muito, muito satisfeito. :yeah:
O ambiente de edição de shaders é bom, lógico n se compara ao da NVidia (mas faz anos q n uso ele), ele dá a oportunidade de editar o shader no modelo dentro do ambiente de game.
E rapidamente uma variável "uniform" aparece na lista de propriedades.
Tudo em tempo real.
Já testei varias soluções mas uma q é integrada é sempre muito bom.

Chegou a dar umas travadinhas, mas percebi isso em vários outras ferramentas do genero tb.

A questão agora é eu conseguir recriar meu Shader, estes são os resultados com Blender e OGRE3D, eu consegui um modelo de cel-shading (desenho animado) bastante satisfatório pra mim, aproveitando o normalmap, transpareência e outros recursos. Cheguei a criar uma variação que suporta mais de um mapeamento, assim posso criar terrenos ricos em detalhes.
Meu shade suporta variações de luz como relampagos e outros elementos.
Pra passar no meu visto a GODOT tem q poder recriar isso.

Imagem

Imagem

NOTA; em tempo, tive q atualizar o código e recompilar a GODOT (não espero + um download p baixar atualização) mas a parte LightShader esta dando pau, e meu shader fica incompleto. Estou reportando nos foruns da GODOT p ver se me explicam isso. :|
Avatar do usuário
Bitetti
 
Mensagens: 875
Registrado em: 03 Janeiro, 2012
Localização: São Paulo

Re: Godot Engine: Desenvolvimento de jogos no Linux

Mensagempor Bitetti » Qua, 23 de Julho 2014, 10:50

Subimeti uma nova issue pro pessoal da godot

https://github.com/okamstudio/godot/issues/602

A respeito do shader, pois ele funciona no modo de edição e não no de teste. E também, oque é pior, não é salvo eu perco o código!
Imagem
Avatar do usuário
Bitetti
 
Mensagens: 875
Registrado em: 03 Janeiro, 2012
Localização: São Paulo

Re: Godot Engine: Desenvolvimento de jogos no Linux

Mensagempor Bitetti » Seg, 28 de Julho 2014, 12:33

Novas povo!
Bom, até agora o senhor reduz n reportou sobre meu problema de shaders. já montei uns mapeamentos da personagem e estou esperando por isso.
Porque sem eu poder programar direto na GPU eu não consigo o resultado gráfico que quero.

No entanto foi abordado pelo usuário chacra um tema no GitHub sobre Tweenens, depois de conversas irem e virem o reduz animou com os links q mandamos e começou a implementar na engine o sistema. https://github.com/okamstudio/godot/issues/603

A saber, tweening é a forma como a animação roda de forma variante dando a sensação de ser mais próxima a fisica do mundo real. Uma boda tem aceleração, estabilidade e deselaceração da velocidade ao longo da trajetória e isso é oque o tweening garante.
Vcs (talvez uns 1% q estao lendo) devem ter visto no codigo q mandei pro GitHub do primeiro jogo usa a forma + simples de tweening ( x = x + (xDest - x)* desaceleracao * delta ), ja o tweening proposto ali é mais elaborado.
Avatar do usuário
Bitetti
 
Mensagens: 875
Registrado em: 03 Janeiro, 2012
Localização: São Paulo

AnteriorPróximo

Voltar para Scripts, programação e aplicações em desenvolvimento

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 3 visitantes