![]() |
Ответ: Как лучше хранить карты для игр
сть пяток парсеров хмл для блитца, ищи на оффоруме
ИМХО очень неудобный способ записи - не вижу никаких преимуществ перед обычной записью из редактора в свой формат. Пользовался немного очень плохие впечатления - отладка всего этого нагромождения заняла уйму времени, вдесятеро дольше, чем отладка бинарной записи. как сохранять уровни - гоу в фак там все написано. И ваще, последнее время наблюдается повышенная активность нубов. Им лень читать фак и справку, по каждой мелочи создают тему. с одной стороны форум оживляют, с другой - разврат и непотребство. Принимать дисциплинарные меры ? Или пусть копошацца ? |
Ответ: Как лучше хранить карты для игр
|
Ответ: Как лучше хранить карты для игр
Цитата:
поэтому поиском трудно чето найти, ибо нубских тем полно - название и кейворд нужные, а содержимое нето:crazy: Цитата:
|
Ответ: Как лучше хранить карты для игр
А чего тут думать? Бинарная запись самая практичная. Составляешь структуру, затем записываешь побайтого и радуешься результату. Ну вот такая структура например :
1)Тип объекта 2)Название 3)Свойства 4)Дополнительные параметры И в цикле прошариваешься по всему списку. Если все хранить побайтого, то после типа объекта еще нужно записывать сколько байт информации хранит в себе объект, чтобы можно было после прочтения его свойств перейти к следующему типу, ну это в том случае если количество свойств может меняться в более поздних версиях твоего редактора, у меня менялось. Можно правда хранить структуру открытой записью, тогда все проще, на каждую строку свой параметр и в цикле считываешь все строки пока не закончился файл. |
Ответ: Как лучше хранить карты для игр
Цитата:
|
Ответ: Как лучше хранить карты для игр
Цитата:
Aceton же не писал "памажите делать ММО суть такова". А вопросы интересные есть: сериализация, линки, кросслинки, предварительные объявления - сложностей полно. Вот это и хотелось бы пообсуждать, а не ответы "каг песадь байты в файл и вапще ты нуб". |
Ответ: Как лучше хранить карты для игр
Если по теме то самые практичные файлы бинарные но для них нужен редактор.
XML рулит только тем что редактировать можно любым текстовым редактором (правда сомнительное преимущество, т.к. гемор это ещё тот). Минусы XML: -любой может легко модифицировать изменяя тем самым игру. -довольно ненаглядная правка в текстовых редакторах -большой размер -большое время загрузки -проблемы с хранением двоичной информации Плюсы XML: +есть множество парсеров, выдающих в ответ на запрос данные. +ненужен редактор, подойдёт даже "блокнот". +легко читаем человеком Минусы Бинарного формата: -абсолютно не читаем человеком -нужен спец. редактор -нужен контроль версий формата файла -загрузку нужно писать самому Плюсы: +компактный размер +защита данных от правки (нужен опр. скилл для правки) +быстрая загрузка +возможно хранение любой информации вплоть до ресурсных файлов Я продпочитаю гибридный формат, по сути это бинарный файл с оглавлением и делением на секции. Т.е. вначале файла идёт заголовок со списком идущих ниже секций и их смещений от начала и размерами. Секция представляет собой блок бинарных данных с именем. Чтение такого формата происходит примерно так: *загружаем заголовок со списком секций. *перебирая список секций загружаем их в соответствии с именем/типом секции, если алгоритму секция неизвесна он её просто пропускает. Достоинство такого формата очевидно, при изменении структуры сохряняемых данных, мы сохраняем обратную совместимость с незатронутыми секциями. Плюс добавления в формат можно делать в виде нового типа секции. например b3d формат примерно так и устроен. |
Ответ: Как лучше хранить карты для игр
Цитата:
В редакторе расставил, присвоил, прицепил, прописал - записал данные с помощью детского сада в файл и готово Быстро просто удобно. А блокноте удобно править только уровни примитивных 2д игр. И то дело вкуса. Мне проще за час написать свой редактор, чем в этих тегах ковырятся |
Ответ: Как лучше хранить карты для игр
SBJoker хорошо написал. Но остается вопрос про линки(ссылки) из одних узлов/чанков/тегов на другие. Где применяется, ну например в вейпоинтах (ссылки на следующий, предыдущий). Да, можно конечно выкрутится и сделать каждому номер и ссылатся на номер, но интересно решение именно со ссылками. Кто-нибудь вобще такое делал? И как обходится с чанками, которые ссылаются на те, которые впереди в файле (еще не прочитаны/загружены)?
|
Ответ: Как лучше хранить карты для игр
я решал эту проблему вводом некого уникального id каждому юниту, дереву, руднику и т.д.
при свзяывании ссылок после загрузки использовался именно этот id. |
Ответ: Как лучше хранить карты для игр
есть один знакомый, он делал редактор файлов check.bin в Мафии. этот файлик как раз все вейпоинты содержал. я думаю у него можно структуру формата узнать, если нужно.
|
Ответ: Как лучше хранить карты для игр
Цитата:
|
Ответ: Как лучше хранить карты для игр
Номерами и только ими..просто связывание осуществлять после загрузки всех объектов, и все дела ;) .
|
Ответ: Как лучше хранить карты для игр
номерами настолько удобно, что о других способах просто смешно вспоминать (я на номера переделал )
порядок загрузки не имеет значения - просто сортирую загруженные вейпойнты по номеру и индексу (буквочку в название для выделения) и нумерую не всегда по порядку, на сложных участках через десяток перескочить могу, чтобы потом можно было безболезненно добавить. а уже в движке при загрузке сортировать и переименовывать. |
Часовой пояс GMT +4, время: 13:37. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot