IPB

Правила раздела

Перед публикацией рекомендуем ознакомиться с правилами раздела

 
>

S.T.A.L.K.E.R. 2D

, полноценный S.T.A.L.K.E.R. в 2D

 
 Shoкer
сообщение 20.03.2010, 01:05
Сообщение #401


Кандидат Игровых Наук
******************

Группа: Участник
Сообщений: 3488
Регистрация: 27.07.2009
Пользователь №: 11447



Скрин почему-то не могу увеличить. Но от суда кажись деревья выглядят привлекательно, ещё бы так с землёй сделать...
Перейти в начало страницы
 
 
 SaneX
сообщение 20.03.2010, 01:13
Сообщение #402


Игровой Бог первой степени
***********************

Группа: Участник
Сообщений: 9404
Регистрация: 15.03.2007
Пользователь №: 5408



у деревьев уменьши угол поворота чуток, и сделай что бы они перед тем, как начать вращаться в другую сторону плавно останавливались и так же плавно начинали вращаться в другую сторону. А то переходы резкие.
Перейти в начало страницы
 
 
 MODER_ANTONIO_
сообщение 22.03.2010, 19:14
Сообщение #403


Почти Игроман
*********

Группа: Участник
Сообщений: 683
Регистрация: 10.04.2009
Из: БЕЛАРУСЬ
Пользователь №: 10520



Цитата(SaneX @ 19.03.2010, 22:13) *
у деревьев уменьши угол поворота чуток, и сделай что бы они перед тем, как начать вращаться в другую сторону плавно останавливались и так же плавно начинали вращаться в другую сторону. А то переходы резкие.

Ага, я тоже так думаю.
Перейти в начало страницы
 
 
 MODER_ANTONIO_
сообщение 28.03.2010, 23:02
Сообщение #404


Почти Игроман
*********

Группа: Участник
Сообщений: 683
Регистрация: 10.04.2009
Из: БЕЛАРУСЬ
Пользователь №: 10520



Сейчас работаю над AI - нахождение пути по вэйпоинтам.
На дооолго затянется. (IMG:style_emoticons/default/dry.gif)

Изменения

-----------------------------------[ v. 0.0.2.65 PRE-ALPHA ][ 28.03.2010 ]--------------------------

+ новый загрузчик карт из параметров ярлыка
- анимация ног бота

-----------------------------------[ v. 0.0.2.62 PRE-ALPHA ][ 26.03.2010 ]--------------------------
+ engine_ai:
+ Боты
+ A* - сетка
+ 3D Звук
+ Дождь
+ LOS(v2):
+для игрока:
+нельзя видеть ботов
+нельзя видеть через стены
+можно видеть через препятствия
- после выбрасывания оружия из слота №1 и №2 игрок не управлялся



Сообщение отредактировал MODER_ANTONIO_ - 28.03.2010, 23:06
Перейти в начало страницы
 
 
 Lekzd
сообщение 28.03.2010, 23:16
Сообщение #405


Я такой разный, но все-таки я вместе
**************

Группа: Участник
Сообщений: 1854
Регистрация: 04.03.2009
Из: Санкт-Петербург
Пользователь №: 10177



MODER_ANTONIO_, а чего там делать-то?

грузишь путь по точкам в масссив

и далее после перехода к нужной точке вычисляешь направление, в которое надо двигаться до следующей точки:
Код
DIRECTION = trunc(RadToDeg(ArcTan2(WAY_POINT_Y-(NPC_Y)-CAM_Y, WAY_POINT_X-(NPC_X)-CAM_X)))+90

trunc - возвращает целое число от дробного
CAM-Y - смещение игровой карты на экране - думаю найдешь

и несешь персонажа по этому направлению
Код
X = X+Trunc(cos256(DIRECTION*256 div 360 + 64)*-32);
Y = Y+Trunc(sin256(DIRECTION*256 div 360 + 64)*-32);


думаю, код более-менее портируем
Перейти в начало страницы
 
 
 Deimos
сообщение 29.03.2010, 08:24
Сообщение #406


Доктор Игровых Наук
*******************

Группа: Забанен
Сообщений: 3591
Регистрация: 16.09.2009
Из: Украина
Пользователь №: 11874



Есть еще алгоритм A*.
Перейти в начало страницы
 
 
 MODER_ANTONIO_
сообщение 29.03.2010, 20:02
Сообщение #407


Почти Игроман
*********

Группа: Участник
Сообщений: 683
Регистрация: 10.04.2009
Из: БЕЛАРУСЬ
Пользователь №: 10520



Lekzd, читай внимательнее (IMG:style_emoticons/default/laugh.gif)
Я делаю не "хождение по пути", а "нахождение пути".
Цитата(Deimos @ 29.03.2010, 05:24) *
Есть еще алгоритм A*.

Я пробовал с ним работать. Он подходит только для небольших массивов.
А карта у меня 1 км на 1 км. Так что скорость очень медленная.

Прототип алгоритма я сделал.
Теперь нужно его доделывать.
В инете надо искать ...


Сообщение отредактировал MODER_ANTONIO_ - 29.03.2010, 20:02
Перейти в начало страницы
 
 
 Deimos
сообщение 29.03.2010, 20:28
Сообщение #408


Доктор Игровых Наук
*******************

Группа: Забанен
Сообщений: 3591
Регистрация: 16.09.2009
Из: Украина
Пользователь №: 11874



Цитата(MODER_ANTONIO_ @ 29.03.2010, 20:02) *
А карта у меня 1 км на 1 км. Так что скорость очень медленная.

Реже ставь вейпойнты, а не на каждом миллиметре. Выпрями руки. Выучи С++. (IMG:style_emoticons/default/smile.gif)
Перейти в начало страницы
 
 
 MODER_ANTONIO_
сообщение 29.03.2010, 21:38
Сообщение #409


Почти Игроман
*********

Группа: Участник
Сообщений: 683
Регистрация: 10.04.2009
Из: БЕЛАРУСЬ
Пользователь №: 10520



Цитата(Deimos @ 29.03.2010, 17:28) *
Реже ставь вейпойнты, а не на каждом миллиметре. Выпрями руки. Выучи С++.

(IMG:style_emoticons/default/dry.gif) Я ж про А* алгоритм говорю. Чем ты читаешь ?
Перейти в начало страницы
 
 
 Deimos
сообщение 29.03.2010, 21:44
Сообщение #410


Доктор Игровых Наук
*******************

Группа: Забанен
Сообщений: 3591
Регистрация: 16.09.2009
Из: Украина
Пользователь №: 11874



Цитата(MODER_ANTONIO_ @ 29.03.2010, 21:38) *
Я ж про А* алгоритм говорю.

Вейпойнты расставленные в виде матрицы/таблицы так чтобы была возможность ориентироваться по "квадратам". Движения между неперекрытыми нодами по прямым линиям.
Тайловый дизайн будет проще для проекта, который уже так долго делается.
Зачем дерзить?

Сообщение отредактировал Deimos - 29.03.2010, 21:47
Перейти в начало страницы
 
 
 Da Man
сообщение 29.03.2010, 22:09
Сообщение #411


Архимагистр Игры
*****************

Группа: Забанен
Сообщений: 2765
Регистрация: 06.06.2008
Из: Киев
Пользователь №: 8242



Цитата
Реже ставь вейпойнты, а не на каждом миллиметре. Выпрями руки. Выучи С++.

Причем тут вообще С++? О_о Любой алгоритм можно написать как угодно - вербально, графически, нормальные Бекусовые формы и т.д....
Цитата
Он подходит только для небольших массивов.

для любых подходит! Надо нормально организовать данные
Цитата
А карта у меня 1 км на 1 км. Так что скорость очень медленная.

Бей карту на квадратные области, находи путь только в текущем квадрате и будет тебе счастье (IMG:style_emoticons/default/wink.gif)
Перейти в начало страницы
 
 
 Deimos
сообщение 29.03.2010, 22:22
Сообщение #412


Доктор Игровых Наук
*******************

Группа: Забанен
Сообщений: 3591
Регистрация: 16.09.2009
Из: Украина
Пользователь №: 11874



Цитата(Da Man @ 29.03.2010, 22:09) *
Причем тут вообще С++?

У человека проблемы с Гейм Мейкером.
Цитата
Любой алгоритм можно написать как угодно - вербально, графически, нормальные Бекусовые формы и т.д....

Цитата
Надо нормально организовать данные

Ты не туда пришел с такими советами. dtf.ru там --->
В этой теме надо быть попроще. (IMG:style_emoticons/default/smile.gif)

Интересно, в этом Гейм Мейкере стек или очередь можно сделать?

Кстати игрой это и не назовешь. Только эксперимент без концепции.

Сообщение отредактировал Deimos - 29.03.2010, 22:23
Перейти в начало страницы
 
 
 Da Man
сообщение 29.03.2010, 23:42
Сообщение #413


Архимагистр Игры
*****************

Группа: Забанен
Сообщений: 2765
Регистрация: 06.06.2008
Из: Киев
Пользователь №: 8242



Цитата
Ты не туда пришел с такими советами.

Ну ты тоже на человека наехал (IMG:style_emoticons/default/wink.gif) . 99% только говорят, он же делает что-то...

Цитата
dtf.ru там --->

дтф это сборище элитных троллей русского чахлого геймдева, ИМХО. Здесь компания приятнее...

Цитата
Интересно, в этом Гейм Мейкере стек или очередь можно сделать?

хз (IMG:style_emoticons/default/smile.gif)

Цитата
Надо нормально организовать данные

Создать глобальный навигационный граф (слабо детализирован) и полностью детализирован. Разбить карту на квадраты. Считать детальное нахождение пути только в текущем квадрате, если непись выходит за его грани - считать по глобальному, недетализированому (или не считать, если не требуется А-лайф (IMG:style_emoticons/default/smile.gif) ). Это легко можно нарисовать на листике, что бы лучше понять идею...
Перейти в начало страницы
 
 
 MODER_ANTONIO_
сообщение 31.03.2010, 00:12
Сообщение #414


Почти Игроман
*********

Группа: Участник
Сообщений: 683
Регистрация: 10.04.2009
Из: БЕЛАРУСЬ
Пользователь №: 10520



Цитата(Da Man @ 29.03.2010, 20:42) *
Создать глобальный навигационный граф (слабо детализирован) и полностью детализирован. Разбить карту на квадраты. Считать детальное нахождение пути только в текущем квадрате, если непись выходит за его грани - считать по глобальному, недетализированому (или не считать, если не требуется А-лайф ). Это легко можно нарисовать на листике, что бы лучше понять идею...

Ага, я так тоже думал и сделал даже.
Вот только с этим проблема:
если в локальном квадрате нету выхода, то бот просто не выйдет.
Короче этот метод замароченый и плохо-усвояемый.
А с нодами по другому:
они расставлены в нужных местах
и бот всегда найдёт выход...
Долго обьяснять.

Я перепробовал два алгоритма по А*.
Ни один коректно не работает.
Потом я начал делать свой вариант.
Получилось.
Вот только он не работает с "впуклыми" нодами.
Не знаю чё делать.
Мазги сломал уже. (IMG:style_emoticons/default/wacko.gif)
В вики есть алгоритм А* по нодам: http://en.wikipedia.org/wiki/A*_search_algorithm
Это самый доходчевый до меня из всех найденых мной:
http://pmg.org.ru/ai/stout.htm
http://www.policyalmanac.org/games/aStarTutorial_rus.htm
Даже нашёл А* на полностью на ГМЛ, но там вобсче каша-кашенная.
Помогите кто нибуть . (IMG:style_emoticons/default/smile.gif)
Сам алгоритм я понял полностью, вот только его нужно закодить, что у меня и не выходит.
Я сделал функцию для дебага,которая:
(IMG:http://www.gameru.net/forum/uploads/1268496358/tn_gallery_10520_170_1935.png)

Сообщение отредактировал MODER_ANTONIO_ - 31.03.2010, 00:21
Перейти в начало страницы
 
 
 Da Man
сообщение 31.03.2010, 00:55
Сообщение #415


Архимагистр Игры
*****************

Группа: Забанен
Сообщений: 2765
Регистрация: 06.06.2008
Из: Киев
Пользователь №: 8242



Цитата
Ага, я так тоже думал и сделал даже.
Вот только с этим проблема:
если в локальном квадрате нету выхода, то бот просто не выйдет.
Короче этот метод замароченый и плохо-усвояемый.
А с нодами по другому:
они расставлены в нужных местах
и бот всегда найдёт выход...
Долго обьяснять.

(IMG:style_emoticons/default/pity.gif) Вот, нарисовал тебе схему, если что-то непонятно, спрашивай...
(IMG:http://img.gameru.net/th/70890.png)
Перейти в начало страницы
 
 
 VIGUR
сообщение 31.03.2010, 00:57
Сообщение #416


Follow me: @VIGUR91
************************

Группа: Участник
Сообщений: 10420
Регистрация: 29.03.2008
Пользователь №: 7808



Могу посоветовать взять уже готовый качественный вариант ИИ на gml.
Ведь тебе прийдется и боевой ИИ делать...
Только, в моем случае, приходилось много перековыривать. Не только для оптимизации (Da Man правильно говорит о разбиении на "online A-Life" и "offline A-Life", так надо делать для больших мап), но и для добавления дополнительных фич: "конус" (по факту - треугольник) зрения npc, просчет line-collision'ов для стрельбы, система алертов (с временем затухания), npc убегал когда мало hp, стрейфил для уклонения от вражеских пуль, ныкался для перезарядки, запоминал последнее место где был увиден игрок, обнаружение игрока в зависимости от освещенности местности где он находится (интегрировал с светловым движком) и множество других фич добавлял.
Но база была начальная - нормально реализованный поиск пути, зачатки союзнического ИИ и удобная система построение сетки с помощью используя практически любые преграды parent-object'ов в GM (мне, например, это было очень удобно для интеграцией с системой освещения - не надо было новые object'ы создавать отдельно для преград ИИ).
Сначала думал делать, что бы npc просчитывали динамические преграды (ящики, бочки, и т.п.), но постоянно обновлять всю сетку был не выход. Позднее, стал обновлять только по определенному радиусу кругом игрока, но, в итоге, решил что эффектнее будет смотреться когда npc во время боя расталкивали ящики и стреляли по ящикам. Смотрелось очень красиво. (IMG:style_emoticons/default/smile.gif)
Так что, советую брать Top-down shooter AI example v2 by NoodleNog, но прийдется многое переделывать и доделывать.
Там еще изначально интеллект использования турелей есть прикольный, но тоже дописывать надо (IMG:style_emoticons/default/smile.gif)
Перейти в начало страницы
 
 
 MODER_ANTONIO_
сообщение 31.03.2010, 01:17
Сообщение #417


Почти Игроман
*********

Группа: Участник
Сообщений: 683
Регистрация: 10.04.2009
Из: БЕЛАРУСЬ
Пользователь №: 10520



Цитата(Da Man @ 30.03.2010, 21:55) *
Вот, нарисовал тебе схему, если что-то непонятно, спрашивай...

(IMG:style_emoticons/default/dry.gif) Ага, разогнался.
Я ж по нодам не сделал.
А ты мне про ноды. У меня и не получается по нодам.
Но всёравно спасибо. (IMG:style_emoticons/default/smile.gif)

Цитата(Deimos @ 29.03.2010, 19:22) *
Интересно, в этом Гейм Мейкере стек или очередь можно сделать?

Да можно.
В ГМЛ есть:

Стеки
Очереди
Списки
Карты
Приоритетные Очереди
Сетки

Stacks
Queues
Lists
Maps
Priority Queues
Grids

Вот нашёл супер страницу:
http://www-cs-students.stanford.edu/~amitp...prog.html#Paths

Сообщение отредактировал MODER_ANTONIO_ - 31.03.2010, 01:26
Перейти в начало страницы
 
 
 MODER_ANTONIO_
сообщение 31.03.2010, 16:02
Сообщение #418


Почти Игроман
*********

Группа: Участник
Сообщений: 683
Регистрация: 10.04.2009
Из: БЕЛАРУСЬ
Пользователь №: 10520



Поздравте меня. Я его сделал( нахождение пути по вэйпоинтам ). (IMG:style_emoticons/default/yahoo.gif)
Было 3-и мои ошибки( ГМ тут не причём ):
  1. Не правильно выбрал конечную точку
  2. Ошибка в приориоретарной очереди
  3. Построение пути полностью не верно.

Теперь нужно подправить, усовершенствовать...
Фуф, как гора с плечь.

(IMG:http://www.gameru.net/forum/uploads/1268496358/tn_gallery_10520_170_583.png)

Сообщение отредактировал MODER_ANTONIO_ - 31.03.2010, 16:22
Перейти в начало страницы
 
 
 MODER_ANTONIO_
сообщение 02.04.2010, 18:33
Сообщение #419


Почти Игроман
*********

Группа: Участник
Сообщений: 683
Регистрация: 10.04.2009
Из: БЕЛАРУСЬ
Пользователь №: 10520



[ v. 0.0.3.00 PRE-ALPHA ][ 02.04.2010 ]
Доделал и усовершенствовал алгоритм A*.
Теперь я его полностью понял и сделал.
Потом буду переносить его на длл. Буду делать в Делфи
Изменения
===================================[ v. 0.0.3.00 PRE-ALPHA ][ 02.04.2010 ]==========================

+ pathfinding nodes v4.1

===================================[ v. 0.0.2.80 PRE-ALPHA ][ 31.03.2010 ]==========================
+ pathfinding nodes v1:
+ node_create()
+ node_draw()
+ pathfinding_nodes()
+ find_first_startPoint()
+ find_first_endPoint()
+ draw_path_arrowInfo()
+ reconstruct_path()
+ data:
+ new_ds_priority_add()
+ ds_priority_find_value()

===================================[ v. 0.0.2.65 PRE-ALPHA ][ 28.03.2010 ]==========================

+ новый загрузчик карт из параметров ярлыка
- анимация ног бота

===================================[ v. 0.0.2.62 PRE-ALPHA ][ 26.03.2010 ]==========================
+ engine_ai:
+ Боты
+ A* - сетка и хождение ботов по найденному пути
+ 3D Звук
+ Дождь
+ LOS(v2):
+для игрока:
+нельзя видеть ботов
+нельзя видеть через стены
+можно видеть через препятствия
- после выбрасывания оружия из слота №1 и №2 игрок не управлялся


Сообщение отредактировал MODER_ANTONIO_ - 02.04.2010, 18:33
Перейти в начало страницы
 
 
 Deimos
сообщение 02.04.2010, 18:40
Сообщение #420


Доктор Игровых Наук
*******************

Группа: Забанен
Сообщений: 3591
Регистрация: 16.09.2009
Из: Украина
Пользователь №: 11874



Интересно, какой Сталкер 2 будет раньше: от Григоровича или от нашего разраба?

А еще возмущался, когда А* предлагали.
Перейти в начало страницы
 
 
 
 

 
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 

Текстовая версия Сейчас: 29.01.2023, 16:03