Ainda estou tendo problemas para empacotar meus recursos, depois de passar por APIs complicadas e basicamente apenas arquivos zip que estão esgotando meu cérebro, pensei que também poderia empacotar o jogo com os recursos visíveis ao olho humano, em uma pasta simples.
Isso não seria profissional? Pessoalmente, eu nunca vi jogos fazendo isso, basicamente significava que o jogador poderia apenas editar o que quisesse no jogo, como ir no mapa1.txt e adicionar um X em algum lugar para criar uma parede ou alterar o sprite do jogador a um pônei no MS PAINT.
sound.dat
. O uso de pastas não compactadas com algumas centenas de arquivos torna a (des) instalação bastante irritante.Respostas:
Não, não é, alterar os dados do jogo é chamado de modding, que é uma prática comum e frequentemente vista como efeito positivo. Na verdade, é bom manter os dados do jogo o mais transparente possível e editá-los da maneira mais fácil possível. Ainda mais se você escolher jogadores mais "avançados" como seu público-alvo.
A razão pela qual você não encontrará muitos jogos AAA que usam uma estrutura de pastas simples para seus dados é que eles usam formatos de arquivo otimizados personalizados para obter melhores tempos de carregamento. A desvantagem é a diminuição da transparência e as ferramentas adicionais necessárias na cadeia de ferramentas. No entanto, para jogos menores, ou 2D, essas duas coisas geralmente valem mais do que o tempo de carregamento aprimorado.
Apenas certifique-se de que o que as pessoas veem não seja apenas uma grande bagunça :) coloque os arquivos em uma estrutura de pastas adequada.
fonte
Além de outras respostas, duas preocupações importantes que você deve considerar:
Estragando surpresas
Diga que estou no meio do jogo e descubra a pasta "video". Curioso, clico em um deles e vejo a cena final do jogo.
Perdendo o desafio O
mesmo cenário, mas acho que o formato do jogo salvo tem um valor para "ouro". Eu mudo de 250 para 999999999 e funciona. De repente, sua curva de dificuldade cuidadosamente criada, maximizando a diversão do jogo, desaparece.
Ambos podem fazer com que alguém perca o interesse no jogo, parcialmente, se não totalmente. Isso pode acabar com uma impressão geral mais baixa de quão bom o jogo foi (injusto, mas verdadeiro).
Pense nisso em termos de seu público-alvo - os jogadores mais jovens são especialmente suscetíveis a estragar a própria diversão sem realmente entender que é isso que estão fazendo.
Mesmo se você deseja incentivar a modificação, você ainda pode proteger os usuários de arruinar sua própria experiência com o jogo "por acidente".
fonte
Talvez não profissional seja a palavra errada. Realmente depende do jogo se deixar arquivos expostos ou não é uma coisa ruim.
Para um jogo singleplayer simples, jogadores e modders vão amar você. Você daria a eles a capacidade de mudar facilmente seu jogo e fazer o que eles querem. E lembre-se, sempre haverá modders para um jogo, não importa quão pequeno o jogo seja. Muitos jogadores se sentirão menosprezados se a modificação for difícil, afinal, eles compraram o seu jogo e devem poder fazer o que quiserem nele.
Por outro lado, editar facilmente os ativos do jogo é ruim para um jogo multiplayer, pois é considerado trapaça. Jogadores mal-intencionados podem substituir o conteúdo para tornar os inimigos mais visíveis, paredes transparentes etc. Embora o código do jogo realmente imponha que os ativos não tenham sido adulterados, a abordagem "pacote de ativos" tem o benefício de ajudar a impedir essa atividade (segurança por meio de obscuridade).
fonte
Existe uma solução fácil para isso. Você poderia simplesmente renomear em lote as extensões em um prompt de comando usando algo como
E depois coloque-os em uma pasta \ map
Você pode acessar um prompt de comando nas janelas executando o cmd
Isso não impedirá os modders que sabem que querem modificar o jogo e deixará uma impressão menos desleixada nas pessoas que querem apenas jogar sem todo o conteúdo disponível.
Sim, ainda será editável. As pessoas terão menos probabilidade de perceber isso.
Para responder ao comentário de Eric Robertson
Se você deseja ocultar adequadamente o conteúdo do seu jogo dos jogadores, você pode usar a criptografia RSA nesses arquivos de texto e fundi-los em um arquivo de texto enquanto estiver nele. Isso não deve causar muitos problemas, embora eu suspeite que seja muito além do exagero.
fonte
Se alguma vez foi pouco profissional, pode não ser mais. No início, os jogos usavam seus próprios formatos de pacote, principalmente para preservar sua propriedade intelectual (IP).
Você pode superar algumas limitações, como fragmentação e invocações desnecessárias de funções do sistema de arquivos nativo subjacente, compactando todos os recursos em um único arquivo morto. Isso torna menos provável a ocorrência de eventos de fragmentação ao implantar o pacote no PC do cliente.
Na pior das hipóteses, você pode acabar tendo minúsculos recursos de arquivo espalhados pelos setores do disco rígido. (Com a chegada dos SSDs, esse ponto é frequentemente discutido)
Mas todos esses benefícios também podem ser obtidos com o
.tar
formato de arquivo gratuito antigo (Unix) .Além disso, usando seu próprio formato de pacote, você pode superar limitações como falta de controle de versão, hash de arquivo, codificação e ponteiros / links nos arquivos, para citar apenas alguns.
Concluindo , eu defenderia a transparência no desenvolvimento independente, a menos que você precise explicitamente proteger seu IP.
Quanto aos grandes pontos levantados por
MGOwen
: Para evitar a deterioração surpreende você pode renomear a extensão do arquivo, atributos de arquivo mudança, usar formatos de mídia incomuns, extirpar o media-header e armazená-lo em outro lugar, etc ... Para evitar perder desafio uso uma serialização binária escritor para armazenar o estado do seu jogo, com criptografia adicional e variáveis de chamariz, se necessário.Disclaimer: Eu não sou desenvolvedor de jogos. Considerar este post apenas como ponto de partida ...
fonte
É fácil de corrigir e, caso contrário, a indexação de pesquisa encontrará seus vídeos finais etc.
Para arquivos de dados: flip bits com xor
Para ocultar "Gold: 250" de GREP.
Apenas codifique com o mesmo valor xor (aleatório).
Para manter as cenas afastadas dos usuários casuais, tente o seguinte: Nomes de arquivos traduzidos pelo Machinarium para que \ videos se tornem \ 0101 e todos os arquivos tenham um ID de 8 dígitos binários seguido por .101 para interromper as associações de arquivos.
fonte