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

Фото: Freepik
Фото: Freepik
Путь в IT сегодня открыт для всех, кто хочет этим заниматься, а благодаря играм попробовать свои силы можно в нескучном формате. Эксперт рассказал об играх, которые могут мотивировать начинающих программистов

Об авторе: Кирилл Данилов, директор департамента IT и разработки образовательной компании MAXIMUM Education.

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

Игры для архитекторов ПО

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

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

Например, представим задачу настоящих архитекторов ПО. IT-отдел MAXIMUM Education ведет более 20 проектов, которые состоят из двух-пяти сервисов и работают более чем на 300 виртуальных машинах. Все эти сервисы и системы взаимодействуют друг с другом, образуя потоки данных. Иногда может случиться такое, что один из потоков начнет замедляться или вовсе остановится. Самый простой способ устранения поломки — это увеличить мощности в этой части. Такой способ называется «вертикальное масштабирование», однако он не всегда помогает и в большинстве случаев становится очень дорогим решением. Тогда группа инженеров начинает масштабировать это узкое место «горизонтально», то есть добавляет группу одинаковых сервисов в одно место. Например, если сайт посещают одновременно много пользователей и система не справляется, то хорошим решением будет сделать несколько одинаковых серверов, которые будут равномерно принимать посетителей. Подобные действия нужно будет совершать и в играх, кроме того, что вместо пользователей будут ресурсы, а узкие места будут появляться по мере увеличения добывающих станций. Игры, которые будут приведены ниже, похожи по принципу действия.

Фото: Onur Binay, Unsplash
Социальная экономика Игры, в которые играют люди: почему гейминг — это нормально

Factorio

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

Shapez

Еще один представитель автоматизации фабрик — это Shapez. Игра в минималистичном стиле с хорошим звуковым сопровождением и оформлением. В ней есть поддержка контроллера, то есть можно играть на PS5, Xbox или SteamDeck.

Игра помогает прочувствовать, какие задачи решают шаблоны проектирования (Design Patterns). Начинающий программист сможет научиться техникам, которые удачно работают и справляются с поставленными задачами. В программировании аналогичный подход: разобравшись, как реализовывать решение определенных задач, вы будете копировать их из проекта в проект.

SHENZHEN I/O

SHENZHEN I/O отличается от предыдущих. Она похожа на программирование микроконтроллеров на ассемблере. Здесь важно понимать, как куски кода можно объединить в последовательность, которая выполнит поставленную задачу. Кстати, похожим образом работают консольные программы в мире Unix.

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

Игра для улучшения навыков работы в команде

Работать в IT-команде сложно, когда нет опыта. Но более чем за 50 лет существования индустрии придумано множество способов облегчить работу со сложными социодинамическими проектами. Например, стартапы давно используют методы гибкой методологии (Agile). Одно из его воплощений — это система Scrum. В скрам-команде не важно, кем является сотрудник — разработчиком или менеджером, он должен приносить пользу команде, а команда достигать цели.

Лично я игры в работе использую для вдохновения идеями, мотивации и закрепления на практике полученных знаний в контексте командной работы. Один из неформальных способов узнать сотрудника лучше — поиграть с ним в Unrailed. Сразу станет понятен его стиль работы и сильные стороны: готовность к коммуникации, лидерство через делегирование или стремление выполнять одну понятную задачу.

Фото:Bryn Lennon / Getty Images
Экономика образования Что такое Scrum и как правильно использовать его в рабочем процессе

Unrailed

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

Игры для тех, кто хочет почувствовать себя пентестером

ExaPunks

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

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

BitBurner

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

Игры для тех, кто хочет понять, как устроен ИИ

Eliza

Eliza — это визуальная новелла об ИИ-психотерапевте Элизе, ее разработчиках и о ее клиентах. В основе игры лежит история героини Эвелин, решившей встретиться лицом к лицу с прошлым, поближе познакомиться с жителями Сиэтла, использующими Элизу, и определить свое будущее.

Интересный факт заключается в названии игры Eliza — так назывался первый чат-бот, созданный в 1966 году ученым Джозефом Вейценбаумом в Массачусетском технологическом институте. Бот использовал методологию сопоставления с образцом и последующей подстановки, чтобы придумывать ответы на запросы, вводимые людьми, имитируя работу психотерапевта.

Фото:Freepik
Экономика образования Сетевые игры и чат-боты: 5 техник для повышения мотивации к обучению

Почему не Minecraft и не Roblox

Minecraft и Roblox, которые хотя и являются популярными в IT-сфере и используются для обучения детей азам программирования, все же слишком красочные и яркие для новичков, поскольку могут отвлекать от выполнения заданий. Новичкам же необходимы рамки — то есть модератор или ведущий, который управлял бы процессом.

Обновлено 28.02.2024
Главная Лента Подписаться Поделиться
Закрыть