Как лучше хранить карты для игр
Хотел сделать через хмл, но чето не могу найти нормальных парсеров для блица на сишке.
Читал, что блиц умеет загружать файлы .бсп. Вообще как лучше хранить данные о карте, чтобы было блицем удобно юзать их? |
Ответ: Как лучше хранить карты для игр
я думаю что карта это немного больше чем геометрия, текстуры и источники света.
это так же позиции аптечек, монстров, триггеров, дверей, переключателей и прочего. поэтому формат карты для игры должен быть своим, имхо. и он должен быть бинарным. парсить десяток мегабайт xml файла тоже не очень приятно. ессено и редактор нужно писать для таких карт. |
Ответ: Как лучше хранить карты для игр
а откуда возьмется хотя бы мегабайт текста, если в нем не хранить сами бинарные ресурсы? ну и да SAX парсер вместо DOM тоже помогает.
|
Ответ: Как лучше хранить карты для игр
Да естественно напишу редактор. Сейчас стоит проблема выбора типа записи карты.
Интересно как сделать оптимально |
Ответ: Как лучше хранить карты для игр
хотя бы геометрия уровня. думаю что если в самом уровне (не в кадре) будет хотя-бы миллион трисов (это итак не очень много для современных игр) то уже в текстовом виде это будет несколько мегабайт. а если еще считать сюда оформление структуры? <> и т.д.
|
Цитата:
вообще я хотел сделать хмл карту - тобеж ID обьектов и их положение на карте, описание этих обьектов(свойства) тоже в хмл индивидуальной для каждого обьекта, модели -текстуры и прочее хранить в папках типа модели , текстуры и тп.. то есть по сути карта это всеголиш описаловка положения обьектов Пользуйся кнопкой "Правка" вместо постинга нового сообщения |
Ответ: Как лучше хранить карты для игр
Цитата:
|
Ответ: Как лучше хранить карты для игр
т.е. mesh'и хранить в XML? мда, не надо доводить мысли до абсурда.
формат должен представлять собой _логическое представление_ т.е. например так: <model name="player"> <mesh>meshes\\player.b3d</mesh> <texture>textures\\player.dds</texture> </model> <bonus type="health"> <position x:0.0, y:1.0 z:125.0> </bonus> а парсер читает из файла и вызывает функции соотвествующие типам узлов (SAX). в принципе можно даже на Блице самому написать 3-4 функции типа XMLnode, XMLattribute, XMLvalue и функцию levelFromXML(filename$) и не искать никаких парсеров |
Ответ: Как лучше хранить карты для игр
Цитата:
|
Ответ: Как лучше хранить карты для игр
Цитата:
но геометрия самого уровня должна быть намертво связана с уровнем файла. имхо. потому, что я карта это не только позиции аптечек, монстров, триггеров, дверей, переключателей и прочего но и геометрия. естественно текстуры, предметы и вообще, ВСЕ что однозначно уровнем не является должно быть общим. и во внешних файлах. Цитата:
|
Ответ: Как лучше хранить карты для игр
ну вообщем вопрос был про оптимальное хранение файла карты )))
|
Ответ: Как лучше хранить карты для игр
К чему искать/учить спецификацию чужого формата (XML) когда можно написать свой? Тем более XML - текстовый формат, он предназначен для хранения ранхы там отчётов и т.д., но не для загрузки игры, так что скорости от него не жди. А в своём формате можно описать всё в том порядке, в каком оно будет загружаться и т.п. ну и другие фичи.
У меня уже вон давно свой формат для описания загрузки моделей, предметов и т.д. - ни разу не пожалел ;) |
Ответ: Как лучше хранить карты для игр
а можно чуть подробнее про твой формат в качестве наглядног о примера, просто я прогер в области веб, знаю много языков отлично +)) решил вот геймдевом занятся! даже вспомнил си++ ради этого
написал уже часть движка блиц+си++ ОПП ))) дошел до редактора и загрузки уровней из файла если не тему, то хз тут вроди таких веток нет |
Ответ: Как лучше хранить карты для игр
Цитата:
ты прекрасно понял что я имел в виду геометрию (сетку вершин и треугольников). так вот ее надо хранить в отдельном файле (ИМХО) если триггер задан какой-то хитрой геометрией (нерегулярной) - указать путь и имя файла в XML и при парсинге уровня загрузить из файла модель (3ds, b3d). Но Блиц ничего подобного не умеет, есть только элипсоид и бокс, у которых 2 (радиусы) и 3 (высота, ширина, глубина) параметра соответственно. |
Ответ: Как лучше хранить карты для игр
Я не занимаюсь созданием игр, но видел в одной игре практически всё на xml =) Называлась она вроде Fallen Lords. Так в ней даже местоположение "монстров" в xml хранилось. Ух я помню ради прикола вписал в одной карте-миссии куууучу монстров и запустил. Смотрели Властелина Колец, когда призраки оркам люлей давали и гигантских слонов валили? Мне практически удалось воссоздать этот момент. :-D :-D :-D Комп жёстко притормаживал при отрисовке миллионной армии монстров, которые кучей напоминали именно призраков (по цвету) и они набрасывались на гигантского монстра (не слон, но похож на него и тоже с наездником). Реально выглядело похоже. :-D Ах да, о чём это я. Я это к тому, что вполне в xml можно хранить местоположение. =)
|
Часовой пояс GMT +4, время: 13:27. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot