Все игры на Infostart.ru мы публикуем бесплатно. Так мы получаем «полигон» для экспериментов, где каждый может попробовать свои силы в нестандартных задачах разработки. Ну и просто посмотреть, на что горазды коллеги.

Мы поговорили с автором одной из самых популярных игр раздела – «Змейка». Эмиля Бочкова (Dipem P) рассказала, как появилась идея для разработки игры, стоит ли тратить на это время, и что дает такая практика специалисту.
Зачем писать игры на 1С
Думаю, 1C-игры делают для развлечения и для того, чтобы бросить себе вызов: написать игру в системе, не предназначенной для разработки игр. Но вне зависимости от вида игры – будь то судоку, кроссворд или что-то динамическое, змейка или Марио – для создания полноценного «продукта» нужно многое учесть. Начиная с понимания логики игры, концепции и заканчивая спецэффектами и дизайном. И, естественно, понадобятся знания механизмов разработки в 1С, чтобы суметь с их помощью воплотить в жизнь свою идею.
Как родилась идея написать змейку на 1С
Как я работала над змейкой – наткнулась на Инфостарте на множество разных статей по играм и вдохновилась написать свою!
- Игра «Змейка» на 1С (управляемые формы) – сама змейка, которой я вдохновилась
- Battle City на 1С
- Решение судоку. В университете, еще до знакомства с 1С, я сама писала такой решатель. Увидев эту статью, окунулась в ностальгию по студенческим годам.
«Змейку» я писала в свободное от работы время и совсем по чуть-чуть, потому что изначально была лишь идея, и разработка осуществлялась на ходу, с большими перерывами.
В силу того, что в сфере программирования на 1С я молодой специалист – с опытом чуть больше года, змейка писалась долго, почти месяц. Но зато это помогло мне взглянуть на 1С с другой стороны и почувствовать себя хоть немного, но разработчиком не только полезных для предприятий программных продуктов, но и разработчиком игр. Мне очень понравился этот опыт, ведь в свободное время я играю в видеоигры. Совместить хобби и работу было хорошим решением.
С чего начиналось построение игры
Любая игра начинается с логики построения. Есть ли в игре уровни? Будут ли они генерироваться или будет фиксированный, заранее заготовленный список уровней? В первом случае, например, нужно погрузиться в теоретическую часть и изучить алгоритм генерирования уровней в этой конкретной игре и суметь написать алгоритм, используя средства 1С.
Особенность разработки игр конкретно в 1С заключается в том, чтобы эффективно подобрать метод реализации игры механизмами 1С – иногда это непростая задача.
Вот так выглядит интерфейс «Змейки» на 1С
«Змейка» же довольно распространенная и простая задачка в программировании, так что идея для реализации сразу пришла в голову. Сложностей не возникло, разработка оказалась очень простой. Я использовала объект встроенного языка СписокЗначений для хранения списка координат тела змеи, каждый элемент из списка координат представляет собой пару цифр. По мере движения змеи список меняется, а при встрече с яблоком список удлиняется.
Самый распространенный объект для построения игры
На мой взгляд, самым распространенным объектом, используемым при разработке игр на 1С является «Поле табличного документа». С его помощью можно отрисовывать любой дизайн, в силу вашего терпения, конечно, так как недостаточно только нарисовать, нужно сделать так, чтобы и отображалось правильно, если в игре есть динамика.
Все остальные объекты/методы, думаю, используются повсеместно, без них не обойтись и в любой другой задаче. Главное – грамотно ими воспользоваться.
Планы по развитию игры
После того, как игра была готова, я поделилась ей с коллегами, и мне порекомендовали опубликовать ее на Инфостарте. Как я и написала в статье, в будущем я планирую доработать змейку, добавив в нее новые возможности. Как уже отметили в комментариях к игре, коду требуется доработка: рефакторинг, чистка и оптимизация по мелочи.
Основываясь на предыдущем опыте, хочется написать что-нибудь еще и при этом продумать лучше логику игры, заняться оптимизированием, поглубже изучить механизмы 1С.
Все игры на Инфостарт