Como devo atualizar automaticamente os arquivos do meu jogo inteiro?

15

Como devo atualizar automaticamente os recursos e os executáveis ​​do jogo do meu jogador? É preferível que o software de atualização seja gratuito. As atualizações devem ser pequenas e não desperdiçar tempo de CPU. Também deve ser fácil executar um servidor de atualização para criar novas versões ou logisticamente.

Meu caso de uso é para atualizar versões de jogos de jogadores, como em grandes clientes online ou executar testes de jogos distribuídos ou mesmo jogos normais.

Fogo
fonte
Gamedev.stackexchange.com/questions/2057/… relacionado, mas não muito útil.
Coderanger

Respostas:

6

Há uma pergunta no Stack Overflow aqui que pode ser útil. Relaciona-se ao patch de arquivos binários de maneira eficiente (basicamente armazenando as diferenças entre as versões em vez dos arquivos inteiros).

Também é importante estar ciente de que, se você instalar os arquivos do jogo em "Arquivos de Programas" no Windows Vista e superior, também precisará levar em consideração o usuário que não tem necessariamente a permissão para modificar os arquivos. Há também algumas informações dos arquivos de ajuda do DirectX aqui .

Depois de gerar seu patch, você provavelmente verificará a versão atual do jogo com algo hospedado na Web em algum lugar, faça o download e inicie um patcher separado com o conteúdo do patch. O exe principal do jogo não poderá se consertar enquanto estiver em execução. Existem muitas soluções baratas de hospedagem de arquivos por aí, onde você pode armazenar seu patch e outros dados.

Roger Perkins
fonte
2

Percebi que você marcou a pergunta cliente-servidor, então presumo que você também esteja perguntando como distribuir fisicamente o patch. Dependendo do seu orçamento, o mais fácil para os usuários é simplesmente fornecer um download HTTP no seu site, mas isso requer a maior largura de banda do seu servidor (tamanho do patch * jogos comprados), uma opção um pouco menos amigável é fazer upload do seu conteúdo como um bittorrent e execute algumas sementes nos seus servidores. Isso reduz a largura de banda solicitada no seu servidor, mas será mais trabalhoso para os usuários, a menos que você seja como a Blizzard e tenha recursos para criar um cliente bitorrent no seu jogo.

A conclusão é que depende do tamanho (MB / GB) de seu patch ou atualização e quanto dinheiro você precisa gastar em um servidor e largura de banda para distribuir o patch aos usuários finais.

Do ponto de vista do software, existem muitas maneiras de distribuir e instalar atualizações de jogos, mas, em geral, você deve seguir os métodos usados ​​pelo software tradicional. Peça ao usuário que faça o download de um instalador de atualização, que saiba solicitar ao usuário acesso administrativo à máquina e copie / atualize os arquivos conforme necessário, verificando as versões (o usuário pode ter pulado a v1.1 e instalado a v1.2 diretamente).

Nate
fonte