Qual é o procedimento seguido pelos programadores de jogos para salvar e retomar o estado do jogo? como arquivos / mapeamentos. Quero salvá-lo para o jogo de defesa e uso o mecanismo de jogo unity3D.
unity
tower-defense
savegame
Syed
fonte
fonte
Esta resposta é específica do Unity3d .
No Unity, a maioria das classes é serializável, ou seja, você pode transmitir objetos completos do Unity para o disco. O código UnityScript a seguir é uma maneira de serializar um objeto, salve-o em disco e carregue-o novamente (após o carregamento, você deve converter o objeto):
fonte
Para um TD, provavelmente salvaria exclusivamente entre ondas. Dessa forma, tudo o que você precisa pensar são as torres. Coloque alguns pontos de salvamento automáticos nos níveis, não mais do que 10 minutos entre, mas menos provavelmente é preferível.
Obviamente, se seus níveis forem curtos o suficiente, você poderá salvar apenas o status da campanha.
fonte
Quando me refiro ao estado atual do jogo, estou me referindo ao instantâneo da memória no momento da gravação. Você precisa recriar isso a partir dos dados que deseja armazenar no seu HDD.
É mais fácil apenas serializar todas as classes que possuem dados que precisam ser persistentes e despejá-las no HDD, executando essencialmente um despejo de memória. O problema é que alterar as classes alterará o número / tipos de valores serializados e interromperá os salvamentos antigos. Também porque você está salvando tudo, aumenta o tempo de carregamento. É mais eficiente marcar campos individuais que são realmente necessários para reconstruir o "instantâneo da memória" atual com qualquer sistema de atributos usado pelo serializador / IDE. Em seguida, recrie o "instantâneo da memória" a partir dos dados salvos.
Também nunca usei o Unity antes, por isso pode ter algo embutido. No entanto, essa é a abordagem típica.
fonte