12 апреля (символично, старался) я запустил в первую публичную бету онлайн-игрушку. Разумеется, на Битрикс. Почему на Битрикс? Там же все хайлоадное должно быть? Ну, на хабре может и так, но у меня, с моими 50к народу в день все по-простому А я хочу с вами поделиться сложностями, нежданчиками, и радостью.
О том, как все начиналось, я писал уже давно. Под конец разработки сработало правило 80 и 20, и я тупо застрял на 20%. Мелочь за мелочью, проблемы с финансированием, два сложных клиента, убивающих мозг, да еще движок боя, достаточно сложный, все усугубляло ситуацию. Но я не сдавался. И запустил.
Об архитектуре
Одно время я задурялся в Dwar (последователь БК, кто играл, знает, кто не играл - может и не оценят). Я знал игру как игрок очень сильно, каждый закуток, каждую связь, каждого бота, босса, инст. Я не знал, как она устроена внутри. Я воссоздал это. Знаете, что удивительно. Когда я играл, я не понимал, почему многие вещи сделаны так, а не иначе. Когда я воссоздавал архитектуру, я столкнулся с ИХ трудностями, понимал почему они так делали, а не иначе, и улучшал архитектуру. По факту, я имею движок Двара на Битрикс (скачать бесплатно без регистрации).
Почему Битрикс?
Да потому что нравится он мне, хейтеры идите в лес. И не только нравится - я потратил минимальное время (не считая создания архитектуры) на запуск. Для редакторов есть прекрасные хайлоад-блоки, где они визуально правят любую информацию (я немного больше рассказал об этом здесь)
А для публики и прочего есть крутой D7, который этим всем вращает, соединяет, добавляет, удаляет, и так далее. По сути, вся работа игры сводится к работе быстрых запросов, а сверху я имею защиту от хакеров, постоянно обновляемый движок, и поддержку Битрикс.
Нежданчики
Были конечно нежданчики. Самые внезапные это такие.
Анимация боя. Флеш умирает, нужна была замена. Была попытка гиф-анимации, обернулась фейлом. Очень дорого и глупо. Были ценники от дизайнеров, до нескольких десятков к.р. за одного бота. Это очень дорого. Но канвас зато и все дела, или даже CSS3. И по времени очень дорогое создание. Я хочу к этому вернуться, но позже. В итоге я нашел замену, очень дешевую, но оставлю за кулисами этот секрет фирмы.
Чат. Знаете, бывает такое, когда пишешь ерунду, а эта ерунда тебя наталкивает на мысль, и ты все стираешь и создаешь крутую вещь. Так и тут получилось. Что взять за основу чата? Я посоветовался и взял за основу чата игры чат Битрикс. Для каждой локации создавался отдельный чат-рум, игрок входил и выходил в комнаты, так решалась проблема разграничения сообщений по локам. Не буду описывать в какие тупики я уперся потом, а просто сел и переписал на простую одну табличку. Мораль - иногда стоит вляпаться в неправильный путь, чтобы он подал идею.
Естественно, задействованы пуши, отправка сообщения происходит пушами, получатели не напрягают сервер.
Бой. Ух, он высосал у меня 100-150 часов. Казалось бы, все просто удар ты, удар противник, слушаешь, вычисляешь. А теперь добавим эликсир, который добавляет +3хп каждые 5 секунд, и это должно визуально отображаться? А теперь бой не 1 на 1, а групповой? И у каждого свои эликсиры? Травли? Чего пострашнее? Ход в лоб "обновляем инфу каждые 3-5 секунд" убил сервак. Разворачиваемся, идем дальше. Node JS спешит на помощь? Нет времени на изучение полноценное, но самое главное я не понимал КАК он мне поможет. В итоге меня спас простой клиентский JS. Как - я тоже оставлю как секрет фирмы
А в остальном разработка мне приносила радость, каждая новая придуманная фича в архитектуре меня безумно радовала и я двигал дальше.
Бюджет
Свое время я не считаю. Если считать, перевалит за 1.5-2 млн. Именно во столько вам станет такого рода игра. Ну либо гораааздо дольше придется пилить, переделывать, если брать разработчиков новичков.
Первичный расчет именно иллюстраций и дизайнов вставал в 500к. Пришлось многое беспощадно резать, ибо таких денег на стартап не было. Резал до 300, до 200, до 150. Во сколько мне встала графическая часть? Всего 80т.р. Это на старте 100 локаций, 130 иконок, 20 ботов. Я вынес главную истину отсюда - забери у человека деньги и дай стимул что-то сделать, и он найдет вариант. Я никого не обманывал, всем платил их требуемые деньги. Просто я научился крутиться при отсутствии бюджета. Это очень круто.
Еще о бюджете. На расчет стат и прочего я искал математика. Вроде одного нашел, но как-то не сложилось. Я не верил в себя, что смогу создать все расчеты сам, поэтому хотел просто дать денег. Ситуация заставила самого сесть и все рассчитать. И получилось. Сравнив полученные цифры и коэффициенты с дваровскими (ну например, сколько экспы ты получаешь за бой) - я очень обрадовался - я угадал с формулами. Это был приятный нежданчик.
Что дальше?
А дальше запуск, проработка квестов, привлечение игроков (моя аудитория на моих соседних сайтах находится, теперь их надо собирать в кучу). И да, конечно же, мобильное приложение. Вот думаю, не замахнуться ли на мобильное приложение от Бтрикс
И знаете какой самый неприятный нежданчик меня ждал в конце. Не, даже не то, что аудиторию надо будет еще зарабатывать, я это знал. А то, что надо будет ИГРАТЬ Чтобы улучшать игру изнутри. А то я, получается, примерно как президенты и чиновники - чем-то руковожу, а доволен ли народ - не знаю. Пока решил искать такого игрока в виде наемника, ибо у самого времени на игрушки нету пока.
О мечтах
Уютный офис по разработке квестовых игр с идейными чуваками, следование технологиям (жду полноценного перехода к 3d в браузере, но самое главное - простой его реализации). Ну и конечно, окончательный уход с коммерческой разработки. Устал я. Да и свое детище гораздо круче и интереснее
У меня не получилось - задание сходить в магазин, но я в него так и не смог войти как не пытался.
Да и интерфейс, конечно, не для избалованных графикой геймеров. Точнее даже не знаю для кого.
Была интересна сама идея реализации игрового продукта на Битрикс, однако опасения, что оно ни для того, скорее всего, подтвердились.
Но всё равно удачи, креатива и сил!
Хм, неужели каталог статей, который Вы делали ПОЛГОДА и не сделали его в итоге, так как нужно, - это сложный проект для такого "легендарного" программера, каким Вы себя считаете?
Я вот больше Вам скажу, что для Вас мы были не клиентом, а просто способом выкачивания из нас денег для Вашего проекта. Брать три проекта сразу и все время работать только над своим - это НЕУВАЖЕНИЕ к клиенту.
Но меня сейчас возмутило то, как Вы это преподносите другим. Ваше высокомерие просто зашкаливает!
Не ищите виноватых, виноваты только Вы в том, что не смогли рассчитать свои силы и ресурсы в работе. При чем читая Ваши посты, я не один раз натыкаюсь на мысль, что у Вас виноват кто-то другой, а вы такой пушистый зайка.
Вы про хайлоад блоки? (это не инфоблоки кстати, похожи визуально)
Это как раз из расчета D7 - внутри такого представления всего одна таблица, все быстро работает. А внешне имеем удобное представление для админов и редакторов.
Про сущности d7.
Просто если будет добавление каких-либо свойство, которые участвуют в расчете урона придется доп.запрос делать, а в сущности просто добавить еще одну колонку и все.
Красавчик!
Конечно, может и извращение, но точно интересное нестандартное применение системы!
Много холивара на тему "битрикс г..." и пр, но он реально удобен и универсален.
Единственно, странно, что хайблоки не юзаете, они очень удобны и производительны.
Антон, респект! Думал я один такой кто решил реализовать игру на битриксе. Сам в свободное от работы время пилю ремейк старой виндовой игрушки на битриксе. С графикой и квестами проблем не возникло, удалось выдрать все необходимые ресурсы из оригинала. Проект не коммерческий фо фан, желание возродить к жизни то что уже давно забыто.
Сам пишу нечто похожее уже давно. Где-то год писал свой движек полностью, потом решил попробовать за костяк взять Битрикс и ... поехало. Игровая индустрия уж точно на порядок интереснее коммерческой разработки, пришлось даже вспоминать работу с матрицами из курса универа.
Большое такое уважение Круто. Очень круто. Гипер круто. На битриксе написать такое.....даже представить не могу сколько убито времени. нервов и усилий...полотно кода....)))) Не играю в игры компьютерные/онлайн. Раньше было дело, последние лет 10 совсем не касался, но то, что увидел, мне понравилось. Зарегистрировался, опробовал. В целом понравилось. Немного раздражает отсутствие "юзабилити", т.е места которые по идеи должны быть явно выражены и удобны не проработаны до конца (например кнопки получения справок по предметам) плохо обозначены, не бросаются в глаза, привыкать долго. Ещё способ открытия окон "в новом окне"...например чтобы просмотреть информацию о предмете "куртка" щелкаешь и открывается новое окно "Укрепленная куртка" с информацией...можно же сделать это всё во всплывающем и подгружать ajax каким нить ) Куча мелочей, но так понимаю над ними работа "ежедневно" уже ведется. Успехов, удачи!!!!
P.S Непонятно только чего ресурс заблокировали "органы гос власти"?? Пришлось заходить на сайт через vpn :/
Борис, спасибо.
Да, дьявол в мелочах. Собственно как в технических (до сих пор мелочи в бою отлаживаю), так и графические - тут пока не достает руки дизайнера.
Работаю каждый день "после работы" Ну а Битрикс был выбран просто как удобный мне инструмент. D7 все равно.
P.S Непонятно только чего ресурс заблокировали "органы гос власти"?? Пришлось заходить на сайт через vpn :/
Это плохо. Спасибо за сигнал. Сайты размещены через cloudflare, отсюда такой иногда эффект.
Скажите, был недоступен ВЕСЬ сайт lalapaluza.ru?
Вы про фрейм? Вообще основной посыл был "накрутка" счетчика всяких Метрик и Лайвинтернет во время раскрутки проекта (по сути живые и настоящие хиты). Со временем понял что это не должно стоять во главе угла, а сковать руки сковало. Поэтому, планирую полноэкранную версию уже и отказ от фрейма (скорее мобильное приложение обязывает).
Но не бывает худа без добра. Именно фреймовая структура подсказала мне инкапсулированную архитектуру хранения действий, когда каждый "фрейм" имеет набор дозволенных действий только для него. К примеру, чтобы нельзя было ни при каких уловках добавить в боевой карман эликсир, находясь в бою.
Не знаю почему, но подсказала.
и на брудершафт пьет, а тебя даже не репостит.Расти над собой, а не сиди в интернете, дроча f5.
Удачи, не трать мое время.
Да и интерфейс, конечно, не для избалованных графикой геймеров. Точнее даже не знаю для кого.
Была интересна сама идея реализации игрового продукта на Битрикс, однако опасения, что оно ни для того, скорее всего, подтвердились.
Но всё равно удачи, креатива и сил!
Спасибо!
PS: dwar.ru - но да, на отрисовку таких же драконов пока нет финансов
Это прекрасно, только люди на игротеке играют в Зомбицид, Пандемик Легаси или Descent.
А не боитесь залететь с этой архитектурой? Найдется умник, способный отредактировать ваш чудо js файл, получите нежданных супер-игроков.
Я вот больше Вам скажу, что для Вас мы были не клиентом, а просто способом выкачивания из нас денег для Вашего проекта. Брать три проекта сразу и все время работать только над своим - это НЕУВАЖЕНИЕ к клиенту.
Но меня сейчас возмутило то, как Вы это преподносите другим. Ваше высокомерие просто зашкаливает!
Не ищите виноватых, виноваты только Вы в том, что не смогли рассчитать свои силы и ресурсы в работе. При чем читая Ваши посты, я не один раз натыкаюсь на мысль, что у Вас виноват кто-то другой, а вы такой пушистый зайка.
Всего доброго! Зрите в корень, как говорится...
Почему все троллить пытаются мне в интернете? Позвоните, поговорим.
И вы не так меня поняли - я наоборот ради ВАС убирал свое время и занимался вами.
Вот если бы я написал "несмотря на сложных клиентов, я занимался своим" - ваша желчь была бы по делу.
И я вам по доброму советовал - за-пу-скай-тесь! Вы думаете я в релиз выкатил все что хотел? Нет, работа только началась.
Это как раз из расчета D7 - внутри такого представления всего одна таблица, все быстро работает. А внешне имеем удобное представление для админов и редакторов.
Просто если будет добавление каких-либо свойство, которые участвуют в расчете урона придется доп.запрос делать, а в сущности просто добавить еще одну колонку и все.
Ну и понятно я могу это соединять с другими таблицами, уже не HL-блоками.
К примеру таблица связей шмота и игроков идет уже как обычная внутренняя.
Конечно, может и извращение, но точно интересное нестандартное применение системы!
Много холивара на тему "битрикс г..." и пр, но он реально удобен и универсален.
Единственно, странно, что хайблоки не юзаете, они очень удобны и производительны.
Дмитрий, как же, все на хайлоад-блоках как раз таки редакторская морда точнее.
>>> Много холивара на тему "битрикс г..." и пр, но он реально удобен и универсален.
Для меня это инструмент прежде всего, и при постройке домика я взял знакомый рубанок, а не что там нынче на рынке (возможно) лучше
Так что желаю творческих успехов.
Все верно - тут главное инструмент же. Если есть привычное и удобное - это и надо использовать.
P.S Непонятно только чего ресурс заблокировали "органы гос власти"?? Пришлось заходить на сайт через vpn :/
Да, дьявол в мелочах. Собственно как в технических (до сих пор мелочи в бою отлаживаю), так и графические - тут пока не достает руки дизайнера.
Работаю каждый день "после работы" Ну а Битрикс был выбран просто как удобный мне инструмент. D7 все равно.
Скажите, был недоступен ВЕСЬ сайт lalapaluza.ru?
Сайт вэвэвэ lalap aluza ру пока не может обработать этот запрос.
HTTP ERROR 503
А то я блин немного потерялся.
Разработка интересна довольна, с точки зрения масштабности и программинга - круто!
Спасибо!
Но не бывает худа без добра. Именно фреймовая структура подсказала мне инкапсулированную архитектуру хранения действий, когда каждый "фрейм" имеет набор дозволенных действий только для него. К примеру, чтобы нельзя было ни при каких уловках добавить в боевой карман эликсир, находясь в бою.
Не знаю почему, но подсказала.
Без комментариев...
Знаете вы толк в ....
Но какой Экспириенс!
Удачи!
И постарайтесь все-таки собрать комманду.
Хотя бы моральной поддержки =)))