Bem-vindo: Sex, 1 de Novembro 2024, 0:08 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 » Qua, 30 de Abril 2014, 14:05

Luis Cardoso escreveu:Quando é que pessoal poderá jogar?


Essa fase no firmamento está Ok, falta os dialogos.
A fase principal falta eu desenhar o mapa ^^

Quanto ao bug (ainda acho q é um bug), o pessoal me ajudou lá no GitHUB... há uma solução na própria linguagem de script: usar queue_free() uma função NÃO esta documentada! No lugar de remove_child(obj).
Pronto, o jogo parou de dar crash.
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, 1 de Maio 2014, 15:18

Imagem
Feriado aqui no Brasil... aproveitando o pique, já selecionei umas musicas no Jamento e agora vou linkar as cenas. :rox:
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, 3 de Maio 2014, 15:13

Última cena pronta


Falta agora só acertar a física da plataforma, rever a ortografia e gramatica e checar a jogabilidade ((curiosamente isso é chato p kraio, já q eu jogo infinitas vezes até acertar o nível).

Aproveitei para colocar algumas coisas do projeto principal, fazer mini-games é uma ótima maneira de chamar a atenção pra um projeto maior.

Outro passo é estuprar ao máximo a GDScript para ver se consigo inserir um mecanismo de updates dentro do sistema. Fala-se que a GDScript permite isso, assim vamos ver como ela se comporta buscando atualizações na web e mapear um XML, essa parte do XML é a parte que mais gosto da HTML5 http://www.wildwitchproject.com/2010/12/estudo-de-dados-em-html5.html ela fica bem organizada para dados.
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 » Sex, 9 de Maio 2014, 2:00

Mais uma ajuda lá do povo da Okam Studio. :yeah:


Resolvemos um problema desta magia, que não funcionava 100%.
Quando eu usava um set_pos na personagem que estava translucida ela deveria voltar ao ponto inicial e em forma opaca. Isso simularia uma projeção astral. No entanto não funcionava! A camera até se movia indicando q algo mudou e imediatamente a personagem voltava ao ponto onde parou. Eu imaginei que o RigidBody (objeto principal da fisica) estaria com sua propria posição e ignorava a posição do Nó de cena (Node2D) do personagem.
Isso me cheirava algum conflito de estados entre threads. Que não se espera acontecer lógicamente.

http://www.godotengine.org/forum/viewto ... 2378#p2378

O pessoal da GODOT preferiu uns métodos especificos para contornar os problemas entre threads, que eu até acho legal, mas não deveria ter essa dificuldade numa engine que se foque no público não programador... msm pq até programadores sofrem com isso.
Mas bem, é ego deles e no final das contas eu não pretendo usa-la para projetos super complexos. Além de que eles se mostram sempre prontos a responder questões tanto no fórum quanto no GitHUB.

Diga-se de passagem, me senti em casa no fórum deles, só desenvolvedor com perfil parecido com o meu, inclusive alguns batendo na mesma idade e até mais velhos. (Sério, coisas que me irritavam em foruns como Unidev e Blender Brasil são a mulekada que se acha sem ao menos saber oque é um Sprite).

Bom, como podem ver agora é a fase dos ajustes. Ai vai aparecer aquelas nuances e peculiaridades da engine. Uma engine dar recursos para contornar esses probleminhas é que sempre me afastou dos "makers", pois é crucial que a física do mundo e minha mecânica de jogo se juntem e eu fico extremamente irritado caso a primeira não se adapte a segunda.
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 Miguel Fonseca » Sex, 9 de Maio 2014, 14:46

Boas Bitetti, ficaste mesmo estusiasmado com o Godot! :yeah:

Está a ganhar forma este teu projecto.

Para quando uma versão jogável?

Hasta.
It is only in Love and Murder, that we still remain sincere! - Friedrich Durrenmatt
Avatar do usuário
Miguel Fonseca
Bleeding-edge Helper
 
Mensagens: 2512
Registrado em: 10 Junho, 2011

Re: Godot Engine: Desenvolvimento de jogos no Linux

Mensagempor Bitetti » Sáb, 10 de Maio 2014, 13:47

Animado eu já era independente da GODOT, a diferença é que uma engine nativa para a plataforma de produção dá um gaz a mais na gente.
Imagem

Agora falta pouca coisa, já to na fase de arrumar o mapa, um bom mapa sempre tem q ter 2 caminhos ao menos q seja para o jogador explorar. E distribuir os elementos nele.
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 » Dom, 11 de Maio 2014, 22:01

Imagem

Essa é uma parte importante em qualquer engine de jogos atual: conectar num servidor e conversar.
A GODOT tem um HTTPClient que faz isso, podia ser + amistoso ao usuário final mas cumpre seu objetivo.
Com isso posso receber e mandar um formulário para um servidor.

Agora a falta de documentação é que me mata, ao obter uma resposta do servidor preciso ler a mesma, e no caso esta resposta está infiltrada num HTML, ai q mora a dor de cabeça pois até agora a classe XMPParser da GODOT não esta documentada. Como to resolvendo isso? Entrando no source e vendo oq ela faz!!!

[EDIT]
Tipo... dane-se o XML!
Muito trabalho p converter uma String para um RawArray... vo por essa função de sugestão lá na GODOT.

por fim resolvi tudo com a string bruta mesmo, de qualquer forma iria ter q separa-la do HTML não normatizado mesmo.
Lembrei da pergunta do Claudio sobre o debug, o sistema de debug dela é muito bom, com as variáveis locais e globais bem visíveis... só que nessa parte que é usada uma Thread a coisa fica feia (tipo se dá pau vc fica sem feedback), mas nada diferente do problema q ocorre em outras linguagens como Java e afins. Infernos típicos de threads.
Código: Selecionar todos
const url_updates = ["dl.dropboxusercontent.com","/u/270587/HGEno%20.html"]

func bg_html(url):
   var ret = []
   var html = ""
   var err=0
   var http = HTTPClient.new()
   var err = http.connect(url[0],80)
   assert(err==OK)
   
   while( http.get_status()==HTTPClient.STATUS_CONNECTING or http.get_status()==HTTPClient.STATUS_RESOLVING):
      http.poll()
      print("Connecting...")
      OS.delay_msec(500)
   
   assert( http.get_status() == HTTPClient.STATUS_CONNECTED )
   
   var headers=[
      "User-Agent: Mozzila/1.0 (Godot)",
      "Accept: */*"
   ]
   
   err = http.request(HTTPClient.METHOD_GET,url[1],headers)
   assert( err == OK )
   
   while (http.get_status() == HTTPClient.STATUS_REQUESTING):
      http.poll()
      print("Requesting..")
      OS.delay_msec(500)
   
   assert( http.get_status() == HTTPClient.STATUS_BODY or http.get_status() == HTTPClient.STATUS_CONNECTED )
   
   if (http.has_response()):
      var headers = http.get_response_headers_as_dictionary()
      print("code: ",http.get_response_code())
      print("**headers:\n",headers)
      
      var bl = 0
      if (http.is_response_chunked()):
         bl = -1
      else:
         bl = http.get_response_body_length()
      
      var rb = RawArray()
      while(http.get_status()==HTTPClient.STATUS_BODY):
         http.poll()
         var chunk = http.read_response_body_chunk()
         if (chunk.size()==0):
            OS.delay_usec(1000)
         else:
            rb = rb + chunk
      
      # se ouver dados trabalha
      if rb.size()>0:
         html = rb.get_string_from_ascii()
         var ini = html.find("<aside id=\"CabecalhoDeAtualizacaoWWP\"")
         var end = 0
         if ini<0:
            return null
         ini = html.find("<article",ini)
         while ini>0:
            ini += 8
            #dados
            ini = html.find("<meta itemprop=\"name\" content=\"",ini)
            end = html.find("\"",ini+31)
            var produto = html.substr(ini+31,end-ini-31)
            ini = html.find("<meta itemprop=\"review\" content=\"",ini)
            end = html.find("\"",ini+33)
            var review = html.substr(ini+33,end-ini-33)
            ini = html.find("<address",ini)
            var address = ""
            if ini>0:
               ini = html.find("href=\"",ini)
               end = html.find("\"",ini+6)
               address = html.substr(ini+6,end-ini-6)
            # review to int
            var iReview = review.replace(".","").to_int()
            #print(produto," ",review," ",address, " " , iReview)
            
            ret.push_back( {
               produto = produto,
               review = review,
               iReview = iReview,
               address = address
            })
            
            ini = html.find("<article",ini)
   
   call_deferred("bg_html_done")
   return ret

func bg_html_done():
   var data = loadHTML.wait_to_finish()
   print(data)
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, 13 de Maio 2014, 2:36


detalhes do código nos balões de comentário https://www.youtube.com/watch?v=CY0q8LopsiQ
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, 14 de Maio 2014, 12:27

A MUSICA DA FASE PRINCIPAL NÃO QUER SAIR DA MINHA CABEÇA!!!! AAARRRRGGGGHHHH!!!
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 » Qua, 14 de Maio 2014, 19:10

Bitetti (14-05-2014, 12:27) escreveu:A MUSICA DA FASE PRINCIPAL NÃO QUER SAIR DA MINHA CABEÇA!!!! AAARRRRGGGGHHHH!!!

:lol: :lol: :lol:
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

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