Projeto: Jelly Arena

##Lore

  • Uma gelatina rebelde em um mundo opressor luta para se libertar das garras do grande Rei Gelatina. Nosso pequeno ser gelatinoso alcançará sua preciosa liberdade?

##Mecânicas
###Núcleo:

  • Jogo top-down
  • Movimento em 8 direções
  • Sua vida é também sua munição
  • Ataque a distância em 4 direções: projéteis que se movem de forma retilínea com alcance limitado, onde o jogador atira parte do próprio corpo e portanto perde vida ao usá-lo. Caso o tiro não acerte algum inimigo é possível recuperar a vida perdida coletando o projétil caído
  • Ao acertar um inimigo, partes coletáveis que o jogador absorve para recuperar vida são espalhadas
  • Sistema de hordas
  • Novos grupos de inimigos aparecem após o grupo anterior ser derrotado
  • Inimigos tem comportamento diferentes
  • Movimento
    • Pulos em intervalos regulares
    • Movimento em L
    • Movimento acelerado
    • etc
  • Ataque
    • Padrões de tiro
    • Corpo a corpo
    • etc
  • Estratégia de grupo, por exemplo como se posicionar no mapa com base em unidades aliadas
  • O próximo grupo de inimigos é escolhido a partir de estatísticas geradas das hordas anteriores. O próprio jogo decide qual inimigo trás mais dificuldade para o jogador
  • O chefe final tem seu comportamento e habilidades definidas a partir dessas estatísticas adquiridas nas hordas anteriores
  • O jogo dura aproximadamente 15 minutos, com 10 ondas + chefe final, sendo cerca de 1 minuto por onda

###Extra:

  • Adicionar mais comportamentos e variações aos inimigos
  • Adicionar armadilhas no mapa a partir das estatísticas (previne do jogador encontrar uma posição favorável no mapa)
  • Adicionar melhoramentos ao player
  • Etc

##Referencias

  • Binding of isaac
  • Hero siege

##Reuniões

  • Terça: 13:00 ~ 17:00 [fixa]
  • Quinta: 13:00 ~ 16:00

##Participantes
@fbrigalante
@HugoMitsumori
@Meulin
@mrocha

Esta proposta está sujeita a aprovação pelos professores da disciplina MAC0214.

Controle de presença (@Kazuo):

Dia 08/08:
@HugoMitsumori ficou até as 14:00
@fbrigalante @Meulin @mrocha ficaram até as 16:20

Marquei!

A planilha de presença de vocês está aqui. Qualquer coisa, só avisar.

nao achei uma página do projeto de voces, entao vou postar aqui ^^

Joguei a branch master do jogo de vcs hoje e achei o conceito muito legal!! Mas fui tentar jogar na branch dev e dá um erro assim que eu começo a rodar o jogo, vou deixar o stack trace aqui pra vcs.

Tem algum outro lugar que posso acompanhar melhor o projeto de vcs, ou crio posts aqui mesmo?

(btw rodei na love 10.1 e talvez vcs estejam usando a 10.2, mas acho dificil isso ser a razao do bug haha)

Oi @rilifon

Acabamos não criando mesmo uma página pro projeto aqui no fórum, vamos fazer isso.

Sobre esse erro, você está rodando o jogo de fora da raiz do projeto, algo como “love JellyArena/”? Se estiver rodando assim tenta rodar de dentro da raiz do projeto “love .”

O certo seria que desse pra rodar de qualquer lugar, mas não pegamos esse erro pq estamos sempre rodando direto da raiz.

Se for isso me dá um toque, senão vou tentar descobrir o que mais pode ser.

Eai @fbrigalante!

Então, eu rodei na raiz mesmo, onde está o arquivo main.lua de vocês. Mas não entendi muito bem pq faria diferença eu rodar o jogo fora da raiz chamando “love JellyArena” e entrar na raiz e chamar “love .”, já que o resultado deveria ser o mesmo…

Tentem mudar pra branch dev e rodar o jogo pra ver se está dando esse erro com vocês

Movi a thread para a categoria “Projetos” =)

1 Curtida

Okay, eu debuggei aqui o erro pra vcs. Como eu tava rodando num windows eu modifiquei o conf.lua de voces pra abrir um console pra eu ver a stack trace.

No main.lua vocês chamam o LogController pra um arquivo “wave”, só que não existe o arquivo. Entretanto vcs até fizeram uma checagem pra ver se o arquivo existe na linha 10 do arquivo LogController.lua, mas deveria ter colocado o f:close() da linha 13 num ‘else’ pra não dar erro quando o arquivo é nil (a menos se o objetivo de vocês é explodir o erro na cara mesmo hahah nesse caso eu recomendo vcs usarem um assert no arquivo visto, que caso de nil o programa já para falando qual foi o erro.

Lembrando que tudo isso é na branch ‘dev’, acho que deve estar funcionando em outras branch. Tem algum outra branch que ta mais pra frente do que a master que eu posso testar o joguinho de vocês? Senão me dá um toque quando a branch dev tiver atualizada e funcionando, quero muito jogar o jogo de vocês!

Abraços :3

Verifique se tem a pasta “log” na raiz do projeto, se não tiver dê um pull ou crie manualmente. Aqui está funcionando após um novo clone (ubuntu).

Temos que melhorar essa parte de acessar arquivos, tivemos um problema em como o lua trata caminho de arquivo e pode não estar funcionando corretamente.

Qualquer coisa terça feira a tarde a gente se reúne e só dar um toque que a gente se encontra e vê com mais calma :slight_smile:

Em geral, o melhor é usar a API da LÖVE para acessar o sistema de arquivos do que a nativa do Lua. Isso ajuda a resolver coisas como ter que rodar o jogo a partir de uma pasta específica e talz.

1 Curtida

@rilifon

Soltamos uma nova versão, esse erro foi resolvido e novas funcionalidades foram adicionadas :slight_smile:

1 Curtida