[Wild League] - Minha tentativa de criar um jogo no Fediverso
Oi!
Nesse post quero falar um pouco sobre o desenvolvimento do meu jogo no fediverso.
Sobre o jogo
É um jogo PvP de estratégia em tempo real utilizando cartas.
O objetivo do jogo é destruir a base do seu oponente (que consiste em 3 torres), cada partida não possui um tempo definido, mas é estimado que as partidas durem em média 10 minutos através de um estudo de level design.
As partidas serão sempre em 2 jogadores (1x1) e cada jogador terá um número indeterminado de cartas, sendo limitado somente ao custo*.
Custo: Cada carta possui um tempo de recarga e um custo, sendo ambos diretamente proporcionais (quanto maior o custo, maior o tempo de recarga)
Referências: Clash Royale, Minion Masters.
O que é Fediverso?
Fediverso (abreviação de "universo federado"), trata-se de uma rede descentralizada, geralmente voltado a redes sociais, composta por diversas plataformas interconectadas.
Essas "plataformas", conhecidas como "instâncias", podem ser criadas por diferentes comunidades/organizações, e portanto, podem ter diferentes regras e recursos.
As plataformas podem se comunicar entre si, tal como os usuários, e isso é possível pois essas instâncias devem seguir um protocolo em comum, nesse caso, estarei seguindo o ActivityPub, por ser amplamente utilizado e inclusive recomendado pela w3.
Alguns exemplos de plataformas no fediverso: Mastodon, Pleroma, Peertube.
Como o jogo se encaixa no fediverso?
Por meio do fediverso, damos a possibilidade do jogador ser protagonista, criando seu próprio servidor, isso também se dá ao fato do jogo ser open-source.
Isso significa que cada servidor criado poderia ter regras específicas e cartas únicas.
Diferenças para um jogo convencional (centralizado)
Em um jogo tradicional, imaginando um cenário em que você pudesse criar uma sala específica para jogar, você ainda estaria limitado a um modelo em que todas as salas estariam jogando a mesma versão.
O objetivo aqui é expandir as possibilidades do jogador e colocá-lo em um ambiente movido para/pela comunidade, em que ele tem meios para atuar não somente como um jogador, mas também de maneira a criar e administrar.
Comunidades
Esse modelo de descentralização, como já falado acima, permite que cada usuário possa criar sua própria instância do jogo.
Pensando nisso, é natural imaginar que as pessoas criem suas próprias comunidades ao entorno do game, similar a clãs/guildas dentro de um jogo, porém nesse modelo, as regras de comportamento, mecânicas do game, cartas exclusivas, seriam específicos da comunidade. Isso é especialmente interessante pois engaja ainda mais as pessoas da comunidade.
Para não deixar o termo "comunidade" muito abstrato, me refiro a jogadores comuns que queiram criar comunidades, streamers, etc.
Também, abre possibilidades para diferentes temas, como por exemplo: Uma instância pode ter o tema de idade média e a outra cyberpunk, ambas com as cartas específicas para o tema escolhido. Isso se torna interessante quando voltamos ao conceito de fediverso, e vemos que na sua base está em permitir interação entre usuários em diferentes instâncias.
Instância x Instância
Para esclarecer, caso ainda não tenha ficado claro, o objetivo principal desse jogo é permitir que os jogadores de diferentes servidores joguem entre si, criando um contraste muito interessante entre os diferentes temas e as diferentes propostas/estratégias de cartas que foram criadas pelas comunidades.
Como nem tudo são flores, existem algumas dificuldades que devem ser superadas.
Desafios
Algumas regras precisam ser definidas para que possa ocorrer um jogo justo, tanto referente ao balanceamento das cartas quanto das torres e estruturas do jogo.
Também, fornecer as ferramentas necessárias para que os usuários não precisem de conhecimento técnico para produzir conteúdo (artes, mecânicas, etc) para o jogo. Acredito que nesse ponto de produção de "coisas" no geral, seja mais facilitada com o crescimento de ferramentas com IA, que geram desde código até modelos de arte.
*Esse tópico pode ser explicado melhor em outro post.
Motivação
Por último mas não menos importante, a minhã motivação no desenvolvimento desse jogo/plataforma, consiste em democratizar o acesso ao desenvolvimento de games no geral, disponibilizando uma plataforma e um jogo base que poderá ser utilizado por qualquer um para começar seu próprio jogo (como por exemplo: roblox) ou até mesmo, criação de mods.
Caso tenha gostado da ideia, vou deixar aqui o link do repositório e meu twitter, valeu se você leu até aqui :D
github: https://github.com/Wild-League