В чём истинное предназначение «Косынки» и «Сапёра»
Пасьянс «Косынка», «Свободная ячейка» и «Сапёр» — популярные игры, которые входят в базовый комплект Windows. Это довольно простые, но увлекательные игры: некоторые люди готовы часами играть, не отрываясь.
Хотя игры увлекательные, но мало кто знает, с какой целью их разработали.
Самая старая из перечисленных «Косынка» появилась в версии Windows 3.0 в 1990 году. Хотя эту игру придумали в конце 18 века, цифровая эпоха показала, что необязательно иметь в распоряжении настоящую колоду для простой карточной игры. Но истинное предназначение «Косынки» было совсем в другом. Оно гораздо более скромное: незаметно научить людей уверенно пользоваться мышью.
Цель пасьянса «Косынка» заключалась в том, чтобы целое поколение компьютерных пользователей, привыкших к текстовому интерфейсу командной строки, научили сами себя концепции drag-n-drop, даже не осознавая этого. Юзеры до сих пор перетягивают ярлычки с места на место, и этот факт доказывает, что план сработал.
Логическая головоломка с цифрами «Сапёр» тоже имела определённую задачу. Она появилась ещё на мейнфреймах в 60-70-е годы, где версия под названием «Куб» (Cube) приобрела широкую популярность. Спустя несколько десятилетий, в 1992 году, версия «Сапёра» от Microsoft появилась в Windows 3.1 — вовсе не для демонстрации, что Windows такая замечательная игровая система, а для тренировки точности управления мышью у пользователей.
Если вы думаете, что такое скрытное обучение пользователей с помощью игр — это просто совпадение и конспирологическая теория, посмотрите на Windows для рабочих групп 3.1, первую версию Windows с сетевой поддержкой. Туда Microsoft добавила игру под названием Hearts, которая по технологии NetDDE могла связываться с другими клиентами в локальной сети. Это вовсе не совпадение. С помощью игры Microsoft демонстрировала пользователям новые возможности операционной системы, пыталась их обучить и заинтересовать.
В конце концов, «Свободная ячейка». Она вышла для Windows 3.1 как часть Microsoft Entertainment Pack Volume 2 и шла в комплекте с пакетом Win32s, который запускал 32-битные приложения в 16-битной версии Windows 3.1. Это был пробный камень, с помощью которого Microsoft тестировала Win32s. Если пакет неправильно установлен, то «Свободная ячейка» не запускалась. То, что люди считали игрой, на самом деле являлось скрытым системным тестом.
Со временем народ настолько привык к этим играм, что Microsoft решила оставить их в следующих версиях ОС, хотя они уже выполнили свои задачи. Только в 2012 году появилась Windows 8 без игр: пользователям предлагали скачать пасьянсы (Solitaire Collection) и «Сапёра» отдельно, причём за версию без рекламы нужно было заплатить.
В самой последней версии Windows 10 компания Microsoft вернула «Косынку». Если поискать другие игры в поисковой строке, то пользователю покажут ссылки на Windows Store, откуда эти игры можно скачать. Может быть, это тоже неслучайно — отличная мотивация для юзеров узнать, как работает Windows Store. Возможно, скрытое обучение продолжается до сих пор, спустя много лет?
Microsoft рассказала, для чего в Windows добавили пасьянсы и «Сапера»
Приветственный экран Microsoft Solitaire Collection в Windows 10
Водить мышью
Самый известный пасьянс, «Косынка», появился в Windows 3.0 в 1990 году. Тогда Windows еще не была самостоятельной системой, а являлась лишь надстройкой над DOS, пусть и очень сложной. Из-за этого многие пользователи по инерции продолжали пользоваться «Командной строкой» для управления системой.
Microsoft же к тому времени уже выпускала мыши, но пользователи не хотели переходить на сложный и непривычный метод ввода. С этой целью компания и ввела в систему «Косынку» — игру, в которую без использования мыши играть практически невозможно. Да, в «Косынке» можно перемещать карты кнопками клавиатуры, но это крайне неудобно, и даже самые упорные противники мыши в конце концов привыкали к ней. В итоге Microsoft с помощью такой простой игры (появившейся еще в XVIII веке) смогла переучить поколения пользователей, привыкших к командной строке.
Впервые Microsoft ввела в обращение мышь как устройство ввода в 1983 году, когда выпустила текстовый редактор Word.
Это приложение было изначально заточено под использование с этим типом манипулятора. Подобный выбор был связан в том числе и со сложностью функций Word для обычного управления с помощью клавиатуры: пользователям нужно было бы выучить слишком много новых сочетаний клавиш или перемещать курсор с помощью стрелок, что тоже занимало много времени.
Однако Word долгое время не был популярным текстовым редактором, поскольку существовал более простой WordPerfect, который уже был установлен на большое количество устройств, и пользователям не хотелось переучиваться. Во многом по этой причине и мышь к 1990 году не была одним из ключевых аксессуаров к компьютеру.
Кликать мышью
Помимо контроля мышью Microsoft необходимо было научить пользователей кликать ей. И потому в Windows 3.1, выпущенной в 1992 году, Microsoft представила следующую игру-тренажер — «Сапер». С выпуском этой игры разработчики преследовали сразу две цели. Первая — это приучить пользователей к тому, что кроме основной, левой кнопки мыши, есть еще и правая, за которой закреплены дополнительные функции.
Вторая — повысить скорость и меткость использования этого устройства ввода. В «Сапере» необходимо попадать по небольшим квадратикам, и время ограниченно.
Очевидно, что тот, кто будет долго целиться в квадратик, будет успевать меньше, чем тот, кто приводит указатель в нужную точку, практически не целясь.
В итоге «Сапер» быстро стал хитом, а люди даже начали соревноваться в скорости его прохождения. И это лишний раз продемонстрировало пользователям, как важно уметь быстро пользоваться мышью.
Играть с друзьями
Следующая обучающая игра — это «Черви», которую Microsoft ввела в свою систему в следующей версии — Windows for Workgroups 3.1. Она тоже была выпущена в 1992 году, но имела поддержку локальных сетей. Поскольку «Черви» — это игра многопользовательская, то она была призвана приучить людей взаимодействовать по сети, пусть и в игровой форме.
Все же в 1992 году использование сетей было в диковинку. Так, первая фотография была загружена в интернет только в 1992 году, когда был разработан новый стандарт протокола, поддерживавший файлы изображений.
В 2012 году полюбившиеся людям игры из Windows исчезли. Однако и это исчезновение носило образовательную функцию. Ведь скачать их можно было только из магазина приложений, и пользователей нужно было бы приучить пользоваться этим инструментом для получения необходимых программ.
Впрочем, шквал критики в сторону Windows 8 был так высок, что вместе с возвращением меню «Пуск» Microsoft вернула в Windows 10 и «Косынку». Однако и тут не обошлось без обучения: теперь в пасьянсе появилась возможность покупки дополнительных элементов или отключения рекламы, и пользователям надо будет научиться взаимодействовать и с функцией покупки напрямую из приложений.
Сапер GO для опытных игроков
Хочу поделиться своей реализацией классической игры Сапер.
На идею написания подтолкнул тот факт, что в android маркете отсутствует реализация сапера, которая хотя-бы немного соответствовала функционалу таких популярным среди продвинутых игроков в сапер клонов на PC как Arbiter или Minesweeper Clone.
• Бенчмарки и метрики. Сапер GO рассчитывает метрики 3BV/c, Нажатия/с, RQP, IOS, IOE для отслеживания скилов и эффективности игроков.
• Запись игр. Возможность проигрывать сыгранные игры в любое время. Важно для подтверждения достоверности рекордов. Также можно смотреть как лучшие игроки проходят минное поле.
• Мировой Рейтинг. Онлайн таблица рекордов игроков с детальной статистикой и записями рекордов.
• Поддержка игроков играющих стилем Без Флагов (NF)
• Продвинутый аккорд. Различные опции рекурсии для аккорда для максимальной скорости разминирования полей.
• Управление 3BV. Гибкий контрол для генерации полей с возможностью указать желаемое значение 3BV.
• Персональная полная статистика и история рекордов.
• Гибкая настройка управления режимами разминирования поля.
На даный момент Бета версия игры опубликована в android маркете.
Следить за разработкой можно на страничке в Facebook: https://www.facebook.com/minesweepergo/
Буду благодарен за тестирование и отзывы по улучшению игры,
Лига Разработчиков Видеоигр
4.5K постов 19.2K подписчика
Правила сообщества
— Уважайте чужой труд и используйте конструктивную критику
— Не занимайтесь саморекламой, пишите качественные и интересные посты
— Не употребляйте мат без необходимости
— Посты о Вашей игре с историей её разработки и описанием полученного опыта
— Обучающие материалы, туториалы
— Интервью с опытными разработчиками
— Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
— Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе
НЕ СТОИТ ПУБЛИКОВАТЬ:
— Только гифки/арты/скриншоты из игры. Такие материалы могут сопровождать рассказ об игре или обучающий туториал, но не должны являться основой поста
— Посты, содержащие только идею игры
— Посты, не относящиеся к тематике сообщества
Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.
— Публиковать бессодержательные посты с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции
— Выдавать чужой труд за свой
Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.
Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:
— Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества
— Ссылка должна размещаться непосредственно в начале или конце поста и только один раз
— Cсылка размещается в формате: «Страница игры в Steam: URL»
Кто все эти буквы? О_о
Чёт все так накинулись на безобидного сапёра, которого реально нету в плей маркете.
Я искал пару месяцев назад. Нашёл кучу говна, казуального сапёра для самых маленьких, а изюминкой поисков стал сапёр с донатом.
А мелкомягкие бан за такое не выкатят? Очень смелое решение на грани самоубийства.
Ох не вовремя ты про эту игрушку заговорил. Ох не вовремя.
Ох уж эта программистская черта, писать велосипеды и разукрашивать их как феррари
Прошу прощения, но как включить режим насмерть в турнире?
А такой момент, как необходимость ставить в слепую это фича сапера (будто без доли везения не выиграть в него)? А то очень часто именно на таких моментах сливаюсь. С другой стороны почти такая же засада
давай квантового сапера!
Нравится:) Установил, играюсь. Объясни только, пожалуйста, что все эти сокращения обозначают, которые указаны в игре.
Но. Есть пара замечаний/предложений
Еще раз спасибо за просто охренительную игру)))
может можно как то сделать чтоб когда поле перемещаешь не срабатывало типа я нажал на клетку
Собрал (4000)
Еще один. Всех с Наступающим.
Для всех любителей головоломок, представляю Вашему вниманию мобильную игру собственной разработки.
Критика, пожелания, скачивания, оценки приветствуются.
Промокоды на халявный VIP:
После активации их в маркете, необходимо зайти в игру и нажать на «корзинку». Если VIP не активировался автоматически, то можно попробовать нажать кнопку «Восстановить».
Как я «Звездную ночь» Ван Гога собирала
С пазлами у меня никогда не складывалось: терпение заканчивалось раньше, чем начинало получаться что-то путное и вырисовываться картинка. Затем пазл откладывался, детальки начинали теряться, а позже он отправлялся весь на мусорку.
Но в декабре прошлого года я увидела в Фикспрайсе пазлы с работами Ван Гога. Очень красивые и разнообразные, но брать было решено, конечно же, Звездную ночь.
Не знаю, на что я рассчитывала с моим-то опытом, но, раскрыв дома коробку и увидев «сине-желтое насилие», я с энтузиазмом взялась за работу.
Этот же энтузиазм благополучно рассыпался в прах на следующее утро, когда я взглянула на результат ночной работы и наконец оценила масштаб безумия.
Рамку я собрала за 5 часов практически наугад и просто не представляла, что делать дальше. Передо мной лежала коробка с казалось бы абсолютно одинаковыми деталями. Я погрустила, а потом за завтраком решила: вот сейчас допью кофе, сгребу рамку обратно в коробку и выброшу все это к чертям. Потому что это нереально, ну для меня уж точно.
Потом посмотрела на нее ещё и решила попробовать собрать вот эту черную штуку на переднем плане: она же чёрная, значит, эти детальки должны хоть как-то выделяться из общей массы.
Стоит ли говорить, что собирала я ее исключительно наугад. Собрала всю черноту в кучу, потом разделила детальки по форме и тупо примеряла каждую на то место, куда она может подходить.
За день или за два дело сдвинулось.
Я просто медитировала, примеряя наугад детальки, и не представляла, что буду делать дальше.
Но потом чёрная штука закончилась и нужно было что-то решать. Я все ещё была уверена в том, что не смогу довести дело до конца.
Дальше было решено собрать часть неба, на которое полосы идут горизонтально: я предполагала, что их тоже можно как-то выделить из общей кучи.
Это было уже сложнее, но каким-то образом я справилась.
Дальше – деревня. Могу сказать, что это была самая увлекательная часть. Сказать «простая» язык не повернётся, но я бы сказала, что точно проще, чем все остальное. Кусочки деревни легче искать, в них есть определённый сюжет, и это был тот период, когда я даже могла целенаправленно найти нужную деталь и знать, куда она должна встать.
Но вот когда закончилась деревня, я впала в ступор. Что делать дальше? Передо мной заключительный, огромный и сплошной кусок неба, а в коробке, пусть и уменьшившаяся, но куча совершенно одинаковых желто-синих деталей. Как это собрать и с чего начать?
Здесь уже было решено разделить все детали по форме и разложить по контейнерам, а саму сборку частично со стола перенести на деревянный планшет.
Я делала так: брала один из контейнеров, на нем раскладывала детали определенной формы (можно и несколько форм, но только чтобы они лежали в разных углах) и опять же примеряла их на те места, куда они могли подойти. Просто по форме или же, если это было возможно, выделяла и по оттенку.
Если в начале сборки неба я все ещё не была уверена, что пазл будет собран, то уже к середине наконец-то за все время работы я обрела эту уверенность и знала: я закончу.
На этом этапе случилась первая пропажа детальки. Я никак не могла найти нужную вот в этом самом большом жёлтом круге. Она было довольно узнаваемой из общей массы. Потом я решила подсчитать, сколько пустых мест ещё есть на пазле, а потом пересчитала сами детальки, и их оказалось на одну меньше. Я обыскала всю комнату и даже соседние, вытряхнула пылесос. На следующее утро уже была твёрдо намерена купить ещё одну такую же коробку и там среди деталей найти нужную. Ну не оставлять же картинку с дыркой, в самом деле. А потом эта деталь чудесным образом нашлась в общей куче. Как я умудрилась несколько раз обсчитаться, не знаю, но эта ситуация здорово потрепала нервы.
Так картинка выглядела в последний вечер сборки.
И это было самое продуктивное время. Тут уже подключился муж, и вы не представляете, какой это кайф: скорость увеличилась, деталей все меньше, а от этого скорость ещё выше. Я искала детальки и не верила, что это все так на самом деле. Кстати, это в принципе особый вид удовольствия: видеть, как в процессе уменьшается число деталей, а под конец так вообще.
За 10 минут до конца мы обнаружили, что не хватает ещё одной детали. Искра, буря, безумие. Пазл собран, а одной детали нет. Но я не успела сойти с ума, потому что быстро нашли ее под диваном. И она торжественным образом последней встала на место, завершив эпопею длиной в три недели.
Закрепляла я пазл специальным клеем для пазлов, продаётся в Ашане примерно за 40 рублей. Категорически не советую брать его на Озоне, там он стоит конские 250 рублей за бутылочку. На картинку размером 70*50 см хватило одной бутылочки. Я просто залила его на лицевую сторону, а затем как следует распределила с помощью пластиковой карты.
Ну и финал – картина благополучно вставлена в раму и повешена в гостиной.
Я ещё решила подстраховаться и заклеила изнанку газетными листами на клей пва, из-за чего высохшая картинка пошла волнами и топорщилась на стене. Поэтому мы не только подвесили ее сверху на крючки, но и прибили раму снизу гвоздем прямо к стене. 😁 На фото его можно разглядеть. Не будьте как я, клей для пазлов прекрасно справится в одиночку.
Спасибо всем, кто дочитал и кому было интересно. Быть может, мой пример вдохновит кого-нибудь на сборку сложных пазлов. Это непросто, но увлекательно, и приносит огромное удовлетворение. Я сама в процессе зарекалась, что больше никогда, а сейчас вот, спустя несколько месяцев, подумываю, не взяться ли за ещё один.
Головоломка
Как-то увлекся головоломками и решил сделать свою – куб-змейка 4*4*4.
Сделал собственный проект, собрал и только потом узнал, что уже такое кто-то ранее придумал. Эх! =/
Но зато, я сделал этой головоломке бокс. Состоит он из 5 склеенных граней. Есть отдельная грань с выступами, для которых есть впадины (это видно на фото). Вот эта отдельная грань и есть крышка в боксе. Вставляется и вынимается она с небольшими усилиями, но лишь с небольшими. Коробка из склеенных граней то крепкая, но все-таки незначительно деформируется (как раз на 1-1,5мм), а этого достаточно, чтоб выступы попали в свои пазы.
Шпасиба за просмотр. Надеюсь я вас тоже немножечко заразил интересом к головоломкам )
Тряхнул стариной или как создать игру в одиночку за 50 часов
В последнее время на работе стало совсем скучно заниматься ежедневной рутиной, а душа просила какого-то удовольствия. Делать что-то сложное с 3D желания не было, хотелось чего-то легкого, чтобы и подумать пришлось, и визуально было красиво. Нужна была идея. Вспомнил, что в моём детстве мне очень нравилась игра «Net Walk» (кстати, еле нашёл её в Google, название стёрлось из памяти).
Суть игры была проста и интересна одновременно. По сути это прародитель всех игр типа «Сантехник». Нужно было от сервера «протянуть» сеть, чтобы подключить все терминалы. Элементов в игре было всего 5 типов: сервер (с одним или несколькими выходами), терминал с одним входом, прямой провод, провод под углом 90° и тройник (один вход, два выхода). Помню, что в детстве даже с таким небольшим набором элементов игра на некоторых уровнях заставляла знатно подумать.
Поискал современные аналоги и как-то толком то ничего и не нашлось. Есть «Infinity Loop» под Android, добавили шестигранную сетку элементов вместо квадратной на некоторые уровни и магнитные катушки для передачи электричества от одной к другой без проводов. Но из всех уровней от силы 5% заставляют подумать, остальные проходятся очень легко. Причем только на 118 уровне я обнаружил, что можно использовать не все элементы, но игра за это никак не поощряет. Даже писал разработчику, на что он ответил что-то типа «ну да, так тоже можно».
Но повторять один в один – совсем не хотелось, хотелось новые механики, современный внешний вид и вообще своих «поэтесс». Итак, дорогой читатель, добро пожаловать в историю создания игры «Give Me the Light».
Идея найдена. Нужно определиться с инструментарием, на котором делать, под что делать, найти или создать графику, музыку, звуки, концепции, механики. Много всего. В январе 2020 года, пока новости про коронавирус еще были лишь китайскими процесс закипел. Делать решил под Windows, да не модно нынче игры под Windows делать, но офисных работников на «винде» много, а эта игра создаётся именно под них, чтобы можно было скоротать обеденное время тренируя мозг. Итак платформа определилась. Осталось дело за малым, проработать концепцию. Идея с лампочками в Infinity Loop мне понравилась больше, так как прокладка сетей нынче уже не так актуальна в эпоху Wi-Fi, 4G и т. д. Ок, игровая сетка пусть пока будет квадратная (шестигранники оставим для второй версии игры). И тут мне в голову приходит хорошая идея, а почему лампочка должна быть только одного цвета? Цветов же много, пусть будут разноцветные. И тут встала проблема. Количество спрайтов для игры резко возрастает пропорционально количеству будущих цветов. Рисовать их все вручную очень лениво, да и хотелось сделать масштабирование игрового поля, точнее задавать его размер для каждого уровня произвольно, следовательно, масштабировать спрайты на лету – терять качество.
Решено. Будем всю графику в игре отрисовывать налету, т.е. рендерить. Немного поигравшись с вариантами, 13.01.2020 родилась первая технологическая альфа-версия игры, с тремя уровнями, по сути, для теста графического движка на основе GDI+. В целом результат нравился. Сразу прошу прощения за качество некоторых рисунков (скриншотами их язык не поворачивается назвать), так как на начальной стадии делать полноценные скриншоты что-то было не когда. Тестеры присылали фотки экрана и мы обсуждали, что, где не так и что улучшить.
Не сложно заметить, что игра уже поддерживает прохождение коротким и полным путём, за что в будущем будет давать плюшки. Нужно было больше тестеров, попросил знакомых и друзей. Получил массу советов и пару замечаний. На слабых машинах, игра давала 12-15 FPS, что было крайне удручающе.
Использование движка GDI+, который, увы, никак не использует мощь видеокарты даёт такой плачевный результат, если у игрока процессору больше 5-7 лет. Начался долгий этап по поиску графических движков, которые могут либо быстро рисовать графические примитивы, либо использовать для этого видеокарту. Рассматривались: Andora2D – не умеет полноценно примитивить, только спрайты. QUADEngine – так и не покинул этап разработки и версии старше 0.9 найти не удалось, примитивить умеет, но далеко не всё необходимое (дуги, например). Graphics32 – оказался не сильно производительнее GDI+, при этом требуя больше кода, для рисования примитивов. DirectX – не умеет полноценно примитивить в 2D, OpenGL – тоже. И тут я натыкаюсь на AGG – AntiGrain Geometry. Это именно то, что я искал, быстрое рисование примитивов в 2D. После теста, решено было переходить на него. Как итог, те, у кого было 12-15 FPS, получили по итогу минимум прибавку в 10-15 FPS, что уже было вполне комфортным для данной игры.
Теперь надо было решить проблему с созданием уровней. Формат файлов с описанием уровней я придумал, но набирать их вручную в бинарном виде в HEX-редакторе – то ещё удовольствие, а уж модифицировать их, так вообще ужас. Пришлось отвлечься от игры и написать редактор уровней.
Жить можно, теперь хотя бы можно визуально до сборки игры, примерно увидеть как будет выглядеть уровень. Но продержался этот редактор только во время проектирования первой десятки уровней, так как сложность уровней росла, а увидеть как будет жить уровень, поискать короткий путь и т.д. в редакторе, сделанном на скорую руку, оказалось просто невозможно. И снова разработка игры встала на паузу, тестерам была отдана по сути вторая сборка с обновлённой графикой и 10-15 уровнями на тесты, и начался этап разработки полноценного редактора. Тот же графический движок, что и сама игра, плюс много кода для бизнес-логики и вот он редактор моей мечты.
Теперь после создания редактора работа над игрой вновь закипела полным ходом.
Тестеры стали просить добавить систему ачивок, поначалу они давались за различные очевидные вещи: по типу повернуть элементы 1000 раз. Но потом мой ум стал придумывать более необычные вознаграждения и как итог теперь их 87 штук в 6 категориях. Большинство из них даются просто за то, что вы играете в игру, используя и находя новые механики, но есть и заковыристые, и даже за нахождение пасхалки.
Также для возрастных тестеров понадобилось приделать некий учебник, который бы научил основным механикам игры. А ещё отдельные тестеры просили, чтобы игра их сама обучила в процессе. Так учебник стал интерактивным и на первых уровнях обучает игрока.
С механикой и графикой вроде разобрались, пора задуматься о звуках и музыке.
Музыка подбиралась долго, требовалась медитативная приятная мелодия и лучше не одна, чтобы и фоном красиво звучала и к игре подходила. В итоге 90% музыки в игре от известного среди Free-музыки исполнителя Kevin MacLeod. Единственное, что он просит на своём сайте взамен – это указать его как автора музыки. Так в игре появились плашки с названиями треков. Но мало найти песни, надо выбрать звуковой движок и формат файлов, чтобы и звучало хорошо и размер не был гигантским. Рассматривались по сути две кандидатуры Fmod и BASS. Второй выиграл, бесплатен для условно-бесплатного ПО и имеет удобное и уже ранее знакомое API. ПО формату музыки остановился на OGG – этот формат не просит никаких лицензионных отчислений за своё использование, сопоставим по размеру файла с MP3 и имеет сопоставимое качество.
Ещё надо было подобрать звуки. Облазил десятки Free-Sound сайтов в поисках подходящих, скачал сотни подборок и по крупицам находил те звуки для разных событий, которые на мой вкус вписывались в медитативную атмосферу игры.
На дворе настал конец марта 2020. Карантин. Так как ранее разработка игры велась исключительно 20-30 минут в день во время обеда и то не каждый день, то теперь времени стало много, чтобы поработать над оптимизацией игры и компактностью одновременно. «Поиграть с цветами», как говорят дизайнеры. Первая проблема, которую хотелось решить: ресурсы игры (музыка, звуки, уровни, текстовые данные и немного PNG-шек для иконок ачивок) надо бы разместить прямо в EXE-файле, так и практичнее (пользователь не сможет что-то случайно удалить), и красивее. Забегая вперёд скажу, что удалось убрать 99,9% ресурсов, только BASS.DLL осталась торчать «наружу». Для этого потребовалось написать приличную гору скриптов для сборки и упаковки ресурсов и разработать структуру директорий для хранения исходников ресурсов.
Вторая проблема: я хотел прикрутить к игре мультиязычность. Чтобы расползаясь по миру, игроки могли выбрать язык, который им ближе. Для этого требовалось перевести на разные языки все текстовые элементы игры. Что-то переводил сам, что-то Google-переводчик. Языки выбирал не просто так. Русский и английский, как бы без вариантов, а дальше опирался на статью в Википедии про распространённость языков. В итоге имеем 11 языков. Кстати, иконки флагов тоже рисуются программно, это не картинки. Язык можно выбрать при первом запуске игры или затем изменить в настройках.
И за апрель, параллельно с ремонтом в квартире все эти задачи были решены.
После прохождения 100 уровней, тестеры хотели чего-то большего, чем просто финальные титры. И немного подумав, появился второй режим игры, который доступен после прохождения всех уровней. Я назвал его «Темнота» и от обычного он отличается тем, что целиком игровое поле не видно. Видны только подключенные элементы. В данном режиме многие уровни, на которых требовалось думать, стали еще сложнее, что значительно повысило интерес у игроков.
За прохождение уровней помимо ачивок, игрок зарабатывает звёзды. Одну, две или три. Расчёт ведётся на основе совершённых на уровне вращений элементов или затраченного времени. Причем для темного режима игры звёзды свои.
В процессе разработки у меня случались доработки и редактора (новые элементы), и самой игры. В итоге в самой игре сейчас насчитывается:
• 7 цветов (больше уже перебор, меньше – не так интересно), причём цвета могут комбинироваться или разделяться;
• 31 игровой элемент (12 уникальных);
• 100 уровней (на многих придётся попотеть);
• 11 языков интерфейса;
• 600 звёзд суммарно;
• встроенный в игровой процесс «Онлайн» учебник;
• настройка качества графики (помогает совсем слабым ПК) и включение/выключение раздельно звука и музыки.
Разработка игры завершилась примерно в конце октября 2020 года, заняв суммарно порядка 50 часов. После чего я разместил её на двух игровых площадках, где она с тех пор без какой-либо рекламы тихонько набирает обороты. Почему я написал эту статью? Просто хотелось поделиться с Вами мыслью, что не бойтесь что-то делать, если Вам это нравится и приносит удовольствие. Если это так, то у Вас всё получится. Саму статью я приурочил к выходу небольшого обновления игры, где произошли минорные изменения, в том числе теперь игру можно развернуть на весь экран и погрузится в мир, где одинокие лампы хотят светиться.
p.s. Специально в статье стараюсь не упоминать на каком языке разработана игра. Во-первых, это не так важно, так как язык – это всего лишь инструмент, а во-вторых, стало интересно, сможет ли кто-то из читателей только по статье или по игре понять на чём она все-таки сделана. И помните HEX-редактор для просмотра EXE-шника, чтобы узнать язык – читерство, равно как и поиск сохранёнки в реестре, чтобы накрутить себе счётчиков (удачи *злобный смайлик*)
p.s.s. Если вдруг кто желает помочь с исправлением/улучшением перевода на том или ином языке, дайте знать.
P.s.s.s. Немного техники:
• 900 Кбайт исходных кодов в 16 файлах;
• 121 Мб занимает игра после установки на диске (не разрастается) + сохранёнка на 1-2 Кб в реестре.