Release 1.1.0

Primeiramente, ctrl-v da wiki mostrando nossas metas para esse release:

  • Definir nome para a Engine.
  • Definir licença da Engine.
  • Documentar a Engine.
  • Acabamento do Editor (Ajuda e ferramentas de alto nível).
  • Sistema de GUI.

Aliás, já consegui fazer um parser para o AnimationSet minimalmente funcional, por isso já tirei da lista.

Estou fazendo esse tópico para, no geral, discutirmos o andamento dessas últimas tarefas. Em particular queria usar esse tópico para finalmente fecharmos o primeiro item (pelamordedeus). Se possível o segundo também, mas eu não entendo muito do assunto…

Já começando a discussão, aqui vão uns nomes que surgiram em algumas reuniões e que eu tinha anotado por aqui:

– Horus Eye related.
Pyramid Framework
Anubis Framework
Shpynx Framework
Nilo Framework
Ankh Framework

  • Otoko related.
    Drill Framework

  • Direct and simple.
    2D Framework (2DF)
    Game Development 2D Framework (GameDev2D)

  • Acronyms.
    TWO-D Framework: True Will Overdrive Development Framework
    ZUEI Framework: Z___ USP Entertainment Interface Framework

  • Other.
    Good Vibes Framework
    Biodigital Jazz Framework

Aceitam-se, obviamente, novas sugestões!

Também queria falar sobre uma idéia que tive junto com o Henrique (Gemniani).

Nós podemos, na verdade, dividir o Horus Eye em três camadas: a framework, uma engine isométrica que usa a framework, e o jogo em si.

A framework é o que ela é, ou seja, um conjunto de funcionalidades para desenvolver jogos 2D. Já engine isométrica seria o conjunto de funcionalidades que poderiam ser reaproveitados por outros jogos 2D também isométricos (renderização isométrica, detecção de colisão, sistema de mapas e atores…). E, por fim, o jogo em si seriam as funcionalidades que caracterizam o Horus Eye (o herói, as múmias, etc). Então tínhamos pensado em de fato fazer essa divisão. Com isso, poderíamos fazer novas engines que usassem nossa framework também (como, por exemplo, uma engine para platformers), o que seria muito interessante.

Claro, isso exigiria um trabalho de refatoração razoável, mas eu pelo menos acho que valeria a pena e que seria divertido XD. Também precisaríamos levar isso em consideração na questão dos nomes (o que é parte do motivo por eu estar falando disso aqui). Teríamos um nome para a framework (por ex. ‘Game Development 2D Framework’) e outro para a engine isométrica (por ex. ‘Horus Engine’, em homenagem ao jogo do qual ela surgiu).

É isso aí, desculpem pelo post longo… por favor quem puder ajude na discussão para que possamos continuar avançando com o Horus Eye.

[personalidade alternativa do Wil]

Bom, Wil, eu gosto dos nomes “Drill Framework”, “Game Development 2D Framework” e “Good Vibes Framework”, se formos deixar o Horus Eye separado em duas partes como ele está.

Já se formos usar a idéia das três camadas, eu deixaria o nome da framework como “Game Development 2D Framework” e o nome da engine como “Drill Engine”, “Horus Engine” ou “Isometric Engine”.

Talvez o “ZUEI Framework” se torne uma boa proposta, dependendo do que colocarmos no “Z___”.

ZUEI Framework FTW
Tinhamos pensado no “Z___”, mas nem lembro qq era haha

Pode ser meio viajado mas ainda acho uma opção válida: Se formos fazer essa mega-super-duper-refatoração, porque também já não adicionar suporte à Python na framework (e talvez até no Horus Eye)? xD
Agora que aprendi como embedded-ar python em C++ no Pirates! (não sei se tem o “!”, mas fica mais divertido :stuck_out_tongue:), fica fácil fazer o mesmo em outros projetos. E o código que eu ia (note bem o tempo da frase - começei a fazer essas coisas mas não terminei ainda) fazer pra ajudar nisso no Pirates!, tipo a classe PythonManager e tal, quase certeza que será, em si, “independente” do resto do código, logo deverá ser bem fácil de colocar na framework também.

Então, para ser justo, façamos um super-duper múltiplo-suporte a linguagens de script na framework, incluindo Python, Lua e qualquer outra que tenhamos coragem de tentar.

Suporte à Python seria algo realmente interessante de colocar na release 2.0, mas seria ao Horus Eye em si. Na framework teria que pensar onde exatamente colocar. Acho que para o nome da framework, podíamos colocar um nome que não tenha “Framework” no meio. Sei lah, Pyramidworks?

