GameDev Architecture
1.22K subscribers
3 photos
2 files
74 links
Привет! На канале я делюсь своими заметками о том, как игровым компаниям строить правильные, эффективные и красивые решения, в основном на C#.

Рекламу не размещаю
Download Telegram
Channel created
Channel photo updated
Вы знали, что работа над дизайном языка c# ведется публично на github? Коммьюнити может влиять на вектор движения языка. https://github.com/dotnet/csharplang
Сделать такие простые сервисы как hiscore и инвентарь на сервере в облаке, не так уж и сложно! Пример проекта на Unity3D https://github.com/Unity3dAzure/AppServicesDemo
Довольно мощная OSS платформа для распределенных игровых серверов, написанная на GO. Можно легко задеплоить в любое облако.

Среди фич:
- Авторизация, в т.ч. через соц. сети
- Чат
- Мультиплеер
- Лидерборды
- Кастомная логика на Lua
- Матчмейкинг

https://github.com/heroiclabs/nakama
В сентябре выступлю на Unity Meetup'e.

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

http://hsbi.hse.ru/events/raznoe/unity-moscow-meetup-4/
Чувак правду матку рубит. Как я люблю. Помню как проходил собеседования по плюсам. Больше было похоже на самоутверждение за счет унижения других. Я считаю это непозволительным. Серьезно, если встретите такое на вашем собеседовании — разворачивайтесь и уходите. Оно того не стоит

https://habrahabr.ru/company/exante/blog/335096/
В тему унижений и дедовщины. Сообщества вокруг языка или технологии такие разные. Есть хорошие сообщества, дружелюбные, позитивные. А есть полный мрак. Вместо того чтобы тебе помочь, тебе опустят, обольют грязью и дадут пинок под зад. Мы так хотим встречать своих будущих коллег?
Оказывается с докер образами могут быть неочевидные проблемы. Для меня multi-process application внутри контейнера выглядит немного странно, поэтому данная проблема мне кажется немного натянутой.

А вы запускаете другие процессы из вашего приложения?

https://blog.phusion.nl/2015/01/20/docker-and-the-pid-1-zombie-reaping-problem/
Ощущали ли вы когда-нибудь себя узником системы?
anonymous poll

Да, до сих пор так себя чувствую – 18
👍👍👍👍👍👍👍 64%

Нет, я всегда был сводобен! – 5
👍👍 18%

Да, прошел через это, и пришел к порядку – 4
👍👍 14%

Да, прошел через это, до сих пор считаю все эти процессы чушью! – 1
▫️ 4%

👥 28 people voted so far.
Неплохое сравнение serverless решений https://logz.io/blog/serverless-guide/ . Хотя я бы добавил, что в Azure можно еще нормально отлаживать ф-ии в VS с брейкпоинтами и всеми делами.
Kubernetes — крутая вещь. Но это все же не совсем комплексное решение и требует внедрения ряда других OSS решений Consul, Zookeeper, Eureka и т.д.

https://www.linkedin.com/pulse/astonishingly-underappreciated-azure-service-fabric-ben-spencer

Azure Service Fabric, в свою очередь, оркестратор, в который впихнуто гораздо больше, включая модели программирования. Хотите stateful сервисы с гарантиями? Пожалуйста. Actor based модель из коробки? Извольте.

Самое важное: Azure Service Fabric можно запускать где угодно: локально, в любом облаке, azure, aws, google cloud, хостинг провайдере, на сервере у соседа... продолжите сами :)

А команда все больше фокусируется на поддержке контейнеров. Теперь можно пользовать Reliable Services внутри контейнеров (превью).
Наткнулся на простенькие, но полезные лайфхаки по работе с докером. Например, всегда хотел автоматизировать удаление "болтающихся" образов и удаление не запущенных контейнеров. Но все руки не доходили.

https://codefresh.io/blog/everyday-hacks-docker/
Разработчики часто сталкиваются с проблемами и задачами, которые имеют типовое решение. Именно такие решения описывают шаблоны проектирования.

Помню как для себя впервые открыл шаблоны проектирования, наткнувшись на них где-то во всемирной сети. И я зачитался. Надолго. Ведь я был самоучкой и некому было мне рассказать про то, что не нужно изобретать велосипед. Уже все придумано.

Забавно было видеть те паттерны, которые я использовал, и даже не знал, что для них есть название. Я пришел к ним сам.

Про другие паттерны было просто интересно почитать. Я видел как я могу применить то, или это. Как это мне облегчит жизнь и каким я был дураком, пытаясь изобрести корявый велосипед. Некоторыми вещами я просто восхищался.

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

Парочка полезных ссылок по теме:

https://sourcemaking.com/design_patterns/ — в свое время меня очень впечатлил сайт. Все просто и понятно.

https://martinfowler.com/articles/enterprisePatterns.html — ну и конечно же контент от мэтра софтварной разработки, Мартина Фаулера
Забавно, обычно не люблю такие статьи, но, как по мне, так довольно точная классификация программистов. Слава богу мне не приходилось работать с пассажирами. Найдёте ли вы себя там?
https://habrahabr.ru/post/336248/
Вы когда нибудь слышали про Game Jam?

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

Команды могут быть произвольными. Участвовать могут все, и разработчики, менеджеры, дизайнеры, уборщицы, сантехники, да кто угодно.

Получается сырой проект, полный багов. Но очень, очень интересный.

Когда я работал в геймдеве, я никогда не понимал, почему компании не устраивают внутренних гейм джемов, ведь это мега круто.

Это один из способов воплотить самые безумные идеи.
Это возможность попробовать самые смелые механики.
Это крутой тимбилдинг, в конце концов!

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

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

https://ru.wikipedia.org/wiki/Game_Jam
RiseoftheDeveloper.jpg
1.9 MB
Число разработчиков растет
Похоже что coding bootcamps все набирают популярность. На западе — больше, чем у нас. Тем не менее.

Что же это может значить? Думаю то, что программирование набирает популярность. Многие хотят такой jump start. Чтобы вжух — и ты работаешь девелопером.

Проблема заключается в том, что не возможно за несколько месяцев освоить наше ремесло. Нужно постоянно учиться.

Количество разработчичков растет. Посмотрите на эту интересную инфографику выше https://t.me/poisonous_johns_lair/21.

Что тому причина? Высокий оклад? Востребованность? Успех стартапов Whatsapp, Uber и прочих?

Я боюсь что наши ряды пополнят люди, которых интересуют только деньги. Люди у которых не горят глаза. Люди, которые не будут заморачиваться над тем что и КАК они делают.

Резкий рост неопытных разработчиков может быть проблемой. Ведь в идеале, на каждого неопытного разработчика — должен быть старший, который обучит его ремеслу.

Не хочу никого оскорблять, но вы посмотрите на JS сообщество. Новые фреймворки выходят каждый день, не привнося ничего инновационного. Все было изобретено кучу лет назад. Но для новичков — это открытие.

Конечно же и в JS мире есть опытные и уважаемые люди. Но я думаю именно веб страдает от роста популярности программирования. Ведь порог вхождения гораздо ниже.

Вот такие вот у меня двоякие чувства.