Pull to refresh

Мой Маджонг

Reading time4 min
Views3.8K

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

Началась эта история с покупки диска Shanghai: Dynasty для Windows 95 от компании-разработчика Activision. Это было мое первое знакомство с наследством древних китайских мудрецов. Не скажу, что я пришел в восторг, разгадывая хитроумный пасьянс. Но игра пришлась по вкусу моему маленькому пятилетнему сынишке, который подолгу зависал перед монитором, подыскивая похожие пары фишек. Это отвлекало его внимание, постоянно сосредоточенное на каких-нибудь шалостях, и облегчало жизнь его родителей. Но популярность игры сказалась на качестве поверхности диска и он стал читаться в приводе все хуже и хуже.

Flash

В то далекое время 90-х в Интернет бодрыми шагами входила технология Macromedia Flash. Изначально предназначенная для презентационных роликов, с появлением плагина для браузера, его начали встраивать в веб-странички, а самые передовые провайдеры рекламы заменяли ими gif-баннеры. Flash в 4-ой версии был весьма ограничен для написания кода, а основным инструментом создания игр продвигался другой продукт Macromedia Director, на котором вышло даже несколько весьма неплохих игрушек. Но последний показался мне слишком запутанным, а вот Flash при запуске предлагал несколько уроков, после изучения которых можно было сразу приступать к творчеству. Именно этот инструмент я и выбрал для осуществления своей задумки.
Легкость освоения омрачалась неудобством интерфейса для разработчика. В 4-ой версии не было даже функций, а писать код приходилось в маленьком окошке, пригодном разве что для stop() и play(). Чтобы нормально разглядеть, приходилось его копировать во внешние текстовые редакторы. Но несмотря на трудности, игра была готова через пару недель.

Во время разработки мне очень помог сайт FlashKit, который в то время был основным ресурсом для флэшеров, предоставляющих хорошие уроки, примеры кода и звуки. Очень популярным был раздел игр, куда выкладывали свои наработки обычные пользователи. Игр тогда размещали много, найти что-то хорошее было нелегко, но были и очень достойные вещи. Дизайн моей игры с загадочным голубым иероглифом был ужасен, но я не побоялся и выложил ее в раздел головоломок. Выложил и забыл…
Через какое-то время ко мне начали приходить электронные письма с просьбой разрешить использовать игру для какого-нибудь сайта и предлагали небольшие деньги. Но понимая, что игру можно и так «утащить», а деньги получить лишь чеком с вычетом сумм обналичивающим банком, я автоматом отвечал «да берите так». Поразмыслив «кто эти люди», зашел на FlashKit и увидел, что игра висит на главной странице в десятке лучших. Она продержалась там до тех пор, пока этот сайт не решил по каким-то причинам закрыть раздел игр.
На почту приходили и интересные предложения разработать нечто подобное с другим дизайном. Например, CEO одной фирмы сообщила, что весь их офис не отрываясь играет в этот маджонг, и сделала заказ вместо стандартных фишек поставить фото их сотрудников. Щелк-щелк… и пара исчезает. Достаточно серьезный намек, но надеюсь скорее шутка.
Понимая, что исходники нужно бакапить от возможного сбоя системы, я отправил его на сохранность на самый стабильный в то время стайт рунета Chat.ru. На счет сбоя я не ошибся, это случилось вскоре. А вот на счет сайта… Чат-ру умер внезапно вместе с исходником и почти одновременно с моим винчестером.
Повторение — мать учения. Я вновь собираю маджонг, но уже на продвинутом Flash 5 в свободное от основной работы время. В этот раз я решил отказаться от растровой графики и все делаю полностью в векторе. Благодаря этому размер игры становится не более 100 кб, а растянуть поле без потери качества можно на любой экран.

Но не обошлось и без ошибки, которая проявлялась очень редко, но преследовала меня более десяти лет. Через FlashKit игра расползлась по всему Интернету, но название почтового ящика всегда было в углу, чем пользовались раздраженные ошибкой игроки, присылая мне скриншоты. Вспоминается письмо пользователя, который интересовался разбирается ли этот маджонг в принципе, поскольку он уже неделю почти не спит, не выходит из дому, но выигрыш так и не видел. Буквально через пару часов пришло его «Ура» с сотнями восклицательных знаков в теле письма. Конечно, очень приятно получать письма благодарных игроков, которые понимают, что за свой труд разработчик не получает денег, а весь доход идет увешанным рекламными баннерами сайтам.

Android

После освоения этой платформы сразу же появилась идея портировать туда и свой маджонг. После появления в маркете он сопровождался разными отзывами от «ужасно, ничего не видно» до «все удалил, его одного оставил». Но чаще всего игроки просили дополнительных раскладок. Так появилась «Арена», которая мне кажется не очень сложной.

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

iOS (iPad)

Почти все пожелания игроков Android маркета я реализовал в этой версии. Благодаря большому экрану появилась возможность выделить место для кнопок с различными функциями.
В разработке я использовал нестандартную архитектуру загрузки UIViewController, когда базовый работает в качестве загрузчика контроллеров интерфейса, сразу же высвобождая не используемую память и сглаживая паузы между загрузками графики.
Игру опубликовали на прошлой неделе, поэтому рассказывать особенно не о чем. Ну разве что появление на 16 месте в общем списке лучших приложений и 1 место в играх Сенегала сразу на следующий день после релиза. Приложение бесплатное, поэтому все желающие могут сами взглянуть на него.

Ссылки по теме:

Первая игра — не хочу рекламировать чужие сайты, просто наберите в Google «shaghai dynasty», самые первые ссылки.
Обновленная вторая игра на Flash — sillytale.com/?page_id=30
Android — market.android.com/details?id=com.mizerov.mahjong&hl=ru
iPad — itunes.apple.com/ru/app/mahjong-dynasty/id471735222?l=ru&ls=1&mt=8
Сайт разработчика — sillytale.com
Tags:
Hubs:
+62
Comments38

Articles

Change theme settings