Eu tinha pensado em usar as linguagens de script como mais uma interface à framework. Assim, por exemplo, seria possível fazer um Horus Eye totalmente em Lua/Python/<insira_sua_linguagem_de_script_favorita_aqui>. Não que devamos de fato portar o Horus Eye para uma linguagem de script, foi só um exemplo.

Quanto ao “Framework” nos nomes, eu coloquei eles porque em geral diremos Framework, em inglês. Por exemplo, “The Pyramidworks Framework”. Eles não necessariamente fazem parte do nome. Então, omitindo o “Framework”, sugiro mais um outro nome: “2D Game Development Kit” (2D-GDK). Achei que ficou legal, e siglas do tipo **DK (como JDK, SDK) soam bem ^^.

Wil, você reproduziu aqui tudo que você anotou? Tenho impressão de que vários nomes que tinham aparecido ficaram de fora.

(Ah, lembrei de um agora: University Students’ Portable Framework – “USP Framework”. Podendo ter um “2D” aí no meio.
Esse era meio que uma brincadeira, mas só pra exemplificar).

Bom, eu acho que a proposta de segmentação dos três “níveis” é bem interessante e faz bastante sentido.
Suporte a linguagens script também seria uma adição interessante para uma próxima versão da framework.

Eu só achei esses nomes nas minhas anotações… Também lembro de ter vários outros, como, por exemplo, “Potato Framework”. Não lembro porque não anotamos tudo.

A ideia de separar em três camadas parece interessante, embora eu ainda não conheça muito bem o código do Horus Eye. O mesmo para adicionar suporte a linguagens de script.

Sobre o nome, não tenho muita preferência por nenhum deles, mas sugiro que sigamos o que o Gubi disse hoje: primeiro definimos o acrônimo, e depois nos preocupamos em encontrar um significado para ele.

Sobre o Z___, podem ser várias coisas:
Adjetivos: Zappy, Zany
Pessoas: Zeno, Zorn, Zorro
GNU Style: Zuei
Nonsense: Zapateado

Como eu já disse pessoalmente pro Wil, gostei bastante da sugestão do Henrique (Pyramidworks) como nome pra camada isométrica! =)

Pro framework em si, acho que essa técnica de “brackronym” é meio o que a gente tava tentando mesmo hehe. =)

Eu gostei da idéia do Zuei (GNU style)

No caso, acho que pra ficar bem GNU-style mesmo, seria mais legal algo como

ZUEI = ZUEI is USP’s Entertainment Interface

E, de fato, fica mto bom XD, embora ainda goste do “2D Game Development Kit”.

Bom, hoje na reunião praticamente decidimos ficar com os seguintes nomes:

  • UGDK (“USP Game Development Kit” ou “USPGameDev Kit”) para a framework.
  • PyramidWorks para a engine isométrica.

Se alguém tiver alguma coisa contra esses nomes, pode falar. Sempre podemos mudá-los se for necessário.

Me aprecem bons nomes!
Por mim passam!

Opa, então eu voto para ser um nome diferente cada mês!

Estes parecem bons nomes (para o mês de agosto). E sim, é absolutamente necessário. Ajuda as pessoas a se localizarem no tempo.

Você se refere a algo tipo o que o Eclipse e o Ubuntu fazem com os nomes dos seus releases? Ok, até podemos fazer isso, mas mesmo esses projetos têm um nome base que não muda.

Eu pessoalmente acho que o número da versão já ajuda bastante em termos de se localizar no tempo… e acredito que nossa imaginação talvez não consiga gerar um nome legal todo mês. Se você quiser levar essa idéia adiante, você se responsabilizará por ela =P

Huahua, todo mês é exagero. Mas seria interessante ter um codenome para cada release importante.
Ou então, um codenome/tema para a geração atual do grupo, que serviria como base para dar os codenomes dos projetos lançados.

Pyramidworks é um nome coloca monóculo e xícara de chá ahem AWESOME!

Tínhamos que chamar o Horus Eye de πramid e o novo jogo de πrates! :smiley:

Tag do Release 1.1.0:

[url=https://github.com/uspgamedev/horus_eye/tree/v1.1.0]https://github.com/uspgamedev/horus_eye/tree/v1.1.0[/url]

Download do tarball: https://github.com/uspgamedev/horus_eye/tarball/v1.1.0

Precisamos preparar os instaladores para Windows, algum .deb para Linux e seja lá o que for para Mac. Em particular, tem uma chance significante que precise de um release 1.1.1 caso não compile no Mac…

EDIT: Acabo de notar que não coloquei um LICENSE.txt falando que é Creative Commons até que se diga o contrário…