|
|
5 өдөр өмнө | |
|---|---|---|
| assets | 5 өдөр өмнө | |
| scenes | 5 өдөр өмнө | |
| scripts | 5 өдөр өмнө | |
| .dockerignore | 5 өдөр өмнө | |
| .gitignore | 5 өдөр өмнө | |
| Dockerfile | 5 өдөр өмнө | |
| README.md | 5 өдөр өмнө | |
| export_presets.cfg | 5 өдөр өмнө | |
| manual.md | 9 жил өмнө | |
| project.godot | 5 өдөр өмнө |
Gabriel Capella, 8962078
João Herique Luciano, 8535957
EP2 MAC0463
O jogo desenvolvido nesse projeto foi um estilo brick-break onde o objetivo é avançar de fases atingindo o núcleo vermelho dentro das camadas de blocos. Os blocos em questão podem ser destrúidos ao serem atingidos pela(s) bola(s) em jogo.
Satisfazendo alguns requisitos do trabalho, foram implementadas as seguin- tes funcionalidades:
Alguns detalhes que devem ser mencionados sobre a implementação:
O jogo foi desenvolvido originalmente com o framework cocos2d-x, em C++, para Android, e testado em um celular Motorola G4 com Android 7.0.
Hoje o jogo é um projeto Godot 4.7 em GDScript, portado do código
cocos2d-x mantendo o mesmo comportamento (geração de fases, power-ups,
efeitos e sons). Para editar, abra o project.godot no editor Godot.
scenes/: cenas (título, jogo, bola, pá, power-up, efeito de explosão)scripts/: um script por classe do jogo original (blocks.gd é o antigo BlocksLayer)assets/: fonte e sonsPara deixar o jogo mais legal criamos fases aletórias. São infinitas fases.
Comforme o nível são geradas são geradas fases na seguinte sequência: 1 fase de uma camada, 2 de duas camada, 3 de 3 camadas, até 8 fases de 8. Quando a oitava fase de 8 camadas é completa, o tamanho da camada é dividido por 1.5 e o ciclo se repete, mas agora com no máximo 12 camadas.
Fases com o a mesma quantidade de camadas são destintas pois a probabilidade de blocos indestrutíveis aumenta conforme o jogador chega mais perto da última.
O build roda dentro do Docker, com o Godot em modo headless. Antes de exportar, ele roda as duas cenas e falha se houver erros de script:
docker build --target test -t redcore-build .
id=$(docker create redcore-build) && docker cp $id:/project/build/RedCore.x86_64 build/ && docker rm $id
./build/RedCore.x86_64
Com BuildKit, docker build --output build . faz o mesmo em um passo.
Por enquanto só o export para Linux está configurado.