Хабрахабр

[Из песочницы] «Русский след» в скандинавской игровой саге

Недавно я совершенно случайно наткнулся на финскую книгу, озаглавленную «Finnish Video Games: History and Catalog» написанную журналистом Juho Kuorikoski и изданную в 2015-м году. На 93-й странице в главе «Мобильные студии наносят ответный удар» я наткнулся на интересный участок в котором говорилось о «русском следе» как минимум в двух скандинавских проектах, в шведском и финском:

Он работал на компанию Akumiitti (поставщика мобильно контента) в начале 2000-х. «Один из финских первопроходцев в мобильной игровой индустрии – Микко Хонкакорпи. Siemens привнес первые такие устройства в Европу, а Sumea начала разрабатывать мобильные игры. “В то время мы начали изучать японские Java-телефоны. Я и несколько других сотрудников поняли, что это возможность которую мы не должны упустить”.

“Бизнес на мобильных играх стал нашей миссией. По утверждению Хонкакорпи, Sumea и Akumiitti были самыми первыми компаниями-поставщиками мобильных игр в Европе, в то время как остальные располагались в Японии. У нас были клиенты повсюду в Европе, так что сбытовая сеть была уже подготовлена.”
Один из наших торговых представителей продал пакет из тридцати игр одному из операторов, рассказывает Хонкакорпи. Рингтоны и логотипы были горячим товаром в то время. “Как то я получил емайл в котором говорилось, что нам нужно примерно двадцать игр – что мы будем делать?”

Так что Akumiitti обратила свой взор на восточного соседа. Только горстка людей в Финляндии знали как писать мобильные игры и все они были уже наняты Sumea. Для этого они нанимали российских разработчиков. “Одна шведская компания под названием Game Federation уже имела опыт разработки игр для Palm Pilot. Я до сих по не знаю ни слова по русски,”, сказал Хонкакорпи с улыбкой. После небольших “раскопок”, мы получили контакты этих разработчиков и смогли свести их вместе в небольшой игровой студии в Санкт-Петербурге, которую я и возглавил.

Российские разработчики стремились показать своё мастерство. Производственный процесс стартовал. “На первой деловой встрече у нас уже были бумажные наброски десятков игр под три или четыре игровые движка”.

“Мы должны были сдать все игры в течение нескольких месяцев. Время поджимало. Как дополнительный вызов – никто из нас никогда ранее не видел устройство для которого должна была вестись разработка”.

“Игры были закончены в планируемые сроки и некоторые из них были весьма хороши. Siemens нуждался в высококачественном контенте для старта своего нового Java телефона в Центральной Европе. У нас были все составляющие для полной катастрофы. С тех пор я использовал этот эпизод как хороший обучающий пример при консультировании по проектному менеджменту. Потребовалась довольно приличная доля удачи.”

Так как я имел некоторое отношение к этим проектам, то решил немного уточнить и дополнить рассказ известного финского специалиста, рассказав как проекты выглядели на уровне исполнения. Начну по порядку и в этом посте постараюсь описать шведский проект упомянутый в финской книге.

Шведский проект для Game Federation

То что попало мне в руки в виде документации по платформе, скорее напоминало слайд презентации и пару Java интерфейсов которые должны были быть реализованы. В 2001м году, шведская компания Game Federation AB (их сайт www.gamefederation.com в настоящее время доступен только через интернет-архивы) решила презентовать свою новую технологию организации кросс-платформенных игровых сессий под названием GEX и не где-то, а на всемирной выставке E3 2001. У шведов была укомплектованная команда back-end разработчиков, из тех с кем я активно общался были двое — Кристиан Андерсон (Christian Andersson) и Маркус Перссон (Markus Persson, да это именно тот, кто потом стал известен всему миру как Notch). В качестве демонстрации были выбраны мобильная платформа J2ME (как базовое устройство Motorola A008, а не Palm Pilot как написано в книге, хотя конечно их иногда можно спутать) и обычная PC под управлением Windows.

В качестве переговорщика к русским, шведы отправили австралийца Марка Пинана (Mark Pinan), который обговаривал детали проекта с руководством Rus-Soft (его любимым восклицанием было — brilliant!). В то время как всё было схвачено с серверной частью, на мобильном и десктопном направлении явно не хватало квалифицированных рук и они начали искать оутсорсеров, в том числе и в России, найдя их в лице недавно (к тому времени) организованной на питерской земле компании Rus-Soft (организатором был недавно на тот момент вернувшийся из Ирландии Александр Дымов, в основном он был занят стартом Санкт-Петербургского офиса ORC Software). Так же он нашел опытного в игровой разработке C++ программиста Сергея Кулигина и двух очень крутых игровых художников с огромным опытом – Владимира Черныша и Дмитрия Холодова. Я в то время работал на питерский филиал немецкой компании Concept-Software GmbH, где мы неспешно занимались Java проектами и Java applet играми, что и сыграло свою роль в решении Александра пригласить меня на роль Java разработчика в „шведском проекте“.

Опытная часть команды была немного возмущена столь сжатыми сроками, но я относился к не очень опытной части и меня скорее удивляла мысль, что трех месяцев не хватит. До E3 2001 было примерно три месяца и выбор того какую игру будем реализовывать, шведы возложили на нас, их задача была – разборки с серверной частью, которая была еще сыроватой. Работы начались в начале марта и должны были закончиться до середины мая, так как E3 2001 проходил 16-18 мая 2001 года. В конце концов было решено «запилить» старый добрый “Морской бой” (по-английски назвали «Battle ships») так как игра была одновременно простая, пошаговая, доступная к реализации одновременно на слабом мобильном устройстве и на мощном десктопе и имела возможность иметь разный уровень зрелищности в зависимости от платформы.

В то время компания Sun уже опубликовала свой J2ME WTK с возможностью эмуляции, так что я сделал для него профиль который по моему мнению имитировал A008 и разрабатывал „на глазок“ в режиме эмуляции. Моя часть работы осложнялась не только тем, что опыта с новой технологией J2ME на тот момент я не имел, но и тем, что целевое мобильное устройство (которое обладало новой, прорывной для тех времен технологией GPRS для пакетной передачи данных) было в единственном экземпляре и находилось в лаборатории Motorola в Стокгольме (Швеция), так что всё тестирование на реальном устройстве проходило в виде периодических посещений лаборатории членами шведской команды и прогон на экспериментальном устройстве полученных из России программных кодов.

Был и небольшой курьезный кадровый момент на проекте. С версией для десктопа всё было повеселее и художники разработали потрясающий концепт игры, который несмотря на двухмерность, запускался под DirectX3D с использованием различных эффектов и вся программная часть соответственно писалась на С++. Он работал над С++ частью PC версии. Однажды придя в офис, я встретил там незнакомого мне студента, про участие которого я никогда ранее не слышал (Александр Дымов тоже выглядел удивленным, когда узнал про нового члена команды). Забегая вперед должен сказать, что эксперимент с привлечением студенческого труда оказался условно-удачным. Оказалось, что это Сергей Кулигин, будучи одновременно с разработкой преподавателем одного из питерских ВУЗов, привлек к работам одного из своих студентов. Иногда было забавно видеть художников объясняющих студенту — как расставлять на игровом поле спрайты кораблей, что бы они не перекрывали друг друга. Опыта у студента в игровой сфере было мало и Сергею все равно пришлось доделывать много самому.

Мы все не стеснялись генерировать идеи связанные с игрой, в частности из мною предложенных творческих решений для десктопа наши художники взяли идею рисовать всплывающих и качающихся на волнах дохлых рыб в месте промахов. Так как back-end часть разрабатывалась на Java со своим клиентским API, мы решили сделать коммуникационную часть у PC версии тоже на Java, для чего был написан сетевой модуль подключавшийся к С++ коду через JNI (Java Native Interface). Звуковое сопровождение игры было сделано звукорежиссером которого нашел Владимир Черныш (я не помню его имени, так как сталкивался с ним один или два раза всего), в качестве заставочной темы игры была вставлена мелодия известной песни про крейсер «Варяг».

В качестве транспортного протокола мы выбрали наиболее нейтральный и универсальный из доступного — HTTP протокол Это забавно, но в своих поисках как организовать передачу данных, я неожиданно для себя „переоткрыл“ то, что уже было изобретено где-то еще и получило название web application model Comet, т.е. В целом проект прошел гладко и всё было сделано в срок и без каких то перегрузок (мне даже хватало времени время от времени поиграть в офисе на мощном компьютере в недавно вышедшую демо-версию игры Operation Flashpoint), шведы помаленьку «вылизывали» свою серверную часть, обкатывая её на реальном применении, а мы искали пути связать игровой процесс через их сервис и доступные для мобильных устройств каналы. Я понятие не имел какую „продвинутую технологию“ использую, впрочем, и наши шведы тоже, Маркус Перссон тогда в шутку сказал мне, что «мы будем воровать вашу идею». HTTP соединение работает в режиме, когда веб-сервер осуществляет дописывание данных в канал без предварительного запроса. Всё касающееся мобильного приложения и в том числе его дизайн лежал целиком на мне так что частично пришлось нарисовать пиксельную графику самому (благо был опыт еще с ZX-Spectrum и БК-0010), а «крупные планы» в виде заставки и финальных картинок адаптировал с PC версии.

Заказчик хотел презентовать игровую платформу с показом полного цикла, т.е. Готовый продукт презентовали заказчику, всё было отлично, но тут всплыл неожиданный вариант использования о котором мы не подумали (и нам забыли о нем сказать в начале работ). В общем художники начали прореживать игровую анимацию (которая изначально была сделана просто чудовищно плавной) и размер PC клиента был доведен до 60 мегабайт, что было уже более-менее приемлемо для презентации. начиная с демонстрационной загрузки десктопной клиентской части на PC, а она у нас занимала около 160 мегабайт(!) (напомню, что на дворе 2001 год и 40 мегабайт это было очень существенно для тех каналов связи). У нас не было времени на оптимизации и упаковку данных (да и такие работы одновременно поднимали бы риски готовности продукта), так что решили остановиться на размере с усеченной анимацией.

Ему в какой-то момент пришло в голову, что было бы неплохо показать не только написанный специально демо-клиент, но и использование GEX платформы с какой-то уже известной игрой. Неожиданно на меня свалилась еще одна задача от заказчика. Сначала был неудачный контакт с CREAT Studios, но затем мы удачно вышли на студию Fireglow которая в то время делала известную игру «Sudden Strike». У Владимира Черныша и Сергея Кулигина были широкие связи в среде питерских «игроделов», и мы начали контактировать с разными игровыми студиями. Эта студия располагалась в какой-то крупной питерской квартире в старом фонде и выглядело всё как будто попали на какую то «малину», открыл нам парень бандитского вида, на полу стояли пустые бутылки, а разговаривал я с программистами у одного из которых были проблемы со слухом. Меня (как ответственного за сетевую часть) погрузили в машину и с Владимиром Чернышем отправили на беседу. В конце концов нам удалось найти общее устраивающее всех решение, так что у шведов появилась еще одна дема для их технологии. Нам показали версию игры находящуюся в разработке и дали демо-версию для адаптации, хотя разработчики были не очень довольны дополнительной работой и сказали — «зачем нам ваша игровая платформа если у нас уже через DirectPlay всё отлично работает!».

После этого проекта, я больше не имел контактов с этой компанией, но иногда открывал их сайт, что бы посмотреть как идут их дела. По словам шведов, презентация на E3 2001 прошла блестяще и они смогли вызвать интерес рынка к своей платформе. Через пару лет их серверная технология вообще была кем то выкуплена и перешла в закрытый режим и я больше не видел информации о ней в открытых источниках. Игра „Battle ships“ стала демонстрационной для их SDK, но потом они наткнулись на риски претензий со стороны правообладателей схожей торговой марки и название „Battle ships“ на заставке было коряво замазано и заменено на другое. Шведский проект был ограниченным по времени и все участники благополучно разошлись по его окончании. У Владимира Черныша были идеи по организации под крышей Rus-Soft игровой компании, но как я слышал, после он стал играть важную роль в игровой компании Saber Interactive. Я никогда не видел мобильную версию игры „вживую“ на „железном“ устройстве, только однажды несколько фотографий мелькнуло в одном из шведских электронных журналов посвященных мобильным технологиям.

В продолжении я опишу проект, связанный с финской компанией.

Показать больше

Похожие публикации

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»