а вообще жаль, что пошаговость при переносе потерялась, имхо. мод неслабо бы так выделялся на фоне всего остального
Пошаговость и была основная фишка игры, без неё все не имеет смысла и без нее думрпг не думрпг, а может быть пошаговость наоборот оттолкнет игроков, надо бы опросец на такую тему.
Но играть думаю и так будет интересно.
MyNameIs А не ты ли не так давно демонстрировал видео где реализовал как бы пошаговую ходьбу? Или это был doomstalker, вот не помню
Может кто поделился бы кодом?
alekv да, эт я.
он фиговый, пошаговый в нем только игрок. как быть с врагами я не понял и забил.
+ блокирующие хрени надо ставить вручную и им всем вписывать тид начиная от тыщи
благо можно выделать все и вбить ">=1000" и оно само
да, эт я.
он фиговый, пошаговый в нем только игрок. как быть с врагами я не понял и забил.
+ блокирующие хрени надо ставить вручную и им всем вписывать тид начиная от тыщи
благо можно выделать все и вбить ">=1000" и оно само
Ну на видео выглядело норм, еще чуть подкрутить и для дум рпг на гоззе отлично подошло бы
Вопрос только автор думрпг хочет или нет добавлять пошаговость?
MyNameIs:
+ блокирующие хрени надо ставить вручную и им всем вписывать тид начиная от тыщи
благо можно выделать все и вбить ">=1000" и оно само
Ну как бы обычные уровни тоже вручную строят, но всегда можно найти выход. К примеру попробуй посмотреть под другим углом.
С учетом что уровни все состоят из кубов\прямоугольников можно строить механику таким образом, что стены сами дают игроку\монстру знать что они рядом
Иными словами, делаем актера +SOLID, в стейте ему прописываем что-то типа такого:
Скрытый текст:
Скрытый текст:
Actor Wall.Mettal : SwitchableDecoration 15000//наследуясь от свичаблдекорации, точно можно будет определять при касании кто рядом, монстр или игрок.
{
+SOLID -PUSHABLE -SHOOTABLE +NOGRAVITY +BUMPSPECIAL
Activation THINGSPEC_ThingActs | THINGSPEC_ThingTargets | THINGSPEC_Switch | THINGSPEC_MonsterTrigger //такими флагами говорим что активировать может и монстр и игрок и тд
States
{
Spawn: MODL A 1
Check://из этого стейта прыгнет в стейт active если игрок или монстр коснется коллизии.
MODL A -1
stop
InActive://оставляем пустым
Active:
MODL A 1 ACS_NamedExecute("CheckMonster_player_Closer", 0)//каждая стена при столкновении запускает скрипт который смотрит какой стороной повёрнут игрок\монстри т.д. и передает значения монстру\игроку меняя переменные, или просто давая или забирая инвентори итемы если так проще. Кстати можно вообще ничего не передавать, а написать что бы эта стена и поворачивала игроку камеру
goto Check
}
}
Чем хорош такой способ? тем что стенам не нужен будет ТИД расставленный вручную. Еще хорошо что стена может передавать не только игроку о том что она у его морды, но и монстру! Зная что монстр уперся в стену, уже можно как-то во круг этого плясать и строить ИИ т.е. что должен делать моб если перед ним стоит стена(обойти, чуть левее или правее или вообще стоять и т.д.) можно даже делать что бы иногда не монстр думал в таких вещах, а стена.. т.е. скрипт который вызывает стена при активации, просто SetActorPosition() чуть в сторону моба
только забыл сказать если не понятно, что стены должны быть все из актеров.. Это кстати на вскидку вообще не плохо, а яб сказал бы даже хорошо, т.к. заранее смоделить пару кубов (это дело 5 минут), натянуть текстуры соответствующие и сам удивишься на сколько просто и мега быстро строить уровни из модулей + в дальнейшем можно думать об автогенерации таких уровней.
в общем думаю на эту тему можно было бы поразглагольствовать, но я на большее не способен т.к. у самого висит кролик который должен был релизиться еще в мае.
По поводу acs как оно все работает что бы понятно стало, смотри:
Скрытый текст:
Script "CheckMonster_player_Closer" (Void)
{
int WallTID = UniqueTID();
Thing_ChangeTID(0, WallTID);
SetActivatorToTarget(0);//т.е. теперь тид 0 это активатор монстр или игрок!, а у стены тид wallTID
int Wall_R = GetActorProperty(PushTID,APROP_Radius);
int PlaR = GetActorProperty(0,APROP_Radius);
int Wall_H = GetActorProperty(PushTID,APROP_Height);
int WallH = GetActorProperty(0,APROP_Height);
int PlaY = GetActorY(0);
int Wall_Y = GetActorY(PushTID);
int PlaZ = GetActorZ(0);
int Wall_Z = GetActorZ(PushTID);
if(PlaY < Wall_Y + PlaR + Wall_R && PlaY > Wall_Y - PlaR - Wall_R &&
PlaZ < Wall_Z + PlaH + Wall_H && PlaZ > Wall_Z - PlaH - Wall_H) //подобным образом, добавив проверку угла активатора можно определять в какой стороне моб\игрок\стена и т.д.
{
if(ActivatorTID() == PlayerNumber())//так проверяем что активатор игрок
{ и чего нибудь делаем с игроком
terminate;///что бы прерывать выполнение т.к. дальше строки если активатор монстр
}
///очевидно тут если активатор не игрок, значит это любой другой актер
}
}
На счет пошаговости - в DRRP она отсутствует, но никто не мешает добавить её модом
Так же, была идея сделать полноценный порт оригинальной игры (о чём мы писали выше), но это будет уже позже.
DRRP, в свою очередь, является ремейком (переосмыслением концепции оригинальной игры под возможности GZDoom с максимальным сохранением атмосферы оригинала).
Мы пытаемся сделать то, что не смогли id software из-за ограничений мобильных устройств (между прочим, пошаговость является одним из таких ограничений).
А любителей простого переноса DRPG на новый движок тоже ждёт сюрприз, так как в планах имеется 2 версии игры (classic и remake)
Так же, хотел сообщить, что в аддоне будут использованы последние нововведения GZDoom, такие как текстурные шейдеры, шейдеры постобработки, направленное динамическое освещение и прочие интересные фишки, улучшающие графику и оказывающие влияние на атмосферность
Так же, хотел сообщить, что в аддоне будут использованы последние нововведения GZDoom, такие как текстурные шейдеры, шейдеры постобработки, направленное динамическое освещение и прочие интересные фишки, улучшающие графику и оказывающие влияние на атмосферность
Поиграл. Для такой ранней версии годно. Местами прямо как в дум 3 и по дитойлу, и по атмосфере. Меня неожиданно сделали тестером, я всю ночь баги репортил, на трелло отправил штук 20 репортов больших и маленьких и, что странно, бòльшая часть была одобрена.
Скрытый текст:
Да-да. Сбил режим один чёрт, даже спать не ложился. Потом пришлось не спать вообще и дотянуть до вечера.
Здравый смысл и адекватная отдача в лице разработчиков — большая редкость. Поверьте, данный проект стоит вашего времени и внимания. Недостатки (да и то, столь ранней версии) это только лишь баланс дамаг факторов оружий, что наносят врагам конкретный урон. Это вообще пообещали ребалансить.
Осталось 30 часов до релиза второй беты!
Таймер на официальном сайте
Добавлено спустя 1 день 7 часов 29 минут 33 секунды:
Спустя 2 месяца представляем вам DRRP v0.2.0 (Early Access Beta)!
Нововведения:
- Теперь все карты играбельные
- Теперь монстры видят во всех направлениях
- Добавлены объемные текстуры на основе Parallax Occlusion Mapping шейдера
- Теперь все сломанные двери открываются с помощью топора
- Добавлены диалоги на все карты
- Добавлены кодовые замки на все карты
- Улучшенный StatusBar
- Добавлена прокачка максимального здоровья игрока в магазине
- Улучшено качество текстур
- Добавлен Кронос
- Перекрашенные спрайты персонажей заменены на оригинальные
- Другое: множество мелких нововведений
Исправления:
- Исправлены переносы строк в английской версии
- Исправлен размер и положение балонов огнетушителя и прочих спрайтов
- Исправлен спавн монстров во всех секторах
- Исправлены все найденные проблемы с секретами во всех секторах
- Исправлены все найденные неполадки в скриптах
- Исправлены дубликаты заданий в блокноте
- Исправлена ошибка с застреванием в портале в XHUB
- Исправлена ошибка с подрывом вторженцев в SEC2
- Переведены ранее не переведённые строки
- Прочие мелкие исправления