Прогресс: май-июнь 2024
Всем привет!
Пора делиться своим прогрессом в сфере разработки игр за прошедшие два месяца! Вы ведь что-то делали, да?
Почему пост не от Ил'а?
Все заметили, что не было давно постов на эту тему. Дела, дела выкручивают руки Ил'у, он борется, сражается, отбивается, но конца им пока не видно. А вон, что-то мелькнуло на горизонте… А нет, показалось.
Поэтому я вызвался на помощь в продолжении движухи, с его одобрения, конечно, и с художественным оформлением от Умрики.
Приветствую на Гамине! В рубрике «Прогресс» мы пишем в комментариях, чем связанным с разработкой игр занимались в прошлом месяце (или иногда в прошлые месяцы). Делимся всем, чем угодно. Чтобы понять, как это выглядит, можно глянуть посты за прошлые месяцы.
Другие посты: блог «Прогресс».
Таблица, в которой отмечается прогресс:
https://docs.google.com/spreadsheets/d/1Mhfj5Dl0BIxy0tGlMfFP_ti3uSmY6Z7zz3yWGJPKSDw
Что мы можем узнать в этот раз?
- Не застопорился ли челлендж Godot-изучателей?
- Растёт ли Great Empires?
- Не стал ли «НЕплатформер» — платформером?
- Есть ли жизнь на полях Яндекс.Игр?
- Сколько пельменей пострадало в битве с плесенью?
- Как дела у Моськи и Слонов?
- Появились ли новые тачки?
- Выучили ли коты новые танцы?
- И т.д.
Не забывайте поднимать холиварные темы, рассказывайте как Вы встретили лето и делитесь хорошим настроением! =)
- 15 июля 2024, 13:22
- 011
Технический вопрос к Gyt: можно этот пост объединить с другими постами блога "Прогресс" или блог может быть только личным?
Всё, исправлено. Раньше не было в списке этого блога (наверное, стал общим и теперь можно).
По умолчанию блог личный, в настройках можно поменять на общий (что я и сделал). Правда, если название одинаковое их не отличишь особо, надо бы поправить как-то.
Спасибо! Можно, наверное, автора блога в скобка к названию указать. Ведь не критично, если они будут называть одинаково, но с разными авторами.
Огромная благодарность Элевену за то, что сам предложил подхватить знамя Прогресса!
В мае случился у меня БАБАХ!!!
Точнее Kaboom.js. Это игровая библиотека для веба, которую можно использовать с языками программирования JavaScript/TypeScript. Очень приятная и простая в использовании.
Вот простой пример:
Так, формируя объекты из компонентов, очень легко и быстро создавать разные объекты в игре. Можно создавать свои компоненты, удалять имеющиеся во время выполнения, добавлять новые. Гибко, удобно.
Я снова сделал маленький проект на нём и можно делать пык-пык-пык...
Со временем выяснилось, что движок не такой производительный. Год назад, один разработчик написал тест производительности на основе спрайтов, который сравнивает набор поддерживаемых в настоящее время механизмов рендеринга/игр на основе JavaScript. Тест включает в себя рендеринг набора графики/фигур и спрайтов. Там явно видно, как Kaboom.js уступает, и сам по себе выдаёт довольно низкие результаты. Хотя за год версия и изменилась, но прирос не очень большой, предположительно меньше 8 %. Можете попробовать исходники теста по ссылке.
В моих пузырях каждые 1.5 секунды добавляются 3 пузыря или 7, если их общее количество меньше 10. А вот если поставить допустим 30-50, то явно будут тормоза.
И случился ещё один БАБАХ...
Немного истории: стартап Replit, который создаёт онлайн-среду разработки, наняла человека для создания движка Kaboom.js. В последнее время он очень медленно развивался, даже наработки сообщества с большой задержкой попадали в код (проект open source всегда был). И недавно этого сотрудника уволили (причины не знаю) и поддержку движок останавливают. Но автор вместе с сообществом решают продолжить. Делают ответвление и переименовывают его в Kaplay.
Планируют его рефакторинг, оптимизации... В общем, там много работы и теперь их не сдерживают процессы коммерческой компании.
Я же, следив с попкорном за происходящим, понимал, что я пока не хочу сильно привязываться к данной библиотеке. Но для создания прототипов очень интересный "конструктор" (мне его хочется так называть из-за простоты, удобства).
Июнь начался с экспериментов в игровых механиках. На дворе лето, что-то делать серьёзное-большое не хочется, поэтому решился на маленький проект (хотя всё равно он займёт много времени, но хотелось "так" думать). Меня ещё не отпустила механика вращения с прошлого Гаминатора, и именно тогда у меня возникла это идея. Я начал пробовать. Сначала сделал шаги (просто "потому что"):
Забавная вещь, если представить, что это может быть кукла, статуя или робот на гусеницах. Управляешь таким двумя кнопками и собираешь по уровню что-нибудь, избегая препятствия. Запишу, может вернусь ещё к этому. Мне кажется, что я подобное уже видел...
А целью было просто вращение объекта относительно указанной точки. Меняя точку вращения и направление, мы собираем на уровне всякой, пытаясь не врезаться ни во что (собирая бонусы и т.п.). Итоговое видео демонстрации механики выглядит так:
Начал прорабатывать описание игры: про что она будет, стиль, цветовая палитра, уровни, бонусы и т.п.
Помимо этого я всё ещё интересовался разными движками. И вот очередной кандидат - LittleJS. Очень быстрый движок. Интересно сколько у Вас в браузере он выжмет спрайтов: стресс тест? Только музыки не пугайтесь.
Изучал ещё сторонние библиотеки для функционала, которого нет в движке. Поэтому могу посоветовать для пользователей JavaScript/TypeScript и веб-игр:
Дополнение:
Это получается посты перешли в формат двух последних месяцев? Или "май-июнь" имеется ввиду только май? А если оба месяца, то это даже интересный формат такой не столь обычный, как по мне. Если таки пачкой месяцы описывать, то:
Как и в прошлом посте, думаю, могу указать статью о разработке Двигай и Разгружай т.к. долго писал. Видеоверсию статьи тоже, делал долго. Но допустим это не считается, тогда ...
Начал было делать штуку под кодовым названием Tech_003_SpriteStack3D. Собственно это спрайтстек, который пригоден для 3д в Гамакере. Вот видео:
Участвовал в Гамин-Коллабе.
Хотел было сделать один клон игры. Не сделал спустя 2 месяца.
Зарегистрировался на, о ужас, VK Play.
Продолжается челлендж на Годоте. В этот раз сделал Спейс Инвейдерс. Опять на стриме.
Заполнял страницы по ВКПлей для Взертоса и Бумажного. Спойлер на будущее: в этом месяце (июнь) мне не удалось пройти модерацию.
Были какие-то проблемы с гитом и проектом на Гаминатор. Никто не знает как безвозвратно удалить из истории файлы LFS? Они забили мне репозиторий и я теперь не могу отправить кодовые изменения.
Немного пофрилансил по геймдевному.
В стиме на странице Бумажного сделал цитату какого-то японца, который рекомендует игру. Нет, ну а что? Японец рекомендует!
Спустя, как мне показалось, очень длительный срок смог таки восстановить доступ к аккаунту DTF, чтобы там написать статью о разработке Двигай и Разгружай и выложить видео. Отклика, можно сказать, никакого.
Делал всякие ирил дела, что застопорили геймдев-фриланс дела.
А где же игра на Годот? Да, признаюсь, я в этот месяц не успел, но уже на 2-ой день текущего месяца (июль) сделал игру. Ею оказалась Астероидс.
Хм, а можно описывать что делал и в этом месяце, который июль?
Формат двух месяцев получился похоже из-за задержек с постами. Поэтому пишем, что сделали за два месяца. Интересно выйдет или нет, решит Ил.
Может это вариант поможет: Удаление конфиденциальных данных из репозитория. А так в игнор такие файлы и всё.
Надеюсь, будет пост про июль.
А в чём: графика, код, игра?
Надо будет глянуть, спасибо. Я что-то там наделал плохое в репе и теперь непонятно как мне сохранить изменения и при этом от ненужного избавиться. Больше всего загадили тяжелые файлы конечно.
В одном код, до сих пор кнопки нажимаю. В другом целая игра, но небольшая, но геймдиз не мой, чисто исполнение по сути.
Не знаю можно или нет, но интересно посмотреть.
Честно говоря, я тоже не знаю, но скажу, что это игра на одном экране в стиле очень простого пиксель арта. Наверно это можно назвать микро игрой, даже не мини.
Посмотрел наконец, но пока не пробовал. Оно же не удалит из LFS эти файлы, как я понимаю? Надо какой-то иной подход. У меня ситуация странная: надо удалить ненужные LFS файлы, а нужные оставить. Даже не обязательно историю сохранять (работа над проектом всё равно закончена), но хорошо бы чтобы в репе таки оставалось что-то, чтобы потом если что, то восстановить.
Я сам не удалял, не было необходимости, но все ответы про удаление файла из репозитория и истории ведут к скрипту filter-repo, о которой описано в той статье.
Вот такой же ответ: https://qna.habr.com/q/1158360
Небольшая добавка: Вспомнил, что в июне у меня ещё был самопроизвольный лично для меня челлендж на развитие фантазии, или проверки таковой. Считаю, что особо не развился, однако, результатом стали 30+ карточек-придумок. Их я публиковал каждый день месяца в своем Телеграмм канале, а итоги подвел и там и на бусти и в ВК.
Теперь правда тема канала РЕЗКО свернула в киношную, а дальше может будут вообще спонтанные мысли обо всём. Этакий открытый блокнот что ли.
Это был Кодзима!
Надеюсь! Всё же, по сути сделал жанр стелс, так что может замаскировался!
Интересно, а игры, у которых меньше ста отзывов в стиме, считаются стелс-играми?
Ниндзя-игры, незаметно могут украсть ваше время
давно мечтал сделать "свой KSP". Задолго до появления собственно KSP. Но не мог даже определится на чем его делать.
Язык crystal, движок nonoengine, с закосом под дос-графику
Игра в виде веб-сервера на языке crystal, интерфейс в виде веб-страницы на vue.js
решил не выдумывать ничего и сделать клон Mars Horizon без графона, чтоб можно было играть на телефоне (ну и поправить баланс). Язык - Delphi 11, формочки на FMX.
Vue.js, его много сравнивают с React, Angular. Твоё интересно мнение услышать об этом фреймворке?
я вообще js не люблю и на нем ничего больше хелловорлда не писал. но когда увидел пример на vue.js то просто влюбился в это волшебство.
никаких вебпаков и сложностей, подключаешь один файл, пишешь в html
и он заменяет это на реактивный список соответствующий твоему массиву.
другие фреймворки после этого я даже изучать не пытался, для моих целей vue более чем достаточен.
Разумеется, да и не только!
Паук-3909 — полноприводный восьмиколесный малотоннажный грузовой автомобиль повышенной проходимости, в боевых целях оснащенный автоматической турелью, прикрывающей тыл автомобиля. В модифицированной версии поставляется дополнительной противоударной рамой и ракетной установкой.
Активно производился в первые годы после явления «Хора» на функционирующем ещё тогда █████████████ автомобильно-танковом заводе. Пауки создавались на базе советского семейства грузопассажирских автомобилей ██████ и эксплуатировались на захваченных «Хором» территориях в жёстких атмосферных и труднопроходимых
условиях.
Не сказать, что прогресс по разработке прям большой, тут недавно была дикая жара, я, как назло, оказался даже без вентилятора и умирал две недели, практически не делая ничего. В оставшееся время я доделал два авто (прошлое показывал в предыдущем посте) и допиливаю основной функционал: починил и улучшил ИИ, кучу багов поправил и улучшил лвл дизайн трасс. Также наконец-то осознал концепцию одиночной игры, но не уверен, что до следующего плейтеста смогу доделать хоть одну миссию. Также, пожалуй, впервые покажу пару секунд актуального геймплея (без звука).
Больше прогресса по второму проекту, который я собираюсь за лето добить до конца.
Если подробно, то прогресс следующий:
3D:
- Персонажи: 2.5 / 3
- Окружение: 95%
- Интерактивные объекты: 2 / 5
- Материалы: 5 / 7
- Пост.процессинг: 1 / 2
Анимации:
- Катсцены: 0 / 4
- Анимации окружения: 90%
2D:
- Арты: 1 / 1
- Шрифты: 2 / 2
- UI: 25%
C#:
- Контроллер персонажа
- Разные виды триггеров
- AI
- Система страха
- Система эхолокации
- Субтитры в диалогах
- Система сохранений
- Система часов
- Спойлерные системы 1 / 2
Audio:
- Озвучка персонажей: 1 / 5 — теперь есть вся нейроозвучка, пока тестирую на ней
- Звуки шагов 60%
- Звуки окружения 80%
- Звуки ивентов: 80%
- Саундтрек: 40% — скорее всего будет использоваться сгенерированный/подобранный саундтрек, но возможно сам вдохновлюсь что написать, либо кто-то поможет.
Сценарий:
- Черновик
- Редактура
- Финальный вариант
- Английская версия
Сборка в Unity:
- Обучение: 80%
- Игровое меню: 90%
- Настройки игры: 0%
- Система тест-аудио: 0%
- Сборка эпизодов: 65%
Тестирование: 2 / 4
Главные майлстоуны были преодолены: во-первых, мы с другом доработали сюжет и тексты на русском языке. Во-вторых, я сделал модель матери главного героя. Сюжет подразумевает флешбек, где герой (а следовательно, и игрок) полноценно видит её (напомню, что игра про слепого парня). Сперва я хотел упороться в реализм, подготовил качественную модель, прокачался в haircards, но со стандартными шейдерами на URP она выглядела ужасно, хоть главную в проекте ебаку из неё делай. Встал выбор между сделать шейдеры самому (нормальных работающих туториалов/готовых гитхаб проектов под URP я не нашел), купить в ассет сторе (но пока не хочу туда лезть, да и ради одного проекта покупать сомнительно), либо переделать персонажа в стилизацию, на чем я и остановился. Такая стилизация к тому же подчеркнёт «сказочную» атмосферу флешбека, дополнительно заложив положительный образ того времени для персонажа. Сильно прям образ не прорабатывал, экранного времени у персонажа от силы секунд 15 будет. Кадр ниже из тестовой сцены из движка.
А еще мы с mitava.noida подготовили кейарт/фоновое изображение меню проекта, но я вам его не дам, у вас паспорта нет.
А еще мы с С. Смекты и Pooffick устроили сходочку IRL, было довольно весело. С. Смекта даже показал, чему научился за 4 года универа!
Трюки показывал!?
Жонглировал тремя мотками изоленты!
У Вас на сходе была изолента? Да Вы там отрывались не по-детски...
Тогда всё логично, как я сам не догадался.
Тысячи, подробности далее:
Я готовил демо к Next фесту в стиме. На начало мая оно было готово примерно на 50%, а к началу феста добил до 90%, но не доделал. Пару важных фичей делал во время феста, и ещё одну важную фичу просто не сделал, штош..
Но в целом вишлистов стало раз в 5 больше за это время. Так же еще до феста показывал демку на оффлайн геймдев ивенте, где собрал огромную пачку полезного фидбега, из-за чего пришлось немного переделать план разработки.
Демо до сих пор доступно на страничке игры:
https://store.steampowered.com/app/2875780/Staying_Fresh/
Тут подробнее пишу о том, что именно делаю:
https://t.me/srakek
В мае были самые просматриваемые стримы на ютубе, и в целом был неплохой прирост подписчиков за эти 2 месяца, с 140 до 190, учитывая, что первые 140 набирал 2 года :)
Прошёл Индику и снова начал проходить Hollow Knight, и до сих пор прохожу. А в июне начал баловаться в эфире с персонажами игры Staying Fresh и делать из них группу FRESHERS
Стримы тут https://www.youtube.com/@srakek и тут https://www.twitch.tv/mrrubel
Отыграл сет чиптюна на сеге в Тбилиси
В зомбоиде потерял своего персонажа, которым играл почти полтора года. Зомби съели
В мае много работал над демкой игры, от чего снова чуть не выгорел, по-этому в июне больше занимался музыкой, в том числе и на заказ, так что будет много интересных релизов
Побывал на муз фесте где выступали Tiger Lilies, La Femme и грузинский суицидальный блек метал
Ещё появился первый VIP подписчик на патреоне, и, спойлер, недавно удалился
"Отыграл сет чиптюна на сеге в Тбилиси", фотку в студию
Шик, крутилки
По сравнению с предыдущим постом, ничего особо не поменялось. Хотя, на самом деле, стало несколько хуже - теперь в связи с определенными событиями, мне помимо прочего приходится умудряться жить и работать, когда за день в среднем есть около 8-10 часов света.
Но сейчас взял ноут и помаленьку пытаюсь продолжить работать с "рогаликом трубопроводчиком". Хотя решил немного сменить подход к общему геймплею там.
Первая идея предполагала, что весь игровой процесс будет происходить внутри поля с сегментами "трубы". То есть, и враги, и интерактивные объекты, и герой находятся в игровом поле. Щас же я хочу вынести героя и врагов за пределы поля, а само поле скорее будет определять что герой будет делать за ход - атаки, бафы, исцеление и т.д., а враги будут скорее влиять уже на поле (фиксировать положение определенных клеток, оставлять объекты, которые надо активировать чтобы не получить урон, и всё такое). Идея частично вдохновлена подходом Peglin и Dungeon Clawler.
Проблема первого варианта заключалась в том, что результат уровня определяло одно, пусть и комплексное, решение. Его нельзя было менять, результат ошибки был слишком серьезный, а полные последствия своего выбора было сложно предусмотреть. Щас же бой будет больше дискретным (сделал решение - посмотрел результат - сделал решение - посмотрел результат и т.д.), правила одного хода упрощаются. Фактически, игра несколько приблизится к deck builder играм, но с механики "трубы" можно выжать много дополнительных мини-механик.
Кроме этого, пытаюсь выработать более "прототипный" подход, когда первый билд делается максимально дешево и сердито.
Только тут ссылка не та прокралась.
Это прикольная и важная штука. Я так не умею тоже.
Пофикшено, спасибо
Первая наработка базового геймплейного цикла новой идеи.
Так как это прототип, я не заморачиваюсь пока над штуками типа рассинхрона анимаций, или того что хп меняется одновременно с началом анимации, а не в момент логичный для атаки.
Дальше по плану дополнительные действия для игрока и врага (плюс стяну со Slay the Spire идею с отображением следующего действия), вероятно несколько вариаций врагов, и проработка условий выигрыша и проигрыша. После этого наверное будет плейтест этой версии прототипа.
О! Мини игра из биошока! Найс найс
Прям совсем другая игра. Мне первый прототип больше нравится. Там несколько противников, кажется, что больше простора для тактики. Здесь ты только формируешь свою атаку из доступных вариантов.
Причины смены подхода я описал в первом посту. В старой задумке, вне зависимости от количества и типа врагов, в один момент герой просто бил морду одному врагу. Контроля над ситуацией в бою было крайне мало. А идей для апгрейдов для такого подхода не сказать чтобы было много. Да и рассчитать сколько урона ты получишь за прохождение уровня, и сколько врагов можно ставить в путь, было довольно сложно.
Новый подход, как по мне, не только улучшит контроль игрока над ситуацией, но и позволит добавить кучу новых возможностей в игровое поле. Там же будут не только атаки - будут и другие способности (которые в том числе будут разными образами комбинироваться), будут механики разные (например, для базового класса я думаю сделать систему комбо, с которой результат атаки будет зависеть от того, сколько атак подряд ты активировал), враги тоже будут влиять на поле (например, есть идея врага, который будет закидывать на поле бомбы, и тебе надо будет их активировать чтобы обезвредить, иначе получаешь урон). И так далее.
Ну и в общем, в этом и задумка прототипа - сварганить наработку по идее максимально быстро, чтобы посмотреть как она играется.
О причинах я читал. Но первый прототип лично меня заинтересовал куда больше, я лишь об этом.
Ну наконец-то. Уже начал забывать про эту рубрику.
Поучаствовал в колабе из которого меня выгнали -_- . Вроде не первый колаб, а с правилами так и не определились.
Получил свой первый значок на гамине🥰.
По проекту:
Закончил свой генератор основного уровня. Столько времени на это ушло, ужас.
Ко мне присоединялся 3Д художник, который помог мне перестать думать о графике и от части благодаря ему, я закончил генератор.
Вместе с 3д художником, мне пришлось выкинуть месяца моих наработок в графике, но я думаю оно того стоит. Пока что не все модели готовы + все очень кривое и косое, но работа по графике только началась.
Следующий этап это создание дополнительного уровня, "Канализация".
Только начал его делать и не давно восстановил прошлогодний прототип. Еще нарисовал маленький эскизик для лучшего представления об уровне.
Я испытываю гигантское облегчение, от того что я могу просто скинуть это художнику и сильно не думать о визуале. Повезло что у него моментально сформировалось виденье, которое максимально схоже с моим.
прикольно, что у машинки есть инерция
Самое забавное что в прошлом году я потратил на это очень много времени(уже не помню сколько конкретно).
А сейчас когда восстанавливал прототип, написал скрипт для этой инерции за пару часов. Во прикол👍. Теперь хрен знает на что я время тогда потратил.
О, я уже заждался этот пост, думал забыли про него. Вот только с проектами у меня за последние 2 месяца особых подвижек нет, но есть значительные подвижки в моей жизни - защита и получение диплома. Поэтому на проекты особо времени не было, но зато провел Гамин Коллаб 6, второе мое мероприятие в роли организатора на Гамине, получил новый опыт, это было весело. И поучаствовал сам в коллабе, попробовал себя в пиксельарте, в этом тоже получил новый опыт. Вернуться к Great Empires я только мечтал, но до дела пока не дошло, как и с Мировоззрением и НЕплатформером, и в ближайшие недели пока вряд ли займусь каким-либо проектом, хотя посмотрим, как жизнь сложится. Может быть что-то и сделаю, например, на будущий конкурс, который я планирую провести. Загадывать не буду.
На Яндекс.Играх, спустя месяц после публикации игры я спросил заказчика по поводу статистики, он ответил, что 200 игроков в день, а покупок ноль. Еще там что-то рейтинг упал сейчас. Отзывов от игроков не было.
Ну что еще могу сказать. В июне просто так решил запилить мини-ртс в HTML, сделал там сбор ресурсов, найм сборщиков, воинов (ближнего и дальнего боя), строительство зданий, простенький ИИ. Хотел потом сделать из этого конструктор РТС с настраиваемыми параметрами каждого юнита, но потом бросил эту затею. Я любитель начинать, а не заканчивать :D
Ну типа зеленые - ресурсы, желтые - сборщики, синие и красные - здания, оранжевые - воины, еще есть фиолетовые - лучники. А цифры это жизни.
За июнь вроде все. Но вот хочу добавить, хоть это и за июль уже, что 1 июля создал свою творческую группу в ВК, где стараюсь хоть что-то выкладывать каждый день, не только про творчество, геймдев, хотя думал, что очень редко буду туда что-то выкладывать.
Надеюсь, что следующие месяцы в этом году будут продуктивнее у меня в плане проектов.
В мае еще вот такие мини-проекты сделал: шутер, шашки
В шашках нельзя сразу снести две шашки в цепочке? Дизлайк, отписка... =)
Не, цепочку не делал, да и в целом шашки немного недоделаны: визуально, ИИ вроде дамкой не может бить несколько, поражение/победа когда шашки заблокированы.
Участвовал в коллабе и как-то умудлрился нарисовать больше всех ячеек, мне немного стыдно за это.
Переодически возвращаюсь в Undercat, давно хотел сделать дополнение в котором можно будет играть за котов!
Также с Vertuga32 думаем над новым проектом, но довольно лениво. Будет что-то про хексы+паззл+пошагово+фэнтэзи+лук(который еда)
Мне запретили рисовать ячейки на колабе, потому что слишком много рисовал. В это время он тихо меня обогнал-_-.
Полагаю секрет в том, что я делал это медленно)
Прошло уже полгода, и я не сделал ни одной игры. Пока еще держусь.
Небольшие потуги были, но я вовремя останавливался.
Планирую продержаться так до конца года, если Кситилон опять приставать не начнет или если конкурсы на глаза не будут попадаться.
Держись, если вдруг припрёт, попробуй менять все время движок
Знаю, два раза так уже делал с 2-мя играми, отпустило.
В мае: Для проекта написал небольшую программу-"учебник" с помощью своей GUI библиотеки, о которой писал под прошлым прогрессом. "Учебник" посвящен самой либе, содержит примеры её работы и тест по lua. Сия виртуальную макулатуру так и не доделал, но проект приняли.
В июне: Привел свою GUI библиотечку в более менее вразумительный вид. Что забавно, программу-"учебник" я также обновил на новую версию либы, но при этом в нем до сих пор описывается старая версия.
Люди, что шарят в lua, можете пж посмотреть код либы, на оценочку. На сколько он читаем, оптимизирован, откуда у меня растут руки и т.д.
Вотс проект в виде архива .love (запустится только если установлен love2d, для распаковки использовать 7zip): https://drive.google.com/file/d/1i6I3sekY6fdGZ4hS1E0G-J2_d-voy3Xd/view?usp=sharing
А вотс экспорт версия (работает на винде без предустановленного love2d, чтобы посмотреть код распакуйте exe-шник через 7zip): https://drive.google.com/file/d/1UckR3k6JPsOnfsiS3LME61TDWhrrqCvp/view?usp=drive_link
Если подводить итоги, сделано было достаточно мало.
Сделать свой ГУИ для love2d - святое дело.
Сам раньше этим страдал. Ну и что что велосипед из говна, зато свое!
Что я делал в мае-июне? Очень медленно придумывал и реализовывал свою карточную компьютерную игру. Также немножко поучаствовал в Коллабе, заполнив нижнюю правую ячейку ногами и хвостом кота, краем основного острова, пачкой летающих микроостровов, потомком древнего магического древа на самом крупном из них и всякими мелкими деталями вроде продолжения идей соседних авторов или секретного глайдера из игры Жизнь. Не думаю, что эта ячейка – значимый прогресс в игроделии, но хотя бы я убедился, что не растерял навык тыканья небольшого количества пикселей в ситуации острой надобности. Ещё раз спасибо Илье за эту движуху! А вот про игру рассажу поподробнее.
Эта часть не входит в прогресс этих месяцев, но нужна для пояснения. Ещё до 26-го Гаминатора я вдохновился Карточным Ужасом Аркхэма (КУА) и решил сделать базово похожую на него, но набирающую различий по мере придумывания, игру. И если механика была вдохновлена КУА, то сеттинг для моей игры имел совсем другие истоки, которые я описал в заявки неигры, сделанной как раз на 26-й Гаминатор – Знакомство с Парящими Островами. Эту большую и сложную карточную игру я делать не спешил – она и по сейчас только в виде общих идей. На Гаминатор я планировал сделать очень простую по механике, но отдалённо напоминающую изначальную идею, игру, но в итоге игры там нет, а только непонятная экскурсия и куча текста в ридми. Зимой я участвовал в ЗОК 2024 со своей игрой, благодаря чему познакомился и подружился с новым инструментом, который до этого заочно недолюбливал – Ren'Py. Также на том конкурсе я встретил игру, которая была вдохновлена КУА – Багровая безмятежность. Эта игра смогла хорошо перенести в компьютер механику КУА со своими изменениями и добавлениями, разумеется. Именно на примере Безмятежности я увидел, что данная механика реализуема. И как она реализуема. Стало хотя бы очень смутно, но примерно понятно, как могла бы выглядеть моя игра. Совокупность моей изначальной идеи, встреченного примера и моего желания дальнейшего изучения Ren'Py через создание чего-то непохожего на мою первую игру на нём, породили во мне идею создания карточной игры. Но не той, что я задумал изначально. Та игра пока мне представляется слишком сложной в реализации и отложена до момента, когда я наберу некоторый опыт в понимании механики и её воспроизведении. А вот теперь я расскажу об игре, которой и занимался в мае-июне.
Про игру
Во-первых, показывать мне нечего и не скоро ещё будет чего. Никаких поползновений на создание графики я не планирую предпринимать, пока у меня не появится готовый рабочий прототип, который нормально играется, а это ох как далеко, потому что я очень медленный.
Во-вторых, я могу много рассказать, но постараюсь не злоупотреблять текстом всё-таки. Базово игра карточная физическая, что позволило бы её реализовать на бумаге, но по мере придумывания я всё больше пользуюсь удобством компьютерной реализации перед физической ради каких-то механик, так что итоговую версию на бумаге сделать уже не получится. Так я и планировал. Сеттинг базово максимально простой для меня – стандартное (по меркам моей фантазии) технофэнтези, которое будет обрастать деталями и изюмом на более поздних стадиях реализации. Это тоже по плану: максимально не хочу заморачиваться сеттингом на ранних этапах. Игра одиночная, что сильно ослабляет её по сравнению с той же гибко кооперативной КУА, но мне пока хоть бы на одного игрока сделать. Да и не в курсе я, можно ли на Ren'Py сетевой мультиплеер организовать. Кажется, нет.
Цель игрока – выбрать себе героя-приключенца, собрать колоду из коллекционных карт и выдвинуться покорять кампанию из примерно десятка частей-глав, в промежутках между которыми игрок сможет улучшать колоду. Суть игры классически приключенческая: герой ищет сокровища и артефакты то там, то здесь, а мир и сценарий пытаются ему всячески помешать, подбрасывая препятствия и преграды. Действия игрока не завязаны исключительно на картах: он может перемещаться по локациям, искать сокровища, сражаться с противниками без их использования. Однако карты добавляют эффективности действиям игрока, усиливают его, а иногда позволяют сделать что-то необычное. Мир, находящийся на противоположном конце стола от игрока, также играет своими картами: и враги – карты, и происходящие события – карты. Вот так игра и играется: действует игрок, действуют противники, действует мир, а потом по новой. Сценарий тем временем движется вперёд и никого ждать не будет: если игрок не успеет за отведённое время написать свою триумфальную историю, то мир напишет историю его поражения за него. Но даже поражение в очередной части-главе скорее всего не завершит кампанию, хоть и нанесёт удар по прогрессу в ней – шанс реабилитироваться в следующей части будет.
А что сделал-то?
Вот это всё и ещё много страниц более подробной информации я продумал и записал как раз таки в мае-июне. Общая суть игры, детальные правила многих (но не всех) моментов, характеристики персонажей, от которых отталкиваются дальнейшие механики и классы карт. Придумал очень примерный костяк первой микрокампании – учебной как для игроков, так и для меня. И костяк сценария первой части-главы этой кампании. Начал делать таблицы с картами и прочими сущностями обнаружив, что это сложнее, чем я ожидал. Прикинул, как будет запрограммировано передвижение по локациям и каким образом будут в коде представлены враги. Понял, что опыта в подобном (карточных играх, их реализации, балансе и т.п.) не имею совсем, так что придётся изобретать свои велосипеды. Изобретал теоретически. Посмотрел обучающие ролики по инструментарию и, кажется, я к ним буду возвращаться ещё не раз. Ren'Py тыкал прям совсем мало – в этом хочу исправляться в июле, но что-то пока не справляюсь.(
Это мало, но уж как есть. С подобным темпом летом больше получаться вряд ли будет, хотя я всегда надеюсь этот темп ускорить.
И ещё немного слов вместо красивых картинок
Бонус для тех, кому ещё интересно что-то узнать об игре. Расскажу про характеристики персонажей и вещи, которые из них вытекают. Каждый герой кроме имени, лица, небольшой предыстории и тратящихся в игре здоровья и энергии имеет три числовые характеристики. Или четыре. Или три. Я сам пока не определился. Эти три характеристики – наверное, первые, о которых вы подумаете в контексте фэнтезийной РПГ про поиск сокровищ: сила, чтобы прямо и бесхитростно ломать лица врагов и замки на сундуках; ловкость, чтобы лица врагов вас не замечали или как-то невзначай падали без сил, а замки на сундуках открывались ловкостью рук и прочностью отмычек; и интеллект, чтобы решать вышеназванные задачи умом и сообразительностью. Эти характеристики представлены числом, которое в сравнении (не простом, а со всякими модификаторами, влиянием мира и некоторым рандомом) со сложностью задачи, также представленной числом, будет давать успех или неуспех в конкретной задаче.
Из характеристик вытекают некие чистые классы, к которым будут принадлежать все (за исключением общих) коллекционные карты: силачи-бойцы с мечами, топорами, тяжёлой бронёй и всякими силовыми приёмчиками; ловкачи-трюкачи с более лёгкими обвесами и хитрыми манёврами; и мудрецы, которые подразделяются на два непримиримых лагеря – магов, которые решают проблемы заклинаниями и инженеров, предпочитающих механизмы. Обычно герои не будут принадлежать к чистым классам – колоды будут собираться по определённым правилам, индивидуальным для каждого героя. Но сильнейшая сторона героя всё-таки будет тяготеть к какому-то классу.
С включением четвёртой характеристики я не определился просто потому, что вообще-то хотел сделать небольшую тестовую игру в качестве набора опыта для будущих проектов, а тут уже что-то довольно масштабное вырисовывается. Лишняя характеристика сразу добавляет очень много всего, включая чистый класс (а как же без него!) и дополнительную балансировку всего и вся, которой и так дофига. Сначала я её придумал и вставил, потом решил отрезать, дабы уменьшить объём проекта, а сейчас опять пришёл тому, что она слишком интересна, чтобы её лишиться.
Эта характеристика – харизма. Очевидно, что харизматик не так силён, ловок и интеллектуален, как некоторые его коллеги, однако он своей силой способен делать из лиц врагов лица друзей, которые ещё и сундуки сами отопрут. А не хватающих друзей для битв с оставшимися противниками и сундуками он может приводить с собой в колоде, воодушевлять их и всячески поддерживать. Потенциально, это очень много головной боли и возможных поломок игры и баланса. Но также потенциальные интересные ситуации, сюжетные ходы, карты и прочее, вероятно, стоят того, чтобы харизму в качестве характеристики героя оставить. Разве не интересно не зачистить полную пещеру бандитов, чтобы украсть у них краденное, а как-то договориться с ними, чтобы они сами ценности свои с радостью отдали? А вот сценарий продумывать с такими вариантами – это кошмар.
Если кратко, то, пожалуй, по характеристикам всё.
В итоге комментарий на размер поста получился, а ведь я довольно мало написал из того, что мог бы. Ну, значит в следующий раз продолжу. Спасибо за внимание!
Спасибо, E1e5en, что продолжаешь прогрессивные посты!
Ого, вот это написал! Аж вдохновил снова подумать о настольном\карточном Бумажном!
Мне кажется, что в РенПай как-то да и можно онлайн составляющую сделать. Это же движок на питоне, разве там нет готовых библиотек для этого?
Ох, совсем забыл тут ответить, но исправляюсь через два месяца.
Я не знаю ни одной игры на РенПае с онлайн-составляющей. Я не то чтобы много игр знаю, но те, что видел своим поверхностным взглядом – это обычно визуальные новеллы и всегда одиночные (мультиплеерные новеллы или тестовые игры вообще бывают?). Из этого делаю исключительно теоретический вывод, что онлайн обычно не нужен ни аудитории игроков этих игр, ни, что особенно важно, аудитории их авторов. Из чего заключаю, что подобного инструментария может не быть, он может быть, но не самым оттестированным и оттого плохого качества или с другими сложностями, присущими малоиспользуемым инструментам.
Но аргумент, что готовые библиотеки очень часто существуют на все случаи жизни – это твёрдый и обнадёживающий аргумент. Буду искать, если когда понадобится. Игру бы только сделать для начала.
А вот это дело. Ну что, подумал?
Конечно же нет!
Тут прямо какой-то культ личности Ильи!! :'D
От себя - остался в июне без работы. Так что теперь можно не изучать Анрил, а вместо него немного заняться тем, что я люблю. :)
Ставлю меч в знак поддержки, что с работой так. Надеюсь, больших сложностей это не вызовет.
Уйти в запой?)
Для этого обычно берут отпуск.
удалось выпустить мыша в VK Play
сейчас в разработке кое что сюрреалистичное. но эту игру я скорее всего отложу как закончу прототип
Ух ты, поздравляю! А нельзя ли купить игру напрямую из авторских рук, без ВК? Не хочу им пользоваться, а заодно и дополнительная копеечка пойдёт автору, а не площадке.
я не нашла другого способа автоматически продавать игры в нынешнее время. как знаешь, для меня главное - избегать прямого контакта с людьми, чтобы сохранить возможность работать. да и в игре действительно нет нового контента, только мелкие доработки.
Насколько больше конкурсной версии? есть патчноут почитать разницу?
Думаю, это конкурсная версия и есть.
Говорят, писать о прогрессе в пост можно до тех пор, пока не вышел следующий пост.
И вот, пользуясь тайными знаниями, коварно пытаюсь успеть.
Вдохновившись 27-м Гаминатором, решила доделывать игру. Кубик D6 внезапно превратился в D24, и работы по отрисовке локаций ощутимо прибавилось.
А ещё начала читать книгу Мари Уэйланд "Создание арки персонажа".
Книга отличная! Автор утверждает, что сюжет, арка главного героя и его внутренний конфликт — понятия неразрывные, и подробно объясняет, где взять конфликт и как создать вокруг него всю структуру повествования. А то, как изменится герой и какие решения он примет, напрямую влияет на идею произведения.
Единственный минус книги — в ней как будто бы СЛИШКОМ мало воды. Информация настолько концентрированная, что кажется, будто бы читаешь конспект. Нельзя упустить ни предложения, и это как бы хорошо, а всё же непривычно для восприятия.
По этой структуре получилось дописать менее насыщенную событиями часть сценария для игры.
Июнь вышел путешественным, строительным, деятельным, каким угодно, но только не разрабатывательным.
За месяц успела нарисовать всего несколько локаций, и теперь их (включая три конкурсные) стало тринадцать.