![]() |
Редактор уровней.
Допустим я сделал в своем редакторе страшного робота-убийцу из кубиков. Как ь мне его сохранить? А как загрузить? И что бы в игре его использовать можно было. ( ну вы поняли вопрос)
|
Ответ: Редактор уровней.
Цитата:
|
Ответ: Редактор уровней.
Сначала скажи в чем сделал? А то наш программист-экстрасенс сейчас в отпуске
|
Ответ: Редактор уровней.
Что за редактор? Мы не знаем ведь, и не кто тебе не скажет как загрузить, пока не обьясниш в чем дело точно?
Цитата:
|
Ответ: Редактор уровней.
Цитата:
Цитата:
...Easy. |
Ответ: Редактор уровней.
эх блин а зачем быть экстаресенсом?
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
|
Ответ: Редактор уровней.
записываешь то что надо в файл, потом читаешь из файла - что непонятно ?
|
Ответ: Редактор уровней.
вот именно весь этот участок кода)
|
Ответ: Редактор уровней.
WriteByte/WriteShort/WriteLong/WriteFloat/WriteString
ReadByte/ReadShort/ReadLong/ReadFloat/ReadString пиши ими всю необходимую для восстановления сцены инфу. если не знаешь чем шорт отличается от лонга итд, то ГУГЛъ |
Ответ: Редактор уровней.
http://forum.boolean.name/showthread.php?t=1014
www.boolean.name > Программирование игр для компьютеров > Blitz3D > FAQ LOAD-SAVE |
Ответ: Редактор уровней.
Бывает удобнее сохранять все в текстовом варианте WriteLine, потом такой файл можно в блокноте подправлять случись чего.
|
Ответ: Редактор уровней.
Флоатами лучше. Чтобы геймеры не читерили.
|
Ответ: Редактор уровней.
лайнами громоздко. надо сохранять все данные в том формате для которого они предназначены. флоаты флоатами, лонги лонгами, шорты шортами, итд.
потом такой файл можно в хекс воркшопе подправлять случись чего) |
Ответ: Редактор уровней.
Да, сейв лучше делать человекочитаемым
|
Ответ: Редактор уровней.
нах?
|
Ответ: Редактор уровней.
Чтоб я себе характеристики добавил
|
Ответ: Редактор уровней.
Бывает просто такая хрень - в редакторе что-то случайно или соскейлил или куда-то запехал, короче потерял какйю-то важную модель. Если сейв не читабельный, исправить дело будет сложно, а так, в блокноте нашел и удалил.
Плюс расширяемость формата лучше, проще сделать совместимые форматы из старого в новый и тп. Потом зашифрить не так уж сложно, чтоб другие не читали. |
Ответ: Редактор уровней.
Цитата:
Цитата:
|
Ответ: Редактор уровней.
Не - бузсловно можно хранить всё в шифрованном зипе,а картинки ещё и в аццкий джипег катать. Один вопрос - З.А.Ч.Е.М.?
Если тебе так удобно - то конечно) |
Ответ: Редактор уровней.
затем что прочитать байт быстрее чем слово "255" с переносом на строку
шифрованный зип - плохое сравнение т.к. время расшифровки наоборот дольше. джипег тоже плохое сравнение т.к. ухудшается кач-во. да и в какой нормальной игре вы видели ASCII форматы?) |
Ответ: Редактор уровней.
хм... правда где-то по середине !!
вот если сейв с редактора (сабж собственно), то будет лучше хранить в строках все в читаемом виде, т.к. действительно можна кое-что подправить если нада !! ну вообщем это уже сказали !! Удобно короче !! сейв игры - ДА !! лучше шифровать и паковать !! впервых - байты читать и сохранять, как сказали - быстрее !! вторых - все таки не нада что бы юзер там че нить правил и добавлял себе новое оружие или жизни, или еще какието хаки !! |
Ответ: Редактор уровней.
Если редактор не ногами пишешь,
править мир будешь редактором, а не через блокнот. |
Ответ: Редактор уровней.
Во-во
|
Ответ: Редактор уровней.
А мужики-то не знают:
MATLAB (цена по яндексу - 78304.00руб), Picad (насколько помню) и ещё не мало пакетов пишут-таки в человеко-пропарсеваемом формате - так вот, они оказывается ногами по клаве, а вот Crys3D (ну уж видать Кармак у него взаймы просит) себе такого не позволяет. Цитата:
upd: спецификацию формата *.Х Тоже гляньте |
Ответ: Редактор уровней.
Цитата:
хмм, а почему ехе не человеко-читаемые до сих пор?)) |
Ответ: Редактор уровней.
Тут как с гото - профи то знает где его применить, однако, больше всего за него ратующие пишут такой спаггети-говнокод, что волосы дыбом. Потом, осмелюсь предположить, что функция, ктороая пишет всё в своём формате имеет вид:
Код:
writefloat Безусловно, и описанная мной ниже реализация может иметь брутально-байтовую форму записи, но это редко - т.к. усложняет внутрикомплексное взаимодействие, убирает вариативность парсинга, превращая загрузку в такой же Код:
read |
Ответ: Редактор уровней.
при разроботке столкнулся с тем что :
Цитата:
делать кучу чтений с логикой намного медленее чем делать прямое дублирования структур в файл в идеале загрузка из файла это просто выделение памяти, прямое копирование файла в память и юзаем как будто ничего и не грузили конечно древовидные структуры так не запишешь, а вот вершины в b3d файле отлично читаются напрямик в видеопамять (но через буфер конечно же) |
Ответ: Редактор уровней.
Ну мой конецпт загрузки конфигурационного файла:
загрузка проекции, очистка от комментариев и скипов, удаление лишнего форматирования, парсинг по уровням. |
Ответ: Редактор уровней.
Моё мнение: человеко-читаемые файлы нужны толко для небольших нстроечных файлов.
Таких как: * Таблицы строковых данных локализации * Основные настройки игры так же достуные из меню настроек игры * Всякие мелкие файлы с параметрами юнитов/оружия/врагов Сэйвки же, очень специфичны от игры. Например игра типа Марио сохраняет только номер текущего мира и карты в нём, наличие взятых бонусов, очки и жизни игрока. Что вопщемто занимает пару сотен байт. А например готика2/3 должна уже сохранить все изменения инвентаря, сундуков, врагов, прокачку перса,и многое многое другое. Что выливается в десятки мегабайт. Нужен ли в последнем примере человеко-читаемый формат? Думаю нет. |
Ответ: Редактор уровней.
Цитата:
|
Ответ: Редактор уровней.
не скажи, у меня бинарные сейвки от Морровинда весят по 18 (!) мб.
(у меня на нём стоит модов 200, без преувелечений, он тормозит хуже облы :-D. там тысячи скриптов и предметов и состояния всех измененных нужно сохранить. если я передвину бутылку в пещере за миллион километров, оно сохранится, в морре ничего просто так не восстанавливается) |
Часовой пояс GMT +4, время: 06:27. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot