Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: S.T.A.L.K.E.R. 2D
GAMEINATOR forums > Общие разделы > Создание и модификация игр. Геймдев. > Игровые проекты форумчан
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
Shoкer
Скрин почему-то не могу увеличить. Но от суда кажись деревья выглядят привлекательно, ещё бы так с землёй сделать...
SaneX
у деревьев уменьши угол поворота чуток, и сделай что бы они перед тем, как начать вращаться в другую сторону плавно останавливались и так же плавно начинали вращаться в другую сторону. А то переходы резкие.
MODER_ANTONIO_
Цитата(SaneX @ 19.03.2010, 22:13) *
у деревьев уменьши угол поворота чуток, и сделай что бы они перед тем, как начать вращаться в другую сторону плавно останавливались и так же плавно начинали вращаться в другую сторону. А то переходы резкие.

Ага, я тоже так думаю.
MODER_ANTONIO_
Сейчас работаю над AI - нахождение пути по вэйпоинтам.
На дооолго затянется. 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 игрок не управлялся

Lekzd
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
Есть еще алгоритм A*.
MODER_ANTONIO_
Lekzd, читай внимательнее laugh.gif
Я делаю не "хождение по пути", а "нахождение пути".
Цитата(Deimos @ 29.03.2010, 05:24) *
Есть еще алгоритм A*.

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

Прототип алгоритма я сделал.
Теперь нужно его доделывать.
В инете надо искать ...
Deimos
Цитата(MODER_ANTONIO_ @ 29.03.2010, 20:02) *
А карта у меня 1 км на 1 км. Так что скорость очень медленная.

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

dry.gif Я ж про А* алгоритм говорю. Чем ты читаешь ?
Deimos
Цитата(MODER_ANTONIO_ @ 29.03.2010, 21:38) *
Я ж про А* алгоритм говорю.

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

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

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

Бей карту на квадратные области, находи путь только в текущем квадрате и будет тебе счастье wink.gif
Deimos
Цитата(Da Man @ 29.03.2010, 22:09) *
Причем тут вообще С++?

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

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

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

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

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

Ну ты тоже на человека наехал wink.gif. 99% только говорят, он же делает что-то...

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

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

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

хз smile.gif

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

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

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

Я перепробовал два алгоритма по А*.
Ни один коректно не работает.
Потом я начал делать свой вариант.
Получилось.
Вот только он не работает с "впуклыми" нодами.
Не знаю чё делать.
Мазги сломал уже. 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
Даже нашёл А* на полностью на ГМЛ, но там вобсче каша-кашенная.
Помогите кто нибуть . smile.gif
Сам алгоритм я понял полностью, вот только его нужно закодить, что у меня и не выходит.
Я сделал функцию для дебага,которая:
Da Man
Цитата
Ага, я так тоже думал и сделал даже.
Вот только с этим проблема:
если в локальном квадрате нету выхода, то бот просто не выйдет.
Короче этот метод замароченый и плохо-усвояемый.
А с нодами по другому:
они расставлены в нужных местах
и бот всегда найдёт выход...
Долго обьяснять.

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

dry.gif Ага, разогнался.
Я ж по нодам не сделал.
А ты мне про ноды. У меня и не получается по нодам.
Но всёравно спасибо. 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_
Поздравте меня. Я его сделал( нахождение пути по вэйпоинтам ). yahoo.gif
Было 3-и мои ошибки( ГМ тут не причём ):
  1. Не правильно выбрал конечную точку
  2. Ошибка в приориоретарной очереди
  3. Построение пути полностью не верно.

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

MODER_ANTONIO_
[ 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 игрок не управлялся
Deimos
Интересно, какой Сталкер 2 будет раньше: от Григоровича или от нашего разраба?

А еще возмущался, когда А* предлагали.
MODER_ANTONIO_
Цитата(Deimos @ 02.04.2010, 15:40) *
А еще возмущался, когда А* предлагали.

Я его (А*) применяю в нодах( или вэйпоинтах ). Но не в сетке.

Цитата(Deimos @ 02.04.2010, 15:40) *
Интересно, какой Сталкер 2 будет раньше: от Григоровича или от нашего разраба?

laugh.gif

Теперь буду доделывать зрение ботов ( LOS )
Потом FSM.
MODER_ANTONIO_
Техно-демка LOS( зрение )
Так боты видят мир .
http://stalker2d.ucoz.ru/load/0-0-0-25-20 (1.01Mb)
MODER_ANTONIO_
========[ v. 0.0.3.60 PRE-ALPHA ][ 07.04.2010 ]==========================
+ 3D box
+ engine_ai:
++ Bots
+++ FSM (v1)
+++ pathfinding nodes (v4.4)
============================================================
техно-демка поиска пути ботом
http://stalker2d.ucoz.ru/load/0-0-0-26-20
StUnDeR
БИЛД!!!БИЛД!УРА!!
MODER_ANTONIO_
Цитата(StUnDeR @ 07.04.2010, 15:30) *
БИЛД!!!БИЛД!УРА!!

laugh.gif Это не билд.
Это техно-демка
StUnDeR
MODER_ANTONIO_, это ты для того, что бы не было билдомании??Сталкерские билды тоже в основном техно-демками назывались.ПО этому это БИЛД!!!!!!УРА!!!! *пошел тестить*
MODER_ANTONIO_
Сейчас ещё один выложу.
Такойже как и последний, только препятствий намного больше.
Deimos
Псевдотрехмерность - это хорошо.
MODER_ANTONIO_
техно-демка поиска пути ботом №2
http://stalker2d.ucoz.ru/load/0-0-0-27-20
MODER_ANTONIO_
Сейчас работаю над редактором карт.
Он нужен, потому что компиляция в ГМ со всеми графическими ресурсами занимает много времени.
Неудобно тестировать.
А делать карты в ГМ не удобно без графических ресурсов.
Кто работал в ГМ тот поймёт.

Стадия разработки - пре альфа.
M i k e
пэкмен какой то)
MODER_ANTONIO_
Цитата(M i k e @ 12.04.2010, 10:21) *
пэкмен какой то)

laugh.gif

techDemo_aiPathfinding_3
прямая ссылка на *.rar (4.54Mb)

odimmoo
Серьёзно, на данной стадии проект больше похож на пэкмэн.
Рисуй уровни, займись левел-дизайном.
MODER_ANTONIO_
Цитата(odimmoo @ 16.04.2010, 09:53) *
Рисуй уровни, займись левел-дизайном.

Буду это делать, когда будет алфа.
А сейчас смысла нету.
Нужно программировать в С++ для ГМ длл.
Я нашел GMAPI. Это библиотека с помощью которой можно вызывать ГМЛ-функции из длл.
Т.е весь код ГМЛ можно переместить в длл
Deimos
Надо уяснить что это не проект, а лишь первые шаги игропрогера. Пока выучит основы.
К тому же испытывается лишь техника. Концепта нет.
Так что прошу еще где-то год не критиковать автора, пока он не начнет делать саму игру.

Это же totstalkir.gif
MODER_ANTONIO_
Цитата(Deimos @ 16.04.2010, 15:38) *
Надо уяснить что это не проект, а лишь первые шаги игропрогера. Пока выучит основы.
К тому же испытывается лишь техника.

Да. biggrin.gif
Я теперь сам понял, что нужно переходить на ЯП ( С++ ) и без него никак.
А ГМЛ - это наброски, типо техно-демка, проба.
MODER_ANTONIO_
Ха, я сделал "пустое окно" с помощью HGE и wxDev-C++.
dance3.gif
Исправил пару весчей и готово .
Сначало хотел скачать VSEEC++, но передумал.
А wxDev-C++ удобная IDE. Пару кликов и окно готово.
Лучше чем VSEEC++, потому что свободная.
MODER_ANTONIO_
Я решил не отвлекаться на HGE и разрабатывать на ГМ.
Все-таки HGE - хорошо, но нужно переделывать очень многое, чтобы получить то что я сейчас уже имею.

Я нашёл готовую отличную длл-ку поиска пути по нодам.
+ Есть исходник на С++.
+ с примерами на ГМ
+ лучше моего алгоритма.
+ завершённая

Буду ковыряться с ней.
Нужно сделать компиляцию нодов в файл.
Чтобы при загрузке карты ноды просто грузились с файла.

Есчо решил больше не разрабатывать редактор карт.
Можно просто в ГМ скомпилировать карту в файл, а потом грузить его в игре.

И вобсе буду переходить на другой форум.
Сдесь в основном только про игры.
А мне нужен про игростроение.

Так что здесь новостей может и не быть.
MODER_ANTONIO_
=====[ v. 0.0.3.69 PRE-ALPHA ][ 23.04.2010 ]==========================
+ engine_ai:
____+ Bots
____|____+ FSM (v1.1)
+ engine_game:
____+ game_objects:
____|____+ player_move_delay()(v2.1)
____|____+ tree: плавное вращение ( математический маятник )
+ func_other:
____+ math_pendulum(v1.1)
============================================================
Deimos
Цитата(MODER_ANTONIO_ @ 23.04.2010, 20:51) *
=====[ v. 0.0.3.69 PRE-ALPHA ][ 23.04.2010 ]==========================
+ engine_ai:
____+ Bots
____|____+ FSM (v1.1)
+ engine_game:
____+ game_objects:
____|____+ player_move_delay()(v2.1)
____|____+ tree: плавное вращение ( математический маятник )
+ func_other:
____+ math_pendulum(v1.1)
============================================================

Это больше похоже на билд для внутреннего учета, а не народа. Даже тестить можно одному.
Реализация конечного автомата - это как-бы не достижение. Если он еще на простом свитче сделан...
Деревья качаются как маятник, но по кругу? totstalkir.gif laugh.gif

Мясо давай, а не бульон! smile.gif
MODER_ANTONIO_
Цитата(Deimos @ 23.04.2010, 19:08) *
Мясо давай, а не бульон!

Нидам.
Сёрбайте бульон.
Сделаю и один буду играться.
biggrin.gif
Da Man
Цитата
Реализация конечного автомата - это как-бы не достижение.

нынче для AI GOAP рулит smile.gif
MODER_ANTONIO_
Цитата(Deimos @ 23.04.2010, 19:08) *
Реализация конечного автомата - это как-бы не достижение.Если он еще на простом свитче сделан...

Реализация 2D TDS - это как-бы не достижение.Если он еще на простом свитче сделан...
laugh.gif
Deimos
Цитата(MODER_ANTONIO_ @ 25.04.2010, 11:49) *
2D TDS

What?
MODER_ANTONIO_
Цитата(Deimos @ 25.04.2010, 09:12) *
Цитата(MODER_ANTONIO_ @ 25.04.2010, 11:49) *
2D TDS

What?

laugh.gif
TDS - Top-Down Shooter ( Стрелялка с видом сверху )

Вот сделал пальму biggrin.gif
Захотелось че-нить не по теме сделать.
Пальма с анимацией вращения, как в КС 2D.
Сейчас на диал-апе сижу.

Deimos
Цитата(MODER_ANTONIO_ @ 25.04.2010, 12:19) *
Захотелось че-нить не по теме сделать.

Crysis 2D?

Когда демка, где можно кого-то убить?
MODER_ANTONIO_
Цитата(Deimos @ 25.04.2010, 09:48) *
Когда демка, где можно кого-то убить?

Может летом.
MODER_ANTONIO_
Сделал, аномалию с искажением изображения, как в сталкере.
Нужно дорабатывать.
Потом выложу.
dr_dizel
Цитата(MODER_ANTONIO_ @ 25.04.2010, 12:19) *

О, ггг. Нормалёк.
Напоминает...
MODER_ANTONIO_
Цитата(dr_dizel @ 25.04.2010, 18:00) *
О, ггг. Нормалёк.
Напоминает...

laugh.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2022 IPS, Inc.