Comments 51
Расскажите, пожалуйста, про то, как ачивки прикручивали. Очень интересна техническая часть игры.
Вообще, вы вселили в меня надежду. Я тоже хотел релизнуть JS-игру в стиме, но… Остыл. Сейчас задумываюсь над возрождением проекта.
Вообще, вы вселили в меня надежду. Я тоже хотел релизнуть JS-игру в стиме, но… Остыл. Сейчас задумываюсь над возрождением проекта.
+1
Если вкратце, то использовали вот эту обертку поверх Steam API: github.com/greenheartgames/greenworks/wiki/Greenworks-API. Как я помню, особых проблем с использованием у нас не было. Но если вдруг вспомню какие-то проблемы, то включу в следующие статьи.
+1
Страница в магазине стима, да и все новости по игре, строго на русском. Не думали локализовать все на английский ради лучшего продвижения в зарубежном сегменте игроков?
0
У нас все на двух языках (и страница в стиме, и сама игра) — английском и русском. Видимо все зависит от ваших региональных настроек.
Зарубежных игроков довольно много. Поточнее, думаю, смогу к следующей статье сказать — публикацией в стиме в команде заведую не я.
Зарубежных игроков довольно много. Поточнее, думаю, смогу к следующей статье сказать — публикацией в стиме в команде заведую не я.
+1
Измените в настройках стима предпочтительный язык контента на английский.
0
Сильно напоминает Creeper world по сеттингу и геймплею. Черпали оттуда часть вдохновения?
-1
Отличная статья. Про пост-релиз можно тоже рассказать в будущем. Как справлялись с тонной фидбэка, нытьем про отсутствие поддержки мышки (ну в меню-то можно было ее завезти, а?), как принимали решения о дальнейших апдейтах и о сложностях выкатывания оных на лайв.
+2
Да, хорошие темы, спасибо.
Как справлялись… с трудом. Поначалу пытались все сразу зафиксить, потом подуспокоились.
С той же мышкой — сначала ринулись ее прикручивать. Потом осознали, что мышка для игры не годится от слова совсем. Т.е. ошибкой было не отсутствие управления мышой, а неясность этого факта: стратегия без мышки — штука непонятная.
Как справлялись… с трудом. Поначалу пытались все сразу зафиксить, потом подуспокоились.
С той же мышкой — сначала ринулись ее прикручивать. Потом осознали, что мышка для игры не годится от слова совсем. Т.е. ошибкой было не отсутствие управления мышой, а неясность этого факта: стратегия без мышки — штука непонятная.
0
стратегия без мышки — штука непонятная
В принципе есть некоторое число стратегий, нормально играющихся без мышки, например Tooth and Tail или современный XCOM, но и они с мышкой обычно удобней)
0
стратегия без мышки — штука непонятная
Играл в текстовую стратегию, даже не под DOS, а под терминал со шкафами.
![image](https://habrastorage.org/getpro/habr/comment_images/338/19f/3b4/33819f3b4270eff96eb3166982c18291.jpg)
+2
Геймдизайн выглядит очень интересно, но пожалели ли вы о решении писать игру на JS?
Столкнулись ли вы с проблемой переиспользования кода, контента, ограничениями браузера?
Задумывались ли о переходе на другой движок уже в процессе разработки?
На Steam ряд негативных отзывов указывают на ограниченный размер карты и малое число уровней, как сильно сказался выбор технологий на этих факторах?
Ответы на эти вопросы хотелось бы увидеть в следующей статье.
+1
Хорошие вопросы, спасибо. Вкратце отвечу тут:
Малое число уровней никак не связано с движком, благо уровни добавлять у нас несложно — берешь Tiled и рисуешь. Другое дело, что уровень надо сделать интересным, а сами уровни — разнообразными. Это довольно сложная задача и, возможно, мы увлеклись доведением небольшого количества уровней до совершенства. Плюс недооценили игроков: мы-то думали, что наши 30 уровней это сложно и долго, а пришли мастодонты, которые ее за вечер проходили. Эту проблему мы постарались решить недавним апдейтом (бесплатным), который добавляет рандомные уровни разных размеров.
С размерами уровней действительно были кое-какие технические ограничения (это лучше в статье расписать), но геймплейных проблем было больше. Большие уровни — скучные. Зачисткой биомассы можно позаниматься ну не знаю — минут 10-15. А в большом уровне это приходится делать час. Это реально скучно и монотонно.
Не очень понял вопрос про переиспользование кода и контента — какого именно? Если нашего, то проблем никаких нет. Вот условный класс Enemy, вот его наследник BolshoyChervyak. Вот EnemyBuilding, вот BolshoyChervakSpawner, который по таймеру делает больших червяков. Расставляем все это в Tiled как надо и все.
Малое число уровней никак не связано с движком, благо уровни добавлять у нас несложно — берешь Tiled и рисуешь. Другое дело, что уровень надо сделать интересным, а сами уровни — разнообразными. Это довольно сложная задача и, возможно, мы увлеклись доведением небольшого количества уровней до совершенства. Плюс недооценили игроков: мы-то думали, что наши 30 уровней это сложно и долго, а пришли мастодонты, которые ее за вечер проходили. Эту проблему мы постарались решить недавним апдейтом (бесплатным), который добавляет рандомные уровни разных размеров.
С размерами уровней действительно были кое-какие технические ограничения (это лучше в статье расписать), но геймплейных проблем было больше. Большие уровни — скучные. Зачисткой биомассы можно позаниматься ну не знаю — минут 10-15. А в большом уровне это приходится делать час. Это реально скучно и монотонно.
Не очень понял вопрос про переиспользование кода и контента — какого именно? Если нашего, то проблем никаких нет. Вот условный класс Enemy, вот его наследник BolshoyChervyak. Вот EnemyBuilding, вот BolshoyChervakSpawner, который по таймеру делает больших червяков. Расставляем все это в Tiled как надо и все.
+1
Мобильная версия будет?
А вообще, читаешь статью и думаешь, «как же это классно программировать механику», «а чем я хуже? Щас в выходные чего-нить соорудим интересное». Но потом понимаешь, что игра не ограничивается движком и механикой, нужно рисовать уровни, нужно рисовать графику, нужна идея в конце концов. Нужны геймдизайнеры и художники. Вздохнёшь и продолжишь писать свой унылый код для корпоративной системы учёта.
За статью спасибо. После прочтения заголовка ожидалось что-то намного более унылое.
А вообще, читаешь статью и думаешь, «как же это классно программировать механику», «а чем я хуже? Щас в выходные чего-нить соорудим интересное». Но потом понимаешь, что игра не ограничивается движком и механикой, нужно рисовать уровни, нужно рисовать графику, нужна идея в конце концов. Нужны геймдизайнеры и художники. Вздохнёшь и продолжишь писать свой унылый код для корпоративной системы учёта.
За статью спасибо. После прочтения заголовка ожидалось что-то намного более унылое.
+2
Но потом понимаешь, что игра не ограничивается движком и механикой, нужно рисовать уровни, нужно рисовать графику, нужна идея в конце концов. Нужны геймдизайнеры и художники.
Однако начать есть смысл именно с них. Идею можно построить уже вокруг удачной механики.
Попробуйте поучаствовать в каком-нибудь джеме, том же Ludum Dare (скоро, кстати, стартует). Тема там дается, можно посмотреть что делают другие (и ужаснуться. или самоутвердиться) и просто попробовать.
Если не хочется ограничивать себя рамками так сходу (хотя это неплохо стимулирует), можете попробовать устроить себе свой личный джем. Я так делал, когда тоже боялся участвовать в LD — брал тему с последнего LD и недельку/другую пилил мини-поделку. Но пилил честно — чтобы и звуки, и музыка — законченный продукт. Это неплохо подбадривает, когда получается что-то играбельное. Вот что у меня тогда получилось, в первый раз: https://graal.itch.io/2mazes. Дал я это посмотреть своим коллегам — и вот пару лет спустя мы выпускаем игру в стиме.
0
Мобильной версии не планировали. Точно не этой версии игры. Если будем планировать Protolife 2 — рассмотрим такой вариант.
0
Много покупок, если не секрет (предполагаю, 5-10к)? Что-нибудь делали для маркетинга или просто «выбросили» в стим?
+2
С вилкой угадали. Про маркетинг я лучше в статье потом поподробнее напишу (заведовал продвижением не я, надо будет человека попытать вопросами). Но уровень нашего маркетингого мастерства вы можете оценить по тому, что эта статья вышла лишь через полгода после релиза.
0
Так что в итоге выбрали? nw.js или electron? И хотелось бы услышать мнение по поводу выбора, полностью ли он вас удовлетворил.
+3
Выбрали nw.js.
Мы попробовали заворачивать и в nw.js и в electron, но steam overlay завелся с ходу только у nw.js. Мы почитали, что многие сталкивались с несовместимостью electron и стимовского overlay, и решили взять то, что заработало.
Каких-то больших проблем именно с nw.js мы не встречали. Другое дело что игра у нас пока мало работает с «окружающим миром», в смысле с ОС, файловой системой. Думаю самые интересные проблемы еще впереди :)
Мы попробовали заворачивать и в nw.js и в electron, но steam overlay завелся с ходу только у nw.js. Мы почитали, что многие сталкивались с несовместимостью electron и стимовского overlay, и решили взять то, что заработало.
Каких-то больших проблем именно с nw.js мы не встречали. Другое дело что игра у нас пока мало работает с «окружающим миром», в смысле с ОС, файловой системой. Думаю самые интересные проблемы еще впереди :)
0
Спасибо за ответ.
А не подскажите какое именно взаимодействие с окружающим миром вы имеете ввиду? Пока в голову только файлы сохранения приходят, есть что-то еще?
А не подскажите какое именно взаимодействие с окружающим миром вы имеете ввиду? Пока в голову только файлы сохранения приходят, есть что-то еще?
0
Боюсь быть закиданным тухлыми яйцами, но есть несколько вопросов:
- какие сложности в реализации Linux-версии? (красноглазики тоже любят играть в игры)
- есть ли возможность добавить демо версию в steam? (хочется попробовать до покупки, т.к. моя ОСь не поддерживается)
+2
Не знаю как у nw.js, но у электрона, по идее, никаких сложностей не должно быть, это ведь браузер открывается. Пример: slack, работает на всех платформах.
0
(хочется попробовать до покупки, т.к. моя ОСь не поддерживается)
Так ведь в Steam уже несколько лет как можно вернуть деньги за игру если что-то пошло не так. Главное, чтобы было наиграно не более 2-ух часов и прошло не более 2-ух недель с покупки. Мне возвращали на кошелёк в течении суток и на карту через 2-3 дня. Да и игра стоит совсем немного.
0
Сложность всегда одна: недостаток рук для тестирования. Винда и Мак под рукой есть, Линукса под рукой нет. Собрать-то не проблема, надо же еще убедиться чтобы работало все как надо.
0
UFO just landed and posted this here
Да, шли через директ. Как мне тут подсказывают, других способов для инди-разработчиков сейчас и нет.
Все шло более-менее гладко. Мы внимательно читали все стимовские мануалы и отрабатывали какие-то этапы на тренировочном (непубликованном) проекте — ту же работу с ачивками — прежде чем нажимать кнопки для реальной игры.
Все шло более-менее гладко. Мы внимательно читали все стимовские мануалы и отрабатывали какие-то этапы на тренировочном (непубликованном) проекте — ту же работу с ачивками — прежде чем нажимать кнопки для реальной игры.
0
Шикарная статья, вдохновляющая и интересная.
0
Баловался в своё время с RPG Maker-ом разных версий (сейчас немного подзабросил, правда), в том числе и с нырянием в код, так что статью не мог не оценить, спасибо!
0
Phaser же на pixi.js базируется, а у того с производительностью, кажется, все неплохо: www.goodboydigital.com/pixijs/bunnymark
0
Ну как сказать… В основе может лежать сколь угодно производительная библиотека, но если поверх неё навалить кучу «бутылочных горлышек» (я сейчас не про авторов игры, а про сам phaser), то получится… кхм… как у упомянутого RPG Maker версии MV (который тоже на pixi.js + nw.js основан).
+1
Он базируется на второй версии pixi, которая довольно устарела
+1
По поводу графики. Может попробовать оставить в игре все варианты графики, а игроку дать возможность выбирать тот графический стиль, который ему больше нравится?
Чем предлагает ему только один, тот к-й выбрали вы.
Чем предлагает ему только один, тот к-й выбрали вы.
0
Стоимость такого решения достаточно большая, а результат вряд ли себя оправдает. Мало того, что для каждой новой сущности или механики в игре нужно создавать в n раз больше ассетов, так еще и тестировать все каждый раз нужно будет по n раз. Да и поддерживать n визуальных стилей художнику непросто.
+2
В каком-то роде вредная опция, даже без учета дополнительного (и довольно большого) объема работы.
Теряется идентичность, узнаваемый стиль игры и авторская задумка.
Теряется идентичность, узнаваемый стиль игры и авторская задумка.
0
Прошёл за выходные.
Круто, что сегодня можно написать игру на js, но в памяти она занимает 1,2 гигабайта и на последних уровнях при большом количестве объектов ощутимо тормозит на моём железе — 10 фпс и всё замедляется раза в три.
А геймплей затягивает. И дело не столько в игровой механике, сколько в дизайне уровней. У авторов получилось. Почти каждый уровень уникален. Авторы не злоупотребляют повторениями, и игровые ситуации довольно разнообразны.
Где-то во второй половине игры серьёзно подскакивает уровень сложности — кажется, что пройти вообще не реально.
Кстати да, насчёт цитат с КДПВ. Слишком легко тем, кто не прошёл половину игры. Слишком сложно тем, кто прошёл.
В общем, спасибо за интересно проведённое время и с нетерпением жду вторую часть.
Круто, что сегодня можно написать игру на js, но в памяти она занимает 1,2 гигабайта и на последних уровнях при большом количестве объектов ощутимо тормозит на моём железе — 10 фпс и всё замедляется раза в три.
А геймплей затягивает. И дело не столько в игровой механике, сколько в дизайне уровней. У авторов получилось. Почти каждый уровень уникален. Авторы не злоупотребляют повторениями, и игровые ситуации довольно разнообразны.
Где-то во второй половине игры серьёзно подскакивает уровень сложности — кажется, что пройти вообще не реально.
Кстати да, насчёт цитат с КДПВ. Слишком легко тем, кто не прошёл половину игры. Слишком сложно тем, кто прошёл.
В общем, спасибо за интересно проведённое время и с нетерпением жду вторую часть.
+1
Интересная идея геймплея. "Гамбит девятихвостого лиса" не читали? Там тоже все бои строятся на «формациях». Правда там это завязано ещё и на календарь.
0
Sign up to leave a comment.
Трагикомедия в NaN актах: как мы cделали игру на JS и выпустили ее в Steam