The New Future :: FOnline, Half-life 2 :: Roleplay It!  

Вернуться   The New Future :: FOnline, Half-life 2 :: Roleplay It! > Прочее > FOmod > TNF

TNF сервер и частично документация

Ответ
 
Опции темы Опции просмотра
Старый 13.01.2015, 17:39   #1
PowerMagic
Lost Overseer
 
Аватар для PowerMagic
 
Специализация: ест детей.
Регистрация: 29.01.2010
Сообщений: 1,000
Вес репутации: 571
PowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond repute
По умолчанию [doc] Глобальная карта, локальные карты

что представляет из себя глобал сейчас?

одномерную матрицу ячеек(класс cell), "замосченую" на всю рабочую область глобальной карты.

у каждой ячейки есть следущие свойства :
координаты - cell.X | cell.Y - имею вид WorldX \ 10 | WorldY \ 10. это обусловлено тем, что каждая ячейка имеет размерность 10х10 рх ("большой сектор на глобале - 50х50 рх)
родительские координаты - cell.ParantX | cell.ParantY (знаю что опечатался) - используется для больших карт(размерность > 1)
размерность ячейки - cell.SizeX | cell.SizeY - используется для больших карт(центр саттера, например). задается мануально.
дикость - cell.Wildness - уровень дикости, может быть кажется 0 - 255
флаги биома - cell.BiomFlags - используется для хранение информации о соседних биомах такого же типа, если они есть.
тип биома - cell.BiomType - определяет какой тип местности присушь данной ячейке
группа локаций биома - cell.BiomMapPid - базовое значение группы локаций для генерации.
контент - cell.Content - класс CellContent - !NULL , если в ячейке существует локация.

CellContent - включает в себя :
MapId - айди карты
Type - тип локации - статичная, энкаунтер.
Visibility - видиость локации (


типы местности - биомы

загружаются из фаила global_parse.txt в корне сервера единожды.

фаил имеет запись вида
Код:
тип ячейки + \t + тип ячейки + \t + ... + \n(в конце строки ;) )
пока что существуют или в планах. следущие типы местности :
Код:
#define BIOM_TYPE_WATER        (-1) //only for parse used

#define BIOM_TYPE_WASTELAND    (0)
#define BIOM_TYPE_RUINS        (1)
#define BIOM_TYPE_FOREST    (2)
#define BIOM_TYPE_RIVER     (3)
#define BIOM_TYPE_RAILROAD    (4)
#define BIOM_TYPE_ROAD        (5)
#define BIOM_TYPE_LAKE      (6)
#define BIOM_TYPE_MOUNTAIN    (7)
соль в том, что бы не городить совсем уж огород, запись в LOcations.cfg иммет жесткую привязку к этим цифрам.

на каждый тип ландшафта отведено жесткое количество карт
Код:
#define LOCATION_BIOM_RANGE (50)
каждому "направления", так же отведен диапозон
Код:
#define LOCATION_BIOM_SHIFT (5)
для "простых" биомов(пустошь, лес, руины, что-то еще) последнее неактуально, там высчитывается пид чуть иначе
Код:
LOCATION_BIOM_START + (LOCATION_BIOM_RANGE * biomType)
так вот, карты в locations.cfg должны распологаться четко в порядке указаном выше. иначе получим не те карты в биомах. особенно важно соблюдать направление карт. оно должно быть следущим
Код:
we
ns
ne
se
sw
nw

ens
nwe
swe
wns
__________________
Jet Rock's
PowerMagic вне форума   Ответить с цитированием
2 Пользователей сказали спасибо PowerMagic За этот пост:
Покемон (08.09.2015), AnDE (10.02.2015)
Старый 09.02.2015, 19:28   #2
PowerMagic
Lost Overseer
 
Аватар для PowerMagic
 
Специализация: ест детей.
Регистрация: 29.01.2010
Сообщений: 1,000
Вес репутации: 571
PowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond repute
По умолчанию

Для того, что бы включить "новую" глобальную карту после генерации мира, нужно выполнить
Код:
%globalmap_group testbioms
данная команда загружает карту местности из фаилов global_parse.txt и карту высот global_parse_heigh.txt находящихся в корне сервера. В сборке, что лежит в гит-репозитории фаилы уже подготовлены.

Формат текстовый, представляет из себя двумерную матрицу. Элементы разделены между собой табуляциями(или пробелама, запамятовал), строки - символом конца строки \n .

Есть возможность конвертировать графическую карту в текстовый формат :

будет дополнено
__________________
Jet Rock's

Последний раз редактировалось PowerMagic; 10.02.2015 в 01:38.
PowerMagic вне форума   Ответить с цитированием
3 Пользователей сказали спасибо PowerMagic За этот пост:
Покемон (08.09.2015), AnDE (10.02.2015), kalda (09.02.2015)
Старый 10.02.2015, 16:49   #3
PowerMagic
Lost Overseer
 
Аватар для PowerMagic
 
Специализация: ест детей.
Регистрация: 29.01.2010
Сообщений: 1,000
Вес репутации: 571
PowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond repute
По умолчанию

К слову, отдельно хочется отметить, что можно на ходу генерировать глобальную карту, если "отключить" графику(например поставить однотонную картинку на фон).
Результат может быть очень интересный : как случайная карта на каждую сессию, так и со временем расширяемый мир или просто изменения местности в зависимости от действий игроков.
__________________
Jet Rock's
PowerMagic вне форума   Ответить с цитированием
2 Пользователей сказали спасибо PowerMagic За этот пост:
Покемон (08.09.2015), AnDE (11.02.2015)
Старый 11.02.2015, 16:08   #4
binyan
Senior Member
 
Специализация: Вне команды
Регистрация: 09.02.2010
Сообщений: 339
Вес репутации: 171
binyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant future
По умолчанию

Скажу больше, можно и картинку генерировать на ходу
__________________
011000100110100101101110011110010110000101101110
binyan вне форума   Ответить с цитированием
Данный человек сказал спасибо binyan за этот пост:
kalda (15.02.2015)
Старый 12.02.2015, 03:13   #5
PowerMagic
Lost Overseer
 
Аватар для PowerMagic
 
Специализация: ест детей.
Регистрация: 29.01.2010
Сообщений: 1,000
Вес репутации: 571
PowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond repute
По умолчанию

не сомневаюсь даже =)))
из старых идей : заменить буквенные обозначения на пиктограммы.
это наверно самый простой способ. а так-то шейдер написать и передавать в него карту местности и карту высот.
звучит как "как нарисовать сову?"
__________________
Jet Rock's
PowerMagic вне форума   Ответить с цитированием
Ответ

Опции темы
Опции просмотра

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

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

Быстрый переход


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


Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd. Перевод: zCarot
Для внутреннего пользования