|
3D-программирование Вопросы, касающиеся программирования 3D мира |
25.03.2009, 22:16
|
#1
|
ПроЭктировщик
Регистрация: 22.03.2009
Сообщений: 140
Написано 15 полезных сообщений (для 24 пользователей)
|
Как лучше хранить карты для игр
Хотел сделать через хмл, но чето не могу найти нормальных парсеров для блица на сишке.
Читал, что блиц умеет загружать файлы .бсп.
Вообще как лучше хранить данные о карте, чтобы было блицем удобно юзать их?
|
(Offline)
|
|
25.03.2009, 22:31
|
#2
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: Как лучше хранить карты для игр
я думаю что карта это немного больше чем геометрия, текстуры и источники света.
это так же позиции аптечек, монстров, триггеров, дверей, переключателей и прочего.
поэтому формат карты для игры должен быть своим, имхо. и он должен быть бинарным. парсить десяток мегабайт xml файла тоже не очень приятно.
ессено и редактор нужно писать для таких карт.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
25.03.2009, 22:36
|
#3
|
Дэвелопер
Регистрация: 10.09.2007
Сообщений: 1,442
Написано 793 полезных сообщений (для 1,460 пользователей)
|
Ответ: Как лучше хранить карты для игр
а откуда возьмется хотя бы мегабайт текста, если в нем не хранить сами бинарные ресурсы? ну и да SAX парсер вместо DOM тоже помогает.
|
(Offline)
|
|
25.03.2009, 22:40
|
#4
|
ПроЭктировщик
Регистрация: 22.03.2009
Сообщений: 140
Написано 15 полезных сообщений (для 24 пользователей)
|
Ответ: Как лучше хранить карты для игр
Да естественно напишу редактор. Сейчас стоит проблема выбора типа записи карты.
Интересно как сделать оптимально
|
(Offline)
|
|
25.03.2009, 22:42
|
#5
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: Как лучше хранить карты для игр
хотя бы геометрия уровня. думаю что если в самом уровне (не в кадре) будет хотя-бы миллион трисов (это итак не очень много для современных игр) то уже в текстовом виде это будет несколько мегабайт. а если еще считать сюда оформление структуры? <> и т.д.
|
(Offline)
|
|
25.03.2009, 22:42
|
#6
|
ПроЭктировщик
Регистрация: 22.03.2009
Сообщений: 140
Написано 15 полезных сообщений (для 24 пользователей)
|
Сообщение от HolyDel
это так же позиции аптечек, монстров, триггеров, дверей, переключателей и прочего.
|
естественно
вообще я хотел сделать хмл карту - тобеж ID обьектов и их положение на карте, описание этих обьектов(свойства) тоже в хмл индивидуальной для каждого обьекта, модели -текстуры и прочее хранить в папках типа модели , текстуры и тп..
то есть по сути карта это всеголиш описаловка положения обьектов
Пользуйся кнопкой "Правка" вместо постинга нового сообщения
Последний раз редактировалось ABTOMAT, 25.03.2009 в 23:09.
|
(Offline)
|
|
25.03.2009, 22:51
|
#7
|
ТЫ ЧООО?
Регистрация: 26.02.2007
Сообщений: 3,369
Написано 2,020 полезных сообщений (для 7,192 пользователей)
|
Ответ: Как лучше хранить карты для игр
Сообщение от HolyDel
будет хотя-бы миллион трисов (это итак не очень много для современных игр <> и т.д.
|
Мы кажется про блиц тут беседуем.
__________________
Вертекс в глаз или в пиксель раз?
|
(Offline)
|
|
25.03.2009, 22:58
|
#8
|
Дэвелопер
Регистрация: 10.09.2007
Сообщений: 1,442
Написано 793 полезных сообщений (для 1,460 пользователей)
|
Ответ: Как лучше хранить карты для игр
т.е. 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$) и не искать никаких парсеров
|
(Offline)
|
|
25.03.2009, 23:03
|
#9
|
ПроЭктировщик
Регистрация: 22.03.2009
Сообщений: 140
Написано 15 полезных сообщений (для 24 пользователей)
|
Ответ: Как лучше хранить карты для игр
Сообщение от ffinder
т.е. mesh'и хранить в XML? мда, не надо доводить мысли до абсурда.
|
ты внимательно читал что я написал? модели и текстуры лежат не в хмл, а в одельной папке, хмл - только описание свойств
|
(Offline)
|
|
25.03.2009, 23:09
|
#10
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: Как лучше хранить карты для игр
т.е. mesh'и хранить в XML?
|
сетка чего? врагов, игрока, аптечек, деревьев, лестниц, машин, караванов и прочего конечно во внешних файлах!
но геометрия самого уровня должна быть намертво связана с уровнем файла. имхо.
потому, что я карта это не только позиции аптечек, монстров, триггеров, дверей, переключателей и прочего но и геометрия. естественно текстуры, предметы и вообще, ВСЕ что однозначно уровнем не является должно быть общим. и во внешних файлах.
Мы кажется про блиц тут беседуем.
|
ну дык из этого миллиона врятли хотя-бы 10к будет в кадре сразу. никто же не говорит что в игре будет виден сразу ВЕСЬ уровень.
|
(Offline)
|
|
25.03.2009, 23:12
|
#11
|
ПроЭктировщик
Регистрация: 22.03.2009
Сообщений: 140
Написано 15 полезных сообщений (для 24 пользователей)
|
Ответ: Как лучше хранить карты для игр
ну вообщем вопрос был про оптимальное хранение файла карты )))
|
(Offline)
|
|
25.03.2009, 23:14
|
#12
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,742
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: Как лучше хранить карты для игр
К чему искать/учить спецификацию чужого формата (XML) когда можно написать свой? Тем более XML - текстовый формат, он предназначен для хранения ранхы там отчётов и т.д., но не для загрузки игры, так что скорости от него не жди. А в своём формате можно описать всё в том порядке, в каком оно будет загружаться и т.п. ну и другие фичи.
У меня уже вон давно свой формат для описания загрузки моделей, предметов и т.д. - ни разу не пожалел
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
25.03.2009, 23:20
|
#13
|
ПроЭктировщик
Регистрация: 22.03.2009
Сообщений: 140
Написано 15 полезных сообщений (для 24 пользователей)
|
Ответ: Как лучше хранить карты для игр
а можно чуть подробнее про твой формат в качестве наглядног о примера, просто я прогер в области веб, знаю много языков отлично +)) решил вот геймдевом занятся! даже вспомнил си++ ради этого
написал уже часть движка блиц+си++ ОПП ))) дошел до редактора и загрузки уровней из файла
если не тему, то хз тут вроди таких веток нет
|
(Offline)
|
|
25.03.2009, 23:34
|
#14
|
Дэвелопер
Регистрация: 10.09.2007
Сообщений: 1,442
Написано 793 полезных сообщений (для 1,460 пользователей)
|
Ответ: Как лучше хранить карты для игр
Сообщение от HolyDel
сетка чего? врагов, игрока, аптечек, деревьев, лестниц, машин, караванов и прочего конечно во внешних файлах!
но геометрия самого уровня должна быть намертво связана с уровнем файла. имхо.
потому, что я карта это не только позиции аптечек, монстров, триггеров, дверей, переключателей и прочего но и геометрия. естественно текстуры, предметы и вообще, ВСЕ что однозначно уровнем не является должно быть общим. и во внешних файлах.
|
оказывается бывают сетки врагов, деревьев и корованов?
ты прекрасно понял что я имел в виду геометрию (сетку вершин и треугольников).
так вот ее надо хранить в отдельном файле (ИМХО)
если триггер задан какой-то хитрой геометрией (нерегулярной) - указать путь и имя файла в XML и при парсинге уровня загрузить из файла модель (3ds, b3d).
Но Блиц ничего подобного не умеет, есть только элипсоид и бокс, у которых 2 (радиусы) и 3 (высота, ширина, глубина) параметра соответственно.
|
(Offline)
|
|
25.03.2009, 23:41
|
#15
|
Элита
Регистрация: 14.06.2008
Адрес: Украина, Киев
Сообщений: 2,273
Написано 754 полезных сообщений (для 1,833 пользователей)
|
Ответ: Как лучше хранить карты для игр
Я не занимаюсь созданием игр, но видел в одной игре практически всё на xml =) Называлась она вроде Fallen Lords. Так в ней даже местоположение "монстров" в xml хранилось. Ух я помню ради прикола вписал в одной карте-миссии куууучу монстров и запустил. Смотрели Властелина Колец, когда призраки оркам люлей давали и гигантских слонов валили? Мне практически удалось воссоздать этот момент. Комп жёстко притормаживал при отрисовке миллионной армии монстров, которые кучей напоминали именно призраков (по цвету) и они набрасывались на гигантского монстра (не слон, но похож на него и тоже с наездником). Реально выглядело похоже. Ах да, о чём это я. Я это к тому, что вполне в xml можно хранить местоположение. =)
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 05:28.
|