A ideia inicial do grupo era criar um site capaz de emular alguns jogos no estilo ‘friv’, porém com mais algumas funcionalidades, como um sistema de ranking e um banco de dados integrado para salvar as pontuações dos usuários.
Um dos primeiros problemas enfrentados foi a definição dos jogos e como hospedá-los no site. Optamos por jogos chip 8 devido à ampla gama de jogos disponíveis e fácil conversão para a web. Porém, notamos que seria impossível retirar os scores por meio do arquivo binário do jogo, por falta de comunicação entre o jogo e a web. Pensamos em duas opções: analisar a pontuação por meio de uma screenshot automática (lida por uma ia) ou pedir para o usuário colocar a própria pontuação.
Paralelamente, tivemos dificuldade para setar a vm na cloud magalu devido a alta demanda. Por causa disso, não conseguimos testar a interação servidor-cliente, atrapalhando o andamento do processo.
Conseguimos colocar a vc para funcionar e depois de algumas tentativas e erros do maravilhoso Augusto, o site está hospedado na nuvem e podem ser jogados jogos de chip-8, desde que tenha o arquivo do jogo. Estámos trabalhando para mudar isso.
Conseguimos finalizar o front-end, porém continuamos com problemas no back-end. Portanto, nossa aplicação acabou se tornando um emulador online capaz de rodar os jogos chip-8 que as pessoas tem nos seus computadores.
Atualmente estamos trabalhando no sistema de ranking e pontuações dos usuários.
Introdução
Tivemos a ideia de hospedar um site com diversos emuladores de jogos antigos, tanto para ser algo de preservação digital, como sendo um bom lugar para passar um tempo.
Porém, claramente era algo muito ousado e logo notamos os problemas, de como conectar tudo isso, ou de como se quer, colocar um jogo na web. Com um pouco de pesquisa vimos sobre o Wasm e assim começou a nossa jornada.
Desenvolvimento
Começarmos a tentar integrar um emulador simples e fazer um frontend, porém até isso se mostrou complicado. Mas com perseverança fomos começando a entender e integrar as coisas.
Tivemos discussões sobre que jogo colocar e o que fazer, mas vimos que a emulação que escolhemos nos colocou em um lugar complicado. Como ela não tinha uma saída além da tela, não conseguimos pensar em um processo fácil de fazer um ranqueamento, porém, com um brainstorm, conseguimos pensar em uma leaderboard utilizando dados que o usuário dava. Não necessariamente era o melhor método e dependia da honestidade, mas era algo.
Ao passar da noite, as poucos, algum protótipo de site foi saindo. Não era o mundo que imaginávamos, mas era bastante legal para algo que estamos vendo pela primeira vez.
Funcionalidades da cloud
O site sempre volta ao ar, sempre que o acontece alguma coisa com a cloud e/máquina virtual, graças a algumas artimanhas feitas na VM, de forma que desde que a cloud seja operante, o que a cloud da magalu sempre é, o site estará no ar.
Finalização
Conseguimos um site com alta portabilidade para jogos chip-8, bem como uma experiência bem enriquecedora e nova para todos os integrantes do grupo, tendo a oportunidade de trabalhar em algo diferente do habitual de salas de aula.
Link
Repositorio no github: GitHub - Augusto-Ildefonso/Hackathon-Secomp-2024: Um repositório para o projeto da Hackathon da MagaluCloud na SeComp 2024
Maquina Virtual: Friv2