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
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
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