Недавно я совершенно случайно наткнулся на финскую книгу, озаглавленную «Finnish Video Games: History and Catalog» написанную журналистом Juho Kuorikoski и изданную в 2015-м году. На 93-й странице в главе «Мобильные студии наносят ответный удар» я наткнулся на интересный участок в котором говорилось о «русском следе» как минимум в двух скандинавских проектах, в шведском и финском:
«Один из финских первопроходцев в мобильной игровой индустрии – Микко Хонкакорпи. Он работал на компанию Akumiitti (поставщика мобильно контента) в начале 2000-х. “В то время мы начали изучать японские Java-телефоны. Siemens привнес первые такие устройства в Европу, а Sumea начала разрабатывать мобильные игры. Я и несколько других сотрудников поняли, что это возможность которую мы не должны упустить”.
По утверждению Хонкакорпи, Sumea и Akumiitti были самыми первыми компаниями-поставщиками мобильных игр в Европе, в то время как остальные располагались в Японии. “Бизнес на мобильных играх стал нашей миссией. Рингтоны и логотипы были горячим товаром в то время. У нас были клиенты повсюду в Европе, так что сбытовая сеть была уже подготовлена.”
Один из наших торговых представителей продал пакет из тридцати игр одному из операторов, рассказывает Хонкакорпи. “Как то я получил емайл в котором говорилось, что нам нужно примерно двадцать игр – что мы будем делать?”Только горстка людей в Финляндии знали как писать мобильные игры и все они были уже наняты Sumea. Так что Akumiitti обратила свой взор на восточного соседа. “Одна шведская компания под названием Game Federation уже имела опыт разработки игр для Palm Pilot. Для этого они нанимали российских разработчиков. После небольших “раскопок”, мы получили контакты этих разработчиков и смогли свести их вместе в небольшой игровой студии в Санкт-Петербурге, которую я и возглавил. Я до сих по не знаю ни слова по русски,”, сказал Хонкакорпи с улыбкой.
Производственный процесс стартовал. Российские разработчики стремились показать своё мастерство. “На первой деловой встрече у нас уже были бумажные наброски десятков игр под три или четыре игровые движка”.
Время поджимало. “Мы должны были сдать все игры в течение нескольких месяцев. Как дополнительный вызов – никто из нас никогда ранее не видел устройство для которого должна была вестись разработка”.
Siemens нуждался в высококачественном контенте для старта своего нового Java телефона в Центральной Европе. “Игры были закончены в планируемые сроки и некоторые из них были весьма хороши. С тех пор я использовал этот эпизод как хороший обучающий пример при консультировании по проектному менеджменту. У нас были все составляющие для полной катастрофы. Потребовалась довольно приличная доля удачи.”
Так как я имел некоторое отношение к этим проектам, то решил немного уточнить и дополнить рассказ известного финского специалиста, рассказав как проекты выглядели на уровне исполнения. Начну по порядку и в этом посте постараюсь описать шведский проект упомянутый в финской книге.
Шведский проект для Game Federation
В 2001м году, шведская компания Game Federation AB (их сайт www.gamefederation.com в настоящее время доступен только через интернет-архивы) решила презентовать свою новую технологию организации кросс-платформенных игровых сессий под названием GEX и не где-то, а на всемирной выставке E3 2001. То что попало мне в руки в виде документации по платформе, скорее напоминало слайд презентации и пару Java интерфейсов которые должны были быть реализованы. В качестве демонстрации были выбраны мобильная платформа J2ME (как базовое устройство Motorola A008, а не Palm Pilot как написано в книге, хотя конечно их иногда можно спутать) и обычная PC под управлением Windows. У шведов была укомплектованная команда back-end разработчиков, из тех с кем я активно общался были двое — Кристиан Андерсон (Christian Andersson) и Маркус Перссон (Markus Persson, да это именно тот, кто потом стал известен всему миру как Notch).
В то время как всё было схвачено с серверной частью, на мобильном и десктопном направлении явно не хватало квалифицированных рук и они начали искать оутсорсеров, в том числе и в России, найдя их в лице недавно (к тому времени) организованной на питерской земле компании Rus-Soft (организатором был недавно на тот момент вернувшийся из Ирландии Александр Дымов, в основном он был занят стартом Санкт-Петербургского офиса ORC Software). В качестве переговорщика к русским, шведы отправили австралийца Марка Пинана (Mark Pinan), который обговаривал детали проекта с руководством Rus-Soft (его любимым восклицанием было — brilliant!). Я в то время работал на питерский филиал немецкой компании Concept-Software GmbH, где мы неспешно занимались Java проектами и Java applet играми, что и сыграло свою роль в решении Александра пригласить меня на роль Java разработчика в „шведском проекте“. Так же он нашел опытного в игровой разработке C++ программиста Сергея Кулигина и двух очень крутых игровых художников с огромным опытом – Владимира Черныша и Дмитрия Холодова.
До E3 2001 было примерно три месяца и выбор того какую игру будем реализовывать, шведы возложили на нас, их задача была – разборки с серверной частью, которая была еще сыроватой. Опытная часть команды была немного возмущена столь сжатыми сроками, но я относился к не очень опытной части и меня скорее удивляла мысль, что трех месяцев не хватит. В конце концов было решено «запилить» старый добрый “Морской бой” (по-английски назвали «Battle ships») так как игра была одновременно простая, пошаговая, доступная к реализации одновременно на слабом мобильном устройстве и на мощном десктопе и имела возможность иметь разный уровень зрелищности в зависимости от платформы. Работы начались в начале марта и должны были закончиться до середины мая, так как E3 2001 проходил 16-18 мая 2001 года.
Моя часть работы осложнялась не только тем, что опыта с новой технологией J2ME на тот момент я не имел, но и тем, что целевое мобильное устройство (которое обладало новой, прорывной для тех времен технологией GPRS для пакетной передачи данных) было в единственном экземпляре и находилось в лаборатории Motorola в Стокгольме (Швеция), так что всё тестирование на реальном устройстве проходило в виде периодических посещений лаборатории членами шведской команды и прогон на экспериментальном устройстве полученных из России программных кодов. В то время компания Sun уже опубликовала свой J2ME WTK с возможностью эмуляции, так что я сделал для него профиль который по моему мнению имитировал A008 и разрабатывал „на глазок“ в режиме эмуляции.
С версией для десктопа всё было повеселее и художники разработали потрясающий концепт игры, который несмотря на двухмерность, запускался под DirectX3D с использованием различных эффектов и вся программная часть соответственно писалась на С++. Был и небольшой курьезный кадровый момент на проекте. Однажды придя в офис, я встретил там незнакомого мне студента, про участие которого я никогда ранее не слышал (Александр Дымов тоже выглядел удивленным, когда узнал про нового члена команды). Он работал над С++ частью PC версии. Оказалось, что это Сергей Кулигин, будучи одновременно с разработкой преподавателем одного из питерских ВУЗов, привлек к работам одного из своих студентов. Забегая вперед должен сказать, что эксперимент с привлечением студенческого труда оказался условно-удачным. Опыта у студента в игровой сфере было мало и Сергею все равно пришлось доделывать много самому. Иногда было забавно видеть художников объясняющих студенту — как расставлять на игровом поле спрайты кораблей, что бы они не перекрывали друг друга.
Так как back-end часть разрабатывалась на Java со своим клиентским API, мы решили сделать коммуникационную часть у PC версии тоже на Java, для чего был написан сетевой модуль подключавшийся к С++ коду через JNI (Java Native Interface). Мы все не стеснялись генерировать идеи связанные с игрой, в частности из мною предложенных творческих решений для десктопа наши художники взяли идею рисовать всплывающих и качающихся на волнах дохлых рыб в месте промахов. Звуковое сопровождение игры было сделано звукорежиссером которого нашел Владимир Черныш (я не помню его имени, так как сталкивался с ним один или два раза всего), в качестве заставочной темы игры была вставлена мелодия известной песни про крейсер «Варяг».
В целом проект прошел гладко и всё было сделано в срок и без каких то перегрузок (мне даже хватало времени время от времени поиграть в офисе на мощном компьютере в недавно вышедшую демо-версию игры Operation Flashpoint), шведы помаленьку «вылизывали» свою серверную часть, обкатывая её на реальном применении, а мы искали пути связать игровой процесс через их сервис и доступные для мобильных устройств каналы. В качестве транспортного протокола мы выбрали наиболее нейтральный и универсальный из доступного — HTTP протокол Это забавно, но в своих поисках как организовать передачу данных, я неожиданно для себя „переоткрыл“ то, что уже было изобретено где-то еще и получило название web application model Comet, т.е. HTTP соединение работает в режиме, когда веб-сервер осуществляет дописывание данных в канал без предварительного запроса. Я понятие не имел какую „продвинутую технологию“ использую, впрочем, и наши шведы тоже, Маркус Перссон тогда в шутку сказал мне, что «мы будем воровать вашу идею». Всё касающееся мобильного приложения и в том числе его дизайн лежал целиком на мне так что частично пришлось нарисовать пиксельную графику самому (благо был опыт еще с ZX-Spectrum и БК-0010), а «крупные планы» в виде заставки и финальных картинок адаптировал с PC версии.
Готовый продукт презентовали заказчику, всё было отлично, но тут всплыл неожиданный вариант использования о котором мы не подумали (и нам забыли о нем сказать в начале работ). Заказчик хотел презентовать игровую платформу с показом полного цикла, т.е. начиная с демонстрационной загрузки десктопной клиентской части на PC, а она у нас занимала около 160 мегабайт(!) (напомню, что на дворе 2001 год и 40 мегабайт это было очень существенно для тех каналов связи). В общем художники начали прореживать игровую анимацию (которая изначально была сделана просто чудовищно плавной) и размер PC клиента был доведен до 60 мегабайт, что было уже более-менее приемлемо для презентации. У нас не было времени на оптимизации и упаковку данных (да и такие работы одновременно поднимали бы риски готовности продукта), так что решили остановиться на размере с усеченной анимацией.
Неожиданно на меня свалилась еще одна задача от заказчика. Ему в какой-то момент пришло в голову, что было бы неплохо показать не только написанный специально демо-клиент, но и использование GEX платформы с какой-то уже известной игрой. У Владимира Черныша и Сергея Кулигина были широкие связи в среде питерских «игроделов», и мы начали контактировать с разными игровыми студиями. Сначала был неудачный контакт с CREAT Studios, но затем мы удачно вышли на студию Fireglow которая в то время делала известную игру «Sudden Strike». Меня (как ответственного за сетевую часть) погрузили в машину и с Владимиром Чернышем отправили на беседу. Эта студия располагалась в какой-то крупной питерской квартире в старом фонде и выглядело всё как будто попали на какую то «малину», открыл нам парень бандитского вида, на полу стояли пустые бутылки, а разговаривал я с программистами у одного из которых были проблемы со слухом. Нам показали версию игры находящуюся в разработке и дали демо-версию для адаптации, хотя разработчики были не очень довольны дополнительной работой и сказали — «зачем нам ваша игровая платформа если у нас уже через DirectPlay всё отлично работает!». В конце концов нам удалось найти общее устраивающее всех решение, так что у шведов появилась еще одна дема для их технологии.
По словам шведов, презентация на E3 2001 прошла блестяще и они смогли вызвать интерес рынка к своей платформе. После этого проекта, я больше не имел контактов с этой компанией, но иногда открывал их сайт, что бы посмотреть как идут их дела. Игра „Battle ships“ стала демонстрационной для их SDK, но потом они наткнулись на риски претензий со стороны правообладателей схожей торговой марки и название „Battle ships“ на заставке было коряво замазано и заменено на другое. Через пару лет их серверная технология вообще была кем то выкуплена и перешла в закрытый режим и я больше не видел информации о ней в открытых источниках. У Владимира Черныша были идеи по организации под крышей Rus-Soft игровой компании, но как я слышал, после он стал играть важную роль в игровой компании Saber Interactive. Шведский проект был ограниченным по времени и все участники благополучно разошлись по его окончании. Я никогда не видел мобильную версию игры „вживую“ на „железном“ устройстве, только однажды несколько фотографий мелькнуло в одном из шведских электронных журналов посвященных мобильным технологиям.
В продолжении я опишу проект, связанный с финской компанией.
Автор: raydac