0. Предисловие
В предыдущем посте я рассказывал о том, с чего начался мой путь разработчика браузерной онлайн-игрушки. Пост был спонтанным и сумбурным, да и о создаваемой на тот момент игре было почти нечего рассказывать, так как она была в полусыром состоянии.
В декабре прошлого года разработку игры пришлось приостановить, поскольку меня посетила идея нового проекта: браузерной многопользовательской версии «Космических Рейнджеров», и я принялся за работу.
1. Рейнджеры? Браузерные? Многопользовательские? Из мыльницы? Конечно, буду!
Болезнь чекумаш. Эффект: Наличие в космосе нереальных объектов: бредовых планет, туманностей. Потусторонние звуки, взывающие к зараженному. Сильного негативного влияния не оказывает.
Играя в «Рейнджеров» в первый/пятый/десятый/пятидесятый раз, я всё время думал о том, как же этой игре не хватает мультиплеера. Так хотелось с друзьями коллективно грабить корованы, отжимать грузы у торгашей, отбиваться от вояк, чинить беспредел в Галактике и иногда делать вылазки в доминаторские системы, чтобы разжиться оборудованием для более плодотворного посева раздора.
Есть такая болезнь в «Рейнджерах», вызывающая глюки, чекумаш называется. Подхватив её, можно повстречать в космосе странные объекты, космические базы, туманности, даже Звезду Смерти. Увидев многопользовательскую версию «Рейнджеров», можно решить, что всё, этот ваш чекумаш подкрался незаметно и нужно срочно проходить курс уринотерапии, но нет: работа над браузерной версией игры действительно скоро будет завершена. К разработке я подошёл с большим энтузиазмом и стараюсь реализовать все основные аспекты оригинальной игры, а также привнести кое-что новое.
2. Фишки и плюшки
- Желаете ли ознакомиться с правилами Иикэ-Бааны? - чиновник явно над вами издевался, демонстрируя своё презрение к вашим беспочвенным претензиям на титул Чемпиона.
- Конечно, хочу! А то вдруг вы и в правилах что-нибудь поменяли, как и в сроках проведения Чемпионата…
Думаю, многим из тех, кто досюда дочитал, не нужно рассказывать об игровом процессе оригинальной игры. Космические пошаговые бои, межзвёздные прыжки, торговля и ремонт на планетах и базах, всё это присутствует и в «Космических Рейнджерах Онлайн» (далее просто КРО). Лучше поведаю про свою отсебятину, одна часть которой уже реализована, а другая часть только витает в виде идей, над которыми ещё надо поработать.
- ИГРОВОЙ ПРОЦЕСС
Геймплей, интерфейс, управление - всё взято из оригинальной игры, за тем лишь исключением, что ходы делаются в автоматическом режиме. Я прикинул, что 60-90 секунд на ход достаточно, чтобы спланировать дальнейшие действия, и не очень много, чтобы беситься и кричать «ДАВАЙ! БЫСТРЕЙ! ЁКАРНЫЙ БАБАЙ, ЖМИ!!!1». Таймер един для всей Галактики, т.е. смена ходов происходит одновременно во всех системах. Таймер будет отображаться внизу экрана, рядом с балансом, свободным местом и галактическим временем.
В оригинальной игре уничтожение корабля означало смерть персонажа и, соответственно, конец игрового процесса. В ММО, разумеется, такое недопустимо. Корабль игрока, конечно же, по-прежнему можно уничтожить и сам игрок погибнет, но не насовсем. Помните, как в Mass Effect церберовцы восстановили убитого Шепарда? А в Borderlands с аппаратами для воскрешения играли? Так же и в КРО, игрок после поражения в бою будет восстановлен на ближайшей медицинской станции. Жизнь великого рейнджера не закончится, хоть с его счёта и спишется 5% от имеющейся в наличии суммы денег, а сам он с небольшим шансом схлопочет в довесок какую-нибудь болезнь (которую, в общем-то, сразу можно будет вылечить на той же станции, выложив копеечку за курс живительной уринотерапии). Поэтому храните деньги в сберегательной кассе в виде вкладов в бизнес-центрах. Если, конечно, они у вас есть.
В КРО игроки стартуют в Солнечной системе, расположенной в центре галактической карты. Коалиция затратила колоссальные ресурсы на разработку и строительство САПОГ® (Системы Автоматического Подавление ОГня): комплекс, расположенный на Земле, управляет сотнями небольших транснептуновых космических станций, образующих кольцо, в пределах которого действует излучение Кварксона-Хаммбонда. В космическом пространстве излучение препятствует детонации снарядов, генерации когерентных, монохроматических, поляризованных и узконаправленных потоков излучения определённой сигнатуры, выбросу тахионов; иными словами, не даёт оружию производить выстрел. Соорудить подобный защитный комплекс стоило невиданных средств, и повторить подобное в других системах Коалиция не готова: иначе просто не останется ресурсов на ведение войны с доминаторами, да ещё и пираты эти масла в огонь подливают... Нет, САПОГ, конечно, обошёлся дешевле, чем стадион для чемпионата Галактики по хэчболу, но сами понимаете - война войной, а чемпионат по расписанию.
Короче говоря, окрестности Солнца - свободная от PvP и PvE зона. Оружие не стреляет, все живут в мире и согласии, приторговывают, пользуются услугами находящихся в системе баз: научного центра, военной станции, центра рейнджеров, бизнес-центра и медицинской станции. Пиратскую базу Коалиция в Солнечную систему не допустила, да те и сами не особо горели желанием: что толку от системы, если там нельзя грабить и убивать? Но отсиживаться всем в одной системе скучно, да и опасно. Такими темпами доминаторы доберутся и до Солнца, найдут способ отключить САПОГ и в итоге разрушат последний оплот Коалиции в Галактике.
Сама Галактика разбита на три сектора, подконтрольные Коалиции, пиратам и доминаторам. И чем дальше в лес, тем толще партизаны, то бишь чем дальше от Солнца расположена система, тем более сильные бойцы там обитают. Крутые пираты предпочитают держаться подальше от переменчивого Центра, выбирая для себя более безопасные погрязшие в беззаконии системы. Коалиция сосредотачивает силы на внешнем кольце для защиты периметра от вторжений извне. Наиболее мощные доминаторы плотно засели в дальних системах, направляя более значительные силы их удержанию, чем контролю над центральными системами.
Пограничные районы между секторами - горячие точки, где системы то и дело переходят из рук в руки. Доминаторы теснят пиратов и Коалицию; пираты наседают на Коалицию и даже иногда освобождают доминаторские системы (больше систем без доминаторов - больше возможностей для грабежа!); Коалиция отбивается от доминаторов и пиратов, тщетно пытаясь вернуть в Галактику былые мир и порядок.
В оригинальных «Рейнджерах» очки опыта были нужны, чтобы получать новые звания на военных или пиратских базах. В КРО очки нужны для достижения новых уровней. Более высокий уровень позволяет игроку пользоваться более совершенным оборудованием, что упрощает продвижение к краям Галактики. Как было сказано, крутые парни тусуются на окраинах, и планеты отдалённых систем более развиты в техническом плане, чтобы обеспечивать контролирующие их силы соответствующей техникой. Пилотам-новичкам безопаснее держаться центральных систем, накапливая силу и опыт.
- ФРАКЦИИ
Суть такова. Пользователь может играть лесными эльфами, охраной дворца и злодеем на стороне либо Коалиции, либо пиратов, ну или быть нейтралом. Принадлежность к фракции определяется деятельностью игрока. За определённые действия игрок получает очки пиратства, торговли и войны.
Очки пиратства даются за атаку, грабёж и уничтожение мирных и военных кораблей.
Очки торговли даются за (внезапно) торговлю и защиту своего груза от пиратов.
Очки войны даются за атаку и уничтожение пиратов и доминаторов.
Каждая фракция содержит нескольких классов характеров. К примеру, если у игрока подавляющее большинство очков составляют очки пиратства, то он становится Паханом, а если он ещё и приторговывает, то Бандитом или Корсаром. Героем может стать тот, кто посвятил себя войне, а Магнатом - тот, кто живёт торговлей. От того, насколько «чистое» звание игрока, зависит и отношение фракций. За простым Рейдером не станут гоняться военные, тогда как на Пахана может быть открыта самая настоящая охота; но и пиратская фракция не бросит своего Пахана и всегда будет спешить ему на помощь при малейшей угрозе. Торговых Магнатов всегда будут защищать нейтралы и военные, а Герою на подмогу придут как военные, так и рейнджеры.
Как вы понимаете, вполне возможен переход из одной фракции в другую. Пират может переключиться на уничтожение доминаторов, со временем став настоящим Героем, а военный способен вероломно предать Коалицию и заняться преступной деятельностью, в итоге превратившись из благородного рейнджера в грозного Пахана.
- КЛАНЫ
Игроки одной фракции смогут объединяться, создавая кланы. Это могут быть коалиционные или пиратские объединения.
Каждый клан получает в своё распоряжение собственную космическую базу (будем звать её Доминионом вне зависимости от того, пиратский клан или нет). Доминион клана может принимать на посадку только членов этого сообщества. Соклановцев на базе ждёт значительная скидка на ремонт стандартного оборудования, перезарядку ракетного оружия и дозаправку.
Доминион может использоваться для захвата звёздных систем. Механику захвата и бонусы от контроля над системой ещё предстоит проработать, но будет что-то вроде этого:
- системы под контролем Коалиции делают наценку в 5% на все товары для пиратов;
- захваченные пиратами системы делают наценку в 5% на все товары для не-пиратов.
Часть от этих поборов пойдёт в казну клана, дабы стимулировать захват более высокоуровневых (а значит, золотоносных) систем и обеспечивать для этого покупку соклановцами более крутого оборудования. Под контролем клана может быть только одна звёздная система, так что нужно будет правильно расставлять приоритеты: оценивать положение системы в галактике, технический уровень её планет, политическую обстановку и прочее.
Ну и где кланы, там и межклановые войны. Пират из клана «Плюгавые» грабанёт рейнджера из клана «Светлые Паладины Света», соклановцы рейнджера толпой отмудохают пирата, тот позовёт на помощь других хулиганов и всё заверте... Чтобы кланы не принимали абы кого, а тщательно рассматривали каждую кандидатуру, будет введена прогрессивная шкала налога на вступление. Сначала вступление стоит копейки, но с каждым новым игроком стоимость увеличивается, скажем, на 50%. Т.е. чтобы взять игрока в клан, сначала платится 10.000 кредитов. Потом 15.000. Десятый игрок обойдётся казне уже в 57.000, а пятнадцатый в 437.000 кредитов. Объясним это так: деньги условно тратятся на совершенствование ангара Доминиона и систем жизнеобеспечения, на шоколадки и полотенца в номера и т.п.
- ПРОФЕССИИ
Игроки могут приобретать лицензии для осуществления различной деятельности.
Торговая лицензия позволяет игроку открыть на планете магазин, продавать технику и покупать её с рук.
Лицензия наёмника даёт возможность принимать заявки (срочные и бессрочные) на устранение других игроков за определённую плату.
На пиратской базе можно приобрести «лицензию» на получение секретной информации. Лицензией это сложно назвать, конечно - по сути это плата пиратскому братству за то, чтобы оно собирало и передавало любые ценные сведения об игровом процессе. На кого готовится покушение, какие планеты строят новый флот, какой клан готовит вторжение и куда - всё это можно узнать от подкупленных пиратов. Подобная информация может быть полезной при планировании кланами будущих действий.
Профессия ремонтника позволяет чинить корпуса и оборудование игроков прямо в космосе. Весьма актуально во время ожесточённых битв.
- ПРАВИТЕЛЬСТВЕННЫЕ ЗАДАНИЯ
Задания есть двух видов: доставка грузов и заказ на убийство. Хороший способ заработать деньжат на новый движок и пару пушек.
- ЧАТ
Чат - это... ну, это чат. В нём можно чатиться. Вот, есть даже скриншот с чатом, в котором уже кто-то початился. Ещё там есть чат-лист. Можно переключаться между чатами: чат галактики (читают все), чат системы и панель личных чатов между игроками. Чат можно свернуть, спрятать и потаскать по экрану. От обилия слова «чат» захотелось дёрнуть стопку чачи и сплясать ча-ча-ча.
3. И где? И когда? ©
Представьте, что вы испытываете малокский истребитель "Шмель". Прямо на вас летит сумасшедший ремонтный робот, вооруженный фотонным резаком. Вы решаете расстрелять робота из орудий, но из-за неисправности прицела все выстрелы уходят мимо цели. Тогда вы хотите уйти в облака, но рычаг набора высоты заклинивает. Вы пытаетесь взять робота под свой контроль с помощью известного вам хакерского кода, но обнаруживаете, что в передатчике сели батарейки. А робот уже совсем рядом!!! В отчаянии вы нажимаете на кнопку катапультирования, и на табло высвечивается надпись: "Данное действие приведет к безвозвратной потере боевой машины. Оно допустимо только в чрезвычайной ситуации. Для подтверждения ваших полномочий введите свой идентификационный номер, персональный пароль и код чрезвычайной ситуации". Ну и что вы после этого думаете о вашем начальстве?
Именно на такой разваливающийся истребитель смахивает сейчас игра. Да, уже работают перелёты, посадки и взлёты с планет и баз, магазины, рынки, инвентари, боевая система, чат, настроены ИИ ботов и генерация нового оборудования на планетах, работает ценообразование. Но я хочу превратить игру если не в величественный гаальский флагман Хаа-Монгер, то хотя бы в крепкий малокский Каргас. Нужно ещё некоторое время, чтобы исправить кое-какие баги, добавить правительственные задания, настроить работу космических баз и отладить систему набора очков опыта и характера. Когда хотя бы это будет готово, буду запускать открытое тестирование. Также я пока не брался за ракетное оружие, есть там пара проблем с расчётом траекторий, но в перспективе это будет решено. Ещё подбор контейнеров в космосе доступен только в начале хода - пока что нельзя захватывать предметы на лету.
Нужна ещё пара-тройка недель для того, чтобы открывать для тестирования не сырой продукт. Хотя как показывает практика, сроки могут подрастянуться. Помимо разработки игры мне приходится иногда и работать, чтобы не помереть с голоду, поэтому чёткого временного плана нет.
4. Начинка
Перед вами открылся портал о компьютерных технологиях. Здесь Убил "Нейро" Гайдс рассказывал о новейших квазинейронных компьютерах и их модификациях. Большую долю статьи занимали рекомендации по обслуживанию систем, диагностике и устранению различного рода проблем.
Пара слов о том, как всё устроено.
В основе взаимодействия пользователя и сервера лежит технология WebSocket. WebSocket - протокол связи, предназначенный для обмена данными между браузером и веб-сервером в режиме реального времени. WebSocket-сервер, использующий библиотеку Ratchet, написан на PHP, как и весь бекенд. Благодаря этой технологии действия, выполняемые игроками, тут же обрабатываются сервером, и результат мгновенно отсылается всем, кто находится в игре: сообщения в чате, покупки предметов в магазинах, проложенные траектории полёта и прочее.
Во фронтенде используются JS-библиотеки jQuery и Three.js. Three.js упрощает работу с WebGL (Web-based Graphics Library) - библиотекой, позволяющей создавать на JavaScript интерактивную 3D-графику. За счёт использования низкоуровневых средств поддержки OpenGL часть кода на WebGL может выполняться непосредственно на видеокартах. Если погуглить, можно найти фантастические примеры использования данной технологии. Даже первую Кваку уже портировали в браузеры, во до чего прогресс дошёл.
Поиграть в КРО будет невозможно в том случае, если браузер не поддерживает веб-сокеты или HTML5 c элементом canvas. Но они поддерживаются всеми современными браузерами, кроме некоторых мобильных, так что не пугайтесь. Всё будет хорошо!
5. Послесловие
Рано утром на планету прибыла комиссия. После беглого осмотра базы было вынесено постановление:
«Остов форпоста удовлетворяет требованиям комиссии, однако отделка не завершена.»
Мда. Провода висят, меланитовая побелка отваливается прямо на глазах - ну куда это годится. Нужно было больше внимания уделить отделке базы. Впрочем, теперь уже поздно об этом думать - задание вы провалили.
Почему я пишу пост, не закончив разработку? Во-первых, у меня аж 41 подписчик, я ощущаю перед ними некую ответственность, что ли. Во-вторых, хочется узнать число тех, кому интересна задумка. А то жаль будет, если окажется, что во всей моей виртуальной Галактике будут летать одни боты да я. Сразу обмолвлюсь: я совершенно не желаю вводить лютый донат, без которого даже с планеты не стартанёшь, и превращать игру в «плати и побеждай». И вообще ни о каких платных услугах уж точно не может быть речи, пока не будут реализованы и протестированы все идеи и достигнуты сбалансированность, стабильность и удобство игрового процесса. Весь проект строится исключительно на энтузиазме, и я хочу нести людям свет, добро и котиков пенчекряков.
Было бы здорово услышать от вас, читатели, пожелания, предложения и критику вышеописанного.
А чтобы быть в курсе всех будущих вестей и участвовать в голосованиях по тем или иным вопросам: vk.com/k.r.online
Спасибо за внимание!