Вы даж не представляете как я радуюсь, когда вижу уведомление "вы получили ответ на вопрос ..." с юдеми или же уведомляшки с каналов в телеге, где я тоже бывает задаю вопросы
Но этот Firebelley (препод с курса) - он прям монстр, я реально за 5 лет веб-разработки просмотрел ну просто миллиарды платных и бесплатных курсов, некоторые с них были в основном абстрактными, некоторые теоретическими, некоторые чисто прикладными (практическими) без даже минимального объяснения деталей
А в этом курсе просто все бомба, мне даже не верится в то, что мне так повезло на него наткнутся и бустануть своё обучение настолько сильно
Я уже говорил что за курс я прохожу, но вот еще разочек линка на курс по Godot 4, оно на английском, но даже если вы слабенько понимаете на слух, то там есть субтитры, оно того стоит
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
День 89
Спустя три месяца я считаю уже пора начать.. читать документацию по Godot и GDScript😎
Не, ну а шо, три месяца (почти) написания кода без нормального изучения синтаксиса и движка это тот подход, который мы все уважаем
Когда-то там пару месяцев назад я говорил: "С понедельника я начну читать документацию по самому Godot...", ну да, у меня своё время, слегка иначе идёт, затянулось начало
Вчера просто сидел и читал доку годота, поузнавал некоторые полезные вещи (еще бы я не узнал) и заодно наткнулся на демо-игры от комьюнити, которые сделаны на годоте и их даже можно поклацать в браузере - https://godotengine.github.io/godot-demo-projects/
А вот сама ссылка на репозиторий с демками - https://github.com/godotengine/godot-demo-projects, некоторые вещи в теории можно оттуда подсмотреть, так что как-то выделю время на просмотр кода демок
P.S. Демку с названием "Saving and Loading (Serialization)" не открывайте.. у меня браузер и комп умер, я даже словил не синий экран смерти, а красный (чет новое), видосик записал с телефона, потому что.. комп же умер👀
#godot
Спустя три месяца я считаю уже пора начать.. читать документацию по Godot и GDScript
Не, ну а шо, три месяца (почти) написания кода без нормального изучения синтаксиса и движка это тот подход, который мы все уважаем
Когда-то там пару месяцев назад я говорил: "С понедельника я начну читать документацию по самому Godot...", ну да, у меня своё время, слегка иначе идёт, затянулось начало
Вчера просто сидел и читал доку годота, поузнавал некоторые полезные вещи (еще бы я не узнал) и заодно наткнулся на демо-игры от комьюнити, которые сделаны на годоте и их даже можно поклацать в браузере - https://godotengine.github.io/godot-demo-projects/
А вот сама ссылка на репозиторий с демками - https://github.com/godotengine/godot-demo-projects, некоторые вещи в теории можно оттуда подсмотреть, так что как-то выделю время на просмотр кода демок
P.S. Демку с названием "Saving and Loading (Serialization)" не открывайте.. у меня браузер и комп умер, я даже словил не синий экран смерти, а красный (чет новое), видосик записал с телефона, потому что.. комп же умер
#godot
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤1
День 9️⃣ 0️⃣
Числовой пост и юбилей
Три месяца разработки игр и занятием любимым делом - а когда-то я был простоганяным гражданским веб-разработчиком (ну и щас конечно являюсь им, но упустим этот момент)
Даже не знаю что написать такого - я просто сейчас искренне рад, что я не сдался из-за проблем и тупняков в первые недели, отношусь серьёзно к этому и получаю прям нееральное удовольствие от того, когда у меня что-то получается, например спавн кроликов за ареной, которых я все еще не пофиксил😳
Даже мурашки по коже пошли пока пост писал и думал о прошедших 3х месяцах (мб просто холодно, ну не важно)
Нас уже ❗️96 ❗️, а это практически в два раза больше чем 30 дней назад, сообщество стало больше на 43 человека.. я в приятном шоке, ведь несколько лет назад вся моя писанина ограничивалась всеми известными карикатурами на стенах в заброшках
Ну ладно, не будем о буквах, будем о числах:
В этом месяце почти все время я уделял разработке, в основном прохождению курса на юдеми и разработку мини-игры R.I.T.K.A. Rampage
Временные циферки:
Программирование - 26 часов 58 минут
Пиксель арт - 4 часа 37 минут
Брейншторминг - 3 часа 7 минут
...и новый пунктик
Менеджмент - 22 часа 26 минут...+, даже сейчас время тикает
Менеджмент это время, которое я уделял монтажу видео и написанию постов
Каждый день, за исключением 31 августа, а также 3, 10 и 22 сентября я так или иначе уделял время разработке игр (кстати могут быть погрешности, т.к. частенько я ночью работаю, так что сужу только по графику)
Минимально уделённое время за день - 6 минут 55 секунд 15 сентября, которое я уделил на разработку, абсолютный рекорд в тяжелом весе по разработке😎
Максимальное - 3 часа 15 минут 8 сентября, тоже разработка
Менеджмент идёт как отдельная штука, так что я её в статистику выше не включаю, а просто добавлю графиком
Теперь в конце каждого месяца будет два поста - первый со статистикой, юбилейный, вот такой как этот, а второй с прогрессом за прошлые 30 дней в виде смонтированного видосика + коротенький текст
Т.к. раньше не было постов с видосиками с результатом за долгий период - в этот раз я соберувсю фигню в одно видео все 90 дней прогресса, думаю выйдет четко вообще
Числовой пост и юбилей
Три месяца разработки игр и занятием любимым делом - а когда-то я был просто
Даже не знаю что написать такого - я просто сейчас искренне рад, что я не сдался из-за проблем и тупняков в первые недели, отношусь серьёзно к этому и получаю прям нееральное удовольствие от того, когда у меня что-то получается, например спавн кроликов за ареной, которых я все еще не пофиксил
Даже мурашки по коже пошли пока пост писал и думал о прошедших 3х месяцах (мб просто холодно, ну не важно)
Нас уже ❗️96 ❗️, а это практически в два раза больше чем 30 дней назад, сообщество стало больше на 43 человека.. я в приятном шоке, ведь несколько лет назад вся моя писанина ограничивалась всеми известными карикатурами на стенах в заброшках
Ну ладно, не будем о буквах, будем о числах:
В этом месяце почти все время я уделял разработке, в основном прохождению курса на юдеми и разработку мини-игры R.I.T.K.A. Rampage
Временные циферки:
Программирование - 26 часов 58 минут
Пиксель арт - 4 часа 37 минут
Брейншторминг - 3 часа 7 минут
...и новый пунктик
Менеджмент - 22 часа 26 минут...+, даже сейчас время тикает
Менеджмент это время, которое я уделял монтажу видео и написанию постов
Каждый день, за исключением 31 августа, а также 3, 10 и 22 сентября я так или иначе уделял время разработке игр (кстати могут быть погрешности, т.к. частенько я ночью работаю, так что сужу только по графику)
Минимально уделённое время за день - 6 минут 55 секунд 15 сентября, которое я уделил на разработку, абсолютный рекорд в тяжелом весе по разработке
Максимальное - 3 часа 15 минут 8 сентября, тоже разработка
Менеджмент идёт как отдельная штука, так что я её в статистику выше не включаю, а просто добавлю графиком
Теперь в конце каждого месяца будет два поста - первый со статистикой, юбилейный, вот такой как этот, а второй с прогрессом за прошлые 30 дней в виде смонтированного видосика + коротенький текст
Т.к. раньше не было постов с видосиками с результатом за долгий период - в этот раз я соберу
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7
Media is too big
VIEW IN TELEGRAM
Как и обещал - пост с видосом за результат 3х месяцев геймдева (и на ютуб тоже залил)
Ну и текстом немножко
Моей целью все еще является ARPG игра с прокачкой, навыками и лутом - как в Diablo 2 / Path of Exile / Titan Quest
Сейчас заканчиваю разработку игры R.I.T.K.A. Rampage в жанре игр Vampire Survivors + 20 Minutes Till Dawn
После этой игры буду делать следующую мини игру в жанре ARPG с двумя-тремя локациями, базовой прокачкой, парой навыком и так далее, эдакая диабла на минималках
За 90 дней я успел:
1. Порадоваться, что начал заниматься любимым делом
2. Захотеть дропнуть это дело (сложности возникли, ну да)
3. Наговнокодить по-дикому в первом проекте и стать счастливым
4. Снова порадоваться, что не дропнул геймдев и щас уже идёт все как по маслу
5. Попробовать себя в пиксель арте и даже сделать что-то сносное (нечлен )
6. Написать 20 тыщ самых свежих вчерашних постов
Ну и текстом немножко
Моей целью все еще является ARPG игра с прокачкой, навыками и лутом - как в Diablo 2 / Path of Exile / Titan Quest
Сейчас заканчиваю разработку игры R.I.T.K.A. Rampage в жанре игр Vampire Survivors + 20 Minutes Till Dawn
После этой игры буду делать следующую мини игру в жанре ARPG с двумя-тремя локациями, базовой прокачкой, парой навыком и так далее, эдакая диабла на минималках
За 90 дней я успел:
1. Порадоваться, что начал заниматься любимым делом
2. Захотеть дропнуть это дело (сложности возникли, ну да)
3. Наговнокодить по-дикому в первом проекте и стать счастливым
4. Снова порадоваться, что не дропнул геймдев и щас уже идёт все как по маслу
5. Попробовать себя в пиксель арте и даже сделать что-то сносное (не
6. Написать 20 тыщ самых свежих вчерашних постов
🔥20👍1
This media is not supported in your browser
VIEW IN TELEGRAM
День 91
Наконец-то добрался до написания поста, хоть и не очень информативного🦤
Исходя из недавнего опросника я понял, что посты каждый день это то, что нравится большинству, так что оставляем все как было (любимые вчерашние посты как этот тоже)
Вчера (в субботу) я немного потыкал шейдеры - препод использует их для "мигания" врагов белым при получении ими урона, у меня же эта функциональность готова и вынесена в отдельный компонент без использования шейдеров.. да и шейдеры в этой игре я не буду использовать
Шейдеры - это "графика в коде", т.е. тени, свет, цвет, всякие визуальные эффекты типа ветра для деревьев (кстати недавно чел, за которым я слежу, выложил видео с примером шейдеров, ещё прикреплю к посту это видео) - в общем они прям делают графику очень интересной
Да только есть проблемка - в годот в вебе шейдеры нагружают страничку сильно, если верить ребятам из чата, условно какая-то игра на 9мб грузится 10+ секунд, хотя могла бы почти моментально*
*И.. я не проверял это лично, потому что мне шейдеры щас точно не нужны, к шейдерам я активно подойду позже, а сейчас нужно сосредоточиться на другом (я просто ленивый, а клацнуть экспорт и проверить работает ли всё - это выше моих сил)
#godot #разработка
Наконец-то добрался до написания поста, хоть и не очень информативного
Исходя из недавнего опросника я понял, что посты каждый день это то, что нравится большинству, так что оставляем все как было (любимые вчерашние посты как этот тоже)
Вчера (в субботу) я немного потыкал шейдеры - препод использует их для "мигания" врагов белым при получении ими урона, у меня же эта функциональность готова и вынесена в отдельный компонент без использования шейдеров.. да и шейдеры в этой игре я не буду использовать
Шейдеры - это "графика в коде", т.е. тени, свет, цвет, всякие визуальные эффекты типа ветра для деревьев (кстати недавно чел, за которым я слежу, выложил видео с примером шейдеров, ещё прикреплю к посту это видео) - в общем они прям делают графику очень интересной
Да только есть проблемка - в годот в вебе шейдеры нагружают страничку сильно, если верить ребятам из чата, условно какая-то игра на 9мб грузится 10+ секунд, хотя могла бы почти моментально*
*И.. я не проверял это лично, потому что мне шейдеры щас точно не нужны, к шейдерам я активно подойду позже, а сейчас нужно сосредоточиться на другом (я просто ленивый, а клацнуть экспорт и проверить работает ли всё - это выше моих сил)
#godot #разработка
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🫡1
День 92
Спавн мобов пофикшен✅
Как у меня спавн мобов вообще работает:
1. Выбирается точка за пределом зрения игрока (точки на краю круга с радиусом около 355px)
2. Если точка находится за ареной - перемещаем эту точку на 90°, если снова за ареной - еще раз, и так 4 раза максимум, какая-то точка 100% должна быть на арене (ага, расскажите это кроликам за ареной)
Определение "находится ли точка спавна за ареной" делается следующим образом - я провожу невидимый физический луч, который идёт от игрока до потенциальной точки спавна моба, если этот луч соприкасается с границами арены (спрайты воды) - то перемещаем точку на 90°
Звучит как что-то, что должно работать как часы, оно то так и есть.. только арена была настолько маленькой, а радиус спавна был настолько большой, что появились баги со спавном. Если коротко - я перепутал радиус с диагональю, и все время думал, что круг спавна значительно меньше, чем было на самом деле
Когда Ритка стояла посередине арены и по бокам было видно воду - это значило что точка спавна может быть прям на воде, что является нормальным, но если арена небольшая и "круг спавна" больше самой арены, то все 4 точки потенциальные были на позициях 0, 90, 180 и 270 градусов и все они были на воде и враг спавнился на последней
Решение простое (easy yet powerful) - увеличить арену
Пока увеличивал арену разобрался с автотайлингом в Godot 4 и теперь мне не надо каждый квадратик или уголок вручную тыкать - ведь можно просто использовать инструмент "прямоугольник" (заливка выделенной области тайлами) и подходящий тайл ставится автоматически (ведь угол может быть только в углу, а не где-то слева или в середине арены)
Забыл в одном из прошлых постов показать неплохой и бесплатный набор пиксельных шрифтов, я использую "KarenFat", препод использует "Rockboxcond12", но мне он не очень зашел - слишком высокие/длинные символы
Прикрепил пару видео - короткое с результатом пофикшенного спавна и минутку ускоренного "брейншторминга" где я выяснял что не так со спавном (на 33 секунде до меня дошло где была собака зарыта, я там четыре точки нарисовал еще🥳 )
И наконец-то залил обновлённую версию на itch.io и вы можете потыкать игру прямо в браузере - https://sundwell.itch.io/ritka-rampage
И еще в комменты закину билд для виндовса - можно запустить exe'шник имайнер на месте можно будет поиграть, надеюсь оно рабочее 👀
#godot #ritkarampage #разработка
Спавн мобов пофикшен
Как у меня спавн мобов вообще работает:
1. Выбирается точка за пределом зрения игрока (точки на краю круга с радиусом около 355px)
2. Если точка находится за ареной - перемещаем эту точку на 90°, если снова за ареной - еще раз, и так 4 раза максимум, какая-то точка 100% должна быть на арене (ага, расскажите это кроликам за ареной)
Определение "находится ли точка спавна за ареной" делается следующим образом - я провожу невидимый физический луч, который идёт от игрока до потенциальной точки спавна моба, если этот луч соприкасается с границами арены (спрайты воды) - то перемещаем точку на 90°
Звучит как что-то, что должно работать как часы, оно то так и есть.. только арена была настолько маленькой, а радиус спавна был настолько большой, что появились баги со спавном. Если коротко - я перепутал радиус с диагональю, и все время думал, что круг спавна значительно меньше, чем было на самом деле
Когда Ритка стояла посередине арены и по бокам было видно воду - это значило что точка спавна может быть прям на воде, что является нормальным, но если арена небольшая и "круг спавна" больше самой арены, то все 4 точки потенциальные были на позициях 0, 90, 180 и 270 градусов и все они были на воде и враг спавнился на последней
Решение простое (easy yet powerful) - увеличить арену
Пока увеличивал арену разобрался с автотайлингом в Godot 4 и теперь мне не надо каждый квадратик или уголок вручную тыкать - ведь можно просто использовать инструмент "прямоугольник" (заливка выделенной области тайлами) и подходящий тайл ставится автоматически (ведь угол может быть только в углу, а не где-то слева или в середине арены)
Забыл в одном из прошлых постов показать неплохой и бесплатный набор пиксельных шрифтов, я использую "KarenFat", препод использует "Rockboxcond12", но мне он не очень зашел - слишком высокие/длинные символы
Прикрепил пару видео - короткое с результатом пофикшенного спавна и минутку ускоренного "брейншторминга" где я выяснял что не так со спавном (на 33 секунде до меня дошло где была собака зарыта, я там четыре точки нарисовал еще
И наконец-то залил обновлённую версию на itch.io и вы можете потыкать игру прямо в браузере - https://sundwell.itch.io/ritka-rampage
И еще в комменты закину билд для виндовса - можно запустить exe'шник и
#godot #ritkarampage #разработка
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤1
День 93
Вчера был день рефакторинга⌨️
Во первых - меня мучали два вопроса:
1. Как дебажить игру, когда она станет побольше? (детали на скриншотах с вопросами и ответами)
2. Как бороться с "магическими строками"
Насчет дебага вкратце - можно и нужно делать отдельные инструменты для дебага. Например сделать сцену, где будет несколько кнопок на экране, например "Заспавнить случайного моба" или "+100" опыта и так далее, звучит как план и мне он нравится. Конечно же сейчас прям мне это не надо, но на скриншоте я описал пару проблем, с которыми уже сталкиваюсь (например оставил "опыт до след. уровня = 1" и забыл вернуть в исходное состояние)
Насчет магических строк - сделать константы. Вариант бомбезный, препод подсказал как это правильно сделать - создать скрипт с константами, загрузить его как синглтон (иначе не сработает) и использовать глобально - уже всё переписал на константы, теперь доволен как слон💃
Переписал логику выбора случайного врага, а точнее сделал "таблицу весов" универсальной, а не прям хардкодно привязанную к EnemyManager, прикреплю скриншот с ДО и ПОСЛЕ и сам скрипт WeightedTable тоже. Сделал я это из-за того, что скоро буду добавлять новый тип улучшений - апгрейды для оружия (пока что оно одно, но будет еще как минимум два) и для них я сделаю "редкость", впрочем как и для "мутаций"
Еще я очень часто ищу ноду игрока с помощью😎 , а вообще - функции get_player() я добавил аннотацию возвращаемого типа как
На очереди рефакторинг оружия, потому что это единственная вещь, которая написана в проекте максимально ущербно.. мне даже стыдно за это, я даже не выносил оружие как отдельную ноду, а скрипт для оружия лежит вообще в папке с синглтонами😳
Ну и улучшение для оружия тоже завезу, пора бы уже, но для начала надо сделать логику выпадения наковальни (тут подробнее о ней). Вкратце - иногда будет выпадать наковальня, с помощью которой можно будет улучшить оружие. Это будут не просто числовые значения, а будет изменение геймплея, прям как в Hades это сделано с помощью молота Дейдалуса
Подумать только надо будет хорошо, какие улучшения делать для оружия.. может "эволюционировать" оружие, типа пистолет превращается или в дробовик или в узишку. Я сначала хотел сделать именно дробовик и/или узишку как второе и третье оружие, но я подумал, что это супер неинтересно, суть та же - пули и зажатая клавиша. Теперь вот думаю насчет.. лука, его можно будет натягивать (неоднозначно звучит), и чем больше натяжение - тем быстрее и дальше летит стрела и тем больше у неё урона, а еще стрела будет пронзать врагов, только еще не знаю какую логику туда запихнуть, пока что два варианта есть:
1. У стрелы "10 урона", у зайца "5 хп", стрела наносит зайцу "5 урона" и летит дальше, только уже с "5 урона"
2. У стрелы "4 урона", у зайца "5 хп", стрела наносит зайцу "4 урона" и пробивает его насквозь с тем же "4 урона"
Столько думать - но мне реально в кайф
#godot #ritkarampage #разработка
Вчера был день рефакторинга
Во первых - меня мучали два вопроса:
1. Как дебажить игру, когда она станет побольше? (детали на скриншотах с вопросами и ответами)
2. Как бороться с "магическими строками"
Насчет дебага вкратце - можно и нужно делать отдельные инструменты для дебага. Например сделать сцену, где будет несколько кнопок на экране, например "Заспавнить случайного моба" или "+100" опыта и так далее, звучит как план и мне он нравится. Конечно же сейчас прям мне это не надо, но на скриншоте я описал пару проблем, с которыми уже сталкиваюсь (например оставил "опыт до след. уровня = 1" и забыл вернуть в исходное состояние)
Насчет магических строк - сделать константы. Вариант бомбезный, препод подсказал как это правильно сделать - создать скрипт с константами, загрузить его как синглтон (иначе не сработает) и использовать глобально - уже всё переписал на константы, теперь доволен как слон
Переписал логику выбора случайного врага, а точнее сделал "таблицу весов" универсальной, а не прям хардкодно привязанную к EnemyManager, прикреплю скриншот с ДО и ПОСЛЕ и сам скрипт WeightedTable тоже. Сделал я это из-за того, что скоро буду добавлять новый тип улучшений - апгрейды для оружия (пока что оно одно, но будет еще как минимум два) и для них я сделаю "редкость", впрочем как и для "мутаций"
Еще я очень часто ищу ноду игрока с помощью
get_tree().get_first_node_in_group("player") и я решил упростить себе жизнь - сделал хелпер-функции глобальным объектом "Utils", теперь вместо var player = get_tree().get_first_node_in_group("player") as Node2D я пишу var player = Utils.get_player(). Аннотацию типа тут опустил, чтобы показать насколько класснючий подход func get_player() -> Node2D так что автокомплит работает и жизнь налажена, но аннотация не помешает - так легче читать кодНа очереди рефакторинг оружия, потому что это единственная вещь, которая написана в проекте максимально ущербно.. мне даже стыдно за это, я даже не выносил оружие как отдельную ноду, а скрипт для оружия лежит вообще в папке с синглтонами
Ну и улучшение для оружия тоже завезу, пора бы уже, но для начала надо сделать логику выпадения наковальни (тут подробнее о ней). Вкратце - иногда будет выпадать наковальня, с помощью которой можно будет улучшить оружие. Это будут не просто числовые значения, а будет изменение геймплея, прям как в Hades это сделано с помощью молота Дейдалуса
Подумать только надо будет хорошо, какие улучшения делать для оружия.. может "эволюционировать" оружие, типа пистолет превращается или в дробовик или в узишку. Я сначала хотел сделать именно дробовик и/или узишку как второе и третье оружие, но я подумал, что это супер неинтересно, суть та же - пули и зажатая клавиша. Теперь вот думаю насчет.. лука, его можно будет натягивать (неоднозначно звучит), и чем больше натяжение - тем быстрее и дальше летит стрела и тем больше у неё урона, а еще стрела будет пронзать врагов, только еще не знаю какую логику туда запихнуть, пока что два варианта есть:
1. У стрелы "10 урона", у зайца "5 хп", стрела наносит зайцу "5 урона" и летит дальше, только уже с "5 урона"
2. У стрелы "4 урона", у зайца "5 хп", стрела наносит зайцу "4 урона" и пробивает его насквозь с тем же "4 урона"
Столько думать - но мне реально в кайф
#godot #ritkarampage #разработка
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2👍1
День 94
Переработка оружия и другие мелочи🔫
Как и планировал - переработал оружие, теперь это не какая-то монолитная структура, а полноценный компонент с заделом на будущее - можно впилить туда что-угодно (не точно)
Сделал WeaponController, которому даётся сцена оружия (в нашем случае пистолет), контроллер создаёт оружие и работает как прослойка между фактически оружием и персонажем. Т.е. в скрипте персонажа что-то такое:
Также прикреплю скриншоты с деталями реализации
Забыл в прошлом посте написать что не все так гладко, баги тоже присутствуют и я случайно наткнулся на еще один - в EnemyManager изначально стоит 1 секунда на спавн врага и скорость спавна менялась только когда менялся уровень сложности (в смысле новая волна), это значит, что даже если бы я установил в настройках волны
Добавил микроулучшение для оружия "Damage Up" просто чтобы протестировать, что всё работает как и надо (всё работает как и надо - подтверждаю)
Пока переделывал оружие возникло очень много вопросов на будущее, всё задал преподу (ну как обычно), всё еще не могу нарадоваться его подходу с композицией - это реально бомба💣
Щас в процессе добавление улучшений для оружия, но я снова впал в неопределённость по поводу апгрейдов, думаю как бы их сделать интересными🤔
К слову, репозиторий тут - https://github.com/Sundwell/ritka-rampage, может кому полезно будет всё это глянуть целой картиной
#godot #ritkarampage #разработка
Переработка оружия и другие мелочи
Как и планировал - переработал оружие, теперь это не какая-то монолитная структура, а полноценный компонент с заделом на будущее - можно впилить туда что-угодно (не точно)
Сделал WeaponController, которому даётся сцена оружия (в нашем случае пистолет), контроллер создаёт оружие и работает как прослойка между фактически оружием и персонажем. Т.е. в скрипте персонажа что-то такое:
# player.gd
@onready var weapon_controller = $WeaponController
...
if Input.is_action_pressed('fire'):
weapon_controller.shoot()
Также прикреплю скриншоты с деталями реализации
Забыл в прошлом посте написать что не все так гладко, баги тоже присутствуют и я случайно наткнулся на еще один - в EnemyManager изначально стоит 1 секунда на спавн врага и скорость спавна менялась только когда менялся уровень сложности (в смысле новая волна), это значит, что даже если бы я установил в настройках волны
time_to_spawn = 0.1 то оно не применилось бы, если волна была бы первой. Сложно объяснить человеческим языком, надеюсь вы поняли 🫡Добавил микроулучшение для оружия "Damage Up" просто чтобы протестировать, что всё работает как и надо (всё работает как и надо - подтверждаю)
Пока переделывал оружие возникло очень много вопросов на будущее, всё задал преподу (ну как обычно), всё еще не могу нарадоваться его подходу с композицией - это реально бомба
Щас в процессе добавление улучшений для оружия, но я снова впал в неопределённость по поводу апгрейдов, думаю как бы их сделать интересными
К слову, репозиторий тут - https://github.com/Sundwell/ritka-rampage, может кому полезно будет всё это глянуть целой картиной
#godot #ritkarampage #разработка
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍1
День 95
Вчера обдумывал в общем и целом механику улучшения для оружий, сидел, думал, рисовал
Пока что суть будет такова:
1. Наковальня не будет выпадать с врагов, а будет появляться в случайном месте на арене и к ней будет указывать стрелка от игрока (такой мини-гайд)
2. При подборе наковальни будет выбор из трёх улучшений для оружия
3. Улучшений для каждого оружия будет около 7-10 с разными уровнями редкости
4. Каждое улучшение будет иметь редкость - Common, Rare, Epic
4.1 Common - обычное улучшение, что-то на уровне "+10% к скорости атаки" или "+2 к урону". Вес - 5 единиц (для случайной выборки с помощью WeightedTable
4.2 Rare - редкое улучшение, уже не просто банальное добавление урона или скорости, а небольшое изменение оружия, например "+1 пуля, но стрельба теперь диагональная, а не по прямой"
4.3 Epic - самое мощное улучшение, которое должно по идее немного менять геймплей. Я еще не придумал какие тут могут быть улучшения, но, вероятно, это будет какой-то навык для оружия, который будет активироваться вручную или же автоматически
5. Первая наковальня появляется на 1 минуте, все остальные - каждые 2 минуты
По коду сделал только скрипт для описания улучшений оружия, скриншот с реализацией как всегда на месте, конечно она не финальная, те же типы оружий надо вынести в глобальные константы например, но суть будет та же🍞
Сейчас занимаюсь собственно внедрением этих улучшений для оружия, рисую наковальню, потом сделаю логику наковальни и немного подправлю юай, т.к. карточки с улучшениями оружия будут слегка отличаться
Кстати.. надо бы где-то список мутаций и улучшений показывать, как в Hades, запишу себе эту идею😎
То что я рисую-визуализирую можете смотреть вот тут - https://app.excalidraw.com/s/9y27NZhzu83/3X9j11vuHVJ, регаться не надо, все супер удобно
#ritkarampage #разработка
Вчера обдумывал в общем и целом механику улучшения для оружий, сидел, думал, рисовал
Пока что суть будет такова:
1. Наковальня не будет выпадать с врагов, а будет появляться в случайном месте на арене и к ней будет указывать стрелка от игрока (такой мини-гайд)
2. При подборе наковальни будет выбор из трёх улучшений для оружия
3. Улучшений для каждого оружия будет около 7-10 с разными уровнями редкости
4. Каждое улучшение будет иметь редкость - Common, Rare, Epic
4.1 Common - обычное улучшение, что-то на уровне "+10% к скорости атаки" или "+2 к урону". Вес - 5 единиц (для случайной выборки с помощью WeightedTable
4.2 Rare - редкое улучшение, уже не просто банальное добавление урона или скорости, а небольшое изменение оружия, например "+1 пуля, но стрельба теперь диагональная, а не по прямой"
4.3 Epic - самое мощное улучшение, которое должно по идее немного менять геймплей. Я еще не придумал какие тут могут быть улучшения, но, вероятно, это будет какой-то навык для оружия, который будет активироваться вручную или же автоматически
5. Первая наковальня появляется на 1 минуте, все остальные - каждые 2 минуты
По коду сделал только скрипт для описания улучшений оружия, скриншот с реализацией как всегда на месте, конечно она не финальная, те же типы оружий надо вынести в глобальные константы например, но суть будет та же
Сейчас занимаюсь собственно внедрением этих улучшений для оружия, рисую наковальню, потом сделаю логику наковальни и немного подправлю юай, т.к. карточки с улучшениями оружия будут слегка отличаться
Кстати.. надо бы где-то список мутаций и улучшений показывать, как в Hades, запишу себе эту идею
То что я рисую-визуализирую можете смотреть вот тут - https://app.excalidraw.com/s/9y27NZhzu83/3X9j11vuHVJ, регаться не надо, все супер удобно
#ritkarampage #разработка
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍1
День 96
Вернемся немного на 2й день разработки, где я говорил, что всё хочу делать сам😱
Последние пару недель меня не покидала мысль над созданием своей небольшой команды, как минимум так будет веселее, как максимум (что самое главное) - эффективнее
Так вот - я потихоньку начал искать себе по разным чатикам/каналам и просто по поиску в телеге пиксель арт художника и саунд-дизайнера + композитора
Очень хотелось бы все это дело делать с знакомыми или друзьями, но не все так просто
С художником договорились созвониться в понедельник - познакомиться, пообщаться и в общем проговорить что и как у нас будет
Саунд-дизайнер + композитор это мой знакомый, который занимается музыкой, его заинтересовала идея создавать звуковое и музыкальное сопровождение для игр, завтра (сегодня, в субботу) созвонимся с ним и обсудим что там к чему тоже (Ярик если ты это читаешь, то ты знаешь кто это😎 )
Так к чему это я - хотеть это всегда хорошо, но надо быть реалистом, все-таки делать игры вместе будет очень классно и, что самое главное, намного, намного быстрее и качественнее, чем быть человеком-оркестром. Конечно хочется чтобы было всё "свое", но таким образом можно стать разработчиком Kenshi (18 лет разработки, из них 6 лет в одиночку) или 7 Days To Die (вечная альфа/бета, недавно релизнулись спустя 20 тыщ лет.. а её разрабатывает команда, хотя сначала было только 2 человека)
Примеры выше это офигенные и очень интересные игры, да только с огромным кол-вом багов и очень-очень длительными перерывами между обновлениями. Могу смело предположить что это всё из-за того, что изначально игры делались маленькой командой (2 человека) или же вообще в одиночку, что не позволяло тщательно протестировать-поплейтестить игру, спроектировать её, сделать баланс и, в итоге, это все стало снежным комом - "чем дальше в лес тем злее волки", технический долг рос до бесконечности, а теперь, вероятно, вместо 1 часа на добавление фичи приходится тратить 20 часов на неё же из-за нерасширяемого кода и вечных компромиссов (тоже в коде, и я не преувеличиваю)
Но ведь эти игры популярны и реально успешны и.. да, все так, но просто прикинуть сколько десятков тысяч людей делают уникальные игры в одиночку годами и о них никто не знает и они ничего не добиваются в итоге и забрасывают игры - это просто не счесть. Kenshi и 7 Days To Die по моему мнению это игры "1 на миллион" и что-то типа "ошибки выжившего"
Возможно я слишком серьёзно подхожу к этому всему, но, мне кажется, это хороший путь, ведь я учусь на ошибках других и продумываю наперёд
В идеале на данный момент хочу следующую команду:
- Разработчик
- Геймдизайнер
- Художник
- Звукарь
Разработчиком буду я, как и геймдизайнером, уже материалов для изучения набралось огромное кол-во, в особенности по балансировке, числам, прогрессии, левел-дизайне. И т.к. я делегирую работу со звуком и арт-дизайном другим, то у меня освобождается много времени, поэтому я смогу заниматься и геймдизайном полноценно тоже
Ну и не зря же я помимо основной работы подрабатываю - надо развивать своё дело, вкладываться, будет моя маленькая инди-компания🙈
P.S. ох и долго же я делаю эту мини игру R.I.T.K.A. Rampage, но я никуда не спешу, главное успевать прокрастинировать несколько часов в день - это самое главное😬
Вернемся немного на 2й день разработки, где я говорил, что всё хочу делать сам
Последние пару недель меня не покидала мысль над созданием своей небольшой команды, как минимум так будет веселее, как максимум (что самое главное) - эффективнее
Так вот - я потихоньку начал искать себе по разным чатикам/каналам и просто по поиску в телеге пиксель арт художника и саунд-дизайнера + композитора
Очень хотелось бы все это дело делать с знакомыми или друзьями, но не все так просто
С художником договорились созвониться в понедельник - познакомиться, пообщаться и в общем проговорить что и как у нас будет
Саунд-дизайнер + композитор это мой знакомый, который занимается музыкой, его заинтересовала идея создавать звуковое и музыкальное сопровождение для игр, завтра (сегодня, в субботу) созвонимся с ним и обсудим что там к чему тоже (Ярик если ты это читаешь, то ты знаешь кто это
Так к чему это я - хотеть это всегда хорошо, но надо быть реалистом, все-таки делать игры вместе будет очень классно и, что самое главное, намного, намного быстрее и качественнее, чем быть человеком-оркестром. Конечно хочется чтобы было всё "свое", но таким образом можно стать разработчиком Kenshi (18 лет разработки, из них 6 лет в одиночку) или 7 Days To Die (вечная альфа/бета, недавно релизнулись спустя 20 тыщ лет.. а её разрабатывает команда, хотя сначала было только 2 человека)
Примеры выше это офигенные и очень интересные игры, да только с огромным кол-вом багов и очень-очень длительными перерывами между обновлениями. Могу смело предположить что это всё из-за того, что изначально игры делались маленькой командой (2 человека) или же вообще в одиночку, что не позволяло тщательно протестировать-поплейтестить игру, спроектировать её, сделать баланс и, в итоге, это все стало снежным комом - "чем дальше в лес тем злее волки", технический долг рос до бесконечности, а теперь, вероятно, вместо 1 часа на добавление фичи приходится тратить 20 часов на неё же из-за нерасширяемого кода и вечных компромиссов (тоже в коде, и я не преувеличиваю)
Но ведь эти игры популярны и реально успешны и.. да, все так, но просто прикинуть сколько десятков тысяч людей делают уникальные игры в одиночку годами и о них никто не знает и они ничего не добиваются в итоге и забрасывают игры - это просто не счесть. Kenshi и 7 Days To Die по моему мнению это игры "1 на миллион" и что-то типа "ошибки выжившего"
Ошибка выжившего — это логическая ошибка, когда люди делают выводы только на основе тех, кто "выжил" или успешно прошёл отбор, игнорируя тех, кто не дошёл до цели. Это приводит к искажённой оценке ситуации, так как не учитываются неудачи или провалы.
Возможно я слишком серьёзно подхожу к этому всему, но, мне кажется, это хороший путь, ведь я учусь на ошибках других и продумываю наперёд
В идеале на данный момент хочу следующую команду:
- Разработчик
- Геймдизайнер
- Художник
- Звукарь
Разработчиком буду я, как и геймдизайнером, уже материалов для изучения набралось огромное кол-во, в особенности по балансировке, числам, прогрессии, левел-дизайне. И т.к. я делегирую работу со звуком и арт-дизайном другим, то у меня освобождается много времени, поэтому я смогу заниматься и геймдизайном полноценно тоже
Ну и не зря же я помимо основной работы подрабатываю - надо развивать своё дело, вкладываться, будет моя маленькая инди-компания
P.S. ох и долго же я делаю эту мини игру R.I.T.K.A. Rampage, но я никуда не спешу, главное успевать прокрастинировать несколько часов в день - это самое главное
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🔥1
День 97
Сегодня (в пятницу) я сделал целое ничего😎
Решил дать себе несколько часиков отдыха пожертвовав разработкой самых интересных улучшений для оружия
Т.к. новостей пока что нет, то хотел бы поделиться своим хобби - велотуризмом, а точнее просто парой историй из жизни, связанных с велосипедом и поездками, но (скорее всего) не связанных между собой
Последние 9 месяцев конечно он на паузе, но скоро планирую возобновлять (ага, зимой по снегу, ну да), но это неважно👀
Учился ездить я в детстве - меня учила сестра, точно не помню что за велик был, но вроде как ХВЗ, хотя могу ошибаться. В общем я просто садился на велик, а сестра сзади подталкивала и страховала, было это все прям возле речки, еду я значит, смотрю назад - а сестра уже за метров 50 от меня, ну и как полагается управление сразу же магическим образом пропадает и я улетаю в камыши
—
Как-то раз я ехал на моём первом красном монстре (он был под 20кг весом, двухподвес, рама наверное была из кирпичей.. ) в магазин на углу в метрах 300 от дома, ну я как обычно возле магаза кладу велик (бросаю его на пол), иду покупать продукты и там пивас для бати, не помню уже.., в общем заходит какой-то мужик перепуганный и спрашивает: "Чей красный велосипед?", ну я отвечаю положительно, а он говорит: "Его уже нет". Я выбегаю, смотрю - а этот мужик тупо на.. КАМАЗе переехал мой велосипед, он не заметил его из-за высокой кабины.. четко
—
Обкатывал я как-то свой велосипед (тот самый красный с истории выше), у меня возле дома была "треугольная" территория, где нижний угол четко шел к воротам моего дома, средний угол повыше был как раз тем магазинчиком на углу, а третий угол это было начало горки - самая высокая точка. Вот я и катался по "треугольнику", поднимался на гору, скатывался с неё, ну в общем раньше для радости надо было немного. Так вот еду я с горки, а там еще щебёнка была возле нижнего угла, ну я начинаю тормозить но что-то идёт не по плану и я не торможу, а начинаю делать дикий дрифт влево-вправо и, поитогу, тупо впечатываюсь головой в свои же ворота
—
Ехал я вот буквально недавно (7 лет назад) в очередную мини велотуристическую поездку - на карьер и назад. Еду на карьер, а там по бокам очень крутые горки, по которым я иногда скатывался притормаживая и получая дикий заряд адреналина
Как-то раз я решил скатнуться.. без тормозов (гений, знаю), еще тогда записывал видео в инсту со словами: "Уух, ща как скачусь, та ты шо", в общем скатился я и следующее видео в истории было похожее на: "[мат], [мат], [мат], фух" и показываю себя израненного и тупо подранного со всех сторон. В общем я просто без тормозов поехал и там было много ям и "трамплинов" и если ехать на тормозах то все хорошо, но в этот раз я просто.. сделал сальто и даже остался жив, в прямом смысле сальто - я тупо перевернулся воздухе
Первое, что я сделал после того, как встал - начал проговаривать своё имя и своих родителей (проверял не потерял ли я память),ну в общем все обошлось.., так я ж еще ехал без футболки, потому что жарко было, так бы обошлось еще легче все
Велик даже целый был, что очень удивительно, но я уже мягко говоря чувствовал, что не смогу доехать 10км назад домой. К счастью там была какая-то улица из четырех домов старых, я постучался в первый и попросился у какого-то дедушки промыть водой раны, он позвал свою жену и она тряпкой мне раны промывала водой, а потом лила перекись.. это было ну очень больно, жещ
Ну в итоге я набрал знакомого и попросил чтобы кто-то по меня приехал на машине, в общем отвезли меня и всё четко, выжил, да только две ночи не спал, выходил ночью на улицу и ходил без футболки, ветер дул на раны и они не так болели, потому что спать не мог никак - оба бока и спина были прям в мясо, а на животе не выходило спать (я пытался)
Я тогда еще фото и видеофиксацию делал, приложу в комменты под спойлером, все-таки там немного крови, так что ответственность за просмотр на вас 👀
Сегодня (в пятницу) я сделал целое ничего
Решил дать себе несколько часиков отдыха пожертвовав разработкой самых интересных улучшений для оружия
Т.к. новостей пока что нет, то хотел бы поделиться своим хобби - велотуризмом, а точнее просто парой историй из жизни, связанных с велосипедом и поездками, но (скорее всего) не связанных между собой
Последние 9 месяцев конечно он на паузе, но скоро планирую возобновлять (ага, зимой по снегу, ну да), но это неважно
Учился ездить я в детстве - меня учила сестра, точно не помню что за велик был, но вроде как ХВЗ, хотя могу ошибаться. В общем я просто садился на велик, а сестра сзади подталкивала и страховала, было это все прям возле речки, еду я значит, смотрю назад - а сестра уже за метров 50 от меня, ну и как полагается управление сразу же магическим образом пропадает и я улетаю в камыши
—
Как-то раз я ехал на моём первом красном монстре (
—
Обкатывал я как-то свой велосипед (тот самый красный с истории выше), у меня возле дома была "треугольная" территория, где нижний угол четко шел к воротам моего дома, средний угол повыше был как раз тем магазинчиком на углу, а третий угол это было начало горки - самая высокая точка. Вот я и катался по "треугольнику", поднимался на гору, скатывался с неё, ну в общем раньше для радости надо было немного. Так вот еду я с горки, а там еще щебёнка была возле нижнего угла, ну я начинаю тормозить но что-то идёт не по плану и я не торможу, а начинаю делать дикий дрифт влево-вправо и, поитогу, тупо впечатываюсь головой в свои же ворота
—
Ехал я вот буквально недавно (7 лет назад) в очередную мини велотуристическую поездку - на карьер и назад. Еду на карьер, а там по бокам очень крутые горки, по которым я иногда скатывался притормаживая и получая дикий заряд адреналина
Как-то раз я решил скатнуться.. без тормозов (гений, знаю), еще тогда записывал видео в инсту со словами: "Уух, ща как скачусь, та ты шо", в общем скатился я и следующее видео в истории было похожее на: "[мат], [мат], [мат], фух" и показываю себя израненного и тупо подранного со всех сторон. В общем я просто без тормозов поехал и там было много ям и "трамплинов" и если ехать на тормозах то все хорошо, но в этот раз я просто.. сделал сальто и даже остался жив, в прямом смысле сальто - я тупо перевернулся воздухе
Первое, что я сделал после того, как встал - начал проговаривать своё имя и своих родителей (проверял не потерял ли я память),ну в общем все обошлось.., так я ж еще ехал без футболки, потому что жарко было, так бы обошлось еще легче все
Велик даже целый был, что очень удивительно, но я уже мягко говоря чувствовал, что не смогу доехать 10км назад домой. К счастью там была какая-то улица из четырех домов старых, я постучался в первый и попросился у какого-то дедушки промыть водой раны, он позвал свою жену и она тряпкой мне раны промывала водой, а потом лила перекись.. это было ну очень больно, жещ
Ну в итоге я набрал знакомого и попросил чтобы кто-то по меня приехал на машине, в общем отвезли меня и всё четко, выжил, да только две ночи не спал, выходил ночью на улицу и ходил без футболки, ветер дул на раны и они не так болели, потому что спать не мог никак - оба бока и спина были прям в мясо, а на животе не выходило спать (я пытался)
Я тогда еще фото и видеофиксацию делал, приложу в комменты под спойлером, все-таки там немного крови, так что ответственность за просмотр на вас 👀
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤3
День 98
Вчера решил ощутить себя снова "художником" рисуя.. наковальню😎
Как-то шло сложновато, много времени искал подходящие цвета и сейчас вообще думаю чтобы поменять цвета всей игры, чтобы они были ближе к ненасыщенным и использовать ограниченное кол-во цветов, а то я уже миллиард разных оттенков использую
Прикрепил видео с таймлапсом той самой наковальни и еще фото результата и новой палитры, которую я теперь буду использовать, попробую ограничиться только ею
Палитры тут ищу - https://lospec.com/palette-list/nanner-pancakes
Сейчас как-то настроение не апгрейды делать, а порисовать, так что сейчас делаю визуальщину пока муза не ушла😌
#pixelart #ritkarampage
Вчера решил ощутить себя снова "художником" рисуя.. наковальню
Как-то шло сложновато, много времени искал подходящие цвета и сейчас вообще думаю чтобы поменять цвета всей игры, чтобы они были ближе к ненасыщенным и использовать ограниченное кол-во цветов, а то я уже миллиард разных оттенков использую
Прикрепил видео с таймлапсом той самой наковальни и еще фото результата и новой палитры, которую я теперь буду использовать, попробую ограничиться только ею
Палитры тут ищу - https://lospec.com/palette-list/nanner-pancakes
Сейчас как-то настроение не апгрейды делать, а порисовать, так что сейчас делаю визуальщину пока муза не ушла
#pixelart #ritkarampage
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
День 99
Порисовал вчера - сделал редизайн всей графики под новую палитру. Теперь не так ярко конечно, но и не так вырвиглазно и едко, как было до
Знаю, знаю, вроде как было поярче именно "до", но щас все игры экспериментальные, ищу подходящий стиль, подходящую насыщенность и т.п., надо тестировать, чтобы потом понять что реально будет классно выглядеть
С саунд-дизайнером и художником уже порешал📞
Теперь будет небольшая инди-команда, и самое главное что все заинтересованы в разработке игр (ну и любой труд оплачивается само собой)
Так что уже прям в эту секунду сосредотачиваюсь на дальнейшей разработке и геймдизайне и больше ни на чем (почти)
Прикрепляю видосик с процессом редизайна, результатом и фото с палитрой (выбрал другую, а то в предыдущей цветов было мало)
#pixelart
Порисовал вчера - сделал редизайн всей графики под новую палитру. Теперь не так ярко конечно, но и не так вырвиглазно и едко, как было до
Знаю, знаю, вроде как было поярче именно "до", но щас все игры экспериментальные, ищу подходящий стиль, подходящую насыщенность и т.п., надо тестировать, чтобы потом понять что реально будет классно выглядеть
С саунд-дизайнером и художником уже порешал
Теперь будет небольшая инди-команда, и самое главное что все заинтересованы в разработке игр (ну и любой труд оплачивается само собой)
Так что уже прям в эту секунду сосредотачиваюсь на дальнейшей разработке и геймдизайне и больше ни на чем (почти)
Прикрепляю видосик с процессом редизайна, результатом и фото с палитрой (выбрал другую, а то в предыдущей цветов было мало)
#pixelart
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍1