[Java Game Engine 2D ] Parallax (Ver. 3.0 Alpha) Lançado!

Amigos da comunidade GUJ, vocês devem vir acompanhando o meu projeto a algum tempo, e estive ansioso pelo momento que poderia lançar a versão alpha do meu projeto. Para quem não sabe, ele é um motor de criação de jogos em 2D especializado no formato RPG, este projeto é totalmente feito em Java e suas tecnologias especificas para este foco.

O projeto e Free e Open-source.
Licença: Estou na duvida entre GNU GPL ou Creative Commons.

Creative Commons: http://creativecommons.org.br/as-licencas/

Não me importo que usem ou façam novas versões a partir deste projeto, desde que coloquem os direitos autorais e referencias ao meu projeto no seu produto (Incluso o final), afinal um projeto gratuito e aberto sobrevive de divulgação e indicação de autor. (É a única coisa que quero em sua licença).

Noticia no site oficial: Versão Alpha do Parallax para Download (Incluso Manual).

Na descrição do vídeo tem o link para o Manual em pdf e os arquivos para downloads.

Que legal cara,parabens! Com certeza vou dar uma conferida!

Obrigado, não esqueça de dar o feedback, do que achou etc. (Esta é uma das partes mais importantes ^^).

Desde que fiz este vídeo o projeto evoluiu bem mais, podem conferir isto no manual, que sempre esta atualizado com o projeto. :wink:

Download: https://sourceforge.net/projects/parallaxu/files/

Manual: http://ufpr.dl.sourceforge.net/project/parallaxu/Manual_Parallax.pdf

Dando uma olhada no manual, eu tive uma sensação de amadorismo quando vi os labels com erros de grafia (Multimédia, Missoes, Audio, Raca, etc.), acho que é legal deixá-los corretos para não dar essa sensação.

Também acho que você devia deixar mais explícito que a engine é somente para RPGs, não fala nada sobre isso na página do sourceforge nem no manual (dá pra se inferir ao lê-lo, mas seria melhor que estivesse explícito).

Fiquei em dúvidas quanto à versão do Java, aém de não estar clara qual versão é necessária (deveria ao menos constar no manual), em uma página diz que pode ser usada versão 6 ou superior, mas na página do ParallaxDB diz que é necessária a versão 7

Uma dica: você poderia lançar sua engine em Inglês também, assim conseguiria atingir mais pessoas.

Apenas um ponto que achei meio complicado: comparar sua engine em estado com argumentos tendenciosos não é uma boa ideia (Objective-C não é uma linguagem intuitiva para a criação de jogos). Acredito que essas comparações deveriam ser feitas em nível de funcionalidades, suporte, comunidade (o GameSalad tem uma comunidade bacana e o fórum deles tem cerca de 60 mil mensagens). É melhor focar nos pontos fortes da sua engine do que fazer comparações estilo “polishop” que não servem muito pra projetos cujos utilizadores são pessoas técnicas. Outra coisa é o multiplayer: na descrição do projeto diz que ainda não foi implementado, mas, logo abaixo, diz ser a única engine com suporte nativo a multiplayer dentre as engines da tabela. Como não encontrei nada referente no manual, não sei se isso foi implementado.

Enfim, eu não tive tempo de testar a engine, mas eu sempre gosto de ler tudo sobre os projetos para ter uma ideia melhor e, confesso, achei prepotente a parte das comparações. Acho que você deveria dar mais foco a promover sua engine melhorando o manual, corrigindo os erros de grafia e focando no fato de ela ser opensource. Se você lançá-la em inglês, pode conseguir uma visibilidade maior e um grande apoio da comunidade. Não é só do código-fonte que vive um projeto opensource (e eu digo isso por experiência própria).

Aliás, quanto ao fonte, eu não tenho tanto conhecimento nessa área para dar uma olhada direito (e até entender mesmo, sou bem leigo em programação de jogos). A julgar por um método main espalhado no código, acredito que não tenham testes de algumas funções da engine. Outro ponto complicado foi a mistura de inglês com português no código (ActorSkillEffect, Missao, Objetivo, Actor, ActorHero, ActorMonstro e por aí vai): além de dificultar a leitura, dificulta a adoção por causa da restrição pelo idioma. Sugiro, também, que o coloque no GitHub pois isso vai facilitar a contribuição com o projeto.

No mais, parabéns pelo projeto! É bom ver iniciativas opensource nessa área e, se estou dando essas críticas, é porque gostaria de ver o projeto caminhar e atingir a maturidade com fôlego pra brigar com outras engines.

[quote=Ataxexe]
Também acho que você devia deixar mais explícito que a engine é somente para RPGs, não fala nada sobre isso na página do sourceforge nem no manual (dá pra se inferir ao lê-lo, mas seria melhor que estivesse explícito).[/quote]

Na verdade, pela proposta do projeto, o nome correto não seria “Engine”, e sim, “Maker”. A distinção dos dois é que a Engine tem o objetivo de ser um motor para facilitar a programação do jogo - mas ainda encara a programação como parte importante do processo.

Já o Maker tem o objetivo de eliminar, quase que completamente, a programação. Por consequencia, makers acabam sendo muito mais focados em um estilo só de jogo, como é o caso da Parallax, que tem foco claro em RPGs.

[quote=ViniGodoy][quote=Ataxexe]
Também acho que você devia deixar mais explícito que a engine é somente para RPGs, não fala nada sobre isso na página do sourceforge nem no manual (dá pra se inferir ao lê-lo, mas seria melhor que estivesse explícito).[/quote]

Na verdade, pela proposta do projeto, o nome correto não seria “Engine”, e sim, “Maker”. A distinção dos dois é que a Engine tem o objetivo de ser um motor para facilitar a programação do jogo - mas ainda encara a programação como parte importante do processo.

Já o Maker tem o objetivo de eliminar, quase que completamente, a programação. Por consequencia, makers acabam sendo muito mais focados em um estilo só de jogo, como é o caso da Parallax, que tem foco claro em RPGs.[/quote]

Entendi! Depende da abstração então. Seria legal mudar pra Parallax Maker 2D pra evitar confusões.

Outra dica que eu dou para o projeto é fazer o manual usando Markdown (ou qualquer variante dele) e versioná-lo junto ao fonte. Além de ficar mais fácil de gerar vários formatos (usando o pandoc, por exemplo, pode-se gerar pdf, docx, epub, html e mais uma pancada de outros), fica mais propenso a contribuição por parte da comunidade e, inclusive, o próprio GitHub já renderiza esse formato, podendo ser acessado online do próprio repositório do projeto.

Opa obrigado pelo retorno, esta é a intenção. Vamos por partes:

Sobre o manual eu já tinha visto isso, quem na verdade esta escrevendo ele pra mim é o João Thallis, ele é um garoto novo que esta me dando uma força nesta parte, só faço validar as telas e alguns textos em pedaços. Quando tiver um tempo vou formatar o pdf para algum padrão e rever isto (Mas vou logo ajeitar as informações que mencionaste).
Obs.: Tenho que entregar até o dia 10 meu pré-projeto, e esta tendo reuniões e atividades sem parar, fora 2.000 fichas que tenho que cadastrar para o meu projeto do Mestrado. Se não fosse este jovem ao qual sou grato, ainda não ia ter manual. hahahahaha…

Vou rever estes textos que possam parecer pedantes (Com certeza passo longe disso), mas as comparações básicas como é o caso da tabela deve existir, pois 70% das vezes a primeira pergunta é “Qual a diferença entre esta Engine e as outras? tem algum comparativo”.

O suporte multiplayer já esta incorporado nele, só não trabalhei mais esta parte porque existem varias formas de iteração entre jogadores online e são acumulativas: Chat, ver no mapa, troca, duelo, etc.
Preciso ainda definir que tipo de interação vou liberar na engine inicialmente. Porém se quiser só mudar de SQLite para MySql apontar para um servidor que tenha este banco, e cadastrar os jogadores, todos vão acessar a mesma base, tendo personagens e contas diferentes, porém sem interação direta entre eles (Mas vou mudar o termo para suporte OnLine pois o multiplayer deu a entender que a iteração já esta existindo entre os jogadores).

Idioma no fonte, até a versão 2.0 ele era 100% Inglês, mas desde 2011 programo só no projeto e não tive ajuda externa no projeto de forma efetiva, tive ajuda de estrangeiros em outros níveis, como me ensinar certos conceitos com exemplos etc. Mas no projeto efetivamente nem nacional e nem internacional, então nesta versão deixei 100% Pt-br o DataBaseEditor, como teste, para ver se facilitaria o apoio BR neste sentido, mas to vendo que não faz diferença, porém o que existe em Pt-br vai ser mudado para inglês.

Obs.: Lembre-se que existe duas versões iniciais a Alpha e Beta. A Alpha quem testa são os criadores do projeto e os testadores oficiais do mesmo, e o beta é a versão lançada ao publico. Como não tenho neste ponto ninguém além de mim, a versão alpha esta com vocês, para justamente me dar o retorno.

Dependo justamente deste feedback de vocês para ir melhorando este pontos, inclusive os “não técnicos”, mas que compõem o projeto.

Rapaz Viny levantou uma questão importante, agora me veio a pergunta tanto “Engine” como “Maker” são motores de criação de jogos?, porém Maker procura ser quase um wizard (next, next…), como consequência vem a especialização em um determinado processo, que no caso aqui é o RPG. Enquanto que a “Engine” procura manter o grau de personalização em níveis mais baixos como o da programação, esta correta a minha afirmativa?

