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://t.me/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
Абстракциями тебе по голове
Стараться спроектировать систему максимально гибкой и универсальной — хорошее желание. Но мы имеем тенденцию увлекаться. Не все можно…
На рынке игровых фреймворков появился еще один интересный игрок bs::framework: https://github.com/gamefoundry/bsf .
Библиотека написана с использованием стандарта c++14.
Пока среди поддерживаемых платформ только десктопные: Windows, Linux, macOS
Среди интересных фич:
- Scripting C# 7.0
- Separate high level engine API
- Integrated runtime for maximum performance
- Full access to .NET framework
- Integration with Visual Studio, MonoDevelop
- Automatic serialization
- Works with custom components, resources or arbitrary types
- Save/load data with no additional code
- Handles complex types (e.g. array, list, dictionary) and references
- Fast and small memory footprint
Библиотека написана с использованием стандарта c++14.
Пока среди поддерживаемых платформ только десктопные: Windows, Linux, macOS
Среди интересных фич:
- Scripting C# 7.0
- Separate high level engine API
- Integrated runtime for maximum performance
- Full access to .NET framework
- Integration with Visual Studio, MonoDevelop
- Automatic serialization
- Works with custom components, resources or arbitrary types
- Save/load data with no additional code
- Handles complex types (e.g. array, list, dictionary) and references
- Fast and small memory footprint
GitHub
GitHub - GameFoundry/bsf: Modern C++14 library for the development of real-time graphical applications
Modern C++14 library for the development of real-time graphical applications - GitHub - GameFoundry/bsf: Modern C++14 library for the development of real-time graphical applications
Думаю, многие знают дядю Боба (Роберта Мартина), автора книги "Чистый код".
Не смотря на то, что книга действительно хороша, дядя Боб в своих взглядах бывает через чур радикален.
Верность принципам -- это важно. Но люди -- ещё важнее. Слепое следование принципам может сильно навредить.
Вот вам статья для размышления по теме:
http://johannesbrodwall.com/2018/06/24/forget-about-clean-code-lets-embrace-compassionate-code/
Не смотря на то, что книга действительно хороша, дядя Боб в своих взглядах бывает через чур радикален.
Верность принципам -- это важно. Но люди -- ещё важнее. Слепое следование принципам может сильно навредить.
Вот вам статья для размышления по теме:
http://johannesbrodwall.com/2018/06/24/forget-about-clean-code-lets-embrace-compassionate-code/
Очень структурированный гайд по изучению нашего непростого ремесла. От себя хочу отдельно отметить книгу Game Engine Architecture
Недавно беседовал с коллегой про разработку. Он жаловался, что уходит много времени на интеграцию клиента с сервером.
Я поделился с ним подходом, который мы использовали: специальный оффлайн режим в игре, который, по сути, эмулирует сервер.
Он позволяет очень быстро тестить механики, реализуя их сначала на клиенте, при этом не завязываясь на сервер.
Наверняка его используют многие, но, как оказалось, не все.
Подробнее в статье: https://fateev.pro/ru/gamedev/offline-mode-in-client-server-apps.html
Я поделился с ним подходом, который мы использовали: специальный оффлайн режим в игре, который, по сути, эмулирует сервер.
Он позволяет очень быстро тестить механики, реализуя их сначала на клиенте, при этом не завязываясь на сервер.
Наверняка его используют многие, но, как оказалось, не все.
Подробнее в статье: https://fateev.pro/ru/gamedev/offline-mode-in-client-server-apps.html
Fateev.pro
Оффлайн режим в клиент-серверных приложениях
Игры, да и приложения в целом, часто подразумевают наличие механик, завязанных на сервер. Сейчас не часто встретишь оффлайн игру. Как минимум, игры имеют различные социальные составляющие: кланы, чаты, список друзей, да что угодно. И каждый пук уходит в аналитику.
Когда есть общий код, о чем в первую очередь думаешь ты? О наследовании? А как насчет использования Entity Component System?
Подробнее https://fateev.me/ru/gamedev/entity-component-system.html
Подробнее https://fateev.me/ru/gamedev/entity-component-system.html
Давно хотел поделиться с вами бесплатной онлайн книгой про игровые шаблоны проектирования, которую пишет бывший программист Electronic Arts, ныне работающий в Google над языком Dart, Боб Нистром.
Его перспектива восприятия немного странная, на мой вкус, но интересная.
http://gameprogrammingpatterns.com/
Там ниже есть кнопка Read Now.
Спасибо @WookyThePooky за корректировку
Его перспектива восприятия немного странная, на мой вкус, но интересная.
http://gameprogrammingpatterns.com/
Там ниже есть кнопка Read Now.
Спасибо @WookyThePooky за корректировку
Хороших каналов, с уникальным, техническим контентом про игровую разработку довольно мало. Именно поэтому, если я натыкаюсь на такие каналы, то считаю своим долгом поделиться с вами.
На канале https://t.me/logofalprog автор рассказывает об интересных задачах, с которыми он сталкивается на работе. О разработке собственного движка. Да и про разработку в целом. Все это разбавлено забавными историями из жизни. Хоть канал и молодой, но на мой взгляд перспективный. Лично я жду постов про разработку движка и хардкора c++
На канале https://t.me/logofalprog автор рассказывает об интересных задачах, с которыми он сталкивается на работе. О разработке собственного движка. Да и про разработку в целом. Все это разбавлено забавными историями из жизни. Хоть канал и молодой, но на мой взгляд перспективный. Лично я жду постов про разработку движка и хардкора c++
Telegram
Log of Alprog
Разработка игр.
Чатик: @alprogio Автор: @alprog
#gamedev #programming #code
#геймдев #программирование #код
Чатик: @alprogio Автор: @alprog
#gamedev #programming #code
#геймдев #программирование #код
Сколько мы тратим времени на чтение и понимание кода? Как упростить это нелегкое дело?
В этом посте я хочу поговорить про использование различных средств отладки, которые могут сделать нашу жизнь легче. И какие дебаг тулы используете вы?
https://fateev.me/ru/gamedev/debug-tools.html
В этом посте я хочу поговорить про использование различных средств отладки, которые могут сделать нашу жизнь легче. И какие дебаг тулы используете вы?
https://fateev.me/ru/gamedev/debug-tools.html