TGViewer
Channel Public Channel
GameDev Architecture

GameDev Architecture

@gamedev_architecture

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

Рекламу не размещаю
Subscribers
1.18K
Photos
3
Videos
0
Links
75
Recent Posts 20 shown
Post #113 893
Сейчас упоминание ИИ в разработке сыпется со всех щелей.

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

Другие опасаются ИИ как огня, считая, что он выдает 💩

Мой же опыт — где то посередине. ИИ это ассистент, но уровня джуна. Только джуна, которому напихали в голову дохренища знаний.

Пара кейсов, где он мне сильно помог

Нативная разработка.

Варясь в C# и юнити — редко нужно погружаться в кишки андройда. И вот, допустим, встала задача чтобы игра обновлялась не из стора, а по URL. APK качается и устанавливается поверх.

Без нативного плагина не обойтись. Лезть и лопатить кучу документации — это прям надолго.

Попробовал Gemini Pro — решил задачу довольно быстро и просто. По факту когда совсем немного, но вот работа с доками, отладка и т.д. занимала бы дни. Он же рабочий прототип накидал за минуты.

И сам же отвечал на вопросы, когда возникали баги (вспоминаем про джуна), вместе чинили.

Автоматизация рутины

Часто нужны скрипты для автоматизации рутины на проекте: постить статусы билдов, написать ci/cd конфиги и т.д. Ситуация аналогичная — нужно ходить по докам, читать, отлаживать и т.д. Для ИИ задача же тривиальная, он неплохо с ней справляется.

Tools

Так же для работы бывают нужны различные инструменты. Например, нам понадобился умный diff для наших конфигов. Писать “морду” к визуализации диффа на шарпе, ну такое. Погружаться в джаваскрипт и всю его кухню — отдельная работа.

Описал подробное ТЗ ИИ, выбрал стек (react + type script + material UI), попросил захостить на gitlab pages, и вуаля, за день тулза готова. Сам бы я с этим возился ну неделю наверное, в лучшем случае.

Причем код вышел вполне себе читаемым. Там где было плохо — попросил зарефачить, сказал как хочу видеть. Все получилось.
  • 👍 16
  • ❤ 2
  • 👎 1
  • 🔥 1
  • 🙏 1
Post #112 1.44K
Уже давно Google выкатил различные “метрики” качества, которым приложения должны соответствовать, чтобы не попасть в теневой бан.

С одной стороны — благое намерение. Кому понравится приложение, которое постоянно крешит или висит.

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

Как результат — куча АНРов, с которыми разработчики вынуждены как-то бороться.

Мы долго мучались с этой проблемой, но потом написали сервис, который сам считает ANR и прибивает приложение чуть раньше, и АНР не доходит до гугла, но репортится в наши системы.

Таким образом мы имеем и более точный стектрейс по АНРу, и наши графики в порядке.

За основу был взят этот проект https://github.com/SalomonBrys/ANR-WatchDog , но улучшен под наши запросы.
GitHub GitHub - SalomonBrys/ANR-WatchDog: A simple watchdog that detects Android ANR (Application Not Responding) error and throws a meaningful… A simple watchdog that detects Android ANR (Application Not Responding) error and throws a meaningful exception - SalomonBrys/ANR-WatchDog
  • 🤔 8
  • 🔥 4
  • 😁 2
  • 💯 1
Post #110 9.26K
Post #109 12.2K
Помните я писал про Entity Component System t.me/gamedev_architecture/97 ?

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

P.S. Ко мне часто обращаются по поводу рекламы. Рекламу не по теме я не размещаю в принципе, как вы уже могли заметить. Но тематическим проектам/статьям/авторам я всегда рад.
  • ❤ 1
Post #108 10.4K
В статье описана интересная точка зрения на современный ООП.
Точнее, рассматриваются концепты ООП современных языков через призму оригинального видения, предложенного Аланом Кейем в далеком 1966 году.

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

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

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

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

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

#architecture #OOP
Medium The Forgotten History of OOP Most of the programming paradigms we use today were first explored mathematically in the 1930s with lambda calculus and the Turing machine…
  • 🤔 2
Post #106 5.63K
Независимый UI слой -- Ускоряем UI разрабокту

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

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

https://fateev.me/ru/gamedev/independent-ui-layer.html
  • 🔥 1
Post #105 5.04K
Классный ивент для игровых разрабов!

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

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

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

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

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

О мероприятии: https://goo.gl/9F38c6
Ссылка на добавление в календарь: https://goo.gl/iwUu35
  • 👏 1
Post #104 4.58K
Правильно ли мы понимаем парадигмы? На что я наткнулся, когда увидел как исползьуют RX для работы с API.

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

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

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

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

https://fateev.pro/ru/programming/understanding-paradigm-rx-for-api.html
  • 👍 1
Post #103 4.44K
Знаю что далеко не все пользуют Unity, но мне кажется тема VR/AR все равно интересная, без привязки к технологии.

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

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


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

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

О мероприятии: https://goo.gl/92URM4
Ссылка на добавление в календарь: https://goo.gl/CqDB64
  • ❤ 1
Post #102 4.5K
Сколько мы тратим времени на чтение и понимание кода? Как упростить это нелегкое дело?

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

https://fateev.me/ru/gamedev/debug-tools.html
  • 🙏 1
Post #101 5.11K
Хороших каналов, с уникальным, техническим контентом про игровую разработку довольно мало. Именно поэтому, если я натыкаюсь на такие каналы, то считаю своим долгом поделиться с вами.

На канале https://t.me/logofalprog автор рассказывает об интересных задачах, с которыми он сталкивается на работе. О разработке собственного движка. Да и про разработку в целом. Все это разбавлено забавными историями из жизни. Хоть канал и молодой, но на мой взгляд перспективный. Лично я жду постов про разработку движка и хардкора c++
Telegram Log of Alprog Разработка игр. Чатик: @alprogio Автор: @alprog #gamedev #programming #code #геймдев #программирование #код
  • ❤ 1
  • 🔥 1
Post #99 4.49K
Давно хотел поделиться с вами бесплатной онлайн книгой про игровые шаблоны проектирования, которую пишет бывший программист Electronic Arts, ныне работающий в Google над языком Dart, Боб Нистром.

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

http://gameprogrammingpatterns.com/

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

Спасибо @WookyThePooky за корректировку
  • 🙏 1
Post #97 4.03K
Когда есть общий код, о чем в первую очередь думаешь ты? О наследовании? А как насчет использования Entity Component System?

Подробнее https://fateev.me/ru/gamedev/entity-component-system.html
  • 👍 1
Post #96 4.24K
Недавно беседовал с коллегой про разработку. Он жаловался, что уходит много времени на интеграцию клиента с сервером.

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

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

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

Подробнее в статье: https://fateev.pro/ru/gamedev/offline-mode-in-client-server-apps.html
  • 💯 1
Post #94 3.64K
Очень структурированный гайд по изучению нашего непростого ремесла. От себя хочу отдельно отметить книгу Game Engine Architecture
  • 🔥 1
Post #91 3.82K
Думаю, многие знают дядю Боба (Роберта Мартина), автора книги "Чистый код".

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

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

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

http://johannesbrodwall.com/2018/06/24/forget-about-clean-code-lets-embrace-compassionate-code/
  • ❤ 1
Post #89 6.56K
На рынке игровых фреймворков появился еще один интересный игрок 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
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
  • 👍 1
Older posts →

About this channel

How can I read @gamedev_architecture without a Telegram account?
TGViewer shows the public web preview Telegram publishes for GameDev Architecture: recent posts, photos, videos and the subscriber count, with no app, login or account.
How many subscribers does GameDev Architecture have?
GameDev Architecture (@gamedev_architecture) has 1.18K subscribers on Telegram, refreshed roughly every 30 minutes.
Does GameDev Architecture know I viewed it here?
No. Public channel previews carry no viewer identity, and TGViewer has no accounts or tracking of what you look up.
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →