Não é profissional deixar os recursos do jogo à vista?


43

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.


30
Basta pensar nisso como uma comunidade modding :)
Orin MacGregor

1
Você é um desenvolvedor de jogos profissional com um orçamento? Eu acho que está tudo bem caso você não esteja planejando ganhar muito dinheiro com este jogo. Eu tenho algumas dicas embora. Se isso faz você se sentir melhor, eu usei para editar salvar arquivos em X-COM / UFO Defense
wolfdawn

6
@ArthurWulfWhite: Acho que, em vez de ganhar dinheiro ou não, o ponto de divisão é qual é a implicação de recursos modificados no jogo. Para o MMORPG, um cliente / recursos modificados pode dar vantagens injustas a certos jogadores, então você deve evitar isso o máximo possível. Para muitos outros jogos, o cliente compatível com modding torna atraente o desenvolvimento da comunidade de modding em torno do jogo e geralmente é considerado uma coisa boa.
Lie Ryan

1
O aspecto modding no Quake (1) foi muito bem tratado, sem expor os modelos e arquivos bsp ao jogador casual. Eu não acho que é ruim esconder coisas, mantendo-as facilmente acessíveis. Gostei do fato de poder editar arquivos salvos no X-COM, e vi isso como um recurso. No entanto, seria tolo se houvesse um arquivo de texto chamado money.txt, onde eu pudesse digitar quanto dinheiro quero começar, porque isso meio que desfoca a fronteira entre uma caixa de areia e um jogo.
Lobo2

2
Eu gosto da maneira Introversão : Coloque os arquivos em arquivos zip renomeados, por exemplo sound.dat. O uso de pastas não compactadas com algumas centenas de arquivos torna a (des) instalação bastante irritante.
Tobias Kienzler

Respostas:


44

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.


O que também são embalados de uma forma de dissuasor do roubo (embora, em última instância se ineficaz empurrada)
CobaltHex

15

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


4
Exatamente certo. Não dói se você precisar passar por alguns obstáculos antes de poder modificar o jogo. +1 para o cenário de vídeo
wolfdawn 27/09/12

14

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


1
Se você é bom o suficiente para ignorar um teste de soma de verificação, também é bom o bastante para mexer com os materiais empacotados. Não acho que a embalagem seja mais segura.
mmyers

11

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

rename *.txt *.map

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.


1
-1 Isso não é realmente uma "correção". Os recursos ainda estão disponíveis para os olhos.
Erick Robertson

6
@ Eric Robertson Bem, isso poderia ser dito sobre embalá-los no estilo Quake (1) também. Não há solução mágica para ocultar completamente os ativos. A intenção é apenas escondê-los do jogador casual e contornar um pouco os problemas que ele mencionou. Dito isso, colocá-los em uma estrutura de pastas ou pacote de ativos não significa que os ativos não estejam lá (disponíveis aos olhos), a menos que você use criptografia.
Lobo2

Sei que as extensões de arquivo não importam no Linux, mas você tem certeza de que isso funcionaria no Windows?
Jcora # 27/12

1
@Bane Um nome de arquivo não importa ponto, tente isso, renomeie um arquivo .txt para .zip, .bmp ou .xyz e reabra-o com o bloco de notas. O nome do arquivo importa apenas quando você está navegando nos arquivos do seu PC, por exemplo .xyz tem um certo ícone associado a eles; se você deseja abrir um arquivo com xsoftware, ele exibirá apenas arquivos * .x por padrão, o bloco de notas será exibido. arquivos txt, o mspaint mostrará gifs, jpegs, bmps, pngs, tiffs, icos e etc. Os nomes de arquivos são apenas uma convenção conveniente (para que você não precise analisar e analisar os dados dentro do arquivo para identificar a natureza de seus conteúdos.
wolfdawn

1
Obrigado por explicar! Em seguida, o Windows não parece muito diferente do que o Linux nesse domínio
jcora

3

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


1
"Para evitar o desafio de perder, use um gravador de serialização binária para armazenar o estado do seu jogo, com criptografia adicional e variáveis ​​de chamariz, se necessário." Se as pessoas querem trapacear, elas trapacearão. Com um depurador na memória, procurando quais quatro bytes na memória se correlacionam com o seu ouro e rastreiam as alterações, se necessário.
usar o seguinte comando

1
@ Random832 Amém a isso.
Lorenz Lo Sauer

Sua resposta está errada. Acessar o conteúdo de 6000 arquivos tinny é entre 5 a 10 vezes mais lento na minha experiência do que acessar o mesmo conteúdo em 1 arquivo. Para um caso em que o carregamento leva 5 segundos em um SSD, 15 segundos a partir de um disco rígido normal, que quebra os mesmos dados em arquivos editáveis ​​e carrega saltos para mais de 30 segundos em ambos (HDD e SSD). Portanto, por algum motivo, o aumento é mais pronunciado no SSD do que no HDD. (Sem RAID em ambos os casos)
Coyote

@ Coiote Fiquei com a impressão de que argumentei o mesmo ponto no post ...? Fragmentação (limitações do controlador ou seja, hardware, limitações físicas de pratos ...) + muitas invocações sistema de arquivos API (muitas vezes através de wrappers) = Lento
Lorenz Lo Sauer

Esta frase em particular está errada, então: "Com a chegada do SSD, esse ponto é discutido"
Coyote

1

É 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

   realByte_cpp = readByte_cpp ^ 0x44; // 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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.