Rising Force Roguelike
Модератор: Jolly Roger
Re: Rising Force Roguelike
Движение не проблема (у меня сейчас так и есть - монстры с одинаковыми буквами тянутся друг к другу, пока игрока рядом нет), проблема - что они потом будут вместе делать. Ну если быть точнее - это проблема скорее не АИ, а специальных способностей монстров.
Re: Rising Force Roguelike
Хм. форум тормозит.
Последний раз редактировалось kipar 30 май 2010, 13:20, всего редактировалось 1 раз.
Re: Rising Force Roguelike
Нда, несмотря на все игры препятствия я заставил себя продолжить работу - и выкладываю новую версию.
Правда сделал не так много, но все же.
Насчет интерфейса у меня вообще появились сомнения - может переходить пока не поздно на "консольный" модальный интерфейс, самому писать всякие кнопки\списки\менюшки?
Плюс - проще будет портировать, меньше проблем с оформлением. Минус - куча проблем по переделке уже готовых окон, ну и излишняя (относительно) работа по созданию самопального оконного менеджера и дизайну интерфейса.
А то в ММОРПГ эта куча окон (инвентарь\скиллы\карта\журнал\пати\чат\...) смотрится нормально, то там она и оформлена эргономично. А у меня как-то все не по-игровому выглядит. И вообще, оказывается модальный интерфейс - один из признаков roguelike.
Еще размышляю (хотя и преждевременно, тьфу-тьфу-тьфу) насчет общей концепции игры. Думаю, фиксированные квесты и сюжет пока буду делать только для Беллато, а остальные расы оставлю для целей тестирования ПвП. Просто они как-то ближе к современным людям. Основные мотивы - жадность, социальный статус. Многоженство было отменено некоторое время назад, поэтому браки моногамны. Служба в армии по призыву (точнее говорится что обязаны отслужить все, но сомневаюсь что нет разных отсрочек и исключений). Колонизируют планету в поисках ресурсов.
Насчет сюжета кучу идей можно подчерпнуть из "Аватара" - если отвлечься от предыстории, то там ну очень похожий мир, на самом деле. В принципе при игре за Беллато главной темой планирую сделать проблему одиночества, как ни пафосно это звучит. Вроде как герой должен чувствовать, что не нужен ни собратьям, которых он интересует в основном с практической точки зрения, ни туземцам - которые может и будут с ним общаться, но для которых он все равно останется чужаком. Ну и что-то исходя из этого будет предпринимать - в зависимости от решений игрока и своей стартовой истории.
Остальные расы:
(нет, версию выложу все-таки вечером - еще погоняю на предмет явных багов).
Правда сделал не так много, но все же.
- Самое главное - квесты: два фиксированных квеста у кладовщика беллато (просто как пример) и случайно-генерируемые квесты у всех нпц. Награда должна будет зависеть от типа нпц, да и тип квеста, наверное... В общем еще дорабатывать и дорабатывать.
- Глобальная карта по кнопке "М" - с отображением положения игрока и квестовых локаций. Надо будет привязать к ней и выбор точки телепортации (с помощью карт и стационарного ТП).
- ПТ крафта теперь действует, поэтому класс специалист перестал быть бессмысленным.
- Слегка оптимизировал загрузку\сохранение файлов - теперь обращаюсь к диску один раз. Заодно упаковываю сейвы на лету алгоритмом gzip - теперь они не пугают своим размером и кучей одинаковых надписей в содержимом.
- Ну и всякие мелочи типа переработок интерфейса.
Насчет интерфейса у меня вообще появились сомнения - может переходить пока не поздно на "консольный" модальный интерфейс, самому писать всякие кнопки\списки\менюшки?
Плюс - проще будет портировать, меньше проблем с оформлением. Минус - куча проблем по переделке уже готовых окон, ну и излишняя (относительно) работа по созданию самопального оконного менеджера и дизайну интерфейса.
А то в ММОРПГ эта куча окон (инвентарь\скиллы\карта\журнал\пати\чат\...) смотрится нормально, то там она и оформлена эргономично. А у меня как-то все не по-игровому выглядит. И вообще, оказывается модальный интерфейс - один из признаков roguelike.
Еще размышляю (хотя и преждевременно, тьфу-тьфу-тьфу) насчет общей концепции игры. Думаю, фиксированные квесты и сюжет пока буду делать только для Беллато, а остальные расы оставлю для целей тестирования ПвП. Просто они как-то ближе к современным людям. Основные мотивы - жадность, социальный статус. Многоженство было отменено некоторое время назад, поэтому браки моногамны. Служба в армии по призыву (точнее говорится что обязаны отслужить все, но сомневаюсь что нет разных отсрочек и исключений). Колонизируют планету в поисках ресурсов.
Насчет сюжета кучу идей можно подчерпнуть из "Аватара" - если отвлечься от предыстории, то там ну очень похожий мир, на самом деле. В принципе при игре за Беллато главной темой планирую сделать проблему одиночества, как ни пафосно это звучит. Вроде как герой должен чувствовать, что не нужен ни собратьям, которых он интересует в основном с практической точки зрения, ни туземцам - которые может и будут с ним общаться, но для которых он все равно останется чужаком. Ну и что-то исходя из этого будет предпринимать - в зависимости от решений игрока и своей стартовой истории.
Остальные расы:
- Кора - религиозные фанатики, причем о их религии ничего толком неизвестно (кроме того что их Дайсем - бог тьмы), а аналогии с христианством будут неуместны. Институт семьи - отсутствует. Служба в армии - нет данных. Исходя из этого какой должна быть интрига сюжета? Какой моральный выбор может возникать? Не знаю.
- Акретия - почти что роботы (при рождении пересаживают мозг ребенка в робота, т.к. некий вирус разрушает все остальные органы). Абсолютно тоталитарное общество, соответственно мотивы и моральные дилемы тоже непонятны. Насчет сюжета есть одна идея - проблема соотношения памяти и личности. Кто-то (вариант - главный герой) подвергся стиранию памяти в наказание за преступление и теперь должен понять - осталось в нем что-то от старой личности или нет. Но для сюжета этого все-таки недостаточно.
- Туземцы - надо будет нагло скопировать с на'ви. Но это в очень далеких планах.
- Ну и Геродиане, Главный Враг - смотрят, когда три расы окончательно передерутся, чтобы добить оставшихся. Боятся, как бы три расы не нарыли на Новусе оружие против них. В игре их не будет, так как на Новус они попасть не могут, могут участвовать косвенно, плести интриги.
(нет, версию выложу все-таки вечером - еще погоняю на предмет явных багов).
Re: Rising Force Roguelike
Выложил версию в первом сообщении темы.
Re: Rising Force Roguelike
Побегал за война акрета, понравилось.
При выборе тактик выскакивает ошибка:
Выводить остаток денег при торговле, а то покупаешь - не видишь сколько у тебя есть, а сколько осталось.
Количество тактик думаю нужно сократить, 3-4 имхо будет достаточно, плюс умения.
Еще такой момент, монстры выстраиваются в очередь, хотя вокруг много свободного места чтобы обойти и атаковать игрока. Я кстати сейчас похожую задачу пытаюсь решить, но у меня открытых пространств пока что нет.
При выборе тактик выскакивает ошибка:
некоторые пожелания:EXCEPTION: Access violation@ $0045EE99, Please send fails.log to kipar@front.ru with description of error
Выводить остаток денег при торговле, а то покупаешь - не видишь сколько у тебя есть, а сколько осталось.
Количество тактик думаю нужно сократить, 3-4 имхо будет достаточно, плюс умения.
Еще такой момент, монстры выстраиваются в очередь, хотя вокруг много свободного места чтобы обойти и атаковать игрока. Я кстати сейчас похожую задачу пытаюсь решить, но у меня открытых пространств пока что нет.
Re: Rising Force Roguelike
Спасибо за отзыв)
Насчет тактик - да, к следующему релизу исправлю. Будет три-четыре фиксированных (агрессивная\оборонительная\против шустрых\против крепких) и несколько настраиваемых игроком.
Деньги - в принципе можно смотреть через окно 'C'. Но в торговлю их тоже добавлю. Как-то не подумал.
Монстры - да, по идее они должны рассматривать для шага три направления из восьми - на игрока, чуть левее и чуть правее. Но случай, когда они точно по горизонтали или по вертикали я не учел - потому выстраиваются в линию. Но это непоный фикс - тогда игрока будет бить максимум три монстра, остальные все равно будут стоять. А чтоб было по-нормальному надо делать pathfinding A*.
Насчет тактик - да, к следующему релизу исправлю. Будет три-четыре фиксированных (агрессивная\оборонительная\против шустрых\против крепких) и несколько настраиваемых игроком.
Деньги - в принципе можно смотреть через окно 'C'. Но в торговлю их тоже добавлю. Как-то не подумал.
Монстры - да, по идее они должны рассматривать для шага три направления из восьми - на игрока, чуть левее и чуть правее. Но случай, когда они точно по горизонтали или по вертикали я не учел - потому выстраиваются в линию. Но это непоный фикс - тогда игрока будет бить максимум три монстра, остальные все равно будут стоять. А чтоб было по-нормальному надо делать pathfinding A*.
Re: Rising Force Roguelike
Про систему ранений, тоже думал как лучше это реализовать. HP|MP уже надоели, захотел изобрести велосипед, исподтишка поглядывая на дворфов. Получилось примерно следующее:
МАССИВНЫЕ РАНЕНИЯ:
В голову (интеллект, мудрость, воля (у кого как) в минус), галлюцинации, конфуз, неправильное отображение статов, удары об стену, часть монстров становятся невидимыми, ярлыки на бутыках рандомные и т.д. Удар в глаза - слепота. В рот - немые не могут торговаться. В уши - обманут.
В руки - тут понятно, штрафы к попаданию/модификаторам, уронил, раздавил бутылку, выстрелил в ногу и т.д..
В ноги - тут понятно, штрафы к скорости, или перемещение рандомно, упал.
В спину, вероятен паралич какой-то конечности.
В живот, проникающее, у меня есть флаг внутреннего кровотечения, без помощи хирурга - умрешь, в шею - аналогично.
В пах - лол, у меня повлияет.
Ну и плюсом, раны болят, могут загнить (если шариться по болотам), может все закончится ампутацией (магазин/протез/коляска).
Примерно так.
МАССИВНЫЕ РАНЕНИЯ:
В голову (интеллект, мудрость, воля (у кого как) в минус), галлюцинации, конфуз, неправильное отображение статов, удары об стену, часть монстров становятся невидимыми, ярлыки на бутыках рандомные и т.д. Удар в глаза - слепота. В рот - немые не могут торговаться. В уши - обманут.
В руки - тут понятно, штрафы к попаданию/модификаторам, уронил, раздавил бутылку, выстрелил в ногу и т.д..
В ноги - тут понятно, штрафы к скорости, или перемещение рандомно, упал.
В спину, вероятен паралич какой-то конечности.
В живот, проникающее, у меня есть флаг внутреннего кровотечения, без помощи хирурга - умрешь, в шею - аналогично.
В пах - лол, у меня повлияет.
Ну и плюсом, раны болят, могут загнить (если шариться по болотам), может все закончится ампутацией (магазин/протез/коляска).
Примерно так.
Re: Rising Force Roguelike
На тему загнивания ран сразу вспомнилось:
viewtopic.php?f=2&t=151&p=3058&hilit=%D ... 0%B0#p3058
В общем с одной стороны реализм это хорошо, а с другой - главное не переборщить.
viewtopic.php?f=2&t=151&p=3058&hilit=%D ... 0%B0#p3058
В общем с одной стороны реализм это хорошо, а с другой - главное не переборщить.
- Jolly Roger
- Сообщения: 2973
- Зарегистрирован: 27 ноя 2009, 09:10
- Откуда: Minsk, Belarus
Re: Rising Force Roguelike
Давно мы не слышали начальника транспортного цеха.kipar писал(а):Спасибо за отзыв)
Насчет тактик - да, к следующему релизу исправлю. Будет три-четыре фиксированных (агрессивная\оборонительная\против шустрых\против крепких) и несколько настраиваемых игроком.
Деньги - в принципе можно смотреть через окно 'C'. Но в торговлю их тоже добавлю. Как-то не подумал.
Монстры - да, по идее они должны рассматривать для шага три направления из восьми - на игрока, чуть левее и чуть правее. Но случай, когда они точно по горизонтали или по вертикали я не учел - потому выстраиваются в линию. Но это непоный фикс - тогда игрока будет бить максимум три монстра, остальные все равно будут стоять. А чтоб было по-нормальному надо делать pathfinding A*.
Где новый релиз, народ, в моём лице, ждёт!
![Evil or Very Mad :evil:](./images/smilies/icon_evil.gif)
Писать диздок спустя несколько лет разработки и множества изменений концепции - исконная русская девелоперская традиция.
- Харука-тян
- Мастер
- Сообщения: 544
- Зарегистрирован: 29 ноя 2006, 00:23
- Контактная информация:
Re: Rising Force Roguelike
Я тоже в лице Весёлого Роджера жду обновлений ![Mr. Green :mrgreen:](./images/smilies/icon_mrgreen.gif)
![Mr. Green :mrgreen:](./images/smilies/icon_mrgreen.gif)
Re: Rising Force Roguelike
Создал страничку http://rfrl.sf.net
Выложил туда небольшой фикс-релиз 0.0.7.2, с убранной под впечатлением от ДиаблыРЛ регенерацией и разными пофиксенными багами.
Молчал, потому что хотел сначала доделать релиз 0.0.8, но все еще работаю над реализацией умений и заклинаний - их должно быть больше 9000. А надо еще и хотя бы минимальный АИ сделать.
Выложил туда небольшой фикс-релиз 0.0.7.2, с убранной под впечатлением от ДиаблыРЛ регенерацией и разными пофиксенными багами.
Молчал, потому что хотел сначала доделать релиз 0.0.8, но все еще работаю над реализацией умений и заклинаний - их должно быть больше 9000. А надо еще и хотя бы минимальный АИ сделать.
Re: Rising Force Roguelike
Проект (пока?) жив!
Хотя я так до сих пор и не вернулся из командировки, но смог раздобыть последнюю версию исходников и потихоньку возобновляю работу.
- Оптимизировал загрузку\сохранение. Убедился, что сохранять в строку так, как я делал раньше - жутко неоптимально (даже стыдно вспомнить), поэтому теперь использую потоки (TStream).
- Теперь предметы и монстры кроме общего списка хранятся и в клетках карты. Прироста производительности правда не видно, но и падения производительности нет, так что все ок. Если монстров около 200, а карта 100*100 (из которых на экране 76*32), то поиск ближайшего врага или вывод монстров\предметов на экран быстрее делать перебором общего списка монстров\предметов, чем перебирая клетки на карте. Так что пока списки объектов в заданной клетке используются только при обработке наступания на клетку.
- Переделал АИ на потомки класса Стимул - хотя по функциональности он пока повторяет то что было. Ну разве что в линию монстры теперь не выстраиваются. В общем над ним еще надо работать. Просто поиграв в Crawl я понял, что может АИ не так уж и важен. Там даже A* я не уверен что реализован - монстры спокойно застревают в тупиках. Но никого это не смущает. Главное чтоб они логично вели себя когда игрок их видит.
- ШД (они же "территории войн" или мгновенные подземелья) - в процессе реализации. Правда проходить их придется соло, т.к. командной игры пока нет и вообще потребуется некоторый рефакторинг, чтобы переносить между картами не только игрока, но и других героев.
- Оружие все точно придется переделывать, чтоб предметы разного уровня отличались не только уроном. Но пока не очень представляю как это сделать. Видимо надо вернуть ограничение на уровень предметов и сделать "грейды" предметов, чтобы их специальные свойства не превращали все предметы в однородную массу.
- Начал переводить на OpenGL, но передумал. С одной стороны с OpenGL экран будет гарантированно быстро обновлятся независимо от компа и операционной системы, а с другой - на кпк его нет, так что для портирования на WinCE придется возвращать все назад. Так что оставлю пока как было.
- Навыки, заклинания... Придумал их много, а вот писать конкретные цифры и отлаживать баланс (при том что баланса монстров и баланса оружия все равно нет) лень.
- Исправил разные глюки, сделал таймаут у квестов. Урезал ХП игроку в 5 раз, а монстрам в 10, чтобы сделать бои быстрее.
В общем новой версии пока нет, но я работаю над этим.
Кстати начал читать "Совершенный код"
. В принципе там нужные вещи написаны. Что-то я и до этого знал, из других книжек, да и сам до чего-то дошел, что-то - новое узнал. Желания все переписать пока не появилось. Хотя я понимаю, что пишу в чем-то неправильно (перекрестные ссылки между классами, недостаточное сокрытие информации и т.д. и т.п.), но пока меня архитектура устраивает. Хотя неочевидные места уже есть, а со временем их будет становится только больше, но это же все-таки рогалик, а не система управления бизнес-процессами, так что надеюсь играбельная версия появится до того, как код перестанет быть управляемым.
К тому же автор игнорирует паскаль (только один раз упомянул про него, и то мимоходом) - уже повод относится к нему с недоверием
.
Хотя я так до сих пор и не вернулся из командировки, но смог раздобыть последнюю версию исходников и потихоньку возобновляю работу.
- Оптимизировал загрузку\сохранение. Убедился, что сохранять в строку так, как я делал раньше - жутко неоптимально (даже стыдно вспомнить), поэтому теперь использую потоки (TStream).
- Теперь предметы и монстры кроме общего списка хранятся и в клетках карты. Прироста производительности правда не видно, но и падения производительности нет, так что все ок. Если монстров около 200, а карта 100*100 (из которых на экране 76*32), то поиск ближайшего врага или вывод монстров\предметов на экран быстрее делать перебором общего списка монстров\предметов, чем перебирая клетки на карте. Так что пока списки объектов в заданной клетке используются только при обработке наступания на клетку.
- Переделал АИ на потомки класса Стимул - хотя по функциональности он пока повторяет то что было. Ну разве что в линию монстры теперь не выстраиваются. В общем над ним еще надо работать. Просто поиграв в Crawl я понял, что может АИ не так уж и важен. Там даже A* я не уверен что реализован - монстры спокойно застревают в тупиках. Но никого это не смущает. Главное чтоб они логично вели себя когда игрок их видит.
- ШД (они же "территории войн" или мгновенные подземелья) - в процессе реализации. Правда проходить их придется соло, т.к. командной игры пока нет и вообще потребуется некоторый рефакторинг, чтобы переносить между картами не только игрока, но и других героев.
- Оружие все точно придется переделывать, чтоб предметы разного уровня отличались не только уроном. Но пока не очень представляю как это сделать. Видимо надо вернуть ограничение на уровень предметов и сделать "грейды" предметов, чтобы их специальные свойства не превращали все предметы в однородную массу.
- Начал переводить на OpenGL, но передумал. С одной стороны с OpenGL экран будет гарантированно быстро обновлятся независимо от компа и операционной системы, а с другой - на кпк его нет, так что для портирования на WinCE придется возвращать все назад. Так что оставлю пока как было.
- Навыки, заклинания... Придумал их много, а вот писать конкретные цифры и отлаживать баланс (при том что баланса монстров и баланса оружия все равно нет) лень.
- Исправил разные глюки, сделал таймаут у квестов. Урезал ХП игроку в 5 раз, а монстрам в 10, чтобы сделать бои быстрее.
В общем новой версии пока нет, но я работаю над этим.
Кстати начал читать "Совершенный код"
![Smile :)](./images/smilies/icon_smile.gif)
К тому же автор игнорирует паскаль (только один раз упомянул про него, и то мимоходом) - уже повод относится к нему с недоверием
![Laughing :lol:](./images/smilies/icon_lol.gif)
Re: Rising Force Roguelike
Сделал, раз уж он самый лучший, алгоритм RPAS FOV (точнее перевел на паскаль C-шную реализацию Dominik Marczuk-а).
Допущенные при этом две опечатки вылавливал часа три - т.к. хотя идею метода я понял, в деталях реализации мне разбираться лень.
Скорость не поменялась(если только для игрока ФОВ считать, то любой алгоритм быстро считается), зато теперь и в лесу и в зданиях тени ложатся вполне красиво![Smile :)](./images/smilies/icon_smile.gif)
Допущенные при этом две опечатки вылавливал часа три - т.к. хотя идею метода я понял, в деталях реализации мне разбираться лень.
Скорость не поменялась(если только для игрока ФОВ считать, то любой алгоритм быстро считается), зато теперь и в лесу и в зданиях тени ложатся вполне красиво
![Smile :)](./images/smilies/icon_smile.gif)
Re: Rising Force Roguelike
Уффф, сделал больше половины умений и заклинаний ступени Новичок. Осталось еще 30. Причем чтобы не втыкать lua или другой скриптовый язык использую хитрую иерархию классов - зато всякие атаки с разворотом, атаки с отбрасыванием и шансы контратаки при успешном блокировании могу реализовывать в файлах данных, не трогая код.
Сделал базовую функциональность игры в пати - смог успешно собрать группу приключенцев и отправить на верную смерть от клыков раптора в ШД
. Осталось допилить собственно АИ, ну и сделать генерацию снаряжения для приключенцев.
Для реализации предыдущего пункта теперь обрабатываю ходы не на одной карте с игроков, а на нескольких. При десяти картах особых тормозов не было (один раз только задержка обработки дошла до 77мс - видимо все монстры разом решили поискать врага\друга). В принципе думаю надо ограничиться картами, на которых находится хоть кто-нибудь из пати игрока.
Раз есть обработка нескольких карт, то можно бы сделать и псевдо-бесшовность мира (т.е. выводить кроме текущей 3 ближайших карты, ну и обрабатывать границы между картами в АИ монстров), но пока генератор карт довольно кривой, так что смысла в бесшовности не вижу - есть большой шанс сгенерировать непроходимые местности.
Есть правда идея совместить бесшовность с непостоянством карт - т.е. прошел 200 клеток в одну сторону, возвращаешься - а там уже другая местность. Но подзреваю выглядеть будет довольно бредово. Хотя можно будет задействовать в чем-то типа Abyssa.
Сделал базовую функциональность игры в пати - смог успешно собрать группу приключенцев и отправить на верную смерть от клыков раптора в ШД
![Evil or Very Mad :evil:](./images/smilies/icon_evil.gif)
Для реализации предыдущего пункта теперь обрабатываю ходы не на одной карте с игроков, а на нескольких. При десяти картах особых тормозов не было (один раз только задержка обработки дошла до 77мс - видимо все монстры разом решили поискать врага\друга). В принципе думаю надо ограничиться картами, на которых находится хоть кто-нибудь из пати игрока.
Раз есть обработка нескольких карт, то можно бы сделать и псевдо-бесшовность мира (т.е. выводить кроме текущей 3 ближайших карты, ну и обрабатывать границы между картами в АИ монстров), но пока генератор карт довольно кривой, так что смысла в бесшовности не вижу - есть большой шанс сгенерировать непроходимые местности.
Есть правда идея совместить бесшовность с непостоянством карт - т.е. прошел 200 клеток в одну сторону, возвращаешься - а там уже другая местность. Но подзреваю выглядеть будет довольно бредово. Хотя можно будет задействовать в чем-то типа Abyssa.
- Jolly Roger
- Сообщения: 2973
- Зарегистрирован: 27 ноя 2009, 09:10
- Откуда: Minsk, Belarus
Re: Rising Force Roguelike
фор хум хау, но только не это!kipar писал(а): Есть правда идея совместить бесшовность с непостоянством карт - т.е. прошел 200 клеток в одну сторону, возвращаешься - а там уже другая местность. Но подзреваю выглядеть будет довольно бредово. Хотя можно будет задействовать в чем-то типа Abyssa.
Нет ничего более чудовищного, чем такая реализация.
Пропадает ощущение реальности, а уж сколько эксплоитов, ууу...
Писать диздок спустя несколько лет разработки и множества изменений концепции - исконная русская девелоперская традиция.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 45 гостей