Pular para o conteúdo

Desenvolvedor

Quem cria uma ferramenta, um mod ou um serviço sobre o SDK aberto, ou estende o próprio jogo

O SDK é aberto sob a licença MIT, e a fonte final da verdade é o seu código-fonte

Comece por SDK, depois - Instalação

Documentação

  • Argumentos de inicialização abrem na hora uma tela, um nível ou uma partida, e interruptores mudam uma só inicialização. Vão após o executável: num atalho, num terminal ou nas opções da Steam

  • O SDK é o formato de nível do Bullet Hero na forma de uma biblioteca aberta em C#. O jogo lê e grava os níveis por meio dele, e o seu programa pode fazer o mesmo

  • O SDK é o pacote BulletHero.SDK no nuget.org ou uma compilação a partir do código-fonte. A Unity o recebe como git submodule, e o exemplo ConsoleSmoke verifica se os seus níveis são lidos

  • Um nível é uma pasta: o conteúdo em level.json ou level.blob, os metadados em metadata.json ou metadata.blob, uma capa e mídia. Backups, recordes e configurações do jogador ficam no dispositivo

  • Um arquivo .blob guarda os mesmos dados que o .json em forma binária: um cabeçalho de 24 bytes seguido dos dados. É um formato de nível de pleno direito, não um cache

  • Um nível é exportado como pasta, tar.gz ou zip, opcionalmente com senha: zip com AES-256 ou OpenPGP. O SDK detecta o formato de um arquivo recebido pelos primeiros bytes, não pelo nome

  • Há três versões: gv para o jogo, sv para o SDK, mg para a geração do formato do modelo. Pelo mg, o SDK migra um arquivo antigo e se recusa a ler um com geração mais nova que a da build

  • Você chama a validação por conta própria via ValidationFacade, ela não está embutida em salvar e carregar. As ocorrências se dividem em Error, Warning e Advice, e ValidateAndFix corrige o que puder

  • Um serviço diz quais níveis aceita em um arquivo PublishProfile: licenças, origens de recursos, campos obrigatórios, limites de tamanho. Um serviço novo pede um arquivo, não uma edição do analisador

  • Um gerador é uma classe sobre uma classe base do SDK: BaseLevelGenerator, BaseContentGenerator ou BaseModifier. O host monta sozinho o formulário, a estimativa e o desfazer a partir do contrato

  • Relate problemas do SDK nas issues do repositório bullet-hero/sdk e envie mudanças de código para lá como pull requests. As regras para contribuidores ficam no mesmo repositório, ao lado do código