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)

is.SarCasm 12.08.2009 14:05

Редактор уровней.
 
Допустим я сделал в своем редакторе страшного робота-убийцу из кубиков. Как ь мне его сохранить? А как загрузить? И что бы в игре его использовать можно было. ( ну вы поняли вопрос)

IGR 12.08.2009 14:14

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

( ну вы поняли вопрос)
нет !!

Hurrit 12.08.2009 15:25

Ответ: Редактор уровней.
 
Сначала скажи в чем сделал? А то наш программист-экстрасенс сейчас в отпуске

MaxEDn2 12.08.2009 15:54

Ответ: Редактор уровней.
 
Что за редактор? Мы не знаем ведь, и не кто тебе не скажет как загрузить, пока не обьясниш в чем дело точно?

Цитата:

Сообщение от hgang (Сообщение 113969)
Сначала скажи в чем сделал? А то наш программист-экстрасенс сейчас в отпуске - :-D :-D :-D :-D :-D


Chrono Syndrome 12.08.2009 18:32

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

Как ь мне его сохранить?
Путем записи всех необходимых для последующего воссоздания данные робота-убийцы вообще и образующих в частности его кубов на выбранный носитель данных.

Цитата:

А как загрузить?
Путем считывания из соотвествующего источника ранее записанных данных и дальнейшей реконструкции на их основе всех составляющих робота-убийцу кубов.

...Easy.

is.SarCasm 13.08.2009 23:07

Ответ: Редактор уровней.
 
эх блин а зачем быть экстаресенсом?
Цитата:

Сначала скажи в чем сделал
ответ :
Цитата:

в своем редакторе
Цитата:

нет !!
ответ :
Цитата:

Как ь мне его сохранить? А как загрузить?
точнее: как в редакторе сделать сохранение и загрузку
Цитата:

...Easy.
ответ: Hard

NitE 13.08.2009 23:13

Ответ: Редактор уровней.
 
записываешь то что надо в файл, потом читаешь из файла - что непонятно ?

is.SarCasm 13.08.2009 23:34

Ответ: Редактор уровней.
 
вот именно весь этот участок кода)

Mr_F_ 14.08.2009 00:10

Ответ: Редактор уровней.
 
WriteByte/WriteShort/WriteLong/WriteFloat/WriteString
ReadByte/ReadShort/ReadLong/ReadFloat/ReadString

пиши ими всю необходимую для восстановления сцены инфу.
если не знаешь чем шорт отличается от лонга итд, то
ГУГЛъ

impersonalis 14.08.2009 02:38

Ответ: Редактор уровней.
 
http://forum.boolean.name/showthread.php?t=1014
www.boolean.name > Программирование игр для компьютеров > Blitz3D > FAQ
LOAD-SAVE

Damp 19.08.2009 09:22

Ответ: Редактор уровней.
 
Бывает удобнее сохранять все в текстовом варианте WriteLine, потом такой файл можно в блокноте подправлять случись чего.

Crystal 19.08.2009 10:00

Ответ: Редактор уровней.
 
Флоатами лучше. Чтобы геймеры не читерили.

Mr_F_ 19.08.2009 14:12

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

ABTOMAT 19.08.2009 15:42

Ответ: Редактор уровней.
 
Да, сейв лучше делать человекочитаемым

Mr_F_ 19.08.2009 16:19

Ответ: Редактор уровней.
 
нах?

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

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

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

Mr_F_ 20.08.2009 14:59

Ответ: Редактор уровней.
 
не скажи, у меня бинарные сейвки от Морровинда весят по 18 (!) мб.
(у меня на нём стоит модов 200, без преувелечений, он тормозит хуже облы :-D. там тысячи скриптов и предметов и состояния всех измененных нужно сохранить. если я передвину бутылку в пещере за миллион километров, оно сохранится, в морре ничего просто так не восстанавливается)


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

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