Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
ApocalypsisRus
0 / 0 / 0
Регистрация: 12.12.2013
Сообщений: 28
07.10.2015, 16:47     Как сделать сохранение в игре? #1
Недавно я решился попробовать создать RPG игру на C++ поскольку с языком у меня особых проблем нету, и мне захотелось поэксперементировать со своими навыками. И, собственно, когда я создавал сохранения, использующие чтение из текстового файла, у меня назрел вопрос: "Можно ли сделать так, чтобы пользователи не могли изменять этот файл, или каким образом мне лучше сделать структуру сохранений?".
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.10.2015, 16:47     Как сделать сохранение в игре?
Посмотрите здесь:

Как сделать сохранение? C++
Как сделать победу в игре Крестики-Нолики C++ Builder
C++ playsound(), как сделать фоновую музыку в игре
C++ Составить программу, обеспечивающую ввод и сохранение на диске информации о заброшенных мячах в игре баскетбол
Как сделать сохранение C++ Builder
C++ Builder Подскажите как сделать несколько шашек в игре
Как сделать камеру (в игре) :D C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
4441 / 3779 / 1278
Регистрация: 14.04.2014
Сообщений: 14,872
07.10.2015, 16:57     Как сделать сохранение в игре? #2
Зашифруй.
ApocalypsisRus
0 / 0 / 0
Регистрация: 12.12.2013
Сообщений: 28
07.10.2015, 17:19  [ТС]     Как сделать сохранение в игре? #3
Огромное спасибо за столь неразвернутый, неясный и ни капли не исчерпывающий ответ. В ответ к тебе у меня только один вопрос: "Что ты имел в виду?".
nmcf
4441 / 3779 / 1278
Регистрация: 14.04.2014
Сообщений: 14,872
07.10.2015, 17:23     Как сделать сохранение в игре? #4
Ответ мой предельно ясный. Ты не хочешь, чтобы файл редактировали - я предложил зашифровать.
hoggy
5426 / 2225 / 410
Регистрация: 15.11.2014
Сообщений: 5,012
Завершенные тесты: 1
07.10.2015, 23:09     Как сделать сохранение в игре? #5
Цитата Сообщение от ApocalypsisRus Посмотреть сообщение
В ответ к тебе у меня только один вопрос: "Что ты имел в виду?".
http://g.zeos.in/?q=%D1%81%2B%2B%20%...1%8B%D0%B5&m=1


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

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

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

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

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

НО!!! Сам пытаюсь писать игру, и скажу, что защита ее от читерства - далеко не самая первая задача...
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16934 / 5339 / 328
Регистрация: 30.03.2009
Сообщений: 14,339
Записей в блоге: 26
10.10.2015, 10:55     Как сделать сохранение в игре? #7
Цитата Сообщение от ApocalypsisRus Посмотреть сообщение
"Можно ли сделать так, чтобы пользователи не могли изменять этот файл, или каким образом мне лучше сделать структуру сохранений?"
Можно сделать что угодно, вопрос только в том, в какую цену это выльется. Можно кучу времени убить не плохо взламываемые файлы сохранения, а можно это время потратить на то, чтобы сделать хорошую игру. У тебя ещё нет ни одного пользователя, а ты уже пытаешься с ними бороться
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.10.2015, 22:50     Как сделать сохранение в игре?
Еще ссылки по теме:

Как сделать так чтобы персонаж в игре двигался сам C++
Как сделать систему ходов в карточной игре? C++
C++ Как сделать Game over в игре
C++ Как в игре сделать счёт голов?
Как из числа типа double сделать int (сохранение целой и дробной части в отдельных целочисленных переменных) C++

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

Или воспользуйтесь поиском по форуму:
OverDrive1g
0 / 0 / 0
Регистрация: 25.05.2013
Сообщений: 8
20.10.2015, 22:50     Как сделать сохранение в игре? #8
Чтобы обычный юззверь не понял что да как в файле, записывай в двоичном режиме.
Двоичный файл отличается от текстового тем, что данные в нем представлены во внутренней форме. А поскольку при внутреннем представлении используется двоичная система счисления, то «в честь ее» файлы и называются двоичными. По существу, двоичный файл является аналогом внутренней (оперативной, физической) памяти – неограниченным массивом байтов с возможностью непосредственного обращения (произвольного доступа) к любой его части.
Yandex
Объявления
20.10.2015, 22:50     Как сделать сохранение в игре?
Ответ Создать тему
Опции темы

Текущее время: 19:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru