Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/19: Рейтинг темы: голосов - 19, средняя оценка - 5.00
3 / 3 / 0
Регистрация: 12.12.2013
Сообщений: 93
1

Как сделать сохранение в игре?

07.10.2015, 16:47. Показов 3750. Ответов 7
Метки нет (Все метки)

Недавно я решился попробовать создать RPG игру на C++ поскольку с языком у меня особых проблем нету, и мне захотелось поэксперементировать со своими навыками. И, собственно, когда я создавал сохранения, использующие чтение из текстового файла, у меня назрел вопрос: "Можно ли сделать так, чтобы пользователи не могли изменять этот файл, или каким образом мне лучше сделать структуру сохранений?".
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.10.2015, 16:47
Ответы с готовыми решениями:

Как сделать Game over в игре
Здравствуйте, разрабатываю змейку через OpenGL на с++ и в принципе игра работает , но хотелось бы...

Как сделать сохранение?
как сделать сохранение всех сточек в текстовый файл для этой программы? подскажыте...

Подскажите как сделать несколько шашек в игре
Здравствуйте, уважаемые, вот я сделал недо програму для игры в шашки(поле 10 на 10). программа...

Как сделать победу в игре Крестики-Нолики
Я пытался создать игру XO(крестики и нолики) но вот как сделать победу я не знаю. думал каждый...

7
6968 / 6013 / 2731
Регистрация: 14.04.2014
Сообщений: 25,733
07.10.2015, 16:57 2
Зашифруй.
0
3 / 3 / 0
Регистрация: 12.12.2013
Сообщений: 93
07.10.2015, 17:19  [ТС] 3
Огромное спасибо за столь неразвернутый, неясный и ни капли не исчерпывающий ответ. В ответ к тебе у меня только один вопрос: "Что ты имел в виду?".
0
6968 / 6013 / 2731
Регистрация: 14.04.2014
Сообщений: 25,733
07.10.2015, 17:23 4
Ответ мой предельно ясный. Ты не хочешь, чтобы файл редактировали - я предложил зашифровать.
0
Эксперт С++
8423 / 3956 / 866
Регистрация: 15.11.2014
Сообщений: 8,908
07.10.2015, 23:09 5
Лучший ответ Сообщение было отмечено ApocalypsisRus как решение

Решение

Цитата Сообщение от ApocalypsisRus Посмотреть сообщение
В ответ к тебе у меня только один вопрос: "Что ты имел в виду?".
http://g.zeos.in/?q=%D1%81%2B%... %D0%B5&m=1


плюс к этому ещё можно провернуть трюк с контрольной суммой.
суть такая: после зашифровки срисовываем контрольную сумму файла.
её может организовать шифровальная библиотека.
ну или просто зашифрованный файл вычитываем и смотрим сумму значений байтов.

при загрузке проверяем контрольную сумму.
если не изменилась - скорее всего никто ничего в файле не менял.

в контрольную сумму можно так же включать дату последнего изменения файла.
0
0 / 0 / 1
Регистрация: 09.10.2015
Сообщений: 9
09.10.2015, 21:18 6
ApocalypsisRus: Поясняю про ответ "зашифровать". Вот скажем ты подготовил файл сохраненку текстовую. Далее в нем каждый байт сдвигаешь на известное число , точнее (байт+икс)%256. Скажем если икс 10, то 150 превратится в 160, а 250 не в 260, а в 5.
Теперь файл выглядит внешне совершенно бессмысленно. Конечно сколь-нибудь разбирающийся в хакинге это раскодирует мигом) Но вот простой пользователь - увидит только бессмысленный набор символов.

Ну и при обратном чтении, при загрузке - надо раскодировать.

Если хочешь создать не просто небольшое, а Серьезное препятствие редактированию сохраненок - то надо использовать стандартные сложные алгоритмы шифровки.

НО!!! Сам пытаюсь писать игру, и скажу, что защита ее от читерства - далеко не самая первая задача...
0
Evg
Эксперт CАвтор FAQ
21160 / 8176 / 628
Регистрация: 30.03.2009
Сообщений: 22,475
Записей в блоге: 30
10.10.2015, 10:55 7
Цитата Сообщение от ApocalypsisRus Посмотреть сообщение
"Можно ли сделать так, чтобы пользователи не могли изменять этот файл, или каким образом мне лучше сделать структуру сохранений?"
Можно сделать что угодно, вопрос только в том, в какую цену это выльется. Можно кучу времени убить не плохо взламываемые файлы сохранения, а можно это время потратить на то, чтобы сделать хорошую игру. У тебя ещё нет ни одного пользователя, а ты уже пытаешься с ними бороться
0
0 / 0 / 0
Регистрация: 25.05.2013
Сообщений: 8
20.10.2015, 22:50 8
Чтобы обычный юззверь не понял что да как в файле, записывай в двоичном режиме.
Двоичный файл отличается от текстового тем, что данные в нем представлены во внутренней форме. А поскольку при внутреннем представлении используется двоичная система счисления, то «в честь ее» файлы и называются двоичными. По существу, двоичный файл является аналогом внутренней (оперативной, физической) памяти – неограниченным массивом байтов с возможностью непосредственного обращения (произвольного доступа) к любой его части.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.10.2015, 22:50

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Как сделать сохранение
Есть программа для вот её задание (Постановка задачи. Составить программу для наблюдения за...

Как сделать камеру (в игре) :D
Пишу 2D игру на движке HGE. Надо сделать камеру, чтобы она следовала за игроком (по Х-координате)....

Как сделать обновление карты в игре
Наше такую штуку. Допустим есть функция draw_map() - рисует карту, и чтобы она обновлялась её...

Как в игре сделать счёт голов?
Помогите пожалуйста. Как в игре сделать счёт голов? Думал сделать что когда мяч достигает координат...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.