IPB

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

3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> Кривые расположения cуществ и исправление этого
Sadness
сообщение 13 Nov 2012, 09:09 (Сообщение отредактировал Vaflya - 13 Nov 2012, 09:13)
Сообщение #1

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




Времени до службы у меня не так много, но в принципе сообщить идею я успею, а она в следующем:

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



Не трудно заметить, что архангел как бы занимает две клетки, вместо одной, в отличие от монахов, которые полностью влезают в клеточку. Точно так же, как и гаргуля и корова.

Собственно, всё, что нам нужно сделать, это переименовать .msk, например, улья или квестхата в msk необходимого нам существа, а так же поменять активную клетку, путём редактирования objects.txt, простейший копипаст.
На игровом процессе это никак не отразится, поскольку активная клетка останется прежней, и архангел не превратится в квестхат. :-)

Переименовыванием и копипастом я готов заняться, но, к сожалению, с графикой я пока что не особо дружу, поэтому, если есть энтузиасты, пожалуйста, помогите. В принципе всем достоянием будет, думаю в той же HotA пригодится.
Go to the top of the pageAdd Nick
 
+Quote Post
Sav
сообщение 13 Nov 2012, 09:23
Сообщение #2

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




Зачем переименовывать msk? Они же всё равно генерируются deftool'ом.
А насчёт изменения клеток - есть ощущение, что это может сдвинуть охрану на рандомках, надо проверить этот момент.
Go to the top of the pageAdd Nick
 
+Quote Post
Sadness
сообщение 13 Nov 2012, 09:42 (Сообщение отредактировал Vaflya - 13 Nov 2012, 09:26)
Сообщение #3

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




Цитата(Sav @ 13 Nov 2012, 10:23) *
Зачем переименовывать msk? Они же всё равно генерируются deftool'ом.
А насчёт изменения клеток - есть ощущение, что это может сдвинуть охрану на рандомках, надо проверить этот момент.


Логично, но ведь генерироваться будет "объект на карте", а не конкретный объект. Я не силён и в этом.

Охрана не сдвигается, генерируется точно так же, как и всегда. Только вот не уверен на счёт свободного места рядом, здесь могут быть косяки. Сейчас проверю.

Ты был прав, действительно охрана сбивается, но почему-то мне кажется, что это решаемая проблема.
Go to the top of the pageAdd Nick
 
+Quote Post
Sadness
сообщение 13 Nov 2012, 10:39
Сообщение #4

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




В общем, выяснил. Идеально подходит msk костра, но, естественно обрезается def.

Sav, нужен патчик ^^


По-идее, тогда не будет сдвинутых охран. Все проблемы как раз таки из-за лишних клеток вокруг монстра. Насколько это возможно?

Go to the top of the pageAdd Nick
 
+Quote Post
Sav
сообщение 13 Nov 2012, 12:02 (Сообщение отредактировал Sav - 13 Nov 2012, 12:03)
Сообщение #5

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




msk - это файл, в котором прописан размер и положение отображаемой части объекта.
Проблема в том, что генератор для всех монстров считает, что правая нижняя клетка и есть активная и при постановке не анализирует, где она находится на самом деле.
Проблема решаемая, но не простым патчем. Если всё это дойдёт до Хоты, я займусь этим, отдельно же - не знаю. В любом случае, кроме как включить в проект под Сод или оформить в виде плагина для Эры это сделать не удастся.
Go to the top of the pageAdd Nick
 
+Quote Post
Sadness
сообщение 13 Nov 2012, 12:30
Сообщение #6

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




Хм.

А вот интересно: если я нечто меняю у себя, то должно ли это отражаться у игрока напротив?


Вот, например, я меняю msk, у меня архангел обрезается, это логично. Но обрежется ли он на той стороне? Если нет, то по идее Profit, ибо для него-то карта будет вполне в порядке, разве не так?




Go to the top of the pageAdd Nick
 
+Quote Post
Sav
сообщение 13 Nov 2012, 12:40
Сообщение #7

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




Всё прописаное в objects будет по хосту (оно хранится в файле генерируемой карты). msk и def'ы на геймплей не влияют и должны быть у каждого свои. Дефы точно, а msk - не уверен, но вроде как в карте не хранятся и загружаются из лода.
Go to the top of the pageAdd Nick
 
+Quote Post
Sadness
сообщение 13 Nov 2012, 12:46
Сообщение #8

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




ну вот и я так думаю

таким образом надо придумать, как сделать msk ресурса, но при этом отображать def полностью, а не заточённым в одну клетку и обрезанным по бокам. Если это удастся, то можно ко всем широким объектам приделать эту схему и тогда карта явно должна облагородиться за счёт более плотной группировки объектов. В любом случае, технически это возможно сделать путём простого редактирования msk в h3sprite, но с отображаемой частью нужно что-то придумать.

Go to the top of the pageAdd Nick
 
+Quote Post
gamecreator
сообщение 13 Nov 2012, 12:55
Сообщение #9

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




так можно же раскопать формать этого msk и сделать прогу, которая в файле будет центрировать изображение (а данные уже все есть)


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
Sav
сообщение 13 Nov 2012, 13:21 (Сообщение отредактировал Sav - 13 Nov 2012, 16:30)
Сообщение #10

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




Формат msk в общих чертах:

00 db Размер в клетках по-горизонтали
01 db Размер в клетках по-вертикали
02 db *6 Отрисовывать ли объект и на каких клетках каждого ряда
08 db *6 Отрисовывать ли тени и на каких клетках каждого ряда


Его вообще нет смысла трогать. Надо править только дефы, новые msk при этом генерируются. Весь вопрос, насколько я понимаю, в том, что сейчас из-за генератора и, видимо, случайного монстра, изображение монстра не может вылезать за правую границу жёлтой клетки. Это не правится msk, если речь об этом.
Go to the top of the pageAdd Nick
 
+Quote Post
gamecreator
сообщение 13 Nov 2012, 16:30
Сообщение #11

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




так почему же msk строения выравнивает монстра на карте? или я что-то не так понял из первого поста?
Go to the top of the pageAdd Nick
 
+Quote Post
Sav
сообщение 13 Nov 2012, 16:41 (Сообщение отредактировал Sav - 13 Nov 2012, 16:50)
Сообщение #12

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




Я, кажется, всё понял.
Жёлтая клетка монстра - его правая нижняя, правее и ниже неё ничего не отображается. Можно сдвинуть её в objects.txt влево, тогда она станет второй справа-нижней, но такие существа, как горгона, будут вылезать из своей клетки и влево, и вправо. В этом случае изображение будет обрезаться (насколько я помню, размер монстра - 2 на 2 клетки). Чтобы расширить изображение, нужно изменить msk. Но настоящая проблема в том, что монстры будут генерироватья в генераторе и, вероятно, случайном монстре сдвинутыми.
Go to the top of the pageAdd Nick
 
+Quote Post
gamecreator
сообщение 13 Nov 2012, 16:47
Сообщение #13

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




Цитата(Sav @ 13 Nov 2012, 16:41) *
правее и ниже неё ничего не отображается
по-моему достаточно избавиться от этого
Go to the top of the pageAdd Nick
 
+Quote Post
Sav
сообщение 13 Nov 2012, 16:48
Сообщение #14

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




Клетки правее и ниже правой нижней клетки объекта не хранят никакой информации о том, что там что-то есть. А игра рисует всё поклеточно.
Go to the top of the pageAdd Nick
 
+Quote Post
gamecreator
сообщение 13 Nov 2012, 16:50
Сообщение #15

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




не совсем понимаю зачем вообще нужна такая информация для отрисовки. и что значит отрисовка поклеточно? спрайт разрезается на квадраты чтоли?
Go to the top of the pageAdd Nick
 
+Quote Post
Sav
сообщение 13 Nov 2012, 16:55
Сообщение #16

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




Берётся клетка, у неё есть список объектов, которые на ней стоят, из дефа каждого из них выбирается нужный квадрат и отрисовывается на клетку.
Go to the top of the pageAdd Nick
 
+Quote Post
gamecreator
сообщение 13 Nov 2012, 17:14
Сообщение #17

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




как сложно все. тогда уж легче исправить генератор и убрать ограничение на 2х2 клетки
Go to the top of the pageAdd Nick
 
+Quote Post
Sav
сообщение 13 Nov 2012, 17:37
Сообщение #18

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




Такого ограничения нет (хотя, вполне может оказаться, что msk монстров обязаны быть одинаковыми, но вряд ли более того, во всяком случае, по части генератора). Просто генератор всегда ставит монстра правой нижней клеткой туда, куда считает нужным поставить жёлтую клетку охраны. Ну, я в общем, уже сказал на этот счёт.
Go to the top of the pageAdd Nick
 
+Quote Post
Sadness
сообщение 13 Nov 2012, 18:37
Сообщение #19

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




Весь движ в том, что сдвинутые охраны появляются из-за того, что рядом с существом должно быть n свободных клеток, минимум одна, либо одна активна, такое бывает в случае бага генерации. Избавиться нужно от привязки дефа к клеткам, то бишь чтобы деф накладывался на любой msk и не обрезался. Отсюда мы получим довольно широкий список объектов, где можно поменять msk во благо нормальной генерации. Я протестировал: у оппонента всё в порядке. Таким нехитрым образом можно генерировать карты с благородной начинкой, а после и играть в них, когда будет всё в порядке с дефами. Гипотетически можно изобразить себе схематично любой деф монстра, банально заменив его msk на необходимый минимум - одну клетку - а сам деф отрисовать в пределах одной клетки. Тогда генерации будут хорошими, но у игрока-хоста будут маленькие существа на карте. Вот мне почему-то кажется, что можно этот алгоритм обойти. Ибо какого фига у оппонента всё нормально отрисовывается и он играет на нормальной карте?)
Go to the top of the pageAdd Nick
 
+Quote Post
Sav
сообщение 13 Nov 2012, 18:56 (Сообщение отредактировал Sav - 13 Nov 2012, 19:00)
Сообщение #20

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




msk вообще не должны играть никакой роли в генераторе, они управляют только тем, на каких клетках объект будет отрисовываться, а на каких нет. Это нужно, чтобы не отрисовывать те части объекта, которые не содержат никакого изображения. Генерации могут быть хорошими или плохими из-за текстовиков: objects, rand_trn, rmg. В данном случае - первого из них. Записи о монстрах лучше вообще не трогать, это ведёт к багам. А если трогать - то только зная код генератора и видя, что делаешь.
У всех обычных объектов можно спокойно оперировать проходимостями, они будут ставиться нормально. И msk тут не при чём, если не считать того, что при слишком маленьком размере объекта, не влезающие клетки не будут учитываться как непроходимые или триггерные.
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

 



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