IPB

Здравствуйте, гость ( Вход | Регистрация )

3 страниц V  < 1 2 3 >  
Reply to this topicStart new topic
> Кривые расположения cуществ и исправление этого
gamecreator
сообщение 13 Nov 2012, 19:27
Сообщение #21

Яблочный произвол!
Сообщений: 11 080
Спасибо сказали: 3988 раз




и вообще странно что вместо 4-дерева сделали эти msk. еще и генератор не научили монстров расставлять.
Go to the top of the pageAdd Nick
 
+Quote Post
Sav
сообщение 13 Nov 2012, 19:35
Сообщение #22

Immortal
Сообщений: 9 446
Спасибо сказали: 3997 раз




Что за 4-дерево и как оно поможет? В принципе, я могу объяснить смысл существующего подхода.

Генератор всё нормально расставляет, просто не надо трогать записи о монстрах в objects.txt.
Go to the top of the pageAdd Nick
 
+Quote Post
gamecreator
сообщение 13 Nov 2012, 19:46
Сообщение #23

Яблочный произвол!
Сообщений: 11 080
Спасибо сказали: 3988 раз




http://en.wikipedia.org/wiki/Quadtree поможет в том же, в чем и клеточная система: не обрабатывать отрисовку того, чего не нужно.

Цитата(Sav @ 13 Nov 2012, 19:35) *
Генератор всё нормально расставляет, просто не надо трогать записи о монстрах в objects.txt.
если бы он нормально расстявлял, то расставлял бы по желтым клеткам, как и все остальные объекты
Go to the top of the pageAdd Nick
 
+Quote Post
Sadness
сообщение 13 Nov 2012, 19:52
Сообщение #24

Legendary lover
Сообщений: 629
Спасибо сказали: 307 раз




Если бы msk не учитывался, то у меня не было бы сдвинутой на 3 клетки охраны (3!). Охрана сгенерировалась вообще где-то в горах, а кучка ресурсов и объект были вполне себе свободны для посещения.
Go to the top of the pageAdd Nick
 
+Quote Post
gamecreator
сообщение 13 Nov 2012, 20:14
Сообщение #25

Яблочный произвол!
Сообщений: 11 080
Спасибо сказали: 3988 раз




так ты же правил строчку в текстовом файле

Цитата(Sav @ 13 Nov 2012, 13:21) *
Формат msk в общих чертах
кстати, зачем тогда msg?
Go to the top of the pageAdd Nick
 
+Quote Post
Sav
сообщение 13 Nov 2012, 20:23 (Сообщение отредактировал Sav - 13 Nov 2012, 20:23)
Сообщение #26

Immortal
Сообщений: 9 446
Спасибо сказали: 3997 раз




Стоп, а может только изображение сместилось, или триггер всё же тоже?


Цитата(gamecreator)
http://en.wikipedia.org/wiki/Quadtree поможет в том же, в чем и клеточная система: не обрабатывать отрисовку того, чего не нужно.

Ну так может в самой отрисовке куска дефа она используется, я не знаю. Но раз отрисовка всё равно поклеточная, почему бы не сделать и msk, благо это элементарно?
А сама клеточная система, полагаю, сделана не только для этого. Хотя бы для того, чтобы при отрисовке маленького куска карты не проходить по всем существующим объектам карты. Я бы не сказал, что это решение убого или т. п.

Цитата(gamecreator)
если бы он нормально расстявлял, то расставлял бы по желтым клеткам, как и все остальные объекты

По такой логике игру не научили нормально работать с графикой - какое-то жалкое отсутствие лода вырубает её. Надо, чтобы она сама в этом случае всё генерировала!

Можно считать это требованием к формату ресурсов: у монстров правая нижняя клетка должна быть единственной триггерной. В оригинале это так и всё нормально.

msg нет в оригинале. Это воговцы что-то намудрили. Они требуются в Вог-редакторе и идентичны msk.
Go to the top of the pageAdd Nick
 
+Quote Post
gamecreator
сообщение 13 Nov 2012, 20:56
Сообщение #27

Яблочный произвол!
Сообщений: 11 080
Спасибо сказали: 3988 раз




Цитата(Sav @ 13 Nov 2012, 20:23) *
Ну так может в самой отрисовке куска дефа она используется, я не знаю. Но раз отрисовка всё равно поклеточная
нет же! вместо клеточной отрисовки

Цитата(Sav @ 13 Nov 2012, 20:23) *
Хотя бы для того, чтобы при отрисовке маленького куска карты не проходить по всем существующим объектам карты.
а я что говорил? говорил же что могли бы это и через деревья реализовать

Цитата(Sav @ 13 Nov 2012, 20:23) *
Цитата(gamecreator)
если бы он нормально расстявлял, то расставлял бы по желтым клеткам, как и все остальные объекты

По такой логике игру не научили нормально работать с графикой - какое-то жалкое отсутствие лода вырубает её. Надо, чтобы она сама в этом случае всё генерировала!
ну ты и сравнил. клетка в другом месте = игровые ресурсы в дате. клетка отсутствует = игровые ресурсы отсутствуют. вот это верное сравнение.
Go to the top of the pageAdd Nick
 
+Quote Post
Sav
сообщение 13 Nov 2012, 21:15
Сообщение #28

Immortal
Сообщений: 9 446
Спасибо сказали: 3997 раз




Да какая разница? Есть масса вариантов нарушить формат текстовика и игра откажется работать. Хотя бы в objects прописать неверное число записей. Генератор тут не при чём, он имеет право полагаться на правильность внутреннего формата игры.

Цитата(gamecreator)
а я что говорил? говорил же что могли бы это и через деревья реализовать

Объекты могут быть разного размера, могут только частично помещаться на экран. Слабо представляю, как это реализуется деревом без деления на клетки.
Go to the top of the pageAdd Nick
 
+Quote Post
gamecreator
сообщение 13 Nov 2012, 21:22
Сообщение #29

Яблочный произвол!
Сообщений: 11 080
Спасибо сказали: 3988 раз




да без разницы. то, что ты считаешь, что так и надо, а я считаю, что это халтура, не меняет того, что нужно исправлять ситуацию.
Go to the top of the pageAdd Nick
 
+Quote Post
Sav
сообщение 13 Nov 2012, 21:25
Сообщение #30

Immortal
Сообщений: 9 446
Спасибо сказали: 3997 раз




Да какую ситуацию? С отрисовкой всё нормально.
Go to the top of the pageAdd Nick
 
+Quote Post
gamecreator
сообщение 13 Nov 2012, 21:27
Сообщение #31

Яблочный произвол!
Сообщений: 11 080
Спасибо сказали: 3988 раз




Цитата(Sav @ 13 Nov 2012, 21:15) *
Объекты могут быть разного размера, могут только частично помещаться на экран. Слабо представляю, как это реализуется деревом без деления на клетки.
все объекты распределяются по листьям дерева. при отрисовке берутся все листья, лежащие в пределах экрана, и отрисовываются объекты из них.

Цитата(Sav @ 13 Nov 2012, 21:25) *
Да какую ситуацию? С отрисовкой всё нормально.
с генератором. или ты не помнишь моего и своего мнения по этому поводу?
Go to the top of the pageAdd Nick
 
+Quote Post
Sav
сообщение 13 Nov 2012, 21:34
Сообщение #32

Immortal
Сообщений: 9 446
Спасибо сказали: 3997 раз




Ну скажем так, исправлять это на данный момент нет никакой причины. Были бы перерисованные монстры - другое дело. А считать это багом - неправильно.

Цитата(gamecreator)
все объекты распределяются по листьям дерева. при отрисовке берутся все листья, лежащие в пределах экрана, и отрисовываются объекты из них.

Подробнее. По какому критерию они распределяются (они ведь не одиночную координату имеют и могут иметь равные координаты) по листьям? Как хранится их порядок отображения? Почему это будет эффективнее существующего решения?
Go to the top of the pageAdd Nick
 
+Quote Post
gamecreator
сообщение 13 Nov 2012, 21:35
Сообщение #33

Яблочный произвол!
Сообщений: 11 080
Спасибо сказали: 3988 раз




как называется этот деф с монстрами, кстати?
Go to the top of the pageAdd Nick
 
+Quote Post
Sav
сообщение 13 Nov 2012, 21:36
Сообщение #34

Immortal
Сообщений: 9 446
Спасибо сказали: 3997 раз




У каждого свой.
Go to the top of the pageAdd Nick
 
+Quote Post
gamecreator
сообщение 13 Nov 2012, 22:37
Сообщение #35

Яблочный произвол!
Сообщений: 11 080
Спасибо сказали: 3988 раз




Цитата(Sav @ 13 Nov 2012, 21:34) *
По какому критерию они распределяются
объект входит во все листья которые лежат в пределах прямоугольника его спрайта
Цитата(Sav @ 13 Nov 2012, 21:34) *
Как хранится их порядок отображения?
не вижу причин почему он не может храниться так же, как и сейчас.
Цитата(Sav @ 13 Nov 2012, 21:34) *
Почему это будет эффективнее существующего решения?
по используемой памяти. не обязательно дробить до размера 1х1.
Go to the top of the pageAdd Nick
 
+Quote Post
IvanSav
сообщение 13 Nov 2012, 23:19 (Сообщение отредактировал IvanSav - 13 Nov 2012, 23:21)
Сообщение #36

VCMI developer
Сообщений: 377
Спасибо сказали: 690 раз




Sav, как по мне картинка с вики это неплохо объясняет: http://en.wikipedia.org/wiki/File:Quad_tree_bitmap.svg
Цитата
по используемой памяти. не обязательно дробить до размера 1х1.

Не ну это смешно... Сейчас размер msk 2 + 6 + 6 = 14 байт. В него влазит объект размером до 6х8 клеток.

1) Как уместить это дерево в еще меньший размер?
2) Зачем? Ну добъешся, скажем, 4 байта. Но толку? Объектов в игре не настолько много чтоб о размере msk заботиться.

(Поправка - 14 байт и в него влазит две карты - одна на полную непрозрачность и вторая на полупрозрачность)


--------------------
Слава Україні!
Go to the top of the pageAdd Nick
 
+Quote Post
gamecreator
сообщение 14 Nov 2012, 03:12
Сообщение #37

Яблочный произвол!
Сообщений: 11 080
Спасибо сказали: 3988 раз




а еще в дополнение к msk должны быть или циклы, или списки объектов на клетках по которым генератор и смотрит что там есть.

но все это философия, переделывать все равно никто не будет, да и так работает.
Go to the top of the pageAdd Nick
 
+Quote Post
Sav
сообщение 14 Nov 2012, 12:10
Сообщение #38

Immortal
Сообщений: 9 446
Спасибо сказали: 3997 раз




msk всё равно нужно, чтобы хранить, грубо говоря, геометрию объекта. В памяти же msk хранится только для шаблона - т. е., грубо говоря, типа объекта. И оно в любом случае должно храниться для любых удаляемых объектов (в Воге - для всех).

Цитата(gamecreator)
не вижу причин почему он не может храниться так же, как и сейчас.

Сейчас это определяется их порядком в списке объектов клетки.

Цитата(IvanSav)
Sav, как по мне картинка с вики это неплохо объясняет:

Да, но объекты - не пиксели. У них есть размер, порядок наложения.
Мне кажется, алгоритм должен быть слишком навороченным и мне неочевидны его плюсы по сравнению с нынешним.
Go to the top of the pageAdd Nick
 
+Quote Post
IvanSav
сообщение 14 Nov 2012, 13:04
Сообщение #39

VCMI developer
Сообщений: 377
Спасибо сказали: 690 раз




Цитата
Да, но объекты - не пиксели. У них есть размер, порядок наложения.

Размер - в msk он всегда 8х6.
Порядка наложения в msk и так нет.

Если использовать этот quad tree, то размер нужно задавать отдельно - в дереве он никак не хранится.
Цитата
мне неочевидны его плюсы по сравнению с нынешним.

Мне тоже.
Если уж исправлять/заменять msk то формату должно хватить:
1) размер объекта - как и сейчас, но убрать ограничение 8х6. Ширину можно увеличить до 32 не особо меняя формат, высоту можно и не ограничивать особо.

2) смещение графики - например, если объект со смещением 1х1 расположен в клетке 10х20, то рисоваться он будет начиная с клетки 11х21 - это позволит избавиться от таких приколов как в первом посте не поломав ГСК или сетевую игру.

3) битовая карта как и сейчас - объекты в героях маленькие, маятся с крутыми алгоритмами нужды не вижу.

Конечно, это только предложение - меня текущее состояние дел вполне устраивает, в vcmi пока с этим ничего нового не придумали.


--------------------
Слава Україні!
Go to the top of the pageAdd Nick
 
+Quote Post
Sadness
сообщение 15 Nov 2012, 00:22 (Сообщение отредактировал Vaflya - 15 Nov 2012, 00:23)
Сообщение #40

Legendary lover
Сообщений: 629
Спасибо сказали: 307 раз




Короче, Склифосовский :-) Я таки хочу сказать нижеследующее






Следует обратить внимание на обводку, ибо ранее она была 2х2






Сим я намекаю, что при изменении определённого количества клеток возле активной (жёлтой) в msk как раз таки и начинают генерироваться сдвинутые охраны. Логично предположить, что если бы у них была всего одна-единственная клетка, она же активная (как, например у костра [а у ресурса тень вылезает за пределы]), то это снизило бы не только количество сдвинутых охран (а, быть может, вообще исключила бы), но и помогло бы, при изменении msk у остальных объектов, облагородить наполнение карты, которое в данный момент хромает.

И два Sav-а в топике это дааа
Go to the top of the pageAdd Nick
 
+Quote Post

3 страниц V  < 1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 4 November 2025 - 12:11
Copyright by Алексей Крючков
Strategy Gamez by GrayMage
Programming by Degtyarev Dmitry
  Яндекс.Метрика