noir

Закрытые или заброшенные проекты, не состоявшие в Клубе, но имевшие ветку на форуме.

Модератор: Jolly Roger

Аватара пользователя
Максим Кич
Администратор
Сообщения: 1642
Зарегистрирован: 03 дек 2006, 20:17
Откуда: Витебск, Беларусь
Контактная информация:

Сообщение Максим Кич » 22 ноя 2007, 22:01

Maelstrom писал(а):
работа с клавиатурой рассчитана исключительно под аркады.
В смысле?
В том смысле, что механизм отлова событий там отсутствует напрочь. А если учесть, что игровое окно создаётся через функции OMEGA (иначе движок его не поймёт), то воспользоваться стандартными дельфовскими событиями возможным не представляется.

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

В дельфе есть механизм привязки процедур к виндозовским (не дельфовским) событиям, но он у меня, почему-то, не работает.
Dump the screen? [y/n]

Аватара пользователя
Sanja
Администратор
Сообщения: 791
Зарегистрирован: 24 ноя 2006, 12:25
Откуда: Новосибирск
Контактная информация:

Сообщение Sanja » 23 ноя 2007, 16:05

О, бэтмен вернулся :) Рад видеть!

Чисто из любопытства. Название проекта от одноимённого аниме? Или как жанр?

Аватара пользователя
Максим Кич
Администратор
Сообщения: 1642
Зарегистрирован: 03 дек 2006, 20:17
Откуда: Витебск, Беларусь
Контактная информация:

Сообщение Максим Кич » 23 ноя 2007, 21:41

Sanja писал(а):О, бэтмен вернулся :) Рад видеть!
А как я рад — ты не представляешь!
Sanja писал(а): Чисто из любопытства. Название проекта от одноимённого аниме? Или как жанр?
Скорее как жанр. Но не совсем — гангстерских разборок не будет :) Зато «чернухи» — хоть отбавляй. А аниме одноимёное я даже и не смотрел. Слышал, что есть такое, но не более того.
Dump the screen? [y/n]

Аватара пользователя
Максим Кич
Администратор
Сообщения: 1642
Зарегистрирован: 03 дек 2006, 20:17
Откуда: Витебск, Беларусь
Контактная информация:

Сообщение Максим Кич » 25 ноя 2007, 15:14

Расковырялся с обработкой системных сообщений: в омеговском движке есть функция OE_RegProcedure, которая может навешивать пользовательские процедуры на системные события. И помимо событий, описанных в двигуне (инициализация, срабатывание таймера и т.д.) есть возможность встроить функцию аналогичную WndProc. Что и было сделано. Теперь выписываю систему событий для элементов интерфейса, а заодно и сами элементы: формы, кнопки, менюшки и проч.
Dump the screen? [y/n]

Аватара пользователя
Anfeir
Сообщения: 876
Зарегистрирован: 14 дек 2007, 09:29
Контактная информация:

Re: noir

Сообщение Anfeir » 14 дек 2007, 10:46

Максим Кич писал(а):Прорабатываемые черты:

1. Система скользящего тайминга вместо пошаговой.
Вполне реально, сам так делаю :) "Скользящим таймингом" правда я не называл, у меня это просто временная ось. Пару проблем пришлось-таки зарешать, к примеру:
а) идем на клетку влево, там свободно, но тут - опа - другой монстр, который быстрее или начал движение раньше, оказался в этой клетке раньше вас. Это нормально с точки зрения реализма, но некомфортно.
б) стреляем в монстра из лука - он далеко, и пока стрела летит он взял да и убежал на другое поле. Конечно, может это и нормально, но как тогда целиться.
Максим Кич писал(а):Прорабатываемые черты:
3. Генерация мира на основе псевдослучайных последовательностей, что позволяет серьёзно уменьшить размер файлов сохранения.
Тоже использую порой, правда сейв файлы заботят не так уж сильно - в принципе, их достаточно заархивировать на лету.

Аватара пользователя
Максим Кич
Администратор
Сообщения: 1642
Зарегистрирован: 03 дек 2006, 20:17
Откуда: Витебск, Беларусь
Контактная информация:

Re: noir

Сообщение Максим Кич » 17 дек 2007, 13:11

Anfeir писал(а): Вполне реально, сам так делаю :) "Скользящим таймингом" правда я не называл, у меня это просто временная ось.
«С таким настроением ты слона не продашь!» :P Хотя, понятное дело, нет никакой разницы как называть, если нет необходимости продавать это.
Anfeir писал(а): Пару проблем пришлось-таки зарешать, к примеру:
а) идем на клетку влево, там свободно, но тут - опа - другой монстр, который быстрее или начал движение раньше, оказался в этой клетке раньше вас. Это нормально с точки зрения реализма, но некомфортно.
Надо будет смотреть. Вообще, просто так монстры соседние клетки не занимают — очевидно он туда пришёл, чтобы дать персонажу промеж ушей. То есть, нормальная боевая ситуация, которую надо просчитывать. Зная ТТХ монстра (хотя бы приблизительно), атакуем и монстр напарывается на наш клинок.

С фамильярами — хуже, но фамильяров можно будет разруливать автоматически. Шустрый фамильяр вполне способен вовремя убраться с дороги, а большой и неповоротливый для того и придуман, чтобы создавать дискомфорт в тесных коридорах.
Anfeir писал(а): б) стреляем в монстра из лука - он далеко, и пока стрела летит он взял да и убежал на другое поле. Конечно, может это и нормально, но как тогда целиться.
С предупреждением. Вообще, засветить в кого-нибудь стрелой — не такая простая задача, как принято считать. Она по сравнению с пулей весьма тяжёлая и летит гораздо медленнее.
Anfeir писал(а):
Максим Кич писал(а):Прорабатываемые черты:
3. Генерация мира на основе псевдослучайных последовательностей, что позволяет серьёзно уменьшить размер файлов сохранения.
Тоже использую порой, правда сейв файлы заботят не так уж сильно - в принципе, их достаточно заархивировать на лету.
Я уже начинаю подумывать о некоторых изменениях в концепте. Не сказать, чтобы в сторону упрощения. Просто я чуть больше понимаю, чего я хочу от игры и это вносит свои коррективы.
Dump the screen? [y/n]

Аватара пользователя
Maelstrom
Мастер
Сообщения: 2062
Зарегистрирован: 26 ноя 2006, 14:19
Откуда: г. Усть-Кирдык
Контактная информация:

Сообщение Maelstrom » 17 дек 2007, 13:43

С предупреждением.
Не с предупреждением, а по врагу. Если он отошёл, всё равно по нему. Это рогалик, а не червячки - попал/не попал пусть решают параметры "ловкость", "зрение" и "содержания алкоголи в крови".
Айв кнгенгах Йог-Сотот

Аватара пользователя
Anfeir
Сообщения: 876
Зарегистрирован: 14 дек 2007, 09:29
Контактная информация:

Сообщение Anfeir » 18 дек 2007, 06:46

Maelstrom писал(а):
С предупреждением.
Не с предупреждением, а по врагу. Если он отошёл, всё равно по нему. Это рогалик, а не червячки - попал/не попал пусть решают параметры "ловкость", "зрение" и "содержания алкоголи в крови".
Этакая самонаводящаяся стрела... Ведь отойти враг может уже после того, как стрела пролетела полпути.
Я у себя сделал, чтобы стрела была самонаводящейся в пределах 1 поля, - пока что так. часть стрел все равно летит мимо издалека, если жертва рандомно бегает взад вперед, но кпд больше.
Кстати на пути стрелы может подвернуться и мирный житель... вроде как

Аватара пользователя
Maelstrom
Мастер
Сообщения: 2062
Зарегистрирован: 26 ноя 2006, 14:19
Откуда: г. Усть-Кирдык
Контактная информация:

Сообщение Maelstrom » 18 дек 2007, 14:43

Этакая самонаводящаяся стрела... Ведь отойти враг может уже после того, как стрела пролетела полпути.
Излишки производства.
Так как, если игрок щёлкнул на монстра, значит, он хочет стрелять именно на монстра. Прошёл чек на грамотное прицеливание - значит, считается, что ГГ стреляет с упреждением. Если прога не может однозначно предсказать следующий ход монстра - значит, придётся делать самонаводку.

А вообще, неплохо бы научить прогу предсказывать ходы врагов. Врагам можно приписать некоторую инерционность - допустим, бежит орк куда, а сбоку вдруг груда монет появилась - орк всё равно будет на следующий ход бежать, хотя АИшные приоритеты говорят о том, что лучше взять золото.
Тогда и самонаводку делать не понадобится. И могут получиться интересные ситуации, типа, ГГ стрельнул с упреждением, а монстра кто-то парализовали :)
Айв кнгенгах Йог-Сотот

Аватара пользователя
Anfeir
Сообщения: 876
Зарегистрирован: 14 дек 2007, 09:29
Контактная информация:

Сообщение Anfeir » 18 дек 2007, 16:16

Ну в общем, "проблемы" подобного рода вылазят много где. И обычно на почве этих проблем можно сделать всякие интересные фишки.
К примеру
- мы открываем дверь, которую в этот же момент пытается запереть другой монстр.
- мы копаемся в инвентаре(надеваем, снимаем) - тоже занимает время - , а в это время нас бьют сильно-больно (хотя это легко зарешаемо)
- атакуем монстра, а он такой сякой, быстро бегает как заводной, - на момент окончания удара он уже не на соседнем поле.

Аватара пользователя
Максим Кич
Администратор
Сообщения: 1642
Зарегистрирован: 03 дек 2006, 20:17
Откуда: Витебск, Беларусь
Контактная информация:

Сообщение Максим Кич » 19 дек 2007, 12:04

Anfeir писал(а):Ну в общем, "проблемы" подобного рода вылазят много где. И обычно на почве этих проблем можно сделать всякие интересные фишки.
К примеру
- мы открываем дверь, которую в этот же момент пытается запереть другой монстр.
Поэтому и есть такая штука как «список разрешений». Когда мы пробуем открыть дверь, мы вешаем на клетку с дверью маячок «открыть» и некоторый высчитанный из наших характеристик коэффициент маячка, который показывает, как эффективно мы умеем открывать двери. С другой стороны, хобгоблин, упершись руками и ногами в дверной косяк держит зубами дверную ручку. Он вешает на клетку с дверью маячок «закрыть». И коэффициент умения закрывать двери. На стадии разрешения сравниваем коэффициенты.
Anfeir писал(а): - мы копаемся в инвентаре(надеваем, снимаем) - тоже занимает время - , а в это время нас бьют сильно-больно (хотя это легко зарешаемо)
С копанием в инвентаре (и не только), кстати, можно ввести очень интересную фишку: если действие не доходит до стадии разрешения, то есть шанс аварийного разрешения действия. То есть, с вероятностью 1-P1-P2 действие отменяется, с вероятностью P1 выполняется недостаточно корректно (например, мы надеваем-таки кольчугу, но слегка повреждаем её), с вероятностью P2 выполняется парадоксальное действие (хотели как лучше, вышло как всегда). Т.е., например, кольчуга падает на пол, и мы встречаем противника в одной тельняшке.
Anfeir писал(а): - атакуем монстра, а он такой сякой, быстро бегает как заводной, - на момент окончания удара он уже не на соседнем поле.
Такая ситуация может сложиться и в пошаговом режиме, когда за ход враг успевает ударить и отступить. Вообще, удар — достаточно быстрое действие, чтобы встретить врага на подлёте. А если мы размахиваем ростовым противоорчьим огрелом, то эта штука будет бить сразу по нескольким клеткам в течении пары тиков. Но зато замахиваться ей будет зело неудобно. Но играть такими откровенными шлакоблокерами — это совсем уже на любителя. Аналогично, если мы играем хитрожопым даггерщиком, который из брони признаёт только исподнее, зато носится как угорелый, у нас будут те же самые преимущества перед неповоротливыми громилами.

Что касается стрел: если стрела будет в полёте заворачивать — это будет выглядеть достаточно странно. Так что лететь она будет ровнёхонько туда, куда вы её выпустили (что не обязательно совпадает с тем местом, в которое вы прицелились, в силу природного косоглазия низкоуровневых персов). Сложности в попадании из метательного оружия будут компенсироваться повышенным уроном.
Dump the screen? [y/n]

Аватара пользователя
Максим Кич
Администратор
Сообщения: 1642
Зарегистрирован: 03 дек 2006, 20:17
Откуда: Витебск, Беларусь
Контактная информация:

Сообщение Максим Кич » 05 янв 2008, 14:33

Потихоньку продвигаюсь в разработке классов интерфейса. Сейчас осталось реализовать минимум настроек, минимум поддержки языков и можно будет приступать к самому интересному.
Dump the screen? [y/n]

Аватара пользователя
Максим Кич
Администратор
Сообщения: 1642
Зарегистрирован: 03 дек 2006, 20:17
Откуда: Витебск, Беларусь
Контактная информация:

Сообщение Максим Кич » 18 мар 2008, 16:52

«Трудно готовиться одновременно во флот и в филармонию», как писал Жак Эффель. Однако, у текучки удаётся урвать пару тройку минут для работы над проектом.

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

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

Прикидываю, удастся ли скоммуниздить из Кристалиса оригинальный способ подсветки символов.
Dump the screen? [y/n]

Аватара пользователя
Максим Кич
Администратор
Сообщения: 1642
Зарегистрирован: 03 дек 2006, 20:17
Откуда: Витебск, Беларусь
Контактная информация:

Сообщение Максим Кич » 03 апр 2008, 20:16

Итак, медленно но верно продолжаю двигаться. Классы интерфейса привёл к варианту, которые меня устраивает.

В качестве некоторой затравки выкладываю пару набросков к иллюстрациям мануала.
Вложения
paternicide.jpg
Paternicide Lilies — одна из карт Чёрной Колоды (Black Deck).
paternicide.jpg (35.58 КБ) 9117 просмотров
trident.jpg
Хирургический треног — практически безвредная тварь, в одиночку неспособна причинить никакого ущерба, но может помочь другим монстрам найти скрывающегося в темноте игрока. Кроме того, наличие большого числа хирургических треногов может указывать на близо
trident.jpg (35.75 КБ) 9118 просмотров
Dump the screen? [y/n]

Аватара пользователя
Maelstrom
Мастер
Сообщения: 2062
Зарегистрирован: 26 ноя 2006, 14:19
Откуда: г. Усть-Кирдык
Контактная информация:

Сообщение Maelstrom » 04 апр 2008, 04:03

Настораживает...
Айв кнгенгах Йог-Сотот

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 55 гостей