GameDev Architecture


Гео и язык канала: Россия, Русский
Категория: Технологии


Привет! На канале я делюсь своими заметками о том, как игровым компаниям строить правильные, эффективные и красивые решения, в основном на C#.
Рекламу не размещаю


Гео и язык канала
Россия, Русский
Категория
Технологии
Статистика
Фильтр публикаций




Помните я писал про Entity Component System t.me/gamedev_architecture/97 ?

Тем, кому интересна эта тема, может понравиться молодой канал, посвященный исключительно ECS: @ecscomrade .

P.S. Ко мне часто обращаются по поводу рекламы. Рекламу не по теме я не размещаю в принципе, как вы уже могли заметить. Но тематическим проектам/статьям/авторам я всегда рад.


В статье описана интересная точка зрения на современный ООП.
Точнее, рассматриваются концепты ООП современных языков через призму оригинального видения, предложенного Аланом Кейем в далеком 1966 году.

Основная мысль такова, что Алан видел ООП как общение объектов посредством сообщений, то есть максимально несвязно.

Я часто натыкался в проектах на чрезмерную связность кода. Заменив вызовы многих подсистем, на посылку события/сообщения в EventBus, код многократно упрощается. Нет необходимости прокидывать пачки зависимостей. Кому надо -- тот подпишется и услышит сообщение.

Событийно-ориентированные системы обычно получаются значительно гибче, легче рефакторятся и тестируются. Тем не менее, в них есть и минус: бывают сложности при отладке.

P.S. Не обращайте внимание, что статья в JS разделе. Там тоже иногда попадаются дельные вещи 🙂

https://medium.com/javascript-scene/the-forgotten-history-of-oop-88d71b9b2d9f

#architecture #OOP


Независимый UI слой -- Ускоряем UI разрабокту

UI разработка частенько вызвает головную боль. Мы опробовали несколько подходов, которые нам помогли ее облегчить. Эта одна из нескольких статей на тему, посвященная размышлениям об отдельном слое для UI компонентов.

Мнения на эту тему обычно сильно расходятся. Избыточно или полезно -- решать вам.

https://fateev.pro/ru/gamedev/independent-ui-layer.html


Классный ивент для игровых разрабов!

CGDevs Moscow Meetup №1
Декабрь 11
г. Москва, Космонавта Волкова, 6А Коворкинг GrowUp

Хочешь сделать игру? Хочешь найти людей, которые помогут в этом? Хочешь узнать про тренды в сфере компьютерной графики? Хочешь поесть пиццы и поболтать с классными ребятами?

11 декабря в коворкинг Grow Up! c 18:30 до 23:00 мы будем обсуждать разработку игр, компьютерную графику, игровые движки, создание кино и многое другое, что имеет отношение к красоте и технологиям. Участие бесплатное - регайся! А то количество мест ограничено

Для тех, кто не сможет посетить мероприятие будет организована интернет-трансляция на Youtube-канале - подписывайтесь

#Москва, #встреча

О мероприятии: https://goo.gl/9F38c6
Ссылка на добавление в календарь: https://goo.gl/iwUu35


Правильно ли мы понимаем парадигмы? На что я наткнулся, когда увидел как исползьуют RX для работы с API.

Всем привет! Давно не постил, не было достаточно времени, а плохим контентом вас кормить не хочется.

Сегодня я хотел бы поговорить про парадигмы, и про то как мы их понимаем. В частности, набирающее популярность реактивное программирование и библиотека RX. В нескольких проектах видел как ее используют для работы с серверным API.

И есть несколько моментов, которые убивают всю выгоду от RX.

Я добавил новый виджет комментов на сайт, так что если у вас есть мысли, делитесь 😉

https://fateev.pro/ru/programming/understanding-paradigm-rx-for-api.html


Знаю что далеко не все пользуют Unity, но мне кажется тема VR/AR все равно интересная, без привязки к технологии.

11 октября пройдёт Unity Moscow Meetup 2018.1, главной темой которого как раз станет AR/VR.

Отдельно стоит отметить, что там будет специальная демо зона от MSI. Ну и не забываем про нетворкинг :)


Подробности:

г. Москва, ул. Трифоновcкая, д. 57, стр. 1 (ст. м. Рижская) ВШБИ

О мероприятии: https://goo.gl/92URM4
Ссылка на добавление в календарь: https://goo.gl/CqDB64


Сколько мы тратим времени на чтение и понимание кода? Как упростить это нелегкое дело?

В этом посте я хочу поговорить про использование различных средств отладки, которые могут сделать нашу жизнь легче. И какие дебаг тулы используете вы?

https://fateev.pro/ru/gamedev/debug-tools.html


Хороших каналов, с уникальным, техническим контентом про игровую разработку довольно мало. Именно поэтому, если я натыкаюсь на такие каналы, то считаю своим долгом поделиться с вами.

На канале https://t.me/logofalprog автор рассказывает об интересных задачах, с которыми он сталкивается на работе. О разработке собственного движка. Да и про разработку в целом. Все это разбавлено забавными историями из жизни. Хоть канал и молодой, но на мой взгляд перспективный. Лично я жду постов про разработку движка и хардкора c++


Давно хотел поделиться с вами бесплатной онлайн книгой про игровые шаблоны проектирования, которую пишет бывший программист Electronic Arts, ныне работающий в Google над языком Dart, Боб Нистром.

Его перспектива восприятия немного странная, на мой вкус, но интересная.

http://gameprogrammingpatterns.com/

Там ниже есть кнопка Read Now.

Спасибо @WookyThePooky за корректировку


Когда есть общий код, о чем в первую очередь думаешь ты? О наследовании? А как насчет использования Entity Component System?

Подробнее https://fateev.pro/ru/gamedev/entity-component-system.html


Недавно беседовал с коллегой про разработку. Он жаловался, что уходит много времени на интеграцию клиента с сервером.

Я поделился с ним подходом, который мы использовали: специальный оффлайн режим в игре, который, по сути, эмулирует сервер.

Он позволяет очень быстро тестить механики, реализуя их сначала на клиенте, при этом не завязываясь на сервер.

Наверняка его используют многие, но, как оказалось, не все.

Подробнее в статье: https://fateev.pro/ru/gamedev/offline-mode-in-client-server-apps.html


Репост из: Ivan Fateev
game-programmer.pdf
8.8Мб


Очень структурированный гайд по изучению нашего непростого ремесла. От себя хочу отдельно отметить книгу Game Engine Architecture


Думаю, многие знают дядю Боба (Роберта Мартина), автора книги "Чистый код".

Не смотря на то, что книга действительно хороша, дядя Боб в своих взглядах бывает через чур радикален.

Верность принципам -- это важно. Но люди -- ещё важнее. Слепое следование принципам может сильно навредить.

Вот вам статья для размышления по теме:

http://johannesbrodwall.com/2018/06/24/forget-about-clean-code-lets-embrace-compassionate-code/




На рынке игровых фреймворков появился еще один интересный игрок 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


Почему мы обычно не хотим разбираться в чужом коде? Потому что сложно. Не нам сложно, а сам код чрезмерно усложнен. Да и в своем то, бывает, тоже блуждаешь подолгу, пытаясь вспомнить что же у тебя было в голове месяц назад.

Мы часто увлекаемся, создавая все новые и новые слои абстракции. А потом они нас бьют по голове.

https://aka.ms/abstractions-in-your-head


Статический анализ - хороший помощник. Он убережет вас от тупейших багов, которые не очевидны глазу, но всплывут
когда-нибудь потом и больно ударят.

Если вы все ещё не используете статический анализатор кода, то самое время задуматься и начать.

https://www.gamedev.net/articles/programming/general-and-gameplay-programming/static-analysis-in-video-game-development-top-10-software-bugs-r4887/

Если же вы на 100% уверены в себе, то проверка - лишний повод похвастаться.


Всем привет! Новоприбывшим добро пожаловать :)

Давно не писал, сначала был в отпуске, потом подготовка к DevGamm (кстати, приходите на воркшоп по облаку 17 мая). Но теперь появилась минутка поделиться с вами своими мыслями.

Сегодня статья не столько про техническую составляющую нашей работы, сколько про социальную.

Когда вы работаете над архитектурой, как это происходит в вашей команде?
Все участвуют в этом процессе?
Как вы думаете, можете ли вы сделать свою жизнь и жизнь коллег лучше?

На самом деле все не так уж и сложно, каждый может помочь.

https://aka.ms/architecture-and-teamwork

Показано 20 последних публикаций.

1 530

подписчиков
Статистика канала