Neste caso em português ainda poderia chamar o Parallax de motor de criação de jogos ou mudaria este termo para … ?

Parallax Maker, faz sentido, principalmente hoje em dia que ele já trilha este caminho.

Estou em um período corrido até o dia 10, mas vou durante estes dias ir fazendo estas mudanças, o projeto funciona até em um pendrive, caso queira levar e testar ele em outros ambientes.
Obs.: Já testamos no Windows, Mac e Linux, todos utilizavam OpenGL2. Então podem testar a vontade nestes ambientes.

Agradeço muito as observações, o objetivo da versão alpha é esta. :smiley:

Isso mesmo, Michel. Os motores tem a prerrogativa de serem mais genéricos, e serem ferramentas de suporte para artistas e programadores.

Os makers já tem o lado de serem ferramentas mais específicas, com “next”, “next” e para qualquer público. São ferramentas ótimas para introduzir novos usuários ou para usar no aprendizado.

A sim, agora que vi sobre o GitHub.
Git não é tão intuitivo e simples de usar, principalmente para quem nunca usou controle de versão, porém o SVN é simples, rápido e direto. Cada controle de versão tem uma finalidade mais especifica: Git, SVN, Mercurial, etc. Falo isso porque desde 2011 tenho tido contado com apoiadores de vários os níveis e testei varias possibilidade e de longe o SVN foi o mais simples (No meu caso isso é vital).

Na descrição do projeto eu falo sobre a versão do Java em “Tecnologias Envolvidas” (Linguagem: Java 7+), mas vou por isso de forma especifica no manual.

[quote=Michel.Montenegro]A sim, agora que vi sobre o GitHub.
Git não é tão intuitivo e simples de usar, principalmente para quem nunca usou controle de versão, porém o SVN é simples, rápido e direto. Cada controle de versão tem uma finalidade mais especifica: Git, SVN, Mercurial, etc. Falo isso porque desde 2011 tenho tido contado com apoiadores de vários os níveis e testei varias possibilidade e de longe o SVN foi o mais simples (No meu caso isso é vital).

Na descrição do projeto eu falo sobre a versão do Java em “Tecnologias Envolvidas” (Linguagem: Java 7+), mas vou por isso de forma especifica no manual.
[/quote]

Gostaria de saber em quais pontos o Git não te atendeu pois um SCM distribuído pode ser a diferença entre 2 e 2000 colaboradores no seu projeto. Há tempos a comunidade adota SCMs distribuídos justamente pra promover agilidade e colaboração e o GitHub é uma das plataformas mais utilizadas. Usar SCMs centralizados para projetos opensource não é convidativo. Os ganhos compensam, e muito, o pouco tempo que é gasto no aprendizado do Git (em algumas horas você consegue ter uma boa base e usá-lo pra valer, inclusive, migrando um repositório SVN).

[quote=Ataxexe][quote=Michel.Montenegro]A sim, agora que vi sobre o GitHub.
Git não é tão intuitivo e simples de usar, principalmente para quem nunca usou controle de versão, porém o SVN é simples, rápido e direto. Cada controle de versão tem uma finalidade mais especifica: Git, SVN, Mercurial, etc. Falo isso porque desde 2011 tenho tido contado com apoiadores de vários os níveis e testei varias possibilidade e de longe o SVN foi o mais simples (No meu caso isso é vital).

Na descrição do projeto eu falo sobre a versão do Java em “Tecnologias Envolvidas” (Linguagem: Java 7+), mas vou por isso de forma especifica no manual.
[/quote]

Gostaria de saber em quais pontos o Git não te atendeu pois um SCM distribuído pode ser a diferença entre 2 e 2000 colaboradores no seu projeto. Há tempos a comunidade adota SCMs distribuídos justamente pra promover agilidade e colaboração e o GitHub é uma das plataformas mais utilizadas. Usar SCMs centralizados para projetos opensource não é convidativo. Os ganhos compensam, e muito, o pouco tempo que é gasto no aprendizado do Git (em algumas horas você consegue ter uma boa base e usá-lo pra valer, inclusive, migrando um repositório SVN).[/quote]

Acho que não me entendeste, desde 2011 para cá tentei varias coisas para ver se melhorava o apoio de programadores, quando um amigo do trabalho que tinha o mesmo pensamento colocou o projeto no github para dar gás ao projeto, teve o efeito contrario, os que já estavam tentando ajudar começaram a apanhar na utilização, e acabou gerando desistências. (Nem eu ou meu colega temos tempo de treinar profissional a profissional toda vez que muda alguém), resultado perdemos muito tempo, porque um ambiente distribuído para quem não sentou estudou e trabalhou nele, não é nem um pouco de fácil uso. Quando voltei a usar o SVN, não tive mais esse tipo de dor de cabeça. Usei o Gi em outros projetos, onde nossa equipe já conhecia o ambiente e foi ótimo, como sempre digo cada caso um caso.