Faded Moon

Форум для проектов, находящихся на стадии Альфа и Бета. В них ещё не реализована вся задуманная автором функциональность, а значит идёт активная разработка.

Модераторы: Sanja, Максим Кич

Аватара пользователя
Oreyn
Сообщения: 297
Зарегистрирован: 07 авг 2013, 14:59

Faded Moon

Сообщение Oreyn » 24 июн 2014, 13:11

Дисклеймер
Скрытый текст: ПОКАЗАТЬ
Посмотрел я Fail Faster от Extra Credits http://www.youtube.com/watch?v=rDjrOaoHz9s
что собственно и подтолкнуло показать текущие результаты трудов да зафейлить побыстрее.
Проект Faded Moon - кофебрейк рогалик. Сеттинг sci-fi.
Вместо фентезийных гоблинов и заклинаний пыщим космических мутантов и ставим импланты.
Из особенностей в планах накопительная система ресурсов, которые сохраняются после рана. (аля RogueLegacy)

Язык разработки с++, графическое апи SDL2, платформы Windows и Mac (sic!)

Маленькую тех-демо можно скачать отсюда: http://dropcanvas.com/l83oy

Движение - numpad
Q - выход
E - wizard mode (открывает карту и дает возможность проходить сквозь стены)

Изображение

В ней можно оценить:
- мои потуги в пиксель-арте (в том числе с анимацией),
- тайловый движок,
- генератор уровней (строит из шаблонов комнат, подгружаемых через json),
- система тайминга ходов,
- расчет LOS и рисовка "тумана войны"

Собственно рисовка "тумана войны" и вызывает сомнения больше всего. Просто квадратные черные тайлы в эдаком псевдо-3д выглядят будто лежат на полу, а не действительно закрывают обзор. Перерисовка фигурных рамок подняла загрузку процессора с 1% до 5%. Что в целом не критично, но смущает. Да и насколько смотрится в общем?

Еще вопрос, как смотрите на то, чтобы учитывалось направление героя (как в том же Unreal World). Хочется мне сделать направленный фонарик и монстров, что будут убегать от его света. Плюс в геймлейных возможностях, минус в более сложном и непривычном управлении.

Аватара пользователя
kipar
Сообщения: 2120
Зарегистрирован: 10 мар 2010, 13:16
Откуда: Москва

Re: Faded Moon

Сообщение kipar » 24 июн 2014, 18:47

Тени и прочее смотрятся отлично, анимация плавная, лабиринты нескучные.
Единственно - если снизу стена, то червяка не видно - нужно рисовать контур или что-то еще придумывать.
Направленный фонарик - только если действительно будут эти "геймплейные возможности".
В AliensRL был направленный фонарик, так игроки просто каждые несколько шагов крутили им во все стороны. В результате автор его убрал.

Аватара пользователя
Oreyn
Сообщения: 297
Зарегистрирован: 07 авг 2013, 14:59

Re: Faded Moon

Сообщение Oreyn » 25 июн 2014, 05:54

Cпасибо за отзыв.
Про перекрытие моба стенкой, есть такое. Нужно будет попробовать выводить саму перекрывающую стенку полупрозрачной.
Насчет фонарика, тут есть над чем подумать. Не знал что в ДумРЛ уже был такой эксперимент. Постоянно крутить им во все стороны действительно выгодная тактика, что не даст никому подкрасться и только добавит рутины в движениях.

Аватара пользователя
Jolly Roger
Сообщения: 2973
Зарегистрирован: 27 ноя 2009, 09:10
Откуда: Minsk, Belarus

Re: Faded Moon

Сообщение Jolly Roger » 25 июн 2014, 13:48

Ну технически все хорошо. :wink:
разве только игра дёргается, когда сдвигается центр.
Может стоит сделать, чтобы экран сдвигался не сразу, а была секвенция в 3-4 кадра?
По поводу направления взгляда, соглашусь с Кипаром, если на этом не будет завязан "очень важная геймплейная фича", то не нужно.
Ресурсы сожрёт, а на выходе.

PS
очень надеюсь, автор не повторит подвиг Алексбарда. :(
Писать диздок спустя несколько лет разработки и множества изменений концепции - исконная русская девелоперская традиция.

Аватара пользователя
Oreyn
Сообщения: 297
Зарегистрирован: 07 авг 2013, 14:59

Re: Faded Moon

Сообщение Oreyn » 26 июн 2014, 05:21

Плавный сдвиг карты, думал об этом когда смотрел твой проект и читал отзывы, но руки не дошли, а глаза привыкли к дерганью.
Думаю реализую, это не сложно. Кстати ведь именно плейтест Fallen подтолкнул меня вытащить свой пыльный проект и заняться им дальше :)

Не знаком с местным фолькльором, что он там такого сделал? Ударился в техническую часть визуализации вместо геймплейной?
Я чувствовал что вся эта рисовка рамочек тени больше украшательство чем необходимость. Но тут вся работа над хобби проектом строится на вдохновении в стиле "Мне сейчас интересно заняться реализацией вот этого!".

Аватара пользователя
Jolly Roger
Сообщения: 2973
Зарегистрирован: 27 ноя 2009, 09:10
Откуда: Minsk, Belarus

Re: Faded Moon

Сообщение Jolly Roger » 26 июн 2014, 05:39

Oreyn писал(а):Плавный сдвиг карты, думал об этом когда смотрел твой проект и читал отзывы, но руки не дошли, а глаза привыкли к дерганью.

Думаю реализую, это не сложно. Кстати ведь именно плейтест Fallen подтолкнул меня вытащить свой пыльный проект и заняться им дальше :)
Это здорово! :mrgreen:
А самое главное, даёт обзывы (EDIT:шикарная опечатка :mrgreen: ) на то самое, замыленное, а его очень важно исправлять.
В одной книжке прочел: автор пришел посмотреть проект одной игровой студии и никак не открыть инвентарь.
Оказалось, что инвентарь открывался тройным(!) кликом по персонажу! Но у авторов так глаз замылился, что они на это внимание не обращали!

Кстати, ещё вот заметил - острые края фова. Реально очень бьёт по глазам, особенно вместе с дёрганьем.
По краям фова нужен градиент, тогда он будет не рубить, а перетекать и мои глаза скажут спасибо!

Oreyn писал(а): Не знаком с местным фолькльором, что он там такого сделал? Ударился в техническую часть визуализации вместо геймплейной?
Я чувствовал что вся эта рисовка рамочек тени больше украшательство чем необходимость. Но тут вся работа над хобби проектом строится на вдохновении в стиле "Мне сейчас интересно заняться реализацией вот этого!".
Эх. Даже не могу дать ссылку на его сайт, его уже давно нет.
Но вот нашел ссылку на видео:
http://www.indiedb.com/games/ignite-rog ... n#imagebox
Технически - это был адски многообещающий проект, фактически Lost Dreams. :evil:
Прорубаться к 1.0 рогуелайк разработчику очень не просто. Думаю, как человек наступивший наверное на все грабли, какие есть в рог разработке, мне бы следовалы бы написать статейку. Вдруг она поможет кому #-o :wink:

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

Аватара пользователя
Феникc
Сообщения: 679
Зарегистрирован: 27 ноя 2010, 15:01
Откуда: Челябинск

Re: Faded Moon

Сообщение Феникc » 26 июн 2014, 06:19

Вот его сайт в архиве: http://web.archive.org/web/201310191250 ... rd.org.ua/
А вот группа ВК: https://vk.com/likearogue
Зайдя на его страничку, можно выяснить что Алекс недавно женился, так что, кажется, в наши стройные ряды он уже не вернётся :) Кстати, он с печально известного Донбасса, так что сейчас, если он всё ещё там, ему приходится несладко.

Ну а вот его профиль на гитхабе, в котором можно найти исходники его игр: https://github.com/dnbard?tab=repositories
Всё вышесказанное - ИМХО, если не указано обратное.

Аватара пользователя
Jolly Roger
Сообщения: 2973
Зарегистрирован: 27 ноя 2009, 09:10
Откуда: Minsk, Belarus

Re: Faded Moon

Сообщение Jolly Roger » 26 июн 2014, 06:48

Как показывает опыт Апромикса, ни женитьба, ни дети не мешают любимому делу. :wink:
Писать диздок спустя несколько лет разработки и множества изменений концепции - исконная русская девелоперская традиция.

Аватара пользователя
Oreyn
Сообщения: 297
Зарегистрирован: 07 авг 2013, 14:59

Re: Faded Moon

Сообщение Oreyn » 02 июл 2014, 09:53

Мини-апдейт получился несколько позже чем я планировал.

Нововведение:
- На уровне появилась фурнитура. Решетки в полу, шкафчики и консоли. Делать с ними пока ничего. Они привязаны к шаблонам комнат, реализация системы случайного размещения в процессе обдумывания. (Казалось бы добавить всего один новый тип сущности, но будь добр пройди по всей цепочке сериализация - шаблон - фабрика - менеджер)

Исправления и доработки:
- Завезли плавное движение карты
- Фикс темной клетки в ЛОСе на старте
- Полупрозрачность мобов если те перекрыты стенкой

- Острые края ФОВа не трогал. Если отменить те что есть, будут такие-же острые, только квадратной "елочкой". Пока заниматься этим не хочется :) Вернусь к вопросу позже.

Ссылка на демку:
http://dropcanvas.com/9z05f

Изображение

Пару мыслей вслух по будущим аспектам игры:

В целом игровой процесс будет состоять из разведки комнат, получению к ним доступа и последующей зачистке.

Для разведки заглядываем в окна (если есть), получаем итемы/эффекты что открывают карту (может еще используем навыки).
Доступ получаем просто открывая дверь или тратя ресурс (взламывая/взрывая/находя ключ) Про ключи нужно еще подумать, а нужны ли вообще?
Зачистка - собственно боевка с монстрами.

Идея для еще одного способа доступа в закрытую комнату:

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

В итоге должны получить еще один вариант решение проблемы (получить доступ в комнату) и риск (траты ресурсов) связанный с этим.

Аватара пользователя
Oreyn
Сообщения: 297
Зарегистрирован: 07 авг 2013, 14:59

Re: Faded Moon

Сообщение Oreyn » 15 июл 2014, 06:36

Понемногу двигаюсь дальше.
Сделал интерфейс для ХП и вывод сообщений в лог с возможностью цветового кодирования участков текста.
Собираю глиф кеш и меняю цвет уже в процессе копирования на рабочую поверхность.
Работает с юникодом, выводит кирилицу. Технически можно и поддержку нескольких языков сделать. Больше из академического интереса чем необходимости как таковой :)

Изображение

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

Научил мобов волной искать путь и врагов. Вынес их шаблоны в json. Теперь они радосно ломятся в рукопашную, выгребают и умирают, корректно удаляясь из памяти. Слава shared_ptr.

Объект, которых хранит информацию о игровой карте и объектах на нем все обрастает сущностями и грозит превратиться в god object.
Что с ним делать - черт его знает.
На очереди предметы и инвентарь.

Аватара пользователя
Oreyn
Сообщения: 297
Зарегистрирован: 07 авг 2013, 14:59

Re: Faded Moon

Сообщение Oreyn » 23 июл 2014, 09:35

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

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

Изображение

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

Изображение

Заодно нарисовал дистанционно атакующего моба и поправил логику АИ для дистанционных атак.

На очереди "замки" на дверях, сундуки с сокровищами и генерация лута.

Аватара пользователя
Oreyn
Сообщения: 297
Зарегистрирован: 07 авг 2013, 14:59

Re: Faded Moon

Сообщение Oreyn » 31 июл 2014, 17:56

Хороший кусок работы по разноплановым направлениям

- реализовал мобам тег CAN_OPEN_DOORS, который берется в расчет при поиске пути. Теперь мобы, которые умеют открывать двери, будут их учитывать и открывать в погоне за игроком
- добавил интерфейс «помощника по кнопкам» который показывает игроку хоткеи для контекстно актуальных действий (закрыть дверь, когда стоишь в упор к ней, в меню дистанционной атаки и т.д.)
- проапгрейдил систему предметов, теперь они собираются в пачку (местами отладка попила крови)
- огнестрельное оружие теперь требует патроны
- добавлен экран смерти и возможность начать игру заново из меню
- собственно появилось стартовое меню игры
- двери вынесены из тайлов в фурнитуру, их теперь можно открывать карточкой
- vim стайл кнопки дублируют управление с нумпада, как и стрелки клавиатуры
- добавлен спавн мобов и лута
- режим fullscreen в опциях!

В ближайшее TODO список в два раза больший наметился.

Во вложении небольшой плейтест.

Изображение

Управление - нумпад, hjkl и стрелки
g - поднять предмет
e - инвентарь и экипировка
f - дистанционная атака
q - выход
w - wizard mode
Вложения
FadedMoon v0.03.rar
(3.58 МБ) 211 скачиваний

Аватара пользователя
Oreyn
Сообщения: 297
Зарегистрирован: 07 авг 2013, 14:59

Re: Faded Moon

Сообщение Oreyn » 08 авг 2014, 08:35

Двигаемся дальше
- всякая мелкая косметика, упорядочил размеры интерфейсных окон, привязал их размеру окон
- навел порядок в интерфейсных режимах игрока, теперь их можно ставить в стек (выбрали итем из инвентаря -> выбрали направление -> отменили и вернулись в инвентарь
- до кучи сделал режим "действие, которое длится несколько ходов" с прогресс баром. По хорошему нужна еще и функция, которая будет определять появление опасности и предлагать прервать действие. Пока что ленивый вариант, игрок сам нажимает скип на каждый ход.
- таки сделал соединения через подземные вентиляции между комнатами, о которых говорил ранее в этой теме. Что даст некоторый простор для "лестничной" тактики. Нужно научить мобов преследовать игрока и на следующем уровне.
Скрытый текст: ПОКАЗАТЬ
Изображение

Изображение
На нетбуке страшно жрет проц, вылетая в 20-30 %. На десктопе 1 - 2 % от силы.
Подозреваю дело в работе SDL с выводом на альфа канал. Попробую сделать опцию по отключению всех полупрозрачностей для теста.

Аватара пользователя
BreakMT
WANDER Team
Сообщения: 933
Зарегистрирован: 27 ноя 2006, 12:16

Re: Faded Moon

Сообщение BreakMT » 08 авг 2014, 12:45

Первое впечатление очень положительное!

Аватара пользователя
Oreyn
Сообщения: 297
Зарегистрирован: 07 авг 2013, 14:59

Re: Faded Moon

Сообщение Oreyn » 11 сен 2014, 16:40

После перерыва пилю проект дальше:

- сделал адаптивную подержку вывода ФПС. Игра теперь старается держать свои 20 фпс. И вывел в опции возможность включить счетчик на экран.
- добавил потребность в питании для фурнитуры, обесточенные двери и консоли перестают работать. С общими возможностями управления системой энергоснабжения нужно еще подумать.
- вынес всю текстовую информацию во внешние строки в json файл. Что уж если делать то лучше пораньше. Что теоретически позволяет локализировать проект не дальше кириллицы, без падежей и склонений. Так как трахаться с поддержкой полноценного спектра юникода нет ни желания, ни необходимости. Как впрочем по чесноку и локализации как таковой.
- колдовал над универсальной интерфейсной частью для диалогов и меню взаимодействия с консолями/вендорами. Хочется универсализации с выносом в json, а не хардкода. Что понемногу собирается перерости в свой мини скриптинг язык. Эдакий движок текстовых квестов. Вместе с этим подмарафетил, систематизировал и сделал единообразными сами меню.
- плюс подчистил несколько грязных мест в коде, да нарисовал пару новых спрайтов
Скрытый текст: ПОКАЗАТЬ
Изображение

Ответить

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

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