-
доброго времени суток. решил написать FirstPerson игру. столкнулся я вот с какой проблемой: если речь идёт об огромном игровом мире, то он просто обязан состоять из маленьких карт, соединённых между собой. я не могу придумать более-менее нормальный принцип подгрузки и отображения этих карт. Т.е. в какой момент её отобразить. два варианта я придумал:
1 - отображать карту, на которой находится игрок и все карты, на которые можно перейти непосредственно с этой. но так будут неимоверные затраты памяти.
2 - создать так называемые LinkObject. (тоннели и т.д.) он делится на 2 области. при нахождении игрока в первой отображается LinkObject и первая карта. во второй он же и вторая карта. но это геморойно.
очень прошу поделиться идеями по этому вопросу.
-
помоему наоборот, не тоннелирование более геморройно, чем подгрузка соседних карт :) хотя я бы предпочел подгрузку. Да и зачем грузить все соседние, достаточно пары ближайших (локация - квадрат, зачем грузить все куски находясь в одном углу? вот когда подойдем к противоположному углу - тогда и подгрузим), если локации действительно большие.
-
Ты имеешь в виду задать в опциях радиус видения и если расстояние от игрока до места стыковки меньше этого радиуса, то эта карта отображается?
-
Или лучше в редакторе задавать для каждой стыковки свой радиус. А как решена эта проблема в современых играх?
-
> [0] Agent[007] (03.09.08 22:42)
А ты возьми и посчитай затраты памяти...
И поймешь что свобю "огромную" карту можно всю уместить в памяти средненького компа...
-
я имел ввиду при игре на прохождение будет огромный игровой непрерывный мир. в памяти может и поместится, но при отображении будут огромные тормоза. поэтому весь этот огромный мир можно поделить на маленькие карты. все их отображать смысла нет. вот я и хочу, чтобы вы предлагали принципы выборки: что отображать, а что нет.
-
> в памяти может и поместится, но при отображении будут огромные
> тормоза.
Гуглт порталы и BSP-Tree
-
Огромное спасибо. трудновато, но достойно. есть на примете статьи по построению этих деревьев и зон видимости? но не в общих чертах, а на примере программного кода.
-
> [7] Agent[007] (04.09.08 22:34)
Я сам с ними знаком только в теории, пока не приходилось писать 3Д экшены в замкнутых пространствах.
-
-
Огромное всем спасибо. На основе этого принципа решил создать свой. Типа в редакторе карт все полигоны разбиваются пользователем на группы (также для удобства редактирования) и для каждой группы задаётся список видимых из этой области групп. жаль на практике удастся опробовать тока через 8 месяцев. в армии-то компа нету. хорошо хоть есть опера на мобиле. :) Ещё раз огромное спасибо.
-
Огромное всем спасибо. На основе этого принципа решил создать свой. Типа в редакторе карт все полигоны разбиваются пользователем на группы (также для удобства редактирования) и для каждой группы задаётся список видимых из этой области групп. жаль на практике удастся опробовать тока через 8 месяцев. в армии-то компа нету. хорошо хоть есть опера на мобиле. :) Ещё раз огромное спасибо.
-
> Типа в редакторе карт все полигоны разбиваются пользователем
> на группы (также для удобства редактирования) и для каждой
> группы задаётся список видимых из этой области групп.
На gamedev.ru за такое могут побить. :)
Не кошерно заставлять моделлеров вручную порталы строить...
-
ну всё немного не так. в моём редакторе карта отображается как список треугольников, из которых она состоит. каждый имеет своё имя (только на стадии редактирования) для удобства. и все треугольники делятся на группы (и для удобства и для разбиения карты на участки). а задание портала у меня это задание точки стыковки и имя стыкуемой карты. ну и задание его видимости из других зон. вот и всё.
-
Кстати, я по сути сейчас тоже заставляю моделлеров строить порталы. :)
-
Нашел ещё две книги. по описанию вроде хороши. Delphi & Direct3D. если дашь маил, могу выслать всю инфу по ним. сам пока не читал, мамка в магазине тока заказала, потом ещё пока посылка дойдёт... Ты не знаешь, можно найти старый ноутбук < 1000 рублей?
зы: если есть желание, можешь зайти на agent007.hoha.ru там есть очень недоделанная игра, которую я писал для OpenGL. у меня потом винт сгорел. :) но редактор карт похож на планируемый.
-
если сайт глючит, вот прямая ссылка. во время бега по карте мышь жать не рекомендую. там не исправлен баг с захватом drag'n'drop объектов.
agent007.hoha.ru/hf099_5th.rar
-
возник ещё немаловажный вопрос. ты не знаешь, где мона нарыть хорошие статьи по организации диалогов?
-
> по организации диалогов?
лучше брать из жизни. армейской ;)
-
> [18] KilkennyCat © (12.09.08 00:47)
о0 ппц да вы садистъ %)