SchultzGames
Para tirar dúvidas, crie um tópico especifico na área "Dúvidas em Geral" e aguarde ser respondido. Evite comentar em tópicos não relacionados a sua dúvida :D
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
Duvida com animação
[TUTORIAL] Criar jogo Colors/Genius com C#
Utilizar o mesmo botão para duas ações. (if e else)
[____ADMINISTRAÇÃO____] PRECISO DE AJUDA [DICA PARA SER AJUDADO]
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
Ajuda com AI Inimigo.
[Script] Mudar a orientação em runtime
Como mover dois objetos juntos.
[TUTORIAL] Third Person Shooter
[PEDIDOS DE TUTORIAIS]
Google Play Games
Como fazer um jogo nesse estilo?
Como apagar Proceduram material da pista, quando for recarregar a cena?
PROBLEMA NULL REFERENCE EXCEPTION
Calculo de previsão de coordenada
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
Unity - Rodar 2 cenas ao mesmo tempo
Sons na Unity 2017
| AJUDA DISCORD | Descubra aqui como fazer para o link do seu servidor nunca expirar.
Servidores sem limite por usuário.
Trigger detectando apenas o character controller
seguir 2 objetos com a mesma tag
Zezin Na Copa da Russia Realidade Aumentada
[PROJETO MOBILE] Defeat the Illuminatis
DISCORD
Novo jogo - Astero - PlayStore
Variável receber valor de uma array
erro no script
[RESOLVIDO] Bug de wallpaper preto no windows.
[TUTORIAL] Movimento de camera em primeira pessoa e sons de passos ou HeadBob
Tomar dano do inimigo e causar dano no mesmo
[RESOLVIDO] Texto se encaixar dentro de uma imagem.
[Projeto] Line Battle
Jogo Maria Bella
Spawner de Inimigo n preenche todas as posições
[TUTORIAL] AI Enemy ( Jogos de terror )
Como corrigir o box collider do unity?
SPAWN Baseado na Posição (UNITY)
[RESOLVIDO] Problema em um script
Unity - executável não roda banco de dados
Como criar um sistema de Ranking simples.
Animação Humanoid
Blender - Erro ao aplicar influência automática nos ossos de personagem
Objetos duplicados ao instanciar
Duvida com collider
[RESOLVIDO] Problemas com API
Pegar e Jogar armas no chão (estilo CS 1.6)
[RESOLVIDO] Projeteis Online
[TUTORIAL] Zone Wall - ESTILO BATTLE ROYALE
| DÚVIDA | - Como aprender C#?
Como criar um ranking online na Unity usando a PlayFab e o Facebook?
Dúvida sobre método de acesso as variáveis
checkpoint
Como faço para otimizar meu projeto da Unity 3D?
[RESOLVIDO] Alguém me explica isso? (Animator script)
[RESOLVIDO] Duvida com GameManager
duvidas com marcas reais em jogos
Objeto na UI
Minimap/Radar/GPS Estilo GTA V
Problemas com a câmera
PROBLEMAS COM O NAVIGATION
[TUTORIAL] Serialização - JSON
Textura de luzes rosa
Banco de dados android
Girar arma
Qual o melhor meio de iluminar essa scene?
[Jogo] Flap OCO (Android & PC)
[TUTORIAL] Android - Sistema de controle third person shooter, Joystick + Swipe camera
ANIMAÇÃO INIMIGO AI
[RESOLVIDO] Menu Pause Dúvida
Unity 5: Object reference not set to an instance of an object
Como saber se o controle foi conectado?
[ENQUETE OFICIAL] Você está vendo o CHAT DO FÓRUM?????
Onde posso aprender a fazer uma IA estilo a do jogo de tabuleiro Zombicide?
[RESOLVIDO] Erro -> Android SDK is missing required API level 23
Sprites com mesmas cores.
[Formação de Equipe] Battles of Worlds
Como fazer para sair do jogo apertando uma tecla?
VAGA MODELADOR
[Em Desenvolvimento] Battles of Worlds
[RESOLVIDO]Colocar dois fundos diferentes em um mesmo canvas dependendo do menu carregado.
[TUTORIAL] 42 ÓTIMAS DICAS DE OTIMIZAÇÃO PARA JOGOS MOBILE (Android)
[____REGRAS DO FÓRUM____]
SetPartner
Como eu posso criar uma rede social semelhante ao NEAKI?
Como colocar dois backgrounds diferentes para dois canvas diferentes?
Botões Android
[TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
problema com Script
Efeitos de particulas
Duvidas/ideias sobre o forum
[RESOLVIDO] Camera e posição do sprite animator
VAGA EM EQUIPE PARA APREDIZAGEM
Como criar sombra em objeto transparente?
Modificação de scripts em cenas diferentes
The Angels of Tomorrow - Projeto no qual estou trabalhando
[RESOLVIDO] Como uso esse script
MODELAGEM 3D PARA PERSONAGEM.
Vale a pena atualizar o Unity?
Hoje à(s) 9:46 pm
Hoje à(s) 7:35 pm
Hoje à(s) 7:29 pm
Hoje à(s) 6:46 pm
Hoje à(s) 6:45 pm
Hoje à(s) 6:43 pm
Hoje à(s) 6:38 pm
Hoje à(s) 4:36 pm
Hoje à(s) 3:42 pm
Hoje à(s) 3:33 pm
Hoje à(s) 1:26 pm
Hoje à(s) 1:10 pm
Hoje à(s) 7:23 am
Ontem à(s) 11:54 pm
Ontem à(s) 11:50 pm
Ontem à(s) 9:44 pm
Ontem à(s) 8:49 pm
Ontem à(s) 6:23 pm
Ontem à(s) 5:21 pm
Ontem à(s) 4:40 pm
Ontem à(s) 2:37 pm
Ontem à(s) 12:48 pm
Ontem à(s) 11:34 am
Ontem à(s) 11:20 am
Sab Jun 16, 2018 10:40 pm
Sab Jun 16, 2018 9:43 pm
Sab Jun 16, 2018 9:28 pm
Sab Jun 16, 2018 8:48 pm
Sab Jun 16, 2018 5:13 pm
Sab Jun 16, 2018 5:05 pm
Sab Jun 16, 2018 4:51 pm
Sab Jun 16, 2018 4:33 pm
Sab Jun 16, 2018 4:14 pm
Sab Jun 16, 2018 3:39 pm
Sab Jun 16, 2018 1:48 pm
Sex Jun 15, 2018 10:15 pm
Sex Jun 15, 2018 8:31 pm
Sex Jun 15, 2018 8:24 pm
Sex Jun 15, 2018 8:02 pm
Sex Jun 15, 2018 5:08 pm
Sex Jun 15, 2018 2:46 pm
Sex Jun 15, 2018 12:08 pm
Sex Jun 15, 2018 10:46 am
Qui Jun 14, 2018 6:41 pm
Qui Jun 14, 2018 4:25 pm
Qui Jun 14, 2018 2:34 pm
Qui Jun 14, 2018 6:19 am
Qua Jun 13, 2018 10:08 pm
Qua Jun 13, 2018 9:59 pm
Qua Jun 13, 2018 6:48 pm
Qua Jun 13, 2018 3:16 pm
Qua Jun 13, 2018 3:11 pm
Qua Jun 13, 2018 9:12 am
Qua Jun 13, 2018 6:25 am
Qua Jun 13, 2018 1:00 am
Qua Jun 13, 2018 12:40 am
Ter Jun 12, 2018 11:08 pm
Ter Jun 12, 2018 8:00 pm
Ter Jun 12, 2018 5:17 pm
Ter Jun 12, 2018 2:25 pm
Ter Jun 12, 2018 9:00 am
Seg Jun 11, 2018 11:57 pm
Seg Jun 11, 2018 7:17 pm
Seg Jun 11, 2018 2:51 pm
Seg Jun 11, 2018 2:42 pm
Seg Jun 11, 2018 10:18 am
Seg Jun 11, 2018 10:05 am
Dom Jun 10, 2018 10:52 pm
Dom Jun 10, 2018 7:18 pm
Dom Jun 10, 2018 6:29 pm
Dom Jun 10, 2018 6:23 pm
Dom Jun 10, 2018 3:53 pm
Dom Jun 10, 2018 12:32 pm
Dom Jun 10, 2018 9:32 am
Sab Jun 09, 2018 5:36 pm
Sab Jun 09, 2018 5:14 pm
Sab Jun 09, 2018 5:09 pm
Sab Jun 09, 2018 11:44 am
Sab Jun 09, 2018 10:49 am
Sab Jun 09, 2018 8:27 am
Sex Jun 08, 2018 4:23 pm
Sex Jun 08, 2018 3:35 pm
Sex Jun 08, 2018 3:22 pm
Sex Jun 08, 2018 8:24 am
Sex Jun 08, 2018 1:02 am
Qui Jun 07, 2018 11:48 pm
Qui Jun 07, 2018 9:09 pm
Qui Jun 07, 2018 8:56 pm
Qui Jun 07, 2018 8:47 pm
Qui Jun 07, 2018 5:24 pm
Qua Jun 06, 2018 11:22 pm
Qua Jun 06, 2018 7:49 pm
Qua Jun 06, 2018 4:33 pm
Qua Jun 06, 2018 3:32 pm
Qua Jun 06, 2018 8:51 am
Ter Jun 05, 2018 11:46 pm
Ter Jun 05, 2018 10:47 pm
Ter Jun 05, 2018 8:12 pm
Ter Jun 05, 2018 7:53 pm
Zack2
NKKF
DevTerror
dstaroski
dstaroski
dstaroski
dstaroski
Dom3000
Phph09
Zack2
NKKF
Callyde Jr
guimaraf
fecirineu
fecirineu
FelipeSouza11
ismarspn
thancor
SuperGamer
MRX
MRX
NKKF
natanael.olimpio
dstaroski
Carlos Mesquita
Édipo
Flávio
dstaroski
M4theuz
dstaroski
kenau
NKKF
MRX
foxtenn
NKKF
BrazaTattoo
lesgoy
dstaroski
Dom3000
Midoriiiiii
BRGC
Dom3000
Dom3000
Dom3000
Zack2
yVIEIRA
Phph09
fecirineu
IanLuan
IanLuan
natanael.olimpio
guimaraf
NyeTiSS
francisco barroso
MRX
Zack2
dstaroski
MRX
Duarte
NKKF
dstaroski
igorobm
JonathanDiego
mafipt
Zack2
fecirineu
Dom3000
francisco barroso
bertarele
Magnatah
ZeroTuhnder
FelipeSouza11
francisco barroso
YmKx
francisco barroso
NKKF
Dom3000
Isabela
Dom3000
Dom3000
kenau
FelipeSouza11
FelipeSouza11
NyeTiSS
Callyde Jr
FelipeSouza11
dstaroski
kenau
kenau
Phph09
Zack2
NKKF
Carlos Mesquita
lesgoy
fecirineu
Priste_Hell
NyeTiSS
Dom3000
Carlos Mesquita

[TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Ir em baixo

TUTORIAL [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por marcos4503 em Qui Jun 15, 2017 1:08 pm

Bom. Marcos estava em mais uma de suas andanças pela internet, ele procurava conhecer mais da classe System.IO do unity.. Ele queria aprender a manipular arquivos na memoria do dispositivo.. Acidentalmente (ele derrubou o elemento X) ele encontrou um link nos fóruns em inglês da Unity, que ensinava como fazer um Save persistente de jogo, o sisteminha salva os dados do jogo no formato DAT, na memoria do dispositivo, com criptografia, para evitar de usuarios mais leigos editarem o arquivo e adicionar umas moedinhas a mais..


Bom! Achei isso fantastico, e hoje to resolvendo trazer pra vocês esse sisteminha.


Prós
- Possui criptografia
- Funciona em Android, PC, IOs etc..
- Salva tudo num arquivo externo, com a estrutura de um arquivo DAT, mais você pode alterar o formato pra dar aquela enganada, para que ninguem manipule o arquivo, assim possibilitando para que o jogador faça backup do seu progresso!
- É 10000000000X mais prático do que o PlayerPrefs
- Pode salvar variaveis String, Bool, Int, Float, Double etc.. (Isso mesmo, Booleanas!!)

Contras
- Não conheço bem esse sistema (Vi várias pessoas falando bem dele no fórum em ingles da Unity, ele parece ser bem útil, pratico e seguro)
- A criptografia talvez possa ser quebrada por usuarios mais avançados. Talvez algum usuario mais avançado possa usar um programa para editar o arquivo do jogo, mais fiz várias pesquisas por isso e não encontrei nada. Fora que esse tal usuario teria que dedicar muito tempo pra descobrir que se trata de um arquivo DAT.
- O jogador pode perder todo seu progresso em caso de corrupção do arquivo, ou até mesmo em caso do jogo ser encerrado durante o salvamento (se seu jogo é mais complexo, você pode criar um sisteminha de backup e restauração pro arquivo de save.)

Nível do tutorial: Intermediário

Bom. Dito isso tudo, vamos pra diversão..

(Eu empacotei tudo em um asset que você pode baixar e usar para estudar. Só possui 1 script, e uma cena com alguns botões pra você manipular e testar o esqueminha, o script esta totalmente comentado.)


Download:
http://www.mediafire.com/file/bmck7dk601wh4gk/exemploSaveGame.unitypackage

Para importar para seu projeto, é só ir na Aba "Assets" > "Import Package" > "Custom Package" e selecionar o local onde esta o arquivo do asset, que voce acabou de baixar.

Observação rápida: Em caso de PC, o arquivo é salvo na pasta "AppData", no Android, o arquivo é salvo na pasta "Data", no mesmo diretorio da "Obb".


Tem uma dúvida? Comente aqui e eu vou tentar te responder!!


PS: Tentei editar o arquivo de algumas formas, alterando os valores das variaveis e tal. Sempre que editei o arquivo o Unity dava erro. Resumindo, sempre que eu tento editar o arquivo, o arquivo é corrompido.


Última edição por marcos4503 em Qui Jun 15, 2017 10:29 pm, editado 1 vez(es)
avatar
marcos4503
Instrutor

Masculino Posts : 1037
Pontos : 2607
Reputação : 521
Registro : 03/11/2015
Idade : 19
Áreas de atuação : Desenvolvimento Android
Básico de Design
Básico Blender
Unity
Programação em C#
Outras linguas.
Respeito as regras :

Ver perfil do usuário http://www.windsoft.xyz/site

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por DuViDoSo em Qui Jun 15, 2017 7:51 pm

Maravilhoso, lindo... Cara eu te amo!! e nois vlw. isso me ajudar pacas.
avatar
DuViDoSo
Modelador

Masculino Posts : 489
Pontos : 1389
Reputação : 155
Registro : 19/02/2017
Idade : 18
Áreas de atuação : Programador em C#, Desenvolvedor Indie.
Respeito as regras :

Ver perfil do usuário http://www.naotenho.com.br

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por marcos4503 em Qui Jun 15, 2017 10:28 pm

Opa!! Achei isso super interessante e útil e resolvi compartilhar com vocês! Sucesso!!
avatar
marcos4503
Instrutor

Masculino Posts : 1037
Pontos : 2607
Reputação : 521
Registro : 03/11/2015
Idade : 19
Áreas de atuação : Desenvolvimento Android
Básico de Design
Básico Blender
Unity
Programação em C#
Outras linguas.
Respeito as regras :

Ver perfil do usuário http://www.windsoft.xyz/site

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por dipode em Qui Jun 15, 2017 10:44 pm

sabe que criptografia utiliza?
avatar
dipode
MembroAvançado

Posts : 144
Pontos : 1258
Reputação : 38
Registro : 14/08/2015
Respeito as regras :

Ver perfil do usuário https://github.com/perdugames

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por marcos4503 em Qui Jun 15, 2017 10:56 pm

Então, tipo, não sei se é beeem uma criptografia, eu utlizei este termo, porque eu dei uma pesquisada e o Unity monta o arquivo com uma estrutura do tipo DAT, que é um arquivo usado por programas para salvar dados. Mais é aí que ta.. Cada programa (no caso a Unity) salva o DAT da sua propria forma ou seja, com uma estrutura propria, o que faz o arquivo ter uma certa criptografia. Por isso não sei bem qual é a criptografia do Unity, só sei que é DAT. Posso estar errado, mais isso foi o que eu aprendi pesquisando e tals
avatar
marcos4503
Instrutor

Masculino Posts : 1037
Pontos : 2607
Reputação : 521
Registro : 03/11/2015
Idade : 19
Áreas de atuação : Desenvolvimento Android
Básico de Design
Básico Blender
Unity
Programação em C#
Outras linguas.
Respeito as regras :

Ver perfil do usuário http://www.windsoft.xyz/site

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por dipode em Qui Jun 15, 2017 11:39 pm

@marcos4503 escreveu:Então, tipo, não sei se é beeem uma criptografia, eu utlizei este termo, porque eu dei uma pesquisada e o Unity monta o arquivo com uma estrutura do tipo DAT, que é um arquivo usado por programas para salvar dados. Mais é aí que ta.. Cada programa (no caso a Unity) salva o DAT da sua propria forma ou seja, com uma estrutura propria, o que faz o arquivo ter uma certa criptografia. Por isso não sei bem qual é a criptografia do Unity, só sei que é DAT. Posso estar errado, mais isso foi o que eu aprendi pesquisando e tals
Entendi, e aqui:

Código:
DiretorioDoArquivo = Application.persistentDataPath + "/" + NomeDoArquivo + "." + FormatoDoArquivo;

Porque a linha acima está no update?
avatar
dipode
MembroAvançado

Posts : 144
Pontos : 1258
Reputação : 38
Registro : 14/08/2015
Respeito as regras :

Ver perfil do usuário https://github.com/perdugames

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por marcos4503 em Qui Jun 15, 2017 11:42 pm

O ideal é que ela vá no Start, mais no meu projeto eu só coloquei ela no update em caso de um de voces mudar algum detalhe como nome ou formato, o diretorio na UI se atualizar! Só isso mesmo!
avatar
marcos4503
Instrutor

Masculino Posts : 1037
Pontos : 2607
Reputação : 521
Registro : 03/11/2015
Idade : 19
Áreas de atuação : Desenvolvimento Android
Básico de Design
Básico Blender
Unity
Programação em C#
Outras linguas.
Respeito as regras :

Ver perfil do usuário http://www.windsoft.xyz/site

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por dipode em Qui Jun 15, 2017 11:56 pm

@marcos4503 escreveu:O ideal é que ela vá no Start, mais no meu projeto eu só coloquei ela no update em caso de um de voces mudar algum detalhe como nome ou formato, o diretorio na UI se atualizar! Só isso mesmo!

De boa, vou dar uma estudada nisso aqui.
avatar
dipode
MembroAvançado

Posts : 144
Pontos : 1258
Reputação : 38
Registro : 14/08/2015
Respeito as regras :

Ver perfil do usuário https://github.com/perdugames

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por marcos4503 em Sex Jun 16, 2017 12:01 am

Tranquilo! Se tiver mais alguma duvida, é só perguntar, eu acho que não expliquei direito no script.. Sou pessimo para explicar ;-;
avatar
marcos4503
Instrutor

Masculino Posts : 1037
Pontos : 2607
Reputação : 521
Registro : 03/11/2015
Idade : 19
Áreas de atuação : Desenvolvimento Android
Básico de Design
Básico Blender
Unity
Programação em C#
Outras linguas.
Respeito as regras :

Ver perfil do usuário http://www.windsoft.xyz/site

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por dipode em Sex Jun 16, 2017 1:05 am

@marcos4503 escreveu:Tranquilo! Se tiver mais alguma duvida, é só perguntar, eu acho que não expliquei direito no script.. Sou pessimo para explicar ;-;

Valeu, eu estava utilizando um sistema próprio, já tinha lido sobre isso, e visto esse aqui uns tempo atrás(é o video explicando como faz o script, é a mesma logica do seu, muda nada não, vou deixar aqui para quem quiser ver):

https://unity3d.com/pt/learn/tutorials/topics/scripting/persistence-saving-and-loading-data

mas ainda não estava na hora de criar o sistema de salve geral, ai nem liguei em usar o próprio, só para salvar onde estava sendo necessário, mas daqui uns dias vou ter que criar, vou ver se desse modo vai mais rápido kkkkk
avatar
dipode
MembroAvançado

Posts : 144
Pontos : 1258
Reputação : 38
Registro : 14/08/2015
Respeito as regras :

Ver perfil do usuário https://github.com/perdugames

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por marcos4503 em Sex Jun 16, 2017 1:13 am

Belezura!
avatar
marcos4503
Instrutor

Masculino Posts : 1037
Pontos : 2607
Reputação : 521
Registro : 03/11/2015
Idade : 19
Áreas de atuação : Desenvolvimento Android
Básico de Design
Básico Blender
Unity
Programação em C#
Outras linguas.
Respeito as regras :

Ver perfil do usuário http://www.windsoft.xyz/site

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por dipode em Sex Jun 16, 2017 1:52 am

@marcos4503 escreveu:Belezura!

Mudei aqui para esse jeito, bem mais rápido que o meu criar string com variáveis, salvar em linha no arquivo, depois carregar dando um split nas linhas etc kkkkkkk agora vai rapidim, queria saber o que o método "Serialize" faz.
avatar
dipode
MembroAvançado

Posts : 144
Pontos : 1258
Reputação : 38
Registro : 14/08/2015
Respeito as regras :

Ver perfil do usuário https://github.com/perdugames

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por Gabriel César O em Sex Jun 16, 2017 1:58 am

@marcos4503 escreveu:Bom. Marcos estava em mais uma de suas andanças pela internet, ele procurava conhecer mais da classe System.IO do unity.. Ele queria aprender a manipular arquivos na memoria do dispositivo.. Acidentalmente (ele derrubou o elemento X) ele encontrou um link nos fóruns em inglês da Unity, que ensinava como fazer um Save persistente de jogo, o sisteminha salva os dados do jogo no formato DAT, na memoria do dispositivo, com criptografia, para evitar de usuarios mais leigos editarem o arquivo e adicionar umas moedinhas a mais..


Bom! Achei isso fantastico, e hoje to resolvendo trazer pra vocês esse sisteminha.


Prós
- Possui criptografia
- Funciona em Android, PC, IOs etc..
- Salva tudo num arquivo externo, com a estrutura de um arquivo DAT, mais você pode alterar o formato pra dar aquela enganada, para que ninguem manipule o arquivo, assim possibilitando para que o jogador faça backup do seu progresso!
- É 10000000000X mais prático do que o PlayerPrefs
- Pode salvar variaveis String, Bool, Int, Float, Double etc.. (Isso mesmo, Booleanas!!)

Contras
- Não conheço bem esse sistema (Vi várias pessoas falando bem dele no fórum em ingles da Unity, ele parece ser bem útil, pratico e seguro)
- A criptografia talvez possa ser quebrada por usuarios mais avançados. Talvez algum usuario mais avançado possa usar um programa para editar o arquivo do jogo, mais fiz várias pesquisas por isso e não encontrei nada. Fora que esse tal usuario teria que dedicar muito tempo pra descobrir que se trata de um arquivo DAT.
- O jogador pode perder todo seu progresso em caso de corrupção do arquivo, ou até mesmo em caso do jogo ser encerrado durante o salvamento (se seu jogo é mais complexo, você pode criar um sisteminha de backup e restauração pro arquivo de save.)

Nível do tutorial: Intermediário

Bom. Dito isso tudo, vamos pra diversão..

(Eu empacotei tudo em um asset que você pode baixar e usar para estudar. Só possui 1 script, e uma cena com alguns botões pra você manipular e testar o esqueminha, o script esta totalmente comentado.)


Download:
http://www.mediafire.com/file/bmck7dk601wh4gk/exemploSaveGame.unitypackage

Para importar para seu projeto, é só ir na Aba "Assets" > "Import Package" > "Custom Package" e selecionar o local onde esta o arquivo do asset, que voce acabou de baixar.

Observação rápida: Em caso de PC, o arquivo é salvo na pasta "AppData", no Android, o arquivo é salvo na pasta "Data", no mesmo diretorio da "Obb".


Tem uma dúvida? Comente aqui e eu vou tentar te responder!!


PS: Tentei editar o arquivo de algumas formas, alterando os valores das variaveis e tal. Sempre que editei o arquivo o Unity dava erro. Resumindo, sempre que eu tento editar o arquivo, o arquivo é corrompido.
TOP!
avatar
Gabriel César O
Programador

Masculino Posts : 628
Pontos : 1652
Reputação : 213
Registro : 28/12/2016
Idade : 16
Áreas de atuação : (ESTUDANDO SEGUNDO GRAU), (FUÇANDO NO UNITY)){
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por marcos4503 em Sex Jun 16, 2017 9:33 am

Bom, pelo que eu aprendi pesquisando e lendo as documentações e tal, é que basicamente o serialization é um comando que o Unity usa pra meio que compactar dados num arquivo que ele possa editar, salvar e ler mais tarde. E por ai vai.. Aqui ta o link se quiser dar uma aprofundada:

https://docs.unity3d.com/Manual/script-Serialization.html
avatar
marcos4503
Instrutor

Masculino Posts : 1037
Pontos : 2607
Reputação : 521
Registro : 03/11/2015
Idade : 19
Áreas de atuação : Desenvolvimento Android
Básico de Design
Básico Blender
Unity
Programação em C#
Outras linguas.
Respeito as regras :

Ver perfil do usuário http://www.windsoft.xyz/site

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por Dom3000 em Sex Jun 16, 2017 11:59 am

cara vlw mesmo por compartilhar isso Smile
avatar
Dom3000
Programador

Masculino Posts : 868
Pontos : 2055
Reputação : 175
Registro : 18/06/2016
Idade : 22
Áreas de atuação : canal https://www.youtube.com/watch?v=yvmQEJUfbhQ
Blender, C#, Unity, Escritor, Game Disiner,...
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por marcos4503 em Sex Jun 16, 2017 12:15 pm

De nada man! Sempre que acho algo daora assim eu tento trazer pra galera aqui!!
avatar
marcos4503
Instrutor

Masculino Posts : 1037
Pontos : 2607
Reputação : 521
Registro : 03/11/2015
Idade : 19
Áreas de atuação : Desenvolvimento Android
Básico de Design
Básico Blender
Unity
Programação em C#
Outras linguas.
Respeito as regras :

Ver perfil do usuário http://www.windsoft.xyz/site

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por Duarte em Ter Fev 27, 2018 6:54 pm

Ola amigo, eu estou utilizando esse método para salvar meu game esta funcionando perfeitamente na Unity no Android ele não esta salvando.
avatar
Duarte
Programador

Masculino Posts : 349
Pontos : 959
Reputação : 86
Registro : 18/06/2017
Idade : 18
Áreas de atuação : Programação
Desenvolvedor Android
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por marcos4503 em Ter Fev 27, 2018 10:47 pm

Voce fez algum tipo de alteração no script?
avatar
marcos4503
Instrutor

Masculino Posts : 1037
Pontos : 2607
Reputação : 521
Registro : 03/11/2015
Idade : 19
Áreas de atuação : Desenvolvimento Android
Básico de Design
Básico Blender
Unity
Programação em C#
Outras linguas.
Respeito as regras :

Ver perfil do usuário http://www.windsoft.xyz/site

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por Cezar2016 em Ter Fev 27, 2018 11:12 pm

Muito bom o script amigo, mas tenho uma duvida. Podemos criar uma class dentro de outro ? e por que foi feito essa manobra.


Código:
[Serializable] //Nessa parte nós meio que formatamos o nosso arquivo, criando uma classse para isso. Aqui criamos as variaveis que serão adicionadas ao arquivo, e vale notar que você pode repetir nome de variaveis, desde que uma delas esteja fora dessa classe.
    class DadosDoJogo
    {
        public int Int;
        public float Float;
        public string String;
        public bool Bool;
    }

Cezar2016
Membro Junior
Membro Junior

Masculino Posts : 60
Pontos : 755
Reputação : 26
Registro : 07/09/2016
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por marcos4503 em Qua Fev 28, 2018 6:21 am

Olha, nunca testei amigo, mais acredito que sim. Algo como:

Código:
[Serializable]
public class DadosDoJogo{

public bool Teste;

public class NovaClasse{

public bool Teste;

}

}
avatar
marcos4503
Instrutor

Masculino Posts : 1037
Pontos : 2607
Reputação : 521
Registro : 03/11/2015
Idade : 19
Áreas de atuação : Desenvolvimento Android
Básico de Design
Básico Blender
Unity
Programação em C#
Outras linguas.
Respeito as regras :

Ver perfil do usuário http://www.windsoft.xyz/site

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por Dom3000 em Qua Fev 28, 2018 8:28 am

@Cezar2016 escreveu:Muito bom o script amigo, mas tenho uma duvida. Podemos criar uma class dentro de outro ? e por que foi feito essa manobra.


Código:
[Serializable] //Nessa parte nós meio que formatamos o nosso arquivo, criando uma classse para isso. Aqui criamos as variaveis que serão adicionadas ao arquivo, e vale notar que você pode repetir nome de variaveis, desde que uma delas esteja fora dessa classe.
    class DadosDoJogo
    {
        public int Int;
        public float Float;
        public string String;
        public bool Bool;
    }

cara não da, ja tentei ,tem que colocar so na classe e separar por comentarios
avatar
Dom3000
Programador

Masculino Posts : 868
Pontos : 2055
Reputação : 175
Registro : 18/06/2016
Idade : 22
Áreas de atuação : canal https://www.youtube.com/watch?v=yvmQEJUfbhQ
Blender, C#, Unity, Escritor, Game Disiner,...
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por Cezar2016 em Qua Fev 28, 2018 11:04 am

@marcos4503 escreveu:Olha, nunca testei amigo, mais acredito que sim. Algo como:

Código:
[Serializable]
public class DadosDoJogo{

public bool Teste;

public class NovaClasse{

public bool Teste;

}

}

O que estou querendo dizer é, por que a class " DadosDoJogo " esta dentro da class " ScriptDeSave " por que não esta fora da class, tem alguma diferencia isso ? Seria algo novo para mim.

Cezar2016
Membro Junior
Membro Junior

Masculino Posts : 60
Pontos : 755
Reputação : 26
Registro : 07/09/2016
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por Weslley em Qua Fev 28, 2018 11:24 am

Isso se chama Nested Types ou tipos aninhados! que também pode ser acessada por outras classes de acordo com seu modificador de acesso.


Última edição por Weslley em Qua Fev 28, 2018 1:01 pm, editado 1 vez(es)
avatar
Weslley
Moderador

Masculino Posts : 1592
Pontos : 3105
Reputação : 624
Registro : 31/01/2016
Idade : 20
Áreas de atuação : C#
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por Cezar2016 em Qua Fev 28, 2018 11:38 am

@Weslley escreveu:Isso se chama Nested Types ou tipos aninhados! que também pode ser acessada por outras variáveis de acordo com seu modificador de acesso.
hunnn valeu agora compreendo.

Cezar2016
Membro Junior
Membro Junior

Masculino Posts : 60
Pontos : 755
Reputação : 26
Registro : 07/09/2016
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por Samuelsk em Qua Fev 28, 2018 12:28 pm

@marcos4503 escreveu:Bom. Marcos estava em mais uma de suas andanças pela internet, ele procurava conhecer mais da classe System.IO do unity.. Ele queria aprender a manipular arquivos na memoria do dispositivo.. Acidentalmente (ele derrubou o elemento X) ele encontrou um link nos fóruns em inglês da Unity, que ensinava como fazer um Save persistente de jogo, o sisteminha salva os dados do jogo no formato DAT, na memoria do dispositivo, com criptografia, para evitar de usuarios mais leigos editarem o arquivo e adicionar umas moedinhas a mais..


Bom! Achei isso fantastico, e hoje to resolvendo trazer pra vocês esse sisteminha.


Prós
- Possui criptografia
- Funciona em Android, PC, IOs etc..
- Salva tudo num arquivo externo, com a estrutura de um arquivo DAT, mais você pode alterar o formato pra dar aquela enganada, para que ninguem manipule o arquivo, assim possibilitando para que o jogador faça backup do seu progresso!
- É 10000000000X mais prático do que o PlayerPrefs
- Pode salvar variaveis String, Bool, Int, Float, Double etc.. (Isso mesmo, Booleanas!!)

Contras
- Não conheço bem esse sistema (Vi várias pessoas falando bem dele no fórum em ingles da Unity, ele parece ser bem útil, pratico e seguro)
- A criptografia talvez possa ser quebrada por usuarios mais avançados. Talvez algum usuario mais avançado possa usar um programa para editar o arquivo do jogo, mais fiz várias pesquisas por isso e não encontrei nada. Fora que esse tal usuario teria que dedicar muito tempo pra descobrir que se trata de um arquivo DAT.
- O jogador pode perder todo seu progresso em caso de corrupção do arquivo, ou até mesmo em caso do jogo ser encerrado durante o salvamento (se seu jogo é mais complexo, você pode criar um sisteminha de backup e restauração pro arquivo de save.)

Nível do tutorial: Intermediário

Bom. Dito isso tudo, vamos pra diversão..

(Eu empacotei tudo em um asset que você pode baixar e usar para estudar. Só possui 1 script, e uma cena com alguns botões pra você manipular e testar o esqueminha, o script esta totalmente comentado.)


Download:
http://www.mediafire.com/file/bmck7dk601wh4gk/exemploSaveGame.unitypackage

Para importar para seu projeto, é só ir na Aba "Assets" > "Import Package" > "Custom Package" e selecionar o local onde esta o arquivo do asset, que voce acabou de baixar.

Observação rápida: Em caso de PC, o arquivo é salvo na pasta "AppData", no Android, o arquivo é salvo na pasta "Data", no mesmo diretorio da "Obb".


Tem uma dúvida? Comente aqui e eu vou tentar te responder!!


PS: Tentei editar o arquivo de algumas formas, alterando os valores das variaveis e tal. Sempre que editei o arquivo o Unity dava erro. Resumindo, sempre que eu tento editar o arquivo, o arquivo é corrompido.



Compatível com qual versão da uUnity ?
avatar
Samuelsk
Newbie
Newbie

Masculino Posts : 33
Pontos : 305
Reputação : 17
Registro : 24/10/2017
Idade : 19
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por NKKF em Qua Fev 28, 2018 2:12 pm

Estou na Unity 2018 e funciona normalmente. (Eu acho que não funciona na 4.6)
avatar
NKKF
ProgramadorMaster

Masculino Posts : 997
Pontos : 1573
Reputação : 324
Registro : 24/01/2018
Idade : 13
Áreas de atuação : Não uso foto de perfil porque não tenho autoestima suficiente.
Respeito as regras :

Ver perfil do usuário http://www.projetounity.esy.es

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por marcos4503 em Qua Fev 28, 2018 2:13 pm

@Samuelsk escreveu:


Compatível com qual versão da uUnity ?

Provavelmente é compatível com todas as versões da Unity..
avatar
marcos4503
Instrutor

Masculino Posts : 1037
Pontos : 2607
Reputação : 521
Registro : 03/11/2015
Idade : 19
Áreas de atuação : Desenvolvimento Android
Básico de Design
Básico Blender
Unity
Programação em C#
Outras linguas.
Respeito as regras :

Ver perfil do usuário http://www.windsoft.xyz/site

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por Samuelsk em Qua Fev 28, 2018 6:39 pm

Tentei abri  a "Cena de Exemplo" na Unity 5.3 e dizia que o Serialize não era compatível 
achei bem interessante sua explicação sobre ele, me interessei..mas n consegui abrir o exemplo e fico um pouco sem entender ele...
avatar
Samuelsk
Newbie
Newbie

Masculino Posts : 33
Pontos : 305
Reputação : 17
Registro : 24/10/2017
Idade : 19
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por NKKF em Qua Fev 28, 2018 6:51 pm

Eae Samuel, também tive um problema, porém, tem algumas coisas que não podem Serializar mesmo. Você baixou a cena padrão sem modificar nada?
avatar
NKKF
ProgramadorMaster

Masculino Posts : 997
Pontos : 1573
Reputação : 324
Registro : 24/01/2018
Idade : 13
Áreas de atuação : Não uso foto de perfil porque não tenho autoestima suficiente.
Respeito as regras :

Ver perfil do usuário http://www.projetounity.esy.es

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por Samuelsk em Qua Fev 28, 2018 7:02 pm

Souris escreveu:Eae Samuel, também tive um problema, porém, tem algumas coisas que não podem Serializar mesmo. Você baixou a cena padrão sem modificar nada?

Sim, abri um New Project na 5.3 importei o Assets..e tentei abrir o exemplo e bang.. nada ._.
avatar
Samuelsk
Newbie
Newbie

Masculino Posts : 33
Pontos : 305
Reputação : 17
Registro : 24/10/2017
Idade : 19
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por NKKF em Sex Maio 25, 2018 6:05 pm

Pessoal, salvar o arquivo como TXT não seria a mesma coisa? Pois é possível uma leitura através do Notepad.
(É porque eu estou lendo dados através de um website, que retorna apenas texto UTF-Cool
Então, daria problemas?
avatar
NKKF
ProgramadorMaster

Masculino Posts : 997
Pontos : 1573
Reputação : 324
Registro : 24/01/2018
Idade : 13
Áreas de atuação : Não uso foto de perfil porque não tenho autoestima suficiente.
Respeito as regras :

Ver perfil do usuário http://www.projetounity.esy.es

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!

Mensagem por Magnatah em Sex Maio 25, 2018 7:39 pm

Vou Fazer Uns Testes Pra Ver Se é Bom.
avatar
Magnatah
Membro Junior
Membro Junior

Masculino Posts : 67
Pontos : 149
Reputação : 11
Registro : 28/04/2018
Idade : 22
Áreas de atuação : Desenvolvedor Web(Front-end e Back-End), Blender, Unity, C#, Java, PHP, MySql e JavaScript.
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum