Data lost

XGuarden

Veteran
Veteran
Joined
May 10, 2016
Messages
446
Reaction score
17
First Language
French
Primarily Uses
I just got a computer crash. And many of my json file seem to be empty now. I can't open my projet.
Any way to recover data?

RPG maker really did't make backup of file during save process in case of crash?
 

Andar

Veteran
Veteran
Joined
Mar 5, 2013
Messages
31,358
Reaction score
7,671
First Language
German
Primarily Uses
RMMV
No, you are responsible for backups - which is why we always stress in a lot of topics to make backups often.

The problem is that the RMs access the files like a database does (keeping them always open when editing), not like a game or like a regular program which only accesses the files when saving. That has several advantages when developing, but also prevents automatic backups and increases risc of damage due to crashes when the editor is open.

No choice but to learn what programmers have learned since computers were first invented: always backup your data, backup often and regularly...
 

InBlast

The Mad Hamster
Veteran
Joined
Nov 2, 2015
Messages
287
Reaction score
89
First Language
French
I don't think there is a way to recover it.

You need to do manual backups while making, to avoid this problem.
I don't remember exactly how it works, but I think Rpg Maker store the data somewhere while editing and put it in your project file when you close the software. So, if it crashes, there is high chances that you lose your project.
 

XGuarden

Veteran
Veteran
Joined
May 10, 2016
Messages
446
Reaction score
17
First Language
French
Primarily Uses
I don't think there is a way to recover it.

You need to do manual backups while making, to avoid this problem.
I don't remember exactly how it works, but I think Rpg Maker store the data somewhere while editing and put it in your project file when you close the software. So, if it crashes, there is high chances that you lose your project.
I dont think that work this way becaus that will be really stupid. As my computer crash many timeduring rpg maker was open and never get trouble, it's probably not how it's work. But during the save part maybe they work like this. If it's the case I can recover thes file then if you know the location...
 

bgillisp

Global Moderators
Global Mod
Joined
Jul 2, 2014
Messages
13,522
Reaction score
14,255
First Language
English
Primarily Uses
RMVXA
Nope, whatever's lost is lost to the void. All you can do is start a new project, copy over one file, see if it still runs. If it does, that file is fine. If not, that file is corrupted and you will have to replace it from the beginning.
 

_Shadow_

Tech Magician Level:
Moderator
Joined
Mar 2, 2014
Messages
4,078
Reaction score
2,654
First Language
Greek
Primarily Uses
RMMZ
I don't think there is a way to recover it.
I think Rpg Maker store the data somewhere while editing and put it in your project file when you close the software.
No no. It works like a database in a way. It's like what @Andar said. Look I will try to explain, it is really technical, but when you open a file to read it, the file is not in danger in general. When you open a file to write inside of it, you surely will mess with its structure temporarily, until you write whatever you want and CLOSE it properly. So (I try to be here as simple as possible) programs open and close files in different ways. When you open to edit a file though, it is a dangerous moment.
What MV does open the files, as @Andar already told you, it is keeping the json files open all the time during editing, in order to be able to edit them on the fly. Why? Well a possible reason is to avoid bad response times during editing or even worse the need to reset everything everytime you make a change. Remember you can playtest your game on the fly. It's not as simple as it looks, nothing is as simple as it looks. I can give you an example. Variables are not set during editing. Variables are set at runtime. Thus when you preview a Show Text command that involves a variable, the variable will be 0! Imagine you making changes and these changes being available only during runtime. LOL right? You need them available instantly.

"Wait! This is stupid! I might crash and lose my work". Yes. In a relative way it seems stupid. On the other hand, it is smart in many other ways. Thus because it solves more problems that it causes, I consider it being OK. I imagine something like this:
Let's say MV was 100% crash proof. What does that programmaticaly mean?
What if the program would load all json files into RAM? Then it would write changes once, every time you say so, making a backup first, then if the procedure would be smoothly ended, you could go on, otherwise a rollback feature from a backup would take place. Sounds great right?
Here goes the problems with such an approach:
  • A json file can become huge.
  • A project might have hundreds of json files.
Thus you might need a lot of RAM and I mean A LOT, without any reason.
Also the program would not be responsive, in a way you would imagine it is full of bugs. You would never be sure if it crashed or if it just does a lot of work during saving.
When saving from the RAM to json, everything would be ok.
That is far from smart programming.

Before saving, you can't playtest any changes and of course you can't access such changes on the GUI either, meaning you make a change and it isn't htere yet, even after saving. Oh! If you need to fix that by refreshing all the json files, then the program will not be responsive after ANY change you make.
Everything has to be resetted.
Is that something smart? Nah!

So in order to avoid these problems and a lot more, the program access json files on the fly. It is dangerous indeed, but it solves everything and you can keep yourself safe with not much effort, just backup every day a copy of your game.

I am sad for what happend to you for real. I know how you feel, I was angry and sad at the same time when I lost my work once.
 

XGuarden

Veteran
Veteran
Joined
May 10, 2016
Messages
446
Reaction score
17
First Language
French
Primarily Uses
No no. It works like a database in a way. It's like what @Andar said. Look I will try to explain, it is really technical, but when you open a file to read it, the file is not in danger in general. When you open a file to write inside of it, you surely will mess with its structure temporarily, until you write whatever you want and CLOSE it properly. So (I try to be here as simple as possible) programs open and close files in different ways. When you open to edit a file though, it is a dangerous moment.
What MV does open the files, as @Andar already told you, it is keeping the json files open all the time during editing, in order to be able to edit them on the fly. Why? Well a possible reason is to avoid bad response times during editing or even worse the need to reset everything everytime you make a change. Remember you can playtest your game on the fly. It's not as simple as it looks, nothing is as simple as it looks. I can give you an example. Variables are not set during editing. Variables are set at runtime. Thus when you preview a Show Text command that involves a variable, the variable will be 0! Imagine you making changes and these changes being available only during runtime. LOL right? You need them available instantly.

"Wait! This is stupid! I might crash and lose my work". Yes. In a relative way it seems stupid. On the other hand, it is smart in many other ways. Thus because it solves more problems that it causes, I consider it being OK. I imagine something like this:
Let's say MV was 100% crash proof. What does that programmaticaly mean?
What if the program would load all json files into RAM? Then it would write changes once, every time you say so, making a backup first, then if the procedure would be smoothly ended, you could go on, otherwise a rollback feature from a backup would take place. Sounds great right?
Here goes the problems with such an approach:
  • A json file can become huge.
  • A project might have hundreds of json files.
Thus you might need a lot of RAM and I mean A LOT, without any reason.
Also the program would not be responsive, in a way you would imagine it is full of bugs. You would never be sure if it crashed or if it just does a lot of work during saving.
When saving from the RAM to json, everything would be ok.
That is far from smart programming.

Before saving, you can't playtest any changes and of course you can't access such changes on the GUI either, meaning you make a change and it isn't htere yet, even after saving. Oh! If you need to fix that by refreshing all the json files, then the program will not be responsive after ANY change you make.
Everything has to be resetted.
Is that something smart? Nah!

So in order to avoid these problems and a lot more, the program access json files on the fly. It is dangerous indeed, but it solves everything and you can keep yourself safe with not much effort, just backup every day a copy of your game.

I am sad for what happend to you for real. I know how you feel, I was angry and sad at the same time when I lost my work once.
I guess that maybe they can add feature to take backup in zip file every day. as an option.

But not I did't lost all my projet, I lost my 24 last hour of work i think and all my common event from last 2 week.. Lucky for me, map still intact.


But I need help to be sure.

Here the file that I had to use a backuped file from 2 week. Please tell me what each file affect.
plugging.js (did't seem to affect anything)
actor.json (snif snif)
animation.json(dont care)
armors.json(dont care)
classes.json(dont care)
commonevents.json (snif snif nif)
enemis.json(dont care)
Items.json(dont care)
MapInfos.json (Im wondering about this one...)
Skill.json(dont care)
States.json(dont care)
System.json(unsure)
Tileset.json(Im wondering about this one)
Troops.json(dont care)
weapon.json(dont care)

thanks
 

Hudell

Dog Lord
Veteran
Joined
Oct 2, 2014
Messages
3,545
Reaction score
3,715
First Language
Java's Crypt
Primarily Uses
RMMZ
MapInfos.json store information about which maps are on your project. Even if the map file is there, it won't show up on the editor if it's not in the MapInfos file. It's not hard to import an old map though.

Tileset.json store information about tile passability.
System.json store the System tab of the database and also variable and switch names.
 

_Shadow_

Tech Magician Level:
Moderator
Joined
Mar 2, 2014
Messages
4,078
Reaction score
2,654
First Language
Greek
Primarily Uses
RMMZ
I guess that maybe they can add feature to take backup in zip file every day. as an option.

thanks
Hudell ninja'ed me :) always here to help people I suppose! :D

Well such a feature needs json files to close. Thus ti might be available only on program closing.
It may also need some legal actions to get permission to use a zip program.
As said earlier, things are not as simple as they look. :p
The question that arise is, why not using 7zip to just backup your whole folder? :)
 

XGuarden

Veteran
Veteran
Joined
May 10, 2016
Messages
446
Reaction score
17
First Language
French
Primarily Uses
MapInfos.json store information about which maps are on your project. Even if the map file is there, it won't show up on the editor if it's not in the MapInfos file. It's not hard to import an old map though.

Tileset.json store information about tile passability.
System.json store the System tab of the database and also variable and switch names.
Then on this part im lucky because I ony add 2 map since the last backup and they are boh test map, I only ned to find a way to import thm bakc or delete them.

Tileset.json(Im wondering about this one)
thanks
 

SimProse

Veteran
Veteran
Joined
Jul 9, 2016
Messages
371
Reaction score
202
First Language
English
Primarily Uses
Backups are essential when you're working on anything like this. I have a memory card and a flash drive plugged in just for such occasions, and it makes it easy to backup things after major steps, or even every few days. Make multiples too, as media can fail for many reasons.
 

XGuarden

Veteran
Veteran
Joined
May 10, 2016
Messages
446
Reaction score
17
First Language
French
Primarily Uses
Backups are essential when you're working on anything like this. I have a memory card and a flash drive plugged in just for such occasions, and it makes it easy to backup things after major steps, or even every few days. Make multiples too, as media can fail for many reasons.
I got a recent backup of course... But i do something really stupid. I alway overwrite my backup.
My computer crash and i got some hard drive problem, so I get scare of losing my night of work and immeriatly after computer
reboot, I make a copy of my game over my backup. But when I tryed to open the game... I realize it's did't work and that I just overwrite
my recent back. Forcing me to go to an old one.
 

_Shadow_

Tech Magician Level:
Moderator
Joined
Mar 2, 2014
Messages
4,078
Reaction score
2,654
First Language
Greek
Primarily Uses
RMMZ
I got a recent backup of course... But i do something really stupid. I alway overwrite my backup.
My computer crash and i got some hard drive problem, so I get scare of losing my night of work and immeriatly after computer
reboot, I make a copy of my game over my backup. But when I tryed to open the game... I realize it's did't work and that I just overwrite
my recent back. Forcing me to go to an old one.
You should try doing what I do.
You get a usb memory stick with capacity of 8GB or more.
Create a folder named MV Backups.
Make three folders:
1_Older
2_Previous
3_Current

Copy paste your backup in 3_Current.
Next time you first cut - paste the project from 3_Current into 2_Previous
then add the new backup inside 3_Current
Next time you create a folder inside 1_Older named after the current date. For example for today the folder name is 2017_02_07
Then cut - paste the contents of 2_Previous inside 1_Older/2017_02_07/
Then cut - paste the contents of 3_Current inside 2_Previous
Then copy - paste your current backup inside 3_Current

You can have at least 16 backups equal to 500MB or less each, that way.
If everything goes well, and you are out of space, you can start deleting the older backups and go that way through the end of your development.

Never work on your backups.
A backup is something not being touched.
You work on your project folder, then leave the backup alone.
Best thing to do is to safely remove the stick afeterwards.
 

bgillisp

Global Moderators
Global Mod
Joined
Jul 2, 2014
Messages
13,522
Reaction score
14,255
First Language
English
Primarily Uses
RMVXA
Or you can do what I do. I compress my entire game folder into a .zip file, and I name the zip file the game name and the date I made the zip file (so for my game, a backup made today reads The_Book_of_Shadows_2_6_2017_Backup). Then I put the backup somewhere else not on the HD in case of a HD failure.

Also, I keep about 4 months of backups running, and if I make a major change (like redoing a skill system, redoing an entire town, etc) I keep a backup from before the change in case I need to revert something, or in case I totally mess up while making my change.
 

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Profile Posts

Do you Find Tilesetting or Looking for Tilesets/Plugins more fun? Personally I like making my tileset for my Game (Cretaceous Park TM) xD
How many parameters is 'too many'??
Yay, now back in action Happy Christmas time, coming back!






Back in action to develop the indie game that has been long overdue... Final Fallacy. A game that keeps on giving! The development never ends as the developer thinks to be the smart cookie by coming back and beginning by saying... "Oh bother, this indie game has been long overdue..." How could one resist such? No-one c
So I was playing with filters and this looked interesting...

Versus the normal look...

Kind of gives a very different feel. :LZSexcite:

Forum statistics

Threads
105,854
Messages
1,017,004
Members
137,562
Latest member
tamedeathman
Top