Привет! Я решил, что стоит немного сместить фокус канала на более "продвинутые" темы в разработке. Я сам работал в нескольких крупных игровых студиях. Сейчас я помогаю строить архитектуру разным игровым компаниям.
В моей практике я часто сталкиваюсь с разными антипаттернами. Например, чрезмерное использование синглтонов, статических классов. Иными словами проблема зависимсотей в коде, зачем их нужно избегать и как это сделать.
Теперь я буду публиковать больше авторских #advanced постов.. В таких постах вы можете увидеть конкретные примеры кода, и они подразумевают наличие некоторого опыта в разработке, хотя могут быть полезны и совсем новичкам.
Хотя я и меняю фокус канала на #gamedev, проблемы, освещаемые мной, актуальны во многих других сферах, включая #frontenddev #backenddev. Ведь, игровая разработка многогранна и редко существует, например, без бэкэнда.
Так же я прислушиваюсь к результатам опроса. Сегодня пробую новый формат со ссылкой на Long-post.
Как всегда, рад услышать ваши комментарии/мысли @poisonous_john. Либо пишите прямо на medium ;).
#architecture #advanced #bestpractices #dependencyinjection #inversionofcontrol #unity
http://goo.gl/NP9Yfy
В моей практике я часто сталкиваюсь с разными антипаттернами. Например, чрезмерное использование синглтонов, статических классов. Иными словами проблема зависимсотей в коде, зачем их нужно избегать и как это сделать.
Теперь я буду публиковать больше авторских #advanced постов.. В таких постах вы можете увидеть конкретные примеры кода, и они подразумевают наличие некоторого опыта в разработке, хотя могут быть полезны и совсем новичкам.
Хотя я и меняю фокус канала на #gamedev, проблемы, освещаемые мной, актуальны во многих других сферах, включая #frontenddev #backenddev. Ведь, игровая разработка многогранна и редко существует, например, без бэкэнда.
Так же я прислушиваюсь к результатам опроса. Сегодня пробую новый формат со ссылкой на Long-post.
Как всегда, рад услышать ваши комментарии/мысли @poisonous_john. Либо пишите прямо на medium ;).
#architecture #advanced #bestpractices #dependencyinjection #inversionofcontrol #unity
http://goo.gl/NP9Yfy
Medium
Антипаттерны в игровой разработке: Зависимости в коде
Хорошая архитектура в играх так же важна, как и в любом другом ПО. Но вот статей по архитектуре довольно мало…
Похоже instant view не дружит с gist, поэтому там нет примеров кода :(, советую пользоваться ссылкой, если вы читаете с телефона.
В следующих постах обещаю что-нибудь придумать с этим
Забыл упомянуть, прежде канал назывался "Пещера Ядовитого Джона".
В следующих постах обещаю что-нибудь придумать с этим
Забыл упомянуть, прежде канал назывался "Пещера Ядовитого Джона".
Хочу поделиться интересным каналом. Часто не бывает времени уследить за всеми событиями, а тут все удобно собрано в одном месте.
Календарь событий игровой индустрии - информирует о проходящих событиях игровой индустрии и крупных конференций на территории СНГ.
https://teleg.eu/gamedev_calendar
Календарь событий игровой индустрии - информирует о проходящих событиях игровой индустрии и крупных конференций на территории СНГ.
https://teleg.eu/gamedev_calendar
Telegram
Календарь событий игровой индустрии
Канал информирующий о событиях игровой индустрии и крупных конференциях на территории СНГ. Сайт http://gamedev-calendar.ru
По вопросам сотрудничества писать @h1gh_af
По вопросам сотрудничества писать @h1gh_af
Статья описывает типичные проблемы сетевого мультиплеера.
Автор, местами, применяет интересные решения.
http://etodd.io/2018/02/20/poor-mans-netcode/
#multiplayer #networking #english
Автор, местами, применяет интересные решения.
http://etodd.io/2018/02/20/poor-mans-netcode/
#multiplayer #networking #english
Привет! Давно не постил. Был в отпуске и работал над новой статьей.
В этой статье я хочу разобрать паттерн Команда (Command). Он многогранен, и может быть применен по-разному. Но я покажу, как сделать мой любимый трюк — машина времени для отладки изменений гейм стейта.
Эта штука сэкономила мне кучу времени в поиске и воспроизведении сложных багов. Она позволяет делать "снапшоты" игрового состояния, историю его изменения, и пошагово их применять.
Начинающие разработчики познакомятся с паттерном, а продвинутые, возможно, найдут трюк полезным.
https://habrahabr.ru/post/350630/
В этой статье я хочу разобрать паттерн Команда (Command). Он многогранен, и может быть применен по-разному. Но я покажу, как сделать мой любимый трюк — машина времени для отладки изменений гейм стейта.
Эта штука сэкономила мне кучу времени в поиске и воспроизведении сложных багов. Она позволяет делать "снапшоты" игрового состояния, историю его изменения, и пошагово их применять.
Начинающие разработчики познакомятся с паттерном, а продвинутые, возможно, найдут трюк полезным.
https://habrahabr.ru/post/350630/
Habr
Развязываем игровой код с помощью паттерна Command, и дебажим, летая на машине времени
Привет! Я пишу статьи, посвященные архитектуре в игровой разработке. В этой статье я хочу разобрать паттерн Команда (Command). Он многогранен, и может быть применен по-разному. Но я покажу, как...
Ребята из Unity разжевали типичные стратегии освещения:
https://unity3d.com/learn/tutorials/projects/creating-believable-visuals/lighting-strategy
#unity #tutorial #visual
https://unity3d.com/learn/tutorials/projects/creating-believable-visuals/lighting-strategy
#unity #tutorial #visual
Unity Learn
Creating Believable Visuals - Unity Learn
This guide looks at the fundamental steps for setting up a good baseline for believable visuals. The advice in this guide is provided by the Spotlight Team at Unity. The Spotlight Team help developers and content creators achieve the desired look and quality…
Blueprints в #unity: Bolt Visual Scripting.
Может быть очень полезной штукой, если вы хотите сбагрить написание и отладку простейшей логики, например, на геймдиза.
Так же можно использовать для обновления логики БЕЗ пересборки бинарника.
#asset
Bolt brings complete visual scripting to Unity, empowering artists, designers and programmers to create gameplay mechanics and interactive systems without writing a single line of code.
Price: $70 per seat
Free: with Unity Plus
https://assetstore.unity.com/packages/tools/visual-scripting/bolt-87491
Может быть очень полезной штукой, если вы хотите сбагрить написание и отладку простейшей логики, например, на геймдиза.
Так же можно использовать для обновления логики БЕЗ пересборки бинарника.
#asset
Bolt brings complete visual scripting to Unity, empowering artists, designers and programmers to create gameplay mechanics and interactive systems without writing a single line of code.
Price: $70 per seat
Free: with Unity Plus
https://assetstore.unity.com/packages/tools/visual-scripting/bolt-87491
Unity Asset Store
Bolt for Ludiq | Visual Scripting | Unity Asset Store
Get the Bolt for Ludiq package from Ludiq and speed up your game development process. Find this & other Visual Scripting options on the Unity Asset Store.
Ловите еще одну мою статью: "Своя игровая аналитика за $300 в месяц"
https://github.com/PoisonousJohn/articles/blob/master/Custom_Analytics/custom-analytics-1.md
https://github.com/PoisonousJohn/articles/blob/master/Custom_Analytics/custom-analytics-1.md
GameDev Architecture
Ловите еще одну мою статью: "Своя игровая аналитика за $300 в месяц" https://github.com/PoisonousJohn/articles/blob/master/Custom_Analytics/custom-analytics-1.md
так, статью расценили как рекламу, нормас.
Обновил ссылку на github, до окончания разбирательств
Статью с паттерном Command тоже заблочили:
https://github.com/PoisonousJohn/articles/blob/master/Telegram_Posts/decoupling-via-commands/decoupling-via-commands.md
Обновил ссылку на github, до окончания разбирательств
Статью с паттерном Command тоже заблочили:
https://github.com/PoisonousJohn/articles/blob/master/Telegram_Posts/decoupling-via-commands/decoupling-via-commands.md
GitHub
articles/decoupling-via-commands.md at master · PoisonousJohn/articles
Repository for my articles. Contribute to PoisonousJohn/articles development by creating an account on GitHub.
GameDev Architecture
Ловите еще одну мою статью: "Своя игровая аналитика за $300 в месяц" https://github.com/PoisonousJohn/articles/blob/master/Custom_Analytics/custom-analytics-1.md
Помните я писал про аналитику? Вот ребята из Fluffy Fairy Games (https://www.idleminertycoon.com/) используют примерно ту же архитектуру. Что интересно, они используют систему в дополнение к AppsFlyer.
Сейчас я работаю над статьей с техническими деталями по реализации такого пайплайна данных.
#gamedev #gameanalytics #showcase #azure
https://customers.microsoft.com/en-us/story/fluffyfairygames-media-telco-azure
Сейчас я работаю над статьей с техническими деталями по реализации такого пайплайна данных.
#gamedev #gameanalytics #showcase #azure
https://customers.microsoft.com/en-us/story/fluffyfairygames-media-telco-azure
Microsoft Customers Stories
Gaming studio learns what players want and delivers quickly with the cloud
Kolibri Games aims to be the most player-oriented gaming company in the world, so it uses Microsoft Azure and PlayFab to launch new features quickly, analyze player feedback, and innovate in response. By using Azure services and PlayFab back-end gaming technologies…
При разработке часто встает дилемма: попроще или подольше?
Многие студии выбирают Photon (или любой другой easy-to-go фреймворк) для сетевого мультиплеера. Это дает быстрый старт, но что потом?
#note #architecture
https://aka.ms/B42a6e
Многие студии выбирают Photon (или любой другой easy-to-go фреймворк) для сетевого мультиплеера. Это дает быстрый старт, но что потом?
#note #architecture
https://aka.ms/B42a6e
Medium
Попроще или подольше?
Интересный факт. Замечаю, что многие студии начинают с решения попроще. Например, для сетевого мультиплеера, часто выбирают Photon.
#OpenSource становится все более модным (и видимо выгодным). Теперь #Unity удивляет широким жестом.
Интересно как это повлияет на дальнеший вектор развития продукта. В статье правильно сказано, что за последний год в #Unity много чего поменялось в лучшую сторону.
Не знаю как для вас, но для меня — это хороший знак :)
https://habrahabr.ru/post/351978/
P.S. уже есть первый PR с оптимизацией! =)
https://github.com/Unity-Technologies/UnityCsReference/pull/1
P.S.S. Наткнулся на еще одну новость про #OpenSource:
Редактор Cryengine Sandbox тоже опубликовали на Github
https://tproger.ru/news/crytek-cryengine-sandbox/
Интересно как это повлияет на дальнеший вектор развития продукта. В статье правильно сказано, что за последний год в #Unity много чего поменялось в лучшую сторону.
Не знаю как для вас, но для меня — это хороший знак :)
https://habrahabr.ru/post/351978/
P.S. уже есть первый PR с оптимизацией! =)
https://github.com/Unity-Technologies/UnityCsReference/pull/1
P.S.S. Наткнулся на еще одну новость про #OpenSource:
Редактор Cryengine Sandbox тоже опубликовали на Github
https://tproger.ru/news/crytek-cryengine-sandbox/
Хабр
Unity выложила исходный C#-код на Github
Возрадуйтесь все, кому хоть раз в силу жизненной необходимости приходилось декомпилировать .NET-код Unity! Теперь код C#-части движка и редактора Unity доступе...
Очень интересно изучать детали того, как построены крупные проекты.
https://aka.ms/no-sql-for-users-states
https://aka.ms/no-sql-for-users-states
Мы привыкли говорить про архитектуру проекта в контексте проектирования. Но что делать, если это проектирование было неудачным?
В этой статье я делюсь своими мыслями о "здоровье" проекта.
Как не убить проект, зарывшись в рутину каждодневных задач,
посмотреть на архитектуру проекта с другой перспективы, и как правильно "продать" лечение менеджменту.
https://aka.ms/analyzing-project-health
В этой статье я делюсь своими мыслями о "здоровье" проекта.
Как не убить проект, зарывшись в рутину каждодневных задач,
посмотреть на архитектуру проекта с другой перспективы, и как правильно "продать" лечение менеджменту.
https://aka.ms/analyzing-project-health
Medium
Анализ “Здоровья” проекта
Говорить про архитектуру можно бесконечно долго. Разводить холивары про то, какой движок, фреймворк, код стайл пользовать. Но что реально…
В очередной раз увидел ссылку на DevsGo митап в календаре геймдев мероприятий (https://teleg.eu/gamedev_calendar), и на этот раз созрел.
Я давно не выбирался в оффлайн, а, как мне кажется, такие встречи позволяют встряхнуться, отвлечься от обыденности работы, да и обменяться опытом. Считаю это — прекрасный повод пересечься! Надеюсь увидеть кого-нибудь из подписчиков :) Если вы в Москве, приходите, познакомимся лично, поболтаем "за архитектуру", "за жизнь" и другие интересные темы ;)
19 апреля, в 19:00, Москва, Пятницкий переулок 2, бар "Дорогая, я перезвоню"
Подробнее о DevsGo митапе https://devsgo.timepad.ru/event/701553/
Если собираетесь прийти, пишите мне (@poisonous_john), обязательно словимся.
Я давно не выбирался в оффлайн, а, как мне кажется, такие встречи позволяют встряхнуться, отвлечься от обыденности работы, да и обменяться опытом. Считаю это — прекрасный повод пересечься! Надеюсь увидеть кого-нибудь из подписчиков :) Если вы в Москве, приходите, познакомимся лично, поболтаем "за архитектуру", "за жизнь" и другие интересные темы ;)
19 апреля, в 19:00, Москва, Пятницкий переулок 2, бар "Дорогая, я перезвоню"
Подробнее о DevsGo митапе https://devsgo.timepad.ru/event/701553/
Если собираетесь прийти, пишите мне (@poisonous_john), обязательно словимся.
Telegram
Календарь событий игровой индустрии
Канал информирующий о событиях игровой индустрии и крупных конференциях на территории СНГ. Сайт http://gamedev-calendar.ru
По вопросам сотрудничества писать @h1gh_af
По вопросам сотрудничества писать @h1gh_af
Для того, чтобы правильно строить архитектуру — нужен опыт. Конечно же свой опыт — важнее, и дает больше. Но всегда нужно учитывать и чужой.
Архитектура в играх имеет некоторую "свою" специфику. Но в остальном, игры — тот же софт. Поэтому все архитектурные наработки к ним применимы.
Одна из моих любимых тем для чтения — путь программистов от состояния, когда ты не понимаешь что такое архитектура, до понимания что это такое и зачем это нужно. Как правило, эти мысли писаны кровью и потом.
Вот одна из таких статей: https://habrahabr.ru/post/353698/
Архитектура в играх имеет некоторую "свою" специфику. Но в остальном, игры — тот же софт. Поэтому все архитектурные наработки к ним применимы.
Одна из моих любимых тем для чтения — путь программистов от состояния, когда ты не понимаешь что такое архитектура, до понимания что это такое и зачем это нужно. Как правило, эти мысли писаны кровью и потом.
Вот одна из таких статей: https://habrahabr.ru/post/353698/
Хабр
Архитектура кода
В этой статье я хочу поделиться своим личным опытом, связанным с правильной организацией кода (архитектурой). Правильная архитектура существенно упрощает долгоср...
Всем привет! Новоприбывшим добро пожаловать :)
Давно не писал, сначала был в отпуске, потом подготовка к DevGamm (кстати, приходите на воркшоп по облаку 17 мая). Но теперь появилась минутка поделиться с вами своими мыслями.
Сегодня статья не столько про техническую составляющую нашей работы, сколько про социальную.
Когда вы работаете над архитектурой, как это происходит в вашей команде?
Все участвуют в этом процессе?
Как вы думаете, можете ли вы сделать свою жизнь и жизнь коллег лучше?
На самом деле все не так уж и сложно, каждый может помочь.
https://aka.ms/architecture-and-teamwork
Давно не писал, сначала был в отпуске, потом подготовка к DevGamm (кстати, приходите на воркшоп по облаку 17 мая). Но теперь появилась минутка поделиться с вами своими мыслями.
Сегодня статья не столько про техническую составляющую нашей работы, сколько про социальную.
Когда вы работаете над архитектурой, как это происходит в вашей команде?
Все участвуют в этом процессе?
Как вы думаете, можете ли вы сделать свою жизнь и жизнь коллег лучше?
На самом деле все не так уж и сложно, каждый может помочь.
https://aka.ms/architecture-and-teamwork
Medium
Архитектура и командная работа
Разрабатывая архитектуру под конкретную задачу, мы, обычно, выкладываемся по полной. Стараемся все предусмотреть и решить заранее.
Статический анализ - хороший помощник. Он убережет вас от тупейших багов, которые не очевидны глазу, но всплывут
когда-нибудь потом и больно ударят.
Если вы все ещё не используете статический анализатор кода, то самое время задуматься и начать.
https://www.gamedev.net/articles/programming/general-and-gameplay-programming/static-analysis-in-video-game-development-top-10-software-bugs-r4887/
Если же вы на 100% уверены в себе, то проверка - лишний повод похвастаться.
когда-нибудь потом и больно ударят.
Если вы все ещё не используете статический анализатор кода, то самое время задуматься и начать.
https://www.gamedev.net/articles/programming/general-and-gameplay-programming/static-analysis-in-video-game-development-top-10-software-bugs-r4887/
Если же вы на 100% уверены в себе, то проверка - лишний повод похвастаться.
GameDev.net
Static Analysis in Video Game Development: Top 10 Software Bugs
If you are a software developer working in the video game industry and wondering what else you could do to improve the quality of your product or make the development process easier and you don't use static analysis – it's just the right time to start doing…
Почему мы обычно не хотим разбираться в чужом коде? Потому что сложно. Не нам сложно, а сам код чрезмерно усложнен. Да и в своем то, бывает, тоже блуждаешь подолгу, пытаясь вспомнить что же у тебя было в голове месяц назад.
Мы часто увлекаемся, создавая все новые и новые слои абстракции. А потом они нас бьют по голове.
https://aka.ms/abstractions-in-your-head
Мы часто увлекаемся, создавая все новые и новые слои абстракции. А потом они нас бьют по голове.
https://aka.ms/abstractions-in-your-head
Medium
Абстракциями тебе по голове
Стараться спроектировать систему максимально гибкой и универсальной — хорошее желание. Но мы имеем тенденцию увлекаться. Не все можно…