Вернуться   CoderX :: Forums > Основные форумы > Программинг
Войти через OpenID

Программинг Форум для тем связанных с программированием

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 24.05.2010, 18:28   #1
Местный
 
Аватар для Prixmegently
 
Регистрация: 09.01.2010
Сообщений: 384
Сказал Спасибо: 60
Имеет 27 спасибок в 24 сообщенях
Prixmegently пока неопределено
По умолчанию Геодата

Как я понимаю в геодате игровая карта разбита на ячейки для которых указано можно ли ее пройти / войти / выйти (?). Собственно в каком формате все это хранится и как, например, узнать для определенных игровых координат значение геодаты?
Заранее спасибо за ответы.
Prixmegently вне форума   Ответить с цитированием
Старый 24.05.2010, 18:50   #2
Местный
 
Аватар для J-Fobos
 
Регистрация: 09.06.2008
Сообщений: 867
Сказал Спасибо: 175
Имеет 468 спасибок в 259 сообщенях
J-Fobos пока неопределено
По умолчанию

http://coderx.ru/showthread.php?t=1747
__________________

В любом из нас спит гений. И с каждым днем все крепче.

Переходим на протокол нового поколения jabber
J-Fobos вне форума   Ответить с цитированием
За это сообщение J-Fobos нажился спасибкой от:
Старый 25.05.2010, 00:32   #3
Местный
 
Аватар для Prixmegently
 
Регистрация: 09.01.2010
Сообщений: 384
Сказал Спасибо: 60
Имеет 27 спасибок в 24 сообщенях
Prixmegently пока неопределено
По умолчанию

Цитата:
Сообщение от xkor
1. возможность выйти из ячейки в заданном направлении
А собственно в каком формате все это хранится и как, например, узнать для определенных игровых координат значение геодаты?
Prixmegently вне форума   Ответить с цитированием
Старый 25.05.2010, 02:28   #4
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

Prixmegently, тебя формат хранения геодаты птса или явы интересует?, они несколько разные (а у меня в боте 3й формат для ускоренной загрузки)

но у вех форматов общее что один регион (22_22 например в котором гиран) в игровых размерностях имет размер 32768х32768, этот регион поделён на 256х256 квадратиков размером 128х128 которые в свою очередь могут быть поделены (при неровной поверхности) ещё на 8х8 квадратиков 16х16.

формат используемый явой я пока не смотрел а на офе примерно такой:
18 байт хз чего, уже не помню, я не использую;
далее идёт матрица 256х256 блоков (записана столбцами, то есть блоки идут в порядке [0,0], [0,1] и т.д.);
первые 2 байта определяют тип блока (точнее количество высот в нём):
1. если они равны нулю то этот блок имеет фиксированную высоту, один слой и полностью проходим во всех направлениях, следующие 2 байта - SmallInt число определяющее высоту этого блока.
2. если они равны 64 то в этом блоке 64 квадратика (8х8) записанных в виде 64 высот, на каждую опять таки 2 байта, но тут высоты умножены на 2, а 4 младших бита определяют проходимость квадратика (возможность выйти из квадрата в направлениях N, S, W, E)
3. ну и наконец если число побольше 64 то мы имеем дело с многослойным блоком, делиться он однако опять таки на 64 квадратика, но на этот раз у каждого может быть более одной высоты (заданной как в предыдущем случае, то есть умноженная на два и имеет биты проходимости). Короче для чтения всего блока после чтения типа блока входим в цикл чтения квадратиков, которых 8 строк по 8 столбцов:
а) читаем два байта - это число слоёв/высот для текущего квадратика
б) читаем высоты количество которых только что узнали (как вы догадались опять таки 2 байта - SmallInt число)

Воть собсно и всё, сори что малость в кашу слил но чтот спать охота...
__________________
Я здесь практически не появляюсь!, Skype - ikskor
xkor вне форума   Ответить с цитированием
За это сообщение xkor нажился 5 спасибками от:
Старый 23.01.2011, 17:36   #5
Местный
 
Аватар для Yegor
 
Регистрация: 05.04.2009
Сообщений: 1,436
Сказал Спасибо: 306
Имеет 122 спасибок в 98 сообщенях
Yegor пока неопределено
По умолчанию

xkor, в каком формате храниш геодату в памяти?
Я использовал структуру в виде:
RGeoLayer = record
height: Smallint;
N, S, W, E: boolean;
end;

RGeoCell = record
layers: array of RGeoLayer;
end;

RGeoBlock = record
blockType: word;
cells: array of array of RGeoCell;
end;


var
blocks: array [0..255, 0..255] of RGeoBlock;



после загрузки блока с Гираном и окрестностями этот массив в памяти занял около 65МБ, это при том что если блок имеет фиксированную высоту (1 случай) я размерность массивов RGeoLayer и RGeoCell выставляю равной еденице. Неужели так много "потребляет" вспомогательная информация о размерностях массива?
__________________
Продажа чистых аккаунтов 4G, L2 EU, AARu, AA EU, Aion EU, Tera RU, Tera EU (ICQ 594297609)
Продажа VK авторег аккаунтов (ICQ 594297609)
Yegor вне форума   Ответить с цитированием
Старый 24.01.2011, 03:01   #6
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

Yegor, мой формат похож на офовский и явовский, но позволяет и хранить в компактном виде и загружать в программу моментально, просто загружаю файл в MemoryStream, и могу получить Z для любой точки региона ничего не распаковывая и не перебирая предыдущие точки.
в начале файла массив THeightTable = array[Byte,Byte] of Integer, в каждом элементе которого храниться либо высота простого блока 8х8, либо смещение массива высот этого блока и инфа многослойный ли он.
для геодаты гирана размер гдет 6 мегабайт получается, ну то есть примерна стока же сколько файл офф геодаты.
__________________
Я здесь практически не появляюсь!, Skype - ikskor
xkor вне форума   Ответить с цитированием
За это сообщение xkor нажился спасибкой от:
Старый 24.01.2011, 21:13   #7
Местный
 
Аватар для Yegor
 
Регистрация: 05.04.2009
Сообщений: 1,436
Сказал Спасибо: 306
Имеет 122 спасибок в 98 сообщенях
Yegor пока неопределено
По умолчанию

xkor, каким алгоритмом ищешь путь как и ранее волновым методом или что то другое? Я сейчас пытаюсь сделать на алгоритме А*.
__________________
Продажа чистых аккаунтов 4G, L2 EU, AARu, AA EU, Aion EU, Tera RU, Tera EU (ICQ 594297609)
Продажа VK авторег аккаунтов (ICQ 594297609)
Yegor вне форума   Ответить с цитированием
Старый 24.01.2011, 22:02   #8
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

Yegor, да я не занимался этим сгодик так что как был волновой так и стался, да и собсно не вижу смысла его менять, маршрут с площади гирана до любого выхода из города просчитывается гдет за 100мсек что вполне приелимо.
__________________
Я здесь практически не появляюсь!, Skype - ikskor
xkor вне форума   Ответить с цитированием
Старый 11.02.2011, 18:05   #9
Местный
 
Аватар для Yegor
 
Регистрация: 05.04.2009
Сообщений: 1,436
Сказал Спасибо: 306
Имеет 122 спасибок в 98 сообщенях
Yegor пока неопределено
По умолчанию

Вот для прикола сделал вывод геодаты в 3D на OpenGL, пока что криво и обработан только первый слой. Думаю в боте по такому принципу можно сделать неплохую карту.
Миниатюры
Нажмите на изображение для увеличения
Название: gir.PNG
Просмотров: 165
Размер:	24.3 Кб
ID:	1877  
__________________
Продажа чистых аккаунтов 4G, L2 EU, AARu, AA EU, Aion EU, Tera RU, Tera EU (ICQ 594297609)
Продажа VK авторег аккаунтов (ICQ 594297609)
Yegor вне форума   Ответить с цитированием
За это сообщение Yegor нажился спасибкой от:
Старый 11.02.2011, 22:19   #10
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

Yegor, хех, а если ещё на этот 3д обьект текстурку в виде карты из валкера повесить ваще лепота будет)
__________________
Я здесь практически не появляюсь!, Skype - ikskor
xkor вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Основные форумы > Программинг



Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


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

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!