ТЛДР: добавил итемы, крафт и хп бары. Всё ещё не знаю как назвать игру :( "Маг бьёт монстров на поляне"? помогите :(
Ну а теперь поподробнее: Остановились в прошлый раз в том, что в принципе рассказали игре, что предметы бывают. Описывать сотни предметов, да ещё и так, чтобы с бесконечным прогрессом они оставались балансными - сизифов труд. Да здравствует рандомная генерация. Каждое свойство предмета назовём аугментом - увеличение/приращение с английского. По большому счёту не важно как называть, лишь бы понимать про что речь. Ну и надо придумать как с этими аугментами работать. В дьябло/пое и всех похожих играх есть начало и явный конец, так что у их аугментов геймдизайнеры составили таблички с разными тирами [tier - уровень/ярус], т.е. в начале тебе может выпать предмет только с tier 1 аугментами, например +1-5 урона холодом, а в конце уже открыты все тиры и может упасть шмотка с tier 10 аугментом, например +100-150 урона холодом. Нас такое не устраивает: явного конца игры нет, да и задолбаешься эти таблички составлять - надо геймдизайнера нанимать, а денег нет. Значит надо сделать так, чтобы какие бы цифры не были на текущем уровне, упавший предмет всегда находится в заданных рамках для текущего уровня. Немного подумав пришёл к выводу: Должны быть "статичные" параметры, которые не меняются по ходу игры, в нашем случае хп персонажа всегда 100, скорость чтения заклинаний всегда 100%. На них соответственно подвяжутся аугменты Макс хп, реген хп и скорость чтения заклинаний
И второй вариант динамические параметры: урон заклинаний растёт при прокачке, кол-во денег, которое падает с монстров увеличивается с повышением сложности.
*Вжик* длиною 3 вечера и теперь генерируются подобные предметы:
От чего зависит цвет? У предмета редкость - кол-во аугментов. А у аугмента те же самые тиры, но систем такая: если T1, то просто делаем случайное значение из заранее-таки написанной ручками таблички, где есть min-max. Если T2, то к этому случайному значению прибавляем один максимум, если T3, то уже 3 максимума. Таким образом легендарный аугмент [оранжевый] сильно лучше редкого [фиолетовый].
Кнопки крафта - неудачное решение
Дальше нужен крафт, ведь плохие и старые итемы надо куда-то девать. Изначальная мысль была просто собирать все аугменты в кучу и генерировать из них новый предмет. Получилась совсем непредсказуемая штука, учитывая, что есть куча рангов предметов, крафтя с зелёных предметов невозможно предсказать и как-то повлиять что окажется в итоговом легендарном предмете. Второй вариант был *ТОЛЬКО УЛУЧШЕНИЕ* - т.е. из кучи аугментов выбирались лучшие. В этом случае имба гарантирована каждый раз и крафт перестаёт быть интересным. К сожалению видео не сохранились, придётся верить на слово.
Третий и текущий вариант: Из предмета донора некоторые аугменты могут переехать в получателя. А могут и не переехать. В плане интерфейса сначала думал обойтись без лишнего окошка, тыкая на кнопки, но посмотрите как это выглядело: *ничего не понятно*
Так что пришлось-таки сверстать дополнительное окошко и потратить кучу времени, чтобы писать там возможные результаты крафта и итоговые результаты крафта. Ниже крафт сессия на пару минут:
Теперь вроде стало лучше, но тоже не идеально.
Потом решил отдохнуть от сложных тем и сделал циферки нанесённого урона и полоски хп.
ps: надо бы писать девлог почаще, а то стена текста слишком большая.
Дальше надо делать баланс и контент (больше скилов, монстров, итемов, аугментов). А ещё локализацию. И, кстати, надо сделать клики полезнее. И оффлайн доход. Я обязательно выживу.
Всем привет! Меня зовут Алексей, и я безумно долгое время бредил о создании своей индюшатины.
ИТАК! Представляю Вам - Проект: "Тайга". Вдохновлённая Firewatch, мы переживём судьбу егеря,который расследует изчезновение людей в тайге. К релизу готовится в 2025 году на на PC, Steam Deck и VR.
После автокатастрофы, в которой погибает семья, Александр принимает предложение от университета поехать изучать дикую природу в таёжный заповедник. По приезду он знакомится с его наставницей - Анной, которая будет сопровождать его на протяжении всей игры. По сюжету, таёжный заповедник разделён на 4 обширные зоны, и за каждой из них закреплён свой егерь. Егеря не могут покидать зоны, закреплённые за ними. Но в один из дней Александру приходит уведомление о том, что один из егерей долгое время не выходит на связь, и что, вопреки запрету на пересечение границы между зонами ответственности егерей, ему нужно проверить и выяснить, что там случилось. Спустя время Анна рассказывает нам, что ей поступила информация о том, что пойманные браконьеры рассказали, как ночью им пришлось в спешке покинуть укрытие, что их кто-то застал врасплох и они винят в этом медведей. По их словам, их вытащили из палаток, разгромили лагерь, двое спаслись, одного ранело, второй скрылся. Впоследствии выясняется, что в том районе пропало ещё два человека. Нам предстоит столкнуться с лесными пожарами, браконьерами и опасными дикими животными. Не без помощи Анны, которая будет на связи по рации, наша цель выяснить - куда пропадают люди в заповеднике.
Основные особенности геймплея:
- Игра разрабатывается на Unreal Engine 5 (в данный момент перешёл на версию 5.4)
- Сценарий написанный лично мной на 356 страницах.
- VR версия так же в разработке, но выйдет позже запланированной даты и будет доступна бесплатно всем владельцем обычной версии игры. Тестируется на Oculus Quest 3.
- Прохождение основного сюжета занимает 4-4,5 часа. С побочными квестами около 6-6,5 часов.
- Исследование 6-ти открытых локаций.
- Рация и портативный коммуникатор - два самых главных предмета инвентаря у Александра. Общение с Анной и остальными егерями заповедной зоны происходит только с помощью рации, ориентироваться Вам помогает портативный коммуникатор с картой местности на борту.
- Браконьеры играют большую роль в сюжете.
- Каждый игровой день над заповедником пролетает вертолёт, и сообщает нам про очаги возникновения пожаров, где были замчены браконьеры и иную подозрительную активность.Другие егеря так же могут сообщить Вам, что следы браконьеров идут с их территории на вашу, и теперь браконьеры - ваша проблема.
- Вы не будете пересекаться с другими егерям, все Ваше общение с ними сводится к разговору по рации.
- Егеря не могут покидать закреплённую за ними зону заповедника, тем самым, если браконьеры ушли с зоны другого егеря на вашу - то это теперь ваша задача их выследить.
- Динамическая смена погоды, смена времени суток.
- Гаджеты играют очень большую роль в геймплее. Если, к примеру, Вы забудете зарядить рацию, или портативный коммуникатор, то они вполне могут разрядиться, и тогда Вы останетесь без связи и карты. В данном случае на ощупь Вам нужно будет вернуться в свой домик и зарядить все гаджеты.
- Сообщения на рацию приходят спонтанно, если вы ходили с разряженной рацией, и потом её зарядили, и пропустили сообщение с борта вертолёта об обстановке на вашей территории, то в следующий раз Вам будут постоянно напоминать о том, чтобы Вы не забывали зарядать гаджеты.
Понял, чего мне не хватает в моей игре. В каждой миссии хочется завалить одного ОЧЕНЬ крутого босса. Прикольно, что в мини-играх такой босс есть, а вот в основной - нет. Задумал сделать его из символов. Существо из алфавитно-цифрового ASCII мира будет врываться в пиксельную игру.
В попытках найти образ для таких боссов пришел к такой идее: боссы - грубо оцифрованные персонажи классического изобразительного искусства. Вот, например, как вам такой "Крик" Мунка? Интересно выглядит?
Если интересно, что получится, то можете подписаться. Здесь или на страничке игры в Стиме. Замысел непростой - самому интересно, что получится.
В этом посте я хотел бы рассказать как пришел к мысли создания собственной игры, да и собственно о самом процессе создания тоже. В отличии от девблогов проект уже существует и релизнут, поэтому все написанное тут будет историей пережитого опыта.
Начну с конца февраля 22-го года, который поменял многое. На тот момент я был топовым иллюстратором/аниматором на фриланс бирже upwork, со всевозможными модными бейджиками на аккаунте, тучей отличных отзывов, очень приличной почасовой ставкой, а также очередью на недели вперед из клиентов. Жил себе и в ус не дул, как говорится. Мысли о необходимости что-то менять пришла после закрытия сервиса для нашего брата. Сам момент блокировки был не столь болезненным, так как у меня оставался ряд постоянных клиентов, готовых продолжать работать со мной
Шло время, а пакет с пакетами санкций увеличивался. Так сначала я обзавелся целым рядом банков, потом узнал что такое крипта, но клиентам при таком санкционном бэкграунде становилось все более некомфортно и боязней. Все как у всех в общем. И тут-то я подумал, если я участвовал в разработке небольших, но коммерческих проектов — почему бы не попробовать свои силы на этом поприще. Нужно уточнить — программирование это не мое, от слова «совсем». Я конечно делал мини игры в детстве на бейсике, что ж греха таить (zx spectrum ван лов), но технологии шагнули несколько вперед, если сравнить с серединой девяностых. Итак, что имеем: неплохое понимание движка Unity, настройки спрайтов, анимацией штатными средствами. Ну и конечно же, добротный опыт в сфере создания графики и анимации. Можно сказать половина успеха, да? А вот нет.
Для реализации был выбран веселый, в меру дурацкий файтинг, с максимально упрощенным управлением, горизонтальное передвижение персонажа не предусмотрено. Враги бесконечно приближаются слева и справа в центр экрана, к игроку. Удары и серии ударов наносятся нажатием клавиши/тапом в сторону врага. Также предусмотрены «сильные» удары» – апперкот (удар из положения сидя) и удар из воздуха, с прыжка вниз. При нанесении сильного удара повышается шанс выбить из рук врага оружие, с последующей возможностью его использования.
Скетчи игровых персонажей
Набросаны первые идеи, скетчи персонажей, продумана механика. Главными игровыми персонажами стали Кот и Бабушка. Враги – крысы и голуби (терпеть не могу голубей).
Ну вы поняли
Идея была в том, чтобы не задирать возрастные рамки и попытаться попасть в 12+, собственно стиль графики был выбран по этой же причине.
В чистовом варианте бабуля лишилась сумки. Первоначальная идея была сделать ее удар чуть сильнее, прировнять удар сумкой к удару оружием у Кота (если кот выбил это самое оружие из рук врага). Но оружие находится в руках игрока до того момента, пока он не метнул его, а сумка постоянно. Чтобы не делать костылей в балансе – сумка была изъята.
Чистовой вариант отрисовки персонажей
Пора приступать к поиску программиста!
Так как движок Unity мне знаком и понятен, программист очевидно должен владеть c# и понимать архитектуру проектов Unity, а также иметь опыт в WebGL. Да, все верно, речь в данный момент пойдет о Яндекс играх. Думаю часть читающих сразу представила тысячный скибиди туалетик и решила не читать дальше. Но я выбрал другой путь, только кастомная графика, кастомный код, только хардкор. Так вот, а где же этого самого программиста взять-то? Конечно на отечественных фриланс платформах, подумал я. В годы своей бурной активности как фрилансера, я считал, что удовлетворенность клиента результатом - прочный фундамент долгосрочных отношений, а дедлайн непоколебимой датой - хоть камни с неба. Ну и вообще - кто платит тот и заказывает музыку, правильно? И похоже снова нет. В реальности все оказалось чуть по другому.
Вид игровой сцены
К этому моменты были начисто отрисованы все спрайты главной сцены, спрайты врагов. Эх, как же я люблю рисовать зеленушку.
Для работы была выбрана фриланс площадка, не буду упоминать ее плюсы, минусы, да и вообще писать о ней что-либо, потому что речь тут совсем о другом. Единственное скажу - площадка нехитрый гибрид upwork и fiverr, кто знает о чем речь, тот поймет. Был изучен рынок, предложения исполнителей, выведен средний бюджет для моего проекта и создано первое «объявление» с предложением поучаствовать в моем небольшом, но гордом проекте. Пошли первые отклики. В первую очередь были отфильтрованы фрилансеры, пытавшиеся демпинговать цену. Как правило, это пустые аккаунты без отзывов, пытающиеся таким образом получить свой первый заказ, мне это не подходило, я хотел быть уверен в компетенции специалиста.
Анимация одного из игровых персонажей в After Effects. Да, я не ищу легких путей (наверное зря)
Работа кипела
Для реализации анимации боя, как ни странно, был выбран After Effects. Таким образом я планировал уменьшить нагрузку на телефон в веб приложении, убрав понятие костей и их постоянного просчета. Мне показалось что спрайтшиты для такого проекта — это лучшая опция. Тут пригодился мой опыт создания анимированных стикеров для Телеграмм. И все было бы хорошо, если в какой-то момент у меня не появилась идея разнообразить игру скинами персонажа. Десяток шейпов, сотня точек – это, пожалуй, не лучший вариант для этой идеи. Ведь каждый скин пришлось бы анимировать по-новой. Поэтому создав десяток анимаций, потратив на это изрядно времени, я переключился на штатную 2D анимацию прямо в Unity.
А вот так выглядело тестовое комбо, реализованное покадровой анимацией
Первый нанятый мной программист проработал над проектом аж 3 дня, после чего сославшись на какие-то семейные неурядицы ушел в туман. Такое длинное оправдание текстом я видел первый раз. Интересный факт — большая часть фрилансеров, с которыми я переписывался через биржу как огня боялись NDA. Мне как человеку, которые эти самые NDA подписывал в своей жизни десятками, эта ситуация не понятна до сих пор, а ведь я даже не ограничивал возможность публикации проекта в портфолио. Видя кол-во шаблонов в сети, не хотел однажды увидеть свою игру среди них.
Из забавного на тот момент: один исполнитель с хорошими отзывами и, как мне показалось, с достаточным опытом, после долгого обсуждения проекта, всех деталей, когда речь зашла о NDA, попросил время подумать. Вернулся с отрицательным решением. На мой вопрос, почему так, ответил, что ему нет 18-ти. Тогда я подумал: а может стоит удовлетворить просьбу моего 9-ти летнего сына и помочь ему начать свой путь в программировании?
Со второй попытки мне повезло больше, не смотря на сильно затянутые сроки, игра была реализована на 90%. Игровой персонаж ожил, все созданные мной анимации бодро превращались в веселые комбо ударов, уже в игровом процессе. Оживало UI, уже можно было выбрать игрового персонажа, поменять игровую валюту на новый скин.
Я был доволен и, по большому счету, даже перестал переживать о сроках, которые на тот момент перевалили за 3 недели, вместо обещанных исполнителем 5-7 дней. Первый проект, что поделаешь. Оставались сущие пустяки, до-настроить показы рекламы в SDK, сделать локализацию на инглиш, сделать лидерборд. Чтобы не портить рейт исполнителя (опять же сроки задачи давно вышли), принимаю решение закрыть проект на бирже, выплатив весь гонорар. Проходит неделя и фрилансер ложится в больницу (Никита, желаю тебе скорейшего выздоровления!).
Я остаюсь с исходниками датированными десятью днями ранее, без возможности получить актуальные. Чуть успокоив свою нервную систему, выждав пару дней, понимая, что теоретическая дата релиза откладывается на неопределенное время, смиряюсь с непреодолимыми обстоятельствами.
Допиливаю то, что могу сделать самостоятельно и высылаю на первую модерацию, как есть
Ранняя версия экрана выбора скина и режима игры
Так выглядит первая версия меню выбора скина игрового персонажа. Выбор осуществлялся установкой нужного скина по центру экрана, после чего нужно было выбрать режим игры, нажав на который игрок попадал в игру. Если скин был неактивным/не открытым – войти в игру было не возможно. Пожалуй достаточно было сделать скин по центру и чуть крупнее, давая понять что выбран именно он и при попытке запустить с закрытым скином добавить звук ошибки и анимацию для замочка. Это я сейчас понимаю, а тогда понимал не очень. Именно по этому меню игру дважды возвращали с модерации на доработку.
Конечно же, игру вернули на доработку. Стоит отметить что произошло это в тот же день, к тому же в выходной. Скорость работы команды модерации Яндекса — радует.
Мне нужно было как-то править проект, негоже бросать работу в финальной стадии. Хотя на тот момент мне казалось что выход игры – это нечто фантастическое. Следующий разработчик, с которым мы ударили по рукам, с задачей справился, но несколько по-своему.
Я решил разнести на два разных экрана режим игры и скины, сделать так, чтобы в игру можно было зайти при любом выбранном скине, оставляя любые недопонимания интерфейса позади. Кроме того мне по-прежнему нужен был лидерборд и локализация.
Текущая версия главного экрана после первых правок
После некоторых манипуляций главный экран видоизменился. Теперь можно было войти в экран выбора Режима игры и в экран Скин игрока отдельными кнопками, либо сразу запустить игру. Выбор ночного режима теперь стал доступен как с главного экрана, так и непосредственно на экране выбора Режима игры.
Для перевода игры была подготовлена таблица, которую я передал исполнителю. В ходе тестирования я периодически натыкался на не переведенные куски текста, в основном это были ачивки. Впоследствии оказалось что фрилансер решил моей таблицей не пользоваться или пользоваться в удобные для него моменты. Так уже после завершения всех работ обнаружились интересные переводы все тех же ачивок, например Rat Lover (хотя у меня было Rat fun), Granny вместо Babushka. Вроде и мелочи, а вроде и нет.
Игра была принята и опубликована аж на четвертый раз – основные причины пофиксили после первой модерации, дальше были несколько мелочей, включая перевод. Кстати, а вот и сама игра https://yandex.ru/games/app/311619?utm_source=app_page
В следующих постах я хотел бы рассказать чуть подробнее о скинах, о готовящемся первом обновлении и планах выхода на международных площадках.
DragonRuby Game Toolkit — это 2D-игровой движок коммерческого уровня, удобный для новичков. Он крошечный (около 3 МБ), чертовски быстрый и кроссплатформенный. Стандартная лицензия (эта страница) приобретается единоразово и включает поддержку ПК, Mac, Linux, Raspberry Pi и Интернета.
Создано для независимых разработчиков игр, которым нужен мощный игровой движок, бесплатный, быстрый, производительный и простой в использовании.
Обновлено 10 мая 2024 г. Всего выпусков (на данный момент): 179.
Дата создания: 19 апреля 2019 г.
Статус выпущен
Категория Игровой движок
Платформы Windows, macOS, Linux, Raspberry Pi
Рейтинг ★★★★★(294)
Автор DragonRuby
Теги 2D, DragonRuby, Игровой движок, Возможность модификации, рубин
Техническая демонстрация
Вот что возможно только со стандартной лицензией.
Тур и обучение
Райан составил 5-минутное введение в DragonRuby, чтобы познакомить вас с большими идеями.
Функции
Очень простые, ориентированные на данные API, способные создавать сложные 2D-игры.
Чертовски быстро. Работает на основе высокооптимизированного кода C, написанного Райаном С. Гордоном, одним из гигантов, стоящих за SDL (технология, на которой работают тысячи игр, игровые движки высшего класса и клиент Steam).
Проверено в бою Амиром Раджаном, признанным критиками инди-разработчиком игр, созданных с помощью DragonRuby для мобильных устройств и Nintendo Switch.
Крошечный. Как будто совсем крошечный размер. Весь движок занимает несколько мегабайт.
Разработка в реальном времени, оптимизированное для обеспечения постоянной обратной связи с разработчиком. Производительность и абсолютное удовольствие от использования.
Сборки «под ключ» для Windows, macOS и Linux с плавной публикацией на Itch.io.
Кроссплатформенность: ПК, Mac, Linux, Raspberry PI, Интернет, iOS, Android, Nintendo Switch, XBOX One и PS4 (для мобильных устройств требуется лицензия Pro, а для компиляции консоли требуется юридическое лицо и проверка NDA; свяжитесь с нами в службе поддержки). @dragonruby.org для получения дополнительной информации).
Стандартная лицензия приобретается единоразово/пожизненно. Лицензии Indie и Pro предоставляются по подписке, но обладают некоторыми невероятно мощными функциями.
Бесплатная неограниченная лицензия
Вы имеете право на бесплатную лицензию, если к вам относится любой из следующих пунктов:
Ваш доход ниже 2000 долларов США в месяц.
Вам меньше 18 лет.
Вы учитесь любого типа: в традиционной государственной школе, на домашнем обучении, в колледже, учебном лагере или онлайн.
Вы учитель, наставник или родитель, который хочет научить ребенка программировать.
Вы работаете/работали на государственной службе или в благотворительной организации: например, в государственной службе, в армии или в любой организации, подпадающей под действие 501(c)(3).
Просто свяжитесь с Амиром по адресу ar@amirrajan.net и кратко объясните вашу текущую ситуацию, и он вам поможет.
Делаю небольшой апдейт игры ASCIILL (ретро-экшен в подземельях в сумасшедшем минималистичном арт-стиле), а там у меня есть режим заставки и можно включать флаги. Добавил вот эти четыре флага. Смотрятся крипово (текстовый режим все-таки), но вроде интересно.
Заходите посмотреть на страничку в Стиме в последние дни фестиваля "Бесконечная реиграбельность".
Предыдущий образ показался мне слишком "дурашливым и безликим", и я решил сделать более характерного персонажа, да и в целом кошконародец из вселенной игры захотелось сделать более "очеловеченным".
Ну мне в целом результат нравится, нужно только её приодеть)
На мой взгляд, смена дня и ночи в играх способствует большему погружению, и я не удержался и тоже добавил этот элемент в свою игру.
Правда, в моём случае это скорее имитация, поскольку я создаю эффект за счёт срезания RGB-канала, а не освещением или чем-то таким, что никак не влияет на тени в игре.
А помимо визуального эффекта я навесил логику и фары машинкам. Ночью дальность обзора всех машинок уменьшается (в зависимости от времени на 10-40%), но если включить фары, то этот эффект уменьшается в два раза.
Видос ускоренный в 5 раз с днем и ночью и жизнью нпс :)
Если вам понравилась статья или игра, присоединяйтесь к комьюнити, что бы нечего не пропустить.