forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Редактор уровней. (http://forum.boolean.name/showthread.php?t=8885)

ABTOMAT 19.08.2009 17:15

Ответ: Редактор уровней.
 
Чтоб я себе характеристики добавил

Damp 19.08.2009 17:32

Ответ: Редактор уровней.
 
Бывает просто такая хрень - в редакторе что-то случайно или соскейлил или куда-то запехал, короче потерял какйю-то важную модель. Если сейв не читабельный, исправить дело будет сложно, а так, в блокноте нашел и удалил.
Плюс расширяемость формата лучше, проще сделать совместимые форматы из старого в новый и тп.
Потом зашифрить не так уж сложно, чтоб другие не читали.

Mr_F_ 19.08.2009 18:05

Ответ: Редактор уровней.
 
Цитата:

Если сейв не читабельный, исправить дело будет сложно
вы мало работали в хексе))

Цитата:

Плюс расширяемость формата лучше, проще сделать совместимые форматы из старого в новый и тп.
расширяемость может достигаться и более шустрыми способами

impersonalis 19.08.2009 18:46

Ответ: Редактор уровней.
 
Не - бузсловно можно хранить всё в шифрованном зипе,а картинки ещё и в аццкий джипег катать. Один вопрос - З.А.Ч.Е.М.?
Если тебе так удобно - то конечно)

Mr_F_ 19.08.2009 19:37

Ответ: Редактор уровней.
 
затем что прочитать байт быстрее чем слово "255" с переносом на строку
шифрованный зип - плохое сравнение т.к. время расшифровки наоборот дольше. джипег тоже плохое сравнение т.к. ухудшается кач-во.

да и в какой нормальной игре вы видели ASCII форматы?)

IGR 19.08.2009 19:43

Ответ: Редактор уровней.
 
хм... правда где-то по середине !!
вот если сейв с редактора (сабж собственно), то будет лучше хранить в строках все в читаемом виде, т.к. действительно можна кое-что подправить если нада !! ну вообщем это уже сказали !! Удобно короче !!
сейв игры - ДА !! лучше шифровать и паковать !! впервых - байты читать и сохранять, как сказали - быстрее !! вторых - все таки не нада что бы юзер там че нить правил и добавлял себе новое оружие или жизни, или еще какието хаки !!

Crystal 20.08.2009 01:42

Ответ: Редактор уровней.
 
Если редактор не ногами пишешь,
править мир будешь редактором,
а не через блокнот.

Mr_F_ 20.08.2009 02:00

Ответ: Редактор уровней.
 
Во-во

impersonalis 20.08.2009 02:20

Ответ: Редактор уровней.
 
А мужики-то не знают:
MATLAB (цена по яндексу - 78304.00руб), Picad (насколько помню) и ещё не мало пакетов пишут-таки в человеко-пропарсеваемом формате - так вот, они оказывается ногами по клаве, а вот Crys3D (ну уж видать Кармак у него взаймы просит) себе такого не позволяет.
Цитата:

Если тебе так удобно - то конечно)
было сказано выше, но всем как всегда "очень интересно"

upd: спецификацию формата *.Х Тоже гляньте

Mr_F_ 20.08.2009 02:31

Ответ: Редактор уровней.
 
Цитата:

MATLAB (цена по яндексу - 78304.00руб), Picad (насколько помню)
а 3dsMax (цена - $3,760) плюс все графические редакторы пишут-таки в нормальном быстро-машино-читаемом формате.

хмм, а почему ехе не человеко-читаемые до сих пор?))

impersonalis 20.08.2009 02:34

Ответ: Редактор уровней.
 
Тут как с гото - профи то знает где его применить, однако, больше всего за него ратующие пишут такой спаггети-говнокод, что волосы дыбом. Потом, осмелюсь предположить, что функция, ктороая пишет всё в своём формате имеет вид:
Код:

writefloat
writeint
write..

Вместо последоватльно вызваемых функций опроса списков по объектам, в которых для каждого экземпляра будет вызван свой сериализатор.
Безусловно, и описанная мной ниже реализация может иметь брутально-байтовую форму записи, но это редко - т.к. усложняет внутрикомплексное взаимодействие, убирает вариативность парсинга, превращая загрузку в такой же
Код:

read
read
read

Дело, конечно ваше.. Но есть хорошая фраза "Экономика должна быть экономной". Разумеется часть задач требует сверхкомпактного хренения в угоду парсингу (но их не так много) и шифрования (написанное вами кодирование никуда не годится, шифрование же редко имеет эффект компрессии)

jimon 20.08.2009 03:36

Ответ: Редактор уровней.
 
при разроботке столкнулся с тем что :
Цитата:

read
read
read
рано или поздно начнёт тормозить

делать кучу чтений с логикой намного медленее чем делать прямое дублирования структур в файл
в идеале загрузка из файла это просто выделение памяти, прямое копирование файла в память и юзаем как будто ничего и не грузили

конечно древовидные структуры так не запишешь, а вот вершины в b3d файле отлично читаются напрямик в видеопамять (но через буфер конечно же)

impersonalis 20.08.2009 13:49

Ответ: Редактор уровней.
 
Ну мой конецпт загрузки конфигурационного файла:
загрузка проекции, очистка от комментариев и скипов, удаление лишнего форматирования, парсинг по уровням.

SBJoker 20.08.2009 14:34

Ответ: Редактор уровней.
 
Моё мнение: человеко-читаемые файлы нужны толко для небольших нстроечных файлов.
Таких как:
* Таблицы строковых данных локализации
* Основные настройки игры так же достуные из меню настроек игры
* Всякие мелкие файлы с параметрами юнитов/оружия/врагов

Сэйвки же, очень специфичны от игры. Например игра типа Марио сохраняет только номер текущего мира и карты в нём, наличие взятых бонусов, очки и жизни игрока. Что вопщемто занимает пару сотен байт.

А например готика2/3 должна уже сохранить все изменения инвентаря, сундуков, врагов, прокачку перса,и многое многое другое. Что выливается в десятки мегабайт.

Нужен ли в последнем примере человеко-читаемый формат? Думаю нет.

NitE 20.08.2009 14:39

Ответ: Редактор уровней.
 
Цитата:

Что выливается в десятки мегабайт
кило-


Часовой пояс GMT +4, время: 04:57.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot