🤔 Para Refletir :
"Quando um mar de ideias aparecer, pesque todas com a rede e faça o banquete"
- Samuel Augusto

Lovely Tactics Hex, um framework para TRPG

Pretty-Belle

Cidadão
Membro
Membro
Juntou-se
18 de Junho de 2015
Postagens
155
Bravecoins
112
IgJIz9V.png


XSVEcTt.png

Algumas pessoas devem ter visto os meus tópicos Você sabe programar?, Me dêem sugestões para engine de RPG tático ou RPG Tático Hexagonal no Unity. Sim, então todos relacionados, com a diferença que agora o sistema não é mais no Unity, e sim no LÖVE2D.
Esta é uma engine que venho fazendo há um bom tempo. Surgiu da minha primeira tentativa de fazer um sistema tático no Unity (no início de 2015), que foi uma desgraça, que depois passei pra Java, me arrependi e voltei pro Unity (versão do tópico citado), e agora fui pro LÖVE por achar a engine mais leve e por, convenhamos, Lua ser uma linguagem muito fofa. Está sendo desenvolvida no LÖVE desde junho de 2016.

Vocês podem ter mais informações a respeito no link do repositório do GitHub. Lá tem mais detalhes sobre o andamento do projeto e sobre como vocês podem instalar para testar e, se quiserem, contribuir.

No repositório só tá o código do jogo. Se vocês abrirem a pasta data, verão vários arquivos json que são os dados personalizados de todo o jogo. Esses arquivos são editados por um programa que fiz em Java, mas ele tá meio incompleto e com alguns vários bugs, além de o código-fonte estar feio pra burro. Ajeitar tudo vai custar muito tempo, por isso vou deixar pra polir e publicar esse editor quando o código do jogo estiver mais perto de estar pronto. Então, queridos... se contentem editando os arquivos no bloco de notas mesmo, lol.
UPDATE: Já tem uma versão beta do editor na demo v0.5! Ele está bem lento e talvez tenha alguns pequenos bugs, mas pelo menos dá pra usar (e é melhor que usar o bloco de notas).

Ainda vou fazer a devida documentação e alguns tutoriais para criação do jogo usando essa engine. Como ela ainda está em desenvolvimento, não faz muito sentido eu fazer um manual agora, já que vai ficar mudando o tempo todo. Quem quiser tirar dúvidas sobre o framework, pode postar aqui nesse tópico mesmo, ou então manda uma mensagem privada, ou um e-mail para nightlywhiskers (at) gmail.com, se preferir.

No final do tópico estão os links para baixar uma demo jogável que não precisa instalar a engine (apenas para Windows x86). Em ambas as versões, só tem uma batalha de exemplo, e logo depois dela o jogador é redirecionado para um campo de movimentação livre (só tem um personagem lá, que não faz nada, então nem tente falar com ele).



tumblr_pvkjjmKqRP1x9yfk6o4_1280.png
tumblr_pvkjjmKqRP1x9yfk6o5_1280.png

tumblr_pvkjjmKqRP1x9yfk6o1_1280.png
tumblr_pvkjjmKqRP1x9yfk6o3_1280.png

tumblr_pvkjjmKqRP1x9yfk6o6_1280.png
tumblr_pvkjjmKqRP1x9yfk6o2_1280.png


Controles:
- Z/Enter/Space para confirmar;
- X/Backspace/Esc para cancelar/voltar;
- Setas para mover cursor (na batalha) ou personagem (no campo livre).
- Shift para correr (campo livre apenas);
- Se preferir, pode usar o mouse para clicar nos botões/tiles, mover a personagem e interagir com NPCs;
- F1 para salvar no quicksave (apenas no campo livre);
- F5 pra carregar do quicksave (apenas no campo livre);
- Segure K para matar todos os inimigos automaticamente no próximo turno e L para perder a batalha (apenas para modo debug, obviamente).
- Na tela inicial, comece a segurar X antes de apertar em "New Game" para pular a cena de introdução.

Versão 0.1:
[descarga]https://www.dropbox.com/s/rlqlq2yj152bxg1/Demo%20v0.1.zip?dl=0[/descarga]

Versão 0.2:
[descarga]https://www.dropbox.com/s/lvfjrzogphr1zqc/Demo%20v0.2.zip?dl=0[/descarga]

Versão 0.3:
[descarga]https://www.dropbox.com/s/6scayhln8r0hcjg/Demo%20v0.3.zip?dl=0[/descarga]

Versão 0.4:
[descarga]https://www.dropbox.com/s/07su2r8b7e7o0if/Demo%20v0.4.zip?dl=0[/descarga]

Versão 0.5:
[descarga]https://www.dropbox.com/s/17i1ek9adaw745s/Demo%20v0.5.zip?dl=0[/descarga]
 
Última edição:
Admiro bastante vc tentar fazer uma framework pra rpg tatics, pq sou programador e sei como eh dificil pra cacete!
ainda mais hexagonal.Eu msm to quebrando minha cabeça pra fazer um sistema ACB(active combo battle), do primeiro Valkyrie profile de PSone,e ta dando uma baita dor de cabeça(Unity + c#)
O melhor sistema de Trpg q ja conheci foi o de final fantasy tatics(rei dos sistemas de Trpg), outro menos conhecido, mas muito bom tbm eh o sistema de langrisser1,2,3,4 e 5(de megadrive e saturno)
como poucas pessoas conhecem recomendo dá uma pesquisada
Ia colocar umas imagens mas minha net ta uma merda hj =/

o melhor pra mim eh o langrisser 2 de mega drive e pc
http://www.hardcoregaming101.net/langrisser/langrisser2.htm
http://www.hardcoregaming101.net/langrisser/langrisser2.htm

ps:quando tiver uma demo me fala,adoraria jogar ^^
 
Thanks, Cristiano!

Ah, eu conheço Langrisser! Eu não jogo, mas eu conheço uma pessoa que joga e fala bastante dele! xD Estão entre os jogos que serão possíveis ser feitos com o framework, sim.
A questão de ser hexagonal é o menor dos problemas, juro a você, lol. De hexagonal para isométrico ou ortogonal só mudas algumas fórmulas pra cálculo de distância, conversão de coordenadas, esse tipo de coisa.
E sobre demo... já tem algo que eu chamaria de demo xD Se você rodar o framework do jeito que tá, vai abrir um campo de batalha, e quando você termina a batalha, você pode sair andando por um mapa. Tá tudo só de teste, mas acho que é suficiente. Pra testar, você só precisar rodar a pasta "Game" com o executável do LÖVE2D (o link para instalar o LÖVE tá lá no repositório). Quando eu tiver uma demo mais "bonitinha", eu exporto ela para não precisar instalar o LÖVE.
 
Rally-ho!
Vim aqui pra avisar que criei uma demo relativamente jogável para a engine. Nela tem uma demonstração da batalha e logo em seguida tem a demonstração da navegação pelo mapa.
A demo não está mostrando todas as funcionalidades implementadas, mas as principais sim. Coisas que estão claramente faltando mas pretendo fazer um breve:
- Interação por mouse (baixa prioridade);
- Ação de fugir;
- Ação de chamar aliado;
- Ação de trade;
- Outros tipos de grid (ortogonal/isométrico);
- Sons;
- A maioria das GUI do jogo;
- Rampas para transição entre camadas de tiles de alturas diferentes;
- Suporte a campos de batalha com camadas de alturas diferentes;
- Algumas várias outras coisinhas, porque obviamente a engine ainda está longe de estar completa.

O link para baixar é esse:
https://www.dropbox.com/s/oorwe65pkno01ln/Demo%20LTH.zip?dl=0
Não precisa instalar nada, só rodar. Eu não fiz uma versão em navegador porque o porte ainda é muito limitado. Me avisem se não estiverem conseguindo rodar (posso ter esquecido alguma biblioteca).

Ah, e fiz uma logo fulera e uma mascote :3
 
Agora funcionou. E gostei. Falta uma engine focada em batalha tática atualmente. Gostei bastante da movimentação geral do personagens. E, sabendo que é uma demonstração bem inicial, corro o risco de ser muito chato agora, mas queria citar dois pontos: Testei o teclado todo e não encontrei um botão para "cancelar", logo se seleciono a opção de ataque sem alvo ao alcance, fico travado. Claro, eu posso ter deixado alguma tecla passar batida e aí seria burrice minha. Também achei incômodo o fato dos inimigos e aliados não desaparecem após morrerem. Os "cadáveres" ficam de pé, ou tive essa impressão. Levei três turnos para perceber que meu aliado estava morto (ele ficou de costas). Lembrando que não entendo do assunto, então não se importe muito com essas opiniões. E sobes a parte gráfica, achei muito boa. Quando tiver uns personagens e cenários mais detalhados, acredito que teriam a qualidade de um Tacticis Ogre.
 
Obrigada pelo feedback, Joe!
Sobre a tecla de cancelar, na verdade tem sim, é o X. Se você ficou travado, pode ter sido também algum bug que fez dar crash - e pra isso teria que ver os log do console; vou ver se tem como fazer uma versão da demo com o console habilitado. Mas enquanto não faço isso, você pode me dizer exatamente como foi que travou para eu ver se consigo reproduzir aqui?

E sobre os personagens mortos... Na verdade, eles ficam ajoelhados, mas como minhas técnicas de pixel art são um lixinho, aí ficou ruim de identificar mesmo xD Existe um sprite específico para quando o personagem é derrotado (posso tentar deixar acinzentado, sei la). Mas eu vou mais tarde tentar dar a opção de fazer o personagem meio que "explodir" quando morre, lol.
 
Foi burrice minha, realmente pulei o x. Eu tinha movido o personagem com lança (?) até o canto e selecionado a opção de atacar sem alvo próximo. Talvez também tenha travado porque 1) meu notebook esteve na arca de Noé ou 2) o imbecil aqui pausou o jogo. Funciona perfeitamente. E o pixelart nem é ruim, está muito bom. A perspectiva não colabora.

Edit em tempo: Travou novamente. Dessa vez tenho certeza de que apertei X e não funcionou. O processo foi simples: na primeira jogada movi o "mago" até um ponto onde fosse possível atacar. Ataquei. Depois movi o outro personagem até ali e selecionei a opção de ataque. Travei.

pxbjFVV.png

 
Achei o bug, obrigada mesmo! Era algo bem besta, eu que sou lesa xD
Já atualizei os dois arquivos com o bug corrigido c:
 
Caramba! Fiquei curioso pra ver quantas linhas você escreveu.
Poderia fazer umas tutoriais rsrs

Não faça! Se foque no seu projeto.
Lindo sistema.
 
Obrigada xD Eu até tinha começado a fazer um manual no início do ano, só que era horrível de manter porque eu tinha que ficar atualizando sempre que eu fazia algum modificação da funcionalidade da engine :/ Eu pretendo ainda fazer um, mas só quando eu terminar tudo.
Não faço ideia de quantas linhas de códigos tem no total, nem quantos arquivos (e nem to afim de contar, lol), mas tudo pode ser fuçado pelo github, 100% código aberto xD
 
Gente, quem faz/fez/quer fazer um TRPG respondam essas questionário, plos:
https://docs.google.com/forms/d/e/1FAIpQLSdwiAjDcuKxsQHgEf-4jl_GOy9qxmLYlMDx92E6LDwo-AEK8A/viewform

Ele vai me ajudar a tentar superar o máximo de falhas/limitações possíveis que os outros motores têm e que atrapalham no desenvolvimento para vocês. Então sejam bem detalhistas para que eu possa atacar melhor o problema.

Thanks!
 
Só pra avisar que estou postando aqui uma segundo versão da demo, a versão 0.2! O link já está no tópico.

Novas features:
- Visualização de atributos (aperte para cancelar na janela de ações de batalha);
- Fugir (colocar personagem no backup);
- Chamar aliado (trazer personagem do backup);
- Status veneno;
- Status sono;
- Uso de items;
- Inventários individuais, com ação de Trade;
- Cenário mais bonito :D [agradeço ao meu amigo Louco dos Ventos pelos tiles].

Nos próximos episódios:
- Menu pré-batalha, para que o jogador possa reposicionar os personagens no campo, trocar equipamentos e redistribuir itens;
- Menu pós-batalha, para mostrar ganhos de dinheiro/items e level-up;
- Input de mouse;
- Sons.

Ah, e um colega meu resolveu se voluntariar para fazer um editor gráfico para o database do jogo. Para quem quiser dar uma curiada no progresso, aqui tá o repositório: https://github.com/felipetavares/lovely-tactics-gui

Gbye :3
 
Eu baixei e dei uma olhada.
Como está em desenvolvimento eu não sei se travei, se foi bug ou se é até onde estava feito mesmo, mas eu só fiz uma batalha inicial, apareci em outro mapa com um boneco parado que não interagiu com nenhuma das teclas disponíveis. ><

O que pode ser?
 
De fato é só até onde que foi desenvolvido AHEUAHEUA
Como ainda nem terminei o sistema de batalha, não pude dar atenção para essa parte com chars interagíveis.
Eu vou deixar isso explícito no tópico, pra não deixar mais gente confusa xD
[thanks por testar, btw!]
 
Gostei dessa atualização. Meu único comentário sobre a parte gráfica ainda é sobre os personagens mortos. Eu prefiro que eles desapareçam ou fiquem deitados. Mesmo ajoelhando e escurecendo um pouco, ainda confundo com personagens vivos - culpe minha visão de toupeira. Achei essa movimentação "automática", essa que aparece no fim da batalha, excelente. O personagem desvia das curvinhas sempre que possível e não notei nenhum bug. Agora, minhas sugestões para a engine:

Nos sistemas semelhantes para RPG Maker, a edição do alcance de habilidades ou movimentação é feita por tags e isso é um saco. Seria bem mais prático se o desenvolvedor simplesmente definisse a movimentação assim:

Tipo: Linha. Distância: 5.
Tipo: Círculo. Raio: 5.

Acho que deu para entender. Também seria bacana ter diferentes níveis de altura no terreno. Isso deixaria a batalha muito mais dinâmica. Um exemplo de habilidade envolvendo o sistema - como se eu entendesse do assunto:

Tipo: Linha. Distância: 5. Nível: 3.

Basicamente, uma flecha que pode passar por cima de pequenos obstáculos como pedras, mas seria barrada por um muro. Essa dinamicidade do terreno permitira criar itens / habilidades para "escalar", personagens se movimentando em apenas um tipo de terreno e etc. Aguardo novidades. o/
 
Obrigada, Joseph! :D
Eu só não fiz personagens deitados porque acho que eles ocupariam muito espaço e passariam do tile xD Mas é possível colocar para eles desaparecerem, é só que assim os aliados não vão poder revivê-los. Vou botar no database de battlers uma opção "retirar do campo quando morrer" ou algo assim xD

Sobre a questão de personalizar as coisas por tags e tals... infelizmente, vai ter coisa que eu não tenho como evitar ser por tag. É que não tem como eu considerar todas as customizações de jogo possíveis, sabe? Tipo o formato do alcance. Tem círculo e linha... mas e se a pessoa quiser algo em, sei lá, quadrado? Ou um triângulo à frente do char? Ou apenas o contorno do círculo? É foda, o cara vai ter que fazer um script próprio pra habilidade mesmo. Mas os valores de distância de alcance e raio de efeito já são customizáveis no database por padrão.

Eu pretendo colocar tiles com alturas diferentes sim, através de camadas. Eu decidi colocar em camadas - e cada camada com altura diferente em vez de setar a altura de cada tile - para que fosse possível ter dois tiles de altura diferentes no mesmo (x,y). Como pontes, por exemplo. Mas isso ainda vai demorar porque nem comecei e ainda tenho que terminar outras coisas :x
Também pretendo colocar o lance da flecha e de tipo de terreno e tals, mas também não sei quando xDD

Obrigada pelas observações :3
 
Não rola criar um editor de alcance para habilidades? Por exemplo, na aba de criação tu deixa um espaço com X quadros e o desenvolvedor marca o modo como quer que o alcance funcione. Esse editor incluiria o ponto inicial da habilidade (onde o personagem vai estar) que poderia ser arrastado livremente pelos quadros. O caso dos personagens mortos, substituir o charset por um ícone já ajudaria. Ou, fazendo eles desaparecerem, incluir um ponto de "respawn" ou mostrando os charsets somente quando na "tela de seleção de alvo".

jY3DxR6.png

Enfim, paro de dar palpites aqui porque eu não entendo do negócio. :x
 
Eu vi esse editor, o problema é só que ele não tá considerando o tamanho do field. Podem existir habilidades cujo alcance atravessa todo o mapa (uma linha reta, por ex). Esse tipo de coisa só dá pra fazer por script mesmo. Um editor assim meio que tá assumindo que o alcance da skill sempre pode ser representado por uma "máscara" de tiles finita. [btw, onde você baixou o editor? Eu só encontrei uma versão em português, mas a tradução é horrível ;-;]
E quanto aos personagens mortos, nesse caso é só desenhar o ícone do lugar do char ajoelhado xD Quanto às outras opções, eu nunca as vi em nenhum outro jogo, então não sei dizer se funcionariam bem só imaginando. Geralmente ou somem do mapa ou ficam nocauteados no chão (o jogo que eu mesma uso para referência para essa engine também faz isso).
 
Voltar
Topo Inferior