Чтож я всё пишу и пишу... Уже 5 месяцев как сумасшедший. Теперь ваша очередь!
🗣 Развеем немного производственную духоту. Есть ли у вас какие-нибудь вопросы ко мне? Или советы по игре? А может, просто история, которой хочется поделиться?
📅 Расскажите хотя бы, какие планы на выходные? Уходите в гейминг, едете на дачу или тоже заварили кашу со своими проектами и будете кодить?
Жду вас в комментариях, давайте просто поболтаем. 👇
🗣 Развеем немного производственную духоту. Есть ли у вас какие-нибудь вопросы ко мне? Или советы по игре? А может, просто история, которой хочется поделиться?
📅 Расскажите хотя бы, какие планы на выходные? Уходите в гейминг, едете на дачу или тоже заварили кашу со своими проектами и будете кодить?
Жду вас в комментариях, давайте просто поболтаем. 👇
❤2👍1🤔1
За месяц до того, как всё это случилось, я написал в своём блоге: «Прощай, стабильность. Копите подушку безопасности на годы вперёд». Потому что я знал, что бы нас ни ждало впереди, анархия на рынке труда неизбежна. Я надеялся, что смогу подготовить хоть кого-то. Тех, кто меня действительно слушал - чтобы они выжили, когда старый IT накроются медным тазом.
Но оказалось, что слушали меня немногие...
И вот, джуны и мидлы сидят без офферов, проекты закрываются, а люди начинают буквально голодать без работы. Помните басню про муравья и стрекозу? Мы - муравьи, те, кто годами пахал, строил сложную архитектуру и готовился к грядущему катаклизму. Но мы не смогли просто смотреть, как умирают от голода беззаботные стрекозы, которые всё лето бездумно генерировали код одной кнопкой и не думали о будущем. И теперь мы все расплачиваемся за это.
С вами Шеф, правда освобождает! Не верьте лжи.
--------------------------------
П.С. Ну а если серьезно, выходные я провожу в Days Gone. Коупленд параноик, но в чём-то он чертовски прав.
Но оказалось, что слушали меня немногие...
И вот, джуны и мидлы сидят без офферов, проекты закрываются, а люди начинают буквально голодать без работы. Помните басню про муравья и стрекозу? Мы - муравьи, те, кто годами пахал, строил сложную архитектуру и готовился к грядущему катаклизму. Но мы не смогли просто смотреть, как умирают от голода беззаботные стрекозы, которые всё лето бездумно генерировали код одной кнопкой и не думали о будущем. И теперь мы все расплачиваемся за это.
С вами Шеф, правда освобождает! Не верьте лжи.
--------------------------------
П.С. Ну а если серьезно, выходные я провожу в Days Gone. Коупленд параноик, но в чём-то он чертовски прав.
❤6😁3
Ну раз вы не хотите холиварить на тему тетрады, давайте я сам разложу вам Deckart через призму этого инструмента.
🎯 Зачем это вообще нужно? Во-первых, это очередная попытка ввести вас в самую глубь дела и показать изнанку разработки. Во-вторых, такой пересказ чертовски помогает мне самому. Пока формулируешь мысли для постов, в голове невольно всплывают скрытые аспекты и косяки, которые точно не хотелось бы упустить в процессе
.🧱 Поэтому в ближайших четырех постах мы подробно разберем каждую составную часть игры. Ну а под конец подведем итоги, и вы сами оцените, что у нас вообще получается на стыке всех элементов
Напомню, из чего состоит наша тетрада
⚙️ Механика - правила, карты и ритуалы
🎨 Эстетика - наш мрачный билибинский стиль и атмосфера
📖 История - славянский фольклор и лор
💻 Технология - Unity, архитектура и то, как это работает изнутри
.🚀 Завтра начнем с самого главного - с механики. Пишите, какой элемент лично вам интереснее всего?
🎯 Зачем это вообще нужно? Во-первых, это очередная попытка ввести вас в самую глубь дела и показать изнанку разработки. Во-вторых, такой пересказ чертовски помогает мне самому. Пока формулируешь мысли для постов, в голове невольно всплывают скрытые аспекты и косяки, которые точно не хотелось бы упустить в процессе
.🧱 Поэтому в ближайших четырех постах мы подробно разберем каждую составную часть игры. Ну а под конец подведем итоги, и вы сами оцените, что у нас вообще получается на стыке всех элементов
Напомню, из чего состоит наша тетрада
⚙️ Механика - правила, карты и ритуалы
🎨 Эстетика - наш мрачный билибинский стиль и атмосфера
📖 История - славянский фольклор и лор
💻 Технология - Unity, архитектура и то, как это работает изнутри
.🚀 Завтра начнем с самого главного - с механики. Пишите, какой элемент лично вам интереснее всего?
❤2
⚙️ Погнали по списку, МЕХАНИКИ!
Признаюсь многое поменялось после того как пошла разработка, добавились новые референсы и произошла замена референса на боевку. Пойдем по порядку и буду уточнять что брали за основу чтоб пришло понимание процесса.
И так, начнем с main loop: У нас рогалик, а значит забеги.
В рамках рана мы вступаем в бой, получаем за него награду и идем в город закупаться и улучшать снаряжение для последующих боев. Периодически нам встречаются боссы с сложными условиями прохождения.
И дальше по частям:
🃏 Идолы (Слой Balatro)
Это артефакты, которые не дерутся сами, а меняют правила игры. Главная механика это цепочка влияний. Вы выкладываете юнитов на поле, и идолы срабатывают по очереди. Один и тот же отряд при разном порядке идолов выдает абсолютно разную мощь. Это чистый декбилдинг, где статы перемножаются, позволяя сломать систему.
⚔️ Юниты и бой (Слой Hearthstone)
Юниты это карты вашей колоды. Перед боем приходит случайная рука, вы выбираете, кто идет в стычку, и накручиваете им атаку и HP через идолов. Сам бой пошаговый: ряды стоят друг против друга, а бойцы бьют по очереди, исходя из инициативы. Ваша тактика заканчивается на этапе подготовки в самом бою вы просто смотрите результат своих решений. Процессы быстр как поля сражений.
🏰 Экономика и Город (Слой Heroes III)
За золото после боев вы прокачиваетесь в городе. Это не просто магазин, а хаб с отделами: Казармы (юниты), Таверна (дорогие идолы), Кузница (апгрейды) и Рынок. Город это стабильная база, а на самой карте вас ловит Караван рисковый шоп с механикой «выбери 1 из 3» и платными рероллами.
Вот такая сборная солянка, до этого автобой был на основе Hero's Hours, но я не смог его вывезти)
Объемно?
Признаюсь многое поменялось после того как пошла разработка, добавились новые референсы и произошла замена референса на боевку. Пойдем по порядку и буду уточнять что брали за основу чтоб пришло понимание процесса.
И так, начнем с main loop: У нас рогалик, а значит забеги.
В рамках рана мы вступаем в бой, получаем за него награду и идем в город закупаться и улучшать снаряжение для последующих боев. Периодически нам встречаются боссы с сложными условиями прохождения.
И дальше по частям:
🃏 Идолы (Слой Balatro)
Это артефакты, которые не дерутся сами, а меняют правила игры. Главная механика это цепочка влияний. Вы выкладываете юнитов на поле, и идолы срабатывают по очереди. Один и тот же отряд при разном порядке идолов выдает абсолютно разную мощь. Это чистый декбилдинг, где статы перемножаются, позволяя сломать систему.
⚔️ Юниты и бой (Слой Hearthstone)
Юниты это карты вашей колоды. Перед боем приходит случайная рука, вы выбираете, кто идет в стычку, и накручиваете им атаку и HP через идолов. Сам бой пошаговый: ряды стоят друг против друга, а бойцы бьют по очереди, исходя из инициативы. Ваша тактика заканчивается на этапе подготовки в самом бою вы просто смотрите результат своих решений. Процессы быстр как поля сражений.
🏰 Экономика и Город (Слой Heroes III)
За золото после боев вы прокачиваетесь в городе. Это не просто магазин, а хаб с отделами: Казармы (юниты), Таверна (дорогие идолы), Кузница (апгрейды) и Рынок. Город это стабильная база, а на самой карте вас ловит Караван рисковый шоп с механикой «выбери 1 из 3» и платными рероллами.
Вот такая сборная солянка, до этого автобой был на основе Hero's Hours, но я не смог его вывезти)
Объемно?
🫡6🔥4❤3
🃏 Окей, дальше у нас на очереди Эстетика.
🎨 Сначала всё задумывалось как обычное фэнтези, но за этот месяц мы переработали всю идею с ног на голову. У нас появились идеи по стилю, окружению и наполнению на стыке с механиками, и всё на вдохновении от нашего фольклора. Игра будет в стилистике темной сказки, как пространство болота или озера где-то глубоко в темном лесу. Для референсного стиля были выбраны работы Билибина, создающие нужную атмосферу.
👁 Весь ЮИ интегрирован в игровой мир, чтобы не выбивать из погружения. Цветовая палитра подобрана приглушенная и строгая, без лишней кислотности, под стать окружению. Сама эстетика напрямую завязана на механики, те же идолы выглядят как осязаемые объекты этого мира, и их дизайн подчеркивает славянские мотивы проекта.
Закину вам фрагменты нашего мудборда с референсами, может что то будет вам знакомо. Эх сколько там было споров и идей...
🎨 Сначала всё задумывалось как обычное фэнтези, но за этот месяц мы переработали всю идею с ног на голову. У нас появились идеи по стилю, окружению и наполнению на стыке с механиками, и всё на вдохновении от нашего фольклора. Игра будет в стилистике темной сказки, как пространство болота или озера где-то глубоко в темном лесу. Для референсного стиля были выбраны работы Билибина, создающие нужную атмосферу.
👁 Весь ЮИ интегрирован в игровой мир, чтобы не выбивать из погружения. Цветовая палитра подобрана приглушенная и строгая, без лишней кислотности, под стать окружению. Сама эстетика напрямую завязана на механики, те же идолы выглядят как осязаемые объекты этого мира, и их дизайн подчеркивает славянские мотивы проекта.
Закину вам фрагменты нашего мудборда с референсами, может что то будет вам знакомо. Эх сколько там было споров и идей...
❤3🔥2👍1
Третий кирпич нашей тетрады это История. И тут всё повернулось даже очень интересно!
📖 Если сначала мы планировали классическое безликое фэнтези, то сейчас у нас развязаны руки на создание лора исходя из нам знакомых сказок. Это кардинально меняет подход к нарративу. Нам больше не нужно выдумывать абстрактный мир с нуля, мы берем базу нашего фольклора и пересобираем её в формате темного фэнтези.
👹 Так же и существа больше не являются проблемой. Вместо стандартных гоблинов или эльфов, которых все видели тысячу раз, в колоду залетает родная нечисть и герои легенд. Каждая карта юнита или идола сразу получает понятный бэкграунд, который круто обыгрывать в механиках. Игроку не надо объяснять, почему Кощей бессмертный, а Леший управляет лесом.
И их так же легко классифицировать, например -
Хозяева локаций (Баба Яга, Леший, Водяной)
Мелкая нечисть (Кикиморы, Лихо, Полудницы)
Эпические персонажи (Кощей, Богатыри)
🃏 Накидывайте свои идеи по персонажам в комменты, это было бы очень полезно.
📖 Если сначала мы планировали классическое безликое фэнтези, то сейчас у нас развязаны руки на создание лора исходя из нам знакомых сказок. Это кардинально меняет подход к нарративу. Нам больше не нужно выдумывать абстрактный мир с нуля, мы берем базу нашего фольклора и пересобираем её в формате темного фэнтези.
👹 Так же и существа больше не являются проблемой. Вместо стандартных гоблинов или эльфов, которых все видели тысячу раз, в колоду залетает родная нечисть и герои легенд. Каждая карта юнита или идола сразу получает понятный бэкграунд, который круто обыгрывать в механиках. Игроку не надо объяснять, почему Кощей бессмертный, а Леший управляет лесом.
И их так же легко классифицировать, например -
Хозяева локаций (Баба Яга, Леший, Водяной)
Мелкая нечисть (Кикиморы, Лихо, Полудницы)
Эпические персонажи (Кощей, Богатыри)
🃏 Накидывайте свои идеи по персонажам в комменты, это было бы очень полезно.
🔥4❤3🥰2🤯1
Четвертый, финальный кирпич нашей тетрады это Технология. То, что под капотом, и на чем вся эта магия крутится.
💻 Как вы знаете, мы пилим проект на Unity и C#. Выбор движка очевиден из-за моих знаний дотнета. Сама архитектура Deckart получилась очень гибкой благодаря четкому разделению домена и отображения (логики и визуала). Это позволяет нам спокойно крутить механики, не ломая при этом картинку.
🛠 Плюс Unity дает удобные инструменты для работы с графикой. Так как у нас планируется много артов, шейдеров и партиклов, нам предстоит по ходу дела учиться со всем этим работать. И круто, что в экосистеме движка уже есть куча готовых ресурсов и ассетов, которые серьезно упрощают жизнь и экономят время на старте.
🚀 Интересно узнать, какая техническая база у вас. Вы в каком движке делаете свои проекты и какими технологиями пользуетесь?
🃏 Пишите в комментарии, на чем кодите! 👇
💻 Как вы знаете, мы пилим проект на Unity и C#. Выбор движка очевиден из-за моих знаний дотнета. Сама архитектура Deckart получилась очень гибкой благодаря четкому разделению домена и отображения (логики и визуала). Это позволяет нам спокойно крутить механики, не ломая при этом картинку.
🛠 Плюс Unity дает удобные инструменты для работы с графикой. Так как у нас планируется много артов, шейдеров и партиклов, нам предстоит по ходу дела учиться со всем этим работать. И круто, что в экосистеме движка уже есть куча готовых ресурсов и ассетов, которые серьезно упрощают жизнь и экономят время на старте.
🚀 Интересно узнать, какая техническая база у вас. Вы в каком движке делаете свои проекты и какими технологиями пользуетесь?
🃏 Пишите в комментарии, на чем кодите! 👇
❤6🔥3🥰3
Пришло время подвести итоги и посмотреть на игру целиком.
🧩 Этот разбор помог мне собрать все мысли в кучу. В итоге вырисовывается проект, где аддиктивная математика Balatro и пошаговые бои Hearthstone работают на движке Unity, но завернуты не в приевшееся фэнтези, а в густую, мрачную атмосферу славянских сказок в стиле Билибина. Технологии всё это скрепляют, позволяя гибко менять правила игры на ходу.
🎯 На самом деле этот разбор чертовски помог мне самому. Теперь у нас есть классное верхнеуровневое вью проекта. Если мне нужно будет кому-то быстро и емко рассказать про игру, я смогу просто отправить человека к этим постам. Тут как раз собрана вся суть.
🗳 Ну а теперь ваша очередь оценивать. Как вам в целом? Делитесь честным мнением в комментариях👇
П.С. какое бы имя вы придумали такой игре?
🧩 Этот разбор помог мне собрать все мысли в кучу. В итоге вырисовывается проект, где аддиктивная математика Balatro и пошаговые бои Hearthstone работают на движке Unity, но завернуты не в приевшееся фэнтези, а в густую, мрачную атмосферу славянских сказок в стиле Билибина. Технологии всё это скрепляют, позволяя гибко менять правила игры на ходу.
🎯 На самом деле этот разбор чертовски помог мне самому. Теперь у нас есть классное верхнеуровневое вью проекта. Если мне нужно будет кому-то быстро и емко рассказать про игру, я смогу просто отправить человека к этим постам. Тут как раз собрана вся суть.
🗳 Ну а теперь ваша очередь оценивать. Как вам в целом? Делитесь честным мнением в комментариях👇
П.С. какое бы имя вы придумали такой игре?
❤4
Лудомания...
Это серьезная проблема, но разве каждая игра не вызывает эти же чувства?
📺 Геймдизайнеры ведь тоже стремятся к аддиктивности своих творений. То же понятие «потока» как раз говорит про то, как сделать игрока полностью погруженным в процесс. Разорвать связь от мира, перенести его в тело персонажа через стопроцентную иммерсивность игры, чтобы он еще сильнее переживал все, что происходит в ней. Это ли не зависимость, это ли не проблема?
🎰 Но есть грань, где крутая иммерсивность превращается в жесткую аддикцию. Это когда игрока цепляют на крючок не за счет интересного вызова, а через вариативный график наград (привет, ящик Скиннера, если надо, я потом про него подробно расскажу). Ты жмешь кнопку не потому, что тебе интересен сам процесс, а потому что мозг ждет случайного выброса гормонов от выигрыша или редкого дропа.
🃏 Возьмем ту же Balatro. Она балансирует на самой грани. Азарт от того, что твоя сборка сейчас крутанет счетчик это мощнейший крючок. Но разница в том, что в нормальном сингловом декбилдере этот азарт интеллектуальный. Ты радуешься тому, что ты сам додумался и собрал этот работающий движок, а не тому, что тебе просто повезло в рулетке.
🚀 Геймдизайн стремится сделать игру интересной, чтобы в нее хотелось возвращаться ради опыта и эмоций. Проблема начинается тогда, когда геймплей высушивают, оставляя только механику казино.
Есть на додеп?
Это серьезная проблема, но разве каждая игра не вызывает эти же чувства?
📺 Геймдизайнеры ведь тоже стремятся к аддиктивности своих творений. То же понятие «потока» как раз говорит про то, как сделать игрока полностью погруженным в процесс. Разорвать связь от мира, перенести его в тело персонажа через стопроцентную иммерсивность игры, чтобы он еще сильнее переживал все, что происходит в ней. Это ли не зависимость, это ли не проблема?
🎰 Но есть грань, где крутая иммерсивность превращается в жесткую аддикцию. Это когда игрока цепляют на крючок не за счет интересного вызова, а через вариативный график наград (привет, ящик Скиннера, если надо, я потом про него подробно расскажу). Ты жмешь кнопку не потому, что тебе интересен сам процесс, а потому что мозг ждет случайного выброса гормонов от выигрыша или редкого дропа.
🃏 Возьмем ту же Balatro. Она балансирует на самой грани. Азарт от того, что твоя сборка сейчас крутанет счетчик это мощнейший крючок. Но разница в том, что в нормальном сингловом декбилдере этот азарт интеллектуальный. Ты радуешься тому, что ты сам додумался и собрал этот работающий движок, а не тому, что тебе просто повезло в рулетке.
🚀 Геймдизайн стремится сделать игру интересной, чтобы в нее хотелось возвращаться ради опыта и эмоций. Проблема начинается тогда, когда геймплей высушивают, оставляя только механику казино.
Есть на додеп?
❤5🔥1🥰1
Вчера, если следите за видосиками, я сказал, что прекращаю заниматься рандомными механиками в Unity. Все последующие дни марафона я полностью посвящаю игре, её механикам, архитектуре и лору, так что дальше будет что посмотреть.
🚀 Тут я планирую либо углублять какие-то рассказы из видео, либо детально разбирать различные геймдизайнерские приемы и фишки. В общем-то, планы такие. Какое-то время уйдет на стабилизацию процессов создания контента, но это точно лучше, чем просто ковырять абстрактные прототипы и не делать саму игру вовсе.
🎯 Спасибо всем, кто в комментариях и обсуждениях надоумил меня поменять план и сфокусироваться на проекте!
П.С. всякие хохмы продолжаю снимать, надеюсь будут еще от меня бенгеры
🚀 Тут я планирую либо углублять какие-то рассказы из видео, либо детально разбирать различные геймдизайнерские приемы и фишки. В общем-то, планы такие. Какое-то время уйдет на стабилизацию процессов создания контента, но это точно лучше, чем просто ковырять абстрактные прототипы и не делать саму игру вовсе.
🎯 Спасибо всем, кто в комментариях и обсуждениях надоумил меня поменять план и сфокусироваться на проекте!
П.С. всякие хохмы продолжаю снимать, надеюсь будут еще от меня бенгеры
❤7🔥3🥰1
Ух ты ж, ничего себе! Снова проштрафился и пропустил вчерашний день блога. Не дело, будем наверстывать.
🎬 Как поменял формат вечерних видео, так времени на подготовку стало уходить ощутимо больше, и всё остальное просто вылетает из головы. Буду стабилизировать процессы. Ну а сегодня давайте поговорим по коду, а точнее, про один фундаментальный паттерн. Встречайте: State Machine (Конечный автомат) и стейты для разработки игр.
💻 Вообще, в коммерческом бэкенде я почти не встречал, чтобы стейт-машины использовали повсеместно, хотя идейно штука крутая. Возможно, в DDD (Domain-Driven Design) для сложной бизнес-логики это бы где-нибудь очень пригодилось, надо на досуге обмозговать.
❌ Как было бы без паттерна? Наш код превратился бы в бесконечную, нечитаемую простыню из ифов или свитчей:
«Если State == Enum.Idle делай то-то, а если State == Enum.Attack делай другое».
🛠 Идея паттерна кардинально другая: мы даем доменному объекту отдельные состояния и выделяем логику поведения внутрь этих самых классов-состояний. Объект просто делегирует выполнение текущему стейту, а стейты сами знают, когда переключить контекст.
🎮 В Unity и геймдеве в целом это абсолютный маст-хэв:
Персонаж имеет разные состояния (патруль, погоня, атака, смерть), и от них жестко зависит логика его поведения.
Сама игра постоянно переключается между фазами (загрузка, главное меню, фаза хода, подсчет очков), и всё это гораздо проще контролировать отдельными изолированными классами-стейтами, а не плодить баги в одном гигантском менеджере.
Это чертовски удобно, изолирует код и защищает от ситуации, когда персонаж начинает бежать во время анимации смерти.
🤖 Коллеги-разработчики, используете стейт-машины в своих проектах (и не только в геймдеве)?
🎬 Как поменял формат вечерних видео, так времени на подготовку стало уходить ощутимо больше, и всё остальное просто вылетает из головы. Буду стабилизировать процессы. Ну а сегодня давайте поговорим по коду, а точнее, про один фундаментальный паттерн. Встречайте: State Machine (Конечный автомат) и стейты для разработки игр.
💻 Вообще, в коммерческом бэкенде я почти не встречал, чтобы стейт-машины использовали повсеместно, хотя идейно штука крутая. Возможно, в DDD (Domain-Driven Design) для сложной бизнес-логики это бы где-нибудь очень пригодилось, надо на досуге обмозговать.
❌ Как было бы без паттерна? Наш код превратился бы в бесконечную, нечитаемую простыню из ифов или свитчей:
«Если State == Enum.Idle делай то-то, а если State == Enum.Attack делай другое».
🛠 Идея паттерна кардинально другая: мы даем доменному объекту отдельные состояния и выделяем логику поведения внутрь этих самых классов-состояний. Объект просто делегирует выполнение текущему стейту, а стейты сами знают, когда переключить контекст.
🎮 В Unity и геймдеве в целом это абсолютный маст-хэв:
Персонаж имеет разные состояния (патруль, погоня, атака, смерть), и от них жестко зависит логика его поведения.
Сама игра постоянно переключается между фазами (загрузка, главное меню, фаза хода, подсчет очков), и всё это гораздо проще контролировать отдельными изолированными классами-стейтами, а не плодить баги в одном гигантском менеджере.
Это чертовски удобно, изолирует код и защищает от ситуации, когда персонаж начинает бежать во время анимации смерти.
🤖 Коллеги-разработчики, используете стейт-машины в своих проектах (и не только в геймдеве)?
❤2
Наглядный пример, как это работает в коде Deckart. Так как у нас игра не построена на апдейтах, наши состояния максимально упрощены. Никакой покадровой логики, только вход и выход. У каждого стейта есть всего две точки. Это Enter для отработки логики при входе в фазу и Exit для зачистки хвостов перед переключением.
Вся архитектура разложена на две изолированные стейт-машины, которые управляют игрой на разных уровнях.
Глобальная машина забега рулит верхнеуровневыми фазами всего похода. Она переключает контекст между стартом, картой боев, самим сражением, получением наград и магазином, а в случае неудачи фиксирует проигрыш.
Локальная машина боя включается изолированно только внутри фазы битвы. Она гоняет внутренний цикл сражения, то есть ждет ход игрока, запускает расчет очков и определяет исход. Как только бой окончен, она возвращает управление глобальной машине.
🔮 Главный плюс такой иерархии в том, что стейт магазина вообще понятия не имеет, как математически считаются очки в бою, а фазе расчета очков плевать, что там происходит на карте. Логика жестко разделена, каши в коде нет, а новые экраны или фазы боя добавляются созданием одного изолированного класса.
На скринах показал, как это реализовано в проекте.
Сложно?
Вся архитектура разложена на две изолированные стейт-машины, которые управляют игрой на разных уровнях.
Глобальная машина забега рулит верхнеуровневыми фазами всего похода. Она переключает контекст между стартом, картой боев, самим сражением, получением наград и магазином, а в случае неудачи фиксирует проигрыш.
Локальная машина боя включается изолированно только внутри фазы битвы. Она гоняет внутренний цикл сражения, то есть ждет ход игрока, запускает расчет очков и определяет исход. Как только бой окончен, она возвращает управление глобальной машине.
🔮 Главный плюс такой иерархии в том, что стейт магазина вообще понятия не имеет, как математически считаются очки в бою, а фазе расчета очков плевать, что там происходит на карте. Логика жестко разделена, каши в коде нет, а новые экраны или фазы боя добавляются созданием одного изолированного класса.
На скринах показал, как это реализовано в проекте.
Сложно?
🤯2❤1
🌓 Поздравьте меня, вроде я восстановил график и сегодня не доделываю видео в ночи, а уже полностью с ним справился. Процессы потихоньку стабилизируются.
🎬 Пока монтировал ролики, оглядел весь текущий код и знатно охерел. Сколько же всего я успел написать за первые два месяца, это просто сумасшествие. Сейчас из-за видеоконтента есть просадка по разработке, но зато тогда был самый настоящий прайм.
В таком пересмотре исходников есть вполне понятный плюс. Когда готовишь сценарий и заново проговариваешь логику, свежим взглядом проще заметить мелкие косяки и понять, как улучшить код. Глаз уже не замылен, так что сразу видишь места, которые стоит подправить или доделать. Получается хорошая рабочая проверка проекта, ну и параллельно люди узнают про игру.
Вышла некая инвентаризация кода. На этом фоне я задумался, зачем вообще изначально написал так много всего и почему заложил такую базу. Пришло несколько мыслей, оформлю их и завтра выдам отдельным постом.
📺 А у вас бывает такое, что открываете свой код двухмесячной давности и удивляетесь объему?
🎬 Пока монтировал ролики, оглядел весь текущий код и знатно охерел. Сколько же всего я успел написать за первые два месяца, это просто сумасшествие. Сейчас из-за видеоконтента есть просадка по разработке, но зато тогда был самый настоящий прайм.
В таком пересмотре исходников есть вполне понятный плюс. Когда готовишь сценарий и заново проговариваешь логику, свежим взглядом проще заметить мелкие косяки и понять, как улучшить код. Глаз уже не замылен, так что сразу видишь места, которые стоит подправить или доделать. Получается хорошая рабочая проверка проекта, ну и параллельно люди узнают про игру.
Вышла некая инвентаризация кода. На этом фоне я задумался, зачем вообще изначально написал так много всего и почему заложил такую базу. Пришло несколько мыслей, оформлю их и завтра выдам отдельным постом.
📺 А у вас бывает такое, что открываете свой код двухмесячной давности и удивляетесь объему?
🎉7❤1
Почему это игнорируют?
Вчера, смотря на объём написанного кода, я задумался вот о чём. Нас (разработчиков) с самого начала учат что надо писать чисто и красиво. Но что это вообще значит на практике? Почему один код считается чистым, а другой — лютым говном?😨
Если вспомнить, как этот феномен объясняют в бизнесе, то всё сводится к одной простой истине. Бизнес меняется и надо быть к этому готовым. Именно поэтому в энтерпрайзе, где сервисы развиваются десятилетиями, нас учат проектировать через архитектуру, использовать паттерны и соблюдать SOLID. Главный критерий чистоты кода здесь это его способность адаптироваться к изменениям. Чем легче и безболезненнее кодовая база принимает новые фичи, тем она чище. Прямая корреляция.
И вот какая мысль не даёт мне покоя. Если в коммерческой разработке адаптивность вбивают в голову со старта, то почему в геймдеве этой теме вообще не уделяют должного внимания?
Ведь геймдев меняется в сто раз быстрее и хаотичнее любого бизнеса! В бизнесе требования хоть как-то фиксируются. В геймдеве главный критерий это фан. Поиграли в прототип, стало не весело удаляем фичу к чертям. Провели плейтест, нашли крутую механику полностью меняем вектор. Всё режется, переписывается и перекраивается чуть ли не каждый день.
🤔 По логике, именно в геймдеве нужно кричать изо всех утюгов о том, как важно с самого начала писать адаптивный код и подкладывать соломку на случай резких изменений курса. Но почему-то большинство на это забивает?
🤨 Приходилось ли вам хоронить проекты из-за того, что код просто не вывез внезапных изменений в геймдизайне?
Вчера, смотря на объём написанного кода, я задумался вот о чём. Нас (разработчиков) с самого начала учат что надо писать чисто и красиво. Но что это вообще значит на практике? Почему один код считается чистым, а другой — лютым говном?
Если вспомнить, как этот феномен объясняют в бизнесе, то всё сводится к одной простой истине. Бизнес меняется и надо быть к этому готовым. Именно поэтому в энтерпрайзе, где сервисы развиваются десятилетиями, нас учат проектировать через архитектуру, использовать паттерны и соблюдать SOLID. Главный критерий чистоты кода здесь это его способность адаптироваться к изменениям. Чем легче и безболезненнее кодовая база принимает новые фичи, тем она чище. Прямая корреляция.
И вот какая мысль не даёт мне покоя. Если в коммерческой разработке адаптивность вбивают в голову со старта, то почему в геймдеве этой теме вообще не уделяют должного внимания?
Ведь геймдев меняется в сто раз быстрее и хаотичнее любого бизнеса! В бизнесе требования хоть как-то фиксируются. В геймдеве главный критерий это фан. Поиграли в прототип, стало не весело удаляем фичу к чертям. Провели плейтест, нашли крутую механику полностью меняем вектор. Всё режется, переписывается и перекраивается чуть ли не каждый день.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2🤨1