EN
Евгений Пряхин
Евгений Пряхин
817 subscribers
goals
80 of 99 paid subscribers
Когда количество спонсоров достигнет 99 человек, я верну на канал рубрику "Интересная PS3", и сделаю не 2 (как планировал ранее), а 3 новых выпуска!
10.41 of $ 579 money raised
Это цель без цели. Я смогу направить эти средства на отдых, бытовые и семейные вопросы, или купить пару нужных вещей) Просто на дела житейские)
0 of $ 53 money raised
Ты можешь заказать стрим (3-5 часов) по любой ретро-игре (8-16-32 бит). Главное, что бы у меня была техническая возможность её запустить!
2 395.08 of $ 2 396 money raised
Спасибо вам за поддержку нашей игры NO PAIN NO GAME: THE VIDEOGAME! Благодаря вам мы можем платить тем, кто помогает нам с проектом!

NO PAIN NO GAME: THE VIDEOGAME (Дневник разработки. #3)

  Привет, ребза!
  Ну вот и третья часть наших дневников, в которых мы (я и Shiru8bit) рассказываем о том, как разрабатывается игра под названием (возможно рабочим!) NO PAIN NO GAME: THE VIDEOGAME!
  Две предыдущих части вы можете найти по этим ссылкам:
  Да, по прежнему вопрос "Как продвигается работа над игрой?" остаётся у вас довольно популярным, и это не может не радовать! И, надеюсь, эта статья хотя бы немного удовлетворит любопытство любопытным, и убавит скептицизма у скептиков, т.к. работа над игрой идёт, и, как я обычно говорю, продвигается ежедневно, правда с одним "Но" - не так быстро, как хотелось бы, и этому есть обычная, совершенно прозрачная причина - нам нужно больше талантливых и работоспособных рук! И мы обязательно чуть ниже об этом поговорим, но сейчас лучше давайте расскажем вам и покажем, что же, собственно, происходит сейчас, и чем в данный момент занята наша небольшая команда!
  И первое, с чего следует начать - это дизайн-документ проекта. Надо сказать, что эта очень полезная штука, мне кажется, не успевает залежаться вообще - мы постоянно докидываем туда новых, зачастую не самых простых в реализации идей, параллельно хватаясь за голову и представляя, как будем страдать, эти идеи реализовывая. Но тем интереснее - разве можно пытаться сделать "среднюю" или "так себе" игру? Конечно мы хотим сделать лучшее из того, на что способны, потому поговорка "глаза бояться - руки делают" тут подойдёт как нельзя лучше. 
  Так а что же делают руки? В данном случае не только мои, но и других членов нашего скромного коллектива? Давайте попробуем структурировать:
  Ни одна уважающая себя игра не может обойтись без "опенинга", или, говоря на более понятном языке - без открывающей сцены, или без начальной заставки. Таковая будет и у нас, и сейчас для этого уже написана соответствующая открывающая музыкальная тема, и сделан синематик, чётко дающий понять, как будет выглядеть тот самый "мультик". Мы пока прибережём в секрете этот синематик, возможно для следующего выпуска "дневников", но поделимся с вами несколькими кадрами из него, что бы не быть голословными:
  Ответственный за эту анимационную красоту у нас Алексей Гуськов. Во первых он уже очень давно смотрит наше шоу, и даже однажды, так уж распорядилась судьба, попал в один из выпусков! А во вторых - Алексей очень крутой художник и аниматор! Не верите? Зацените пару работ:
  Что касается музыки в заставке, над которой трудится Алексей - тут всё по прежнему. За музыку у нас отвечает Globian - человек, чью музыку, правда в несколько другом виде, слушает уже даже не одно поколение людей, и сейчас прогресс таков, что полностью для игры написано два трека, и ведётся работа над третьим, который будет нам необходим для того, что бы как можно скорее представить вам первую "демку". Но о ней пока не будем.
  Мы по прежнему продолжаем работать с Андреем Уточкиным, и уже полностью закончили всю отрисовку в пикселях и анимацию одного из врагов, созданного по его концепту. И сейчас Андрей занят тем, что работает над образом другого противника из нашей будущей игры. Раскрывать карты о том, кто это будет, мы пока не хотим, но зато я с удовольствием покажу вам пару концептов, которые не будут задействованы в игре, но как материал для данного дневника, и как показатель того, как происходит наша работа, думаю этот концепт интересен. К тому же хочется сохранить его для истории:
  Ну и конечно всё это должно обретать вид видеоигры, причём пиксельной видеоигры, а для этого необходимо рисовать всё в пиксельном стиле. И помимо меня, в данный момент рисующего персонажей и локации к игре, к этом процессу подключился ещё один человек (наконец-то!), и это очень мощная подмога в лице Михаила Краева! Во первых он уже не раз принимал участие в великолепном шоу "Игрофон" как художник и оформитель, а во вторых, что, на самом деле, наверное главное - у него есть немалый опыт не только в иллюстрации, но и в пиксельной графике. Для наглядности рекомендую посмотреть пару его работ:
  Сейчас Михаил очень сильно помогает с анимацией персонажей, беря на себя работу по прорисовке в пикселях промежуточных кадров. И это то, что действительно существенно ускоряет процесс создания нашей игры! Кроме того Миша вносит свои предложения по внешнему виду персонажей, и некоторые из них уже нашли место в игре. В общем, что касается пиксельной графики - к нам пришла отличная подмога в лице Михаила, но, боюсь её не достаточно, и мы ждём ещё энтузиастов и авантюристов, способных рисовать в технике "пиксель-арт"!
  Но, надо сказать, что не только я и Михаил заняты пиксельной графикой - свою лепту в этот процесс вносит и наш программист Shiru8bit. В частности не так давно он предоставил целый набор видеоигр из тех, что наши персонажи будут собирать в игре. А как вы думали? NPNG могла обойтись без сбора игр? Конечно же нет! И уже сейчас вы можете посмотреть на некоторые из них:
  Кроме того, как я уже упомянул, мы активно заняты анимацией персонажей и не только. Честно говоря мне приходится "прыгать" от одной задачи к другой, т.к. хочется, что бы игра продвигалась по всем направлениям. Посему сейчас готов ряд тех самых анимаций, одну из которых я, наверное, сейчас вам покажу. Собственно, это анимация моего персонажа, а точнее его безовой комбинации ударов:
  Как я сказал, процесс анимации продвигается по всем направлениям, и некоторые наброски помогает делать и Алексей Гуськов. К примеру для персонажа Стаса он разработал вот такую походку. Осталось поправить пару мелочей, отрисовать это в пикселях, и увидите - Стас бодро начнёт шагать по локациям нашей игры!
  Ну и, конечно же, как мы можем оставить вас без пары новых скриншотов? И сегодня мы покажем вам кадр из катсцены. Такие катсцены, разумеется, будут периодически появляться между уровнями, и напоминать о том, что корни игры растут из нашего шоу NO PAIN NO GAME, которое, кстати, не смотря на это, не будет обязательным к просмотру для тех, кто решит поиграть в игру. Мы вообще разрабатываем игры, в которую будет интересно играть всем, в независимости от того, знаком ли игрок с шоу, или же нет.
  Для того, что бы понять в общих чертах, что будет представлять из себя игра, предлагаем вам прочитать наш небольшой прессрелиз:
______________________________________
  В России разрабатывается игра про видеоигры! Точнее, про коллекционирование видеоигр - явление в нашей стране не настолько распространённое, как за рубежом, но имеющее место быть, и стремительно набирающее популярность.
  Сюжет игры рассказывает о двух коллекционерах, решивших отправиться в разные уголки России с целью найти для своей коллекции видеоигр новые и редкие экземпляры. Однако чем дальше они заезжают в своём приключении, тем сложнее им становится находить новые игры. Но они ещё не знают, что это не случайность, и рано или поздно им придётся узнать причину их трудностей и неудач.
  Действие игры происходит в наших отечественных реалиях, которые, конечно, имеют свою специфику по сравнению с коллекционированием в других странах. И об этих реалиях авторы знают не понаслышке, уже много лет создавая на YouTube шоу No Pain No Game (Без боли нет игр), посвященного этому непростому, но увлекательному занятию. Создатели шоу настолько любят игры, что решили и сами сделать одну, став её героями и независимыми разработчиками. Называется игра No Pain No Game: The Videogame.
  Сама игра выполнена в классическом жанре beat’ em up, основательно забытом с начала 1990-х, но в последнее время испытывающем настоящий ренессанс, со множеством свежих хитов, таких как долгожданный Streets of Rage 4, неожиданный TMNT Shredder’s Revenge, River City Girls в двух частях, и недавно анонсированный Toxic Crusaders. Точнее, это не чистый представитель жанра, так как игра про коллекционирование, и содержит множество связанных с этим элементов и игровых механик. Как и большинство перечисленных игр, новая игра выполнена в пиксельной графике, какую можно было бы наблюдать на игровых приставках 16-битной эпохи, но на более продвинутом, современном уровне. 
  Разумеется, будет большое количество юмора и культурных отсылок.
  Игра не нацелена на фан-сервис, главным в ней является игровой процесс, а отсылки к шоу являются только приятным дополнением для его зрителей. Но знакомство шоу и его ведущими вовсе не требуется, игра ориентирована на широкую аудиторию любителей видеоигр по всему миру!
  Разработка идёт уже несколько месяцев и выполняется силами небольшой команды независимых разработчиков, поэтом ожидать выхода игры можно на PC и других платформах не раньше следующего года. Планы авторов предусматривают издание разных платформах, но осуществимость этого в реалиях недалёкого будущего покажет время.
______________________________________
Ну и, конечно, к прессрелизу мы спешим приложить ещё один скриншот, показывающий уже, непосредственно, игровой процесс:
Что же касается тех, кто хочет узнать новости из программной части - специально для вас свой текст подготовил Shiru8bit, где и расскажет, как продвигаются технические дела проекта, и что происходит в его программной части:
  Всем привет!
  Несмотря на мою роль программиста в проекте за прошедшее время я мало занимался собственно кодом.
  Для того, чтобы что-то программировать, нужно знать, что именно - то есть нужен дизайн игры. В любой игре есть примерно миллион различных моментов и ситуаций, которые можно решить множеством различных способов, и для того, чтобы воплотить идеи в реальность, по каждому вопросу, от крупных до самых мельчайших, нужно принять одно конкретное, продуманное и взвешенное решение, рассмотрев и отбросив целый набор неподходящих.
  Также, чтобы собственно делать игру, нужны ассеты, то есть графика, которую рисует Женя и команда. А для того, чтобы идея превратилась в конкретные отточенные пиксели на экране, нужно также пройти целый ряд этапов - решить, что именно надо, как оно выглядит в целом, как оно выглядит в частностях, как это нарисовать, детализировать и анимировать.
  И то и другое - очень трудоёмкие, длительные, медленные процессы, полные проб и ошибок. Поэтому основную часть времени я занимался вопросами дизайна, обсуждениями с Женей разных моментов, документацией новых идей и принятых решений. Дизайн нашей игры значительно продвинулся и в общих чертах, и в важнейших деталях, но всё ещё есть множество пробелов, сформулированных в выражениях 'ну а вот тут будет что-то такое', 'а здесь как-нибудь так, или так, или может ещё вот так, но тогда там не так'. Сейчас мы организуем процесс заполнения этих лакун и отбрасывания лишних идей (что нелегко психологически, ведь старались, придумывали), чтобы в ближайшем будущем довести дизайн до почти полной готовности - это будет важнейшая веха в процессе разработки, основа для готового плана дальнейших действий, который останется только взять и выполнить.
  Разумеется, совсем без работы над кодом также не обошлось. Но эта работа бойца невидимого фронта, она очень мало заметна снаружи, и тем не менее, совершенно необходима для последующего завершения проекта, ведь сделать её нужно, а сама себя она не сделает.
  Например, это система локализации сообщений - текстовое наполнение нашей игры изначально предполагается русскоязычным, но также у нас есть планы зарубежного релиза, и поэтому в игре должна быть предусмотрена как минимум ещё одна локаль, русская. А наш движок EvgEngine - самописный и мультиплатформенный, и поэтому готовыми решениями мы воспользоваться не можем.
  Для того, чтобы обеспечить многоязычность, нужно решить ряд мелких задач. Во-первых, нужны шрифты - ведь они тоже не стандартные системные, а олдскульные пиксельные. Я нарисовал пару таких шрифтов с латиницей и кириллицей, чтобы художники могли использовать их в качестве ориентира для рисования финального варианта шрифтов. Во-вторых, сообщения нужно как-то и где-то хранить, и делать это в какой-то кодировке, и создать соответствие между пиксельным шрифтом (набором картинок) и кодами символов текста. В-третьих, нужно придумать способ удобного управления строками текста на нескольких языках, то есть возможность их редактирования и наблюдения в одном месте. Ведь если они будут разбросаны по коду, найти нужную строку будет непросто, а если весь код ещё и будет наполнен условиями 'при языке таком-то выводить такую-то строку', управлять всем этим станет и вовсе мучением. При этом и написать специальный редактор для удобного редактирования - тоже трудозатратно и накладно. Для решения всех этих вопросов было придумано и реализовано оптимальное решение, аналогичное принятым практикам управления локалями в современных системах, но маленькое и компактное, как раз достаточное для наших нужд.
  Также прорабатывались, перерабатывались и дополнялись различные глубоко системные моменты нашего движка в части отображения графики. У нас множество крутых задумок, и мы хотим выполнить их на лучшем уровне 16-битной эпохи, со всеми свойственными ей визуальными эффектами, включая самые впечатляющие эффекты, виденные на Sega Mega Drive и SNES, и в том числе, возможно, даже с элементами ранней 3D графики. Это одна из важных причин, почему мы решили разрабатывать собственный движок - многие выходящие ретро-игры не воссоздают те или иные классические 16-битные видеоэффекты, так как готовые современные технологические решения не предоставляют возможности манипуляции графикой на таком низком уровне и такими способами. Мы же хотим иметь полный контроль над каждым пикселем экрана и самые полные возможности по манипуляции с ними. В этом направлении была проделана значительная часть работы.
  В завершении своей части этого выпуска дневников хочу продемонстрировать один из мельчайших моментов, о самом существовании которого вам, полагаю, никогда даже в голову не приходило задуматься, но требующий выполнения невидимой игроку работы и принятия достаточно нетривиальных решений,
Наша игра изначально разрабатывается для PC (с приставками в перспективе) и предполагает локальный мультиплеер на двух игроков. То есть два человека на одном компьютере должны каким-то образом управлять двумя персонажами на экране. Например, у одного - клавиатура, у другого джойстик, а может два джойстика. Но кто же из них первый игрок, а кто второй?
  На приставках с этим издревле было всё просто и понятно. Есть два разъёма, первый и второй. Контроллер, воткнутый в первый разъём - всегда первый игрок, во второй - всегда второй. Обычно контроллером во втором разъёме нельзя управлять даже менюшками в игре, и нельзя играть с него первым игроком.     
  Позже стандартом стало четыре игрока, но схема сохранилась: хочешь играть один, втыкай джойстик в первый разъём. С приходом беспроводных технологий схема немного усложнилась, были введены специальные технические средства, сохранившие интуитивность процесса: на каждом контроллере есть индикация, роль какого из четырёх контроллеров он выполняет, и при первоначальной привязке к приставке можно так или иначе выбрать, каким номером он будет считаться. Первый контроллер - первый игрок, второй - второй. Очень удобно.
Однако в играх на персональной электронной вычислительной машине всё меняется. Всё плохо. На домашних компьютерах до PC-шной эры всё было относительно похоже на приставки, хотя местами и встречалось множество конкурирующих стандартов (типичный выбор опций управления на ZX Spectrum: Keyboard, Sinclair 1, Sinclair 2, Kempston, Cursor/Protek/AGF). С приходом же PC ситуация стала усложняться, начиная с единственного разъёма джойстика на звуковой карте (но сразу для двух джойстиков), и до нынешних времён. Сейчас мы имеем следующее: на компьютере как минимум есть клавиатура, а также может быть подключено неопределённое число геймпадов и джойстиков, причём какие-то из них в разъёмы, не имеющие точной нумерации, а какие-то по разным беспроводным интерфейсам. В итоге нет очевидной нумерации джойстик номер 1, джойстик номер 2, а достаточно типичной ситуацией является запуск игры с помощью мыши и клавиатуры, чтобы впоследствии играть одним из подключённых контроллеров, смотря какой больше подходит для конкретной игры.
Как же нам определить, какое устройство будет управлять первым игроком, а какое вторым? Однозначного решения тут нет. Например, разработчики старых игр и практически всех эмуляторов всегда делают настройку клавиш для каждого игрока, к каждой эмулируемой клавише можно привязать одну или даже несколько кнопок клавиатуры и кнопок разных игровых контроллеров. Это довольно эффективный подход, точно решающий проблему, однако, требующий от пользователя нетривиальных действий и также требующий повторения действий при изменении конфигурации подключенных контроллеров (когда сохранённые настройки управления перестают соответствовать реально подключенным устройствам).
  Для массовых современных игр на PC, чтобы не ограничивать свою аудиторию продвинутыми пользователями, разработчики вынуждены выдумывать различные динамические схемы, не требующие от игрока выполнения нетривиальных настроек и вообще максимально скрывающих эту проблему от игрока.
  Например, титульный экран TMNT Shredder's Revenge встречает нас надписью Press any button, причём на этот экран даже можно вернуться из главного меню. Зачем же нужно это лишнее нажатие?
  Именно по нажатию клавиши на одном из устройств (клавиатуре или игровом контроллере) игра решает, какое устройство будет главным, т.е. управлять первым игроком. Если мы нажмём любую клавишу на клавиатуре, главное меню будет реагировать только на клавиатуру, но не на джойстики, в подсказках по управлению будут отображаться иконки именно для клавиатурных клавиш, а играть первый игрок сможет только с клавиатуры. Если же мы нажмём на титульном экране кнопку на одном из джойстиков, именно этот джойстик будет считаться первым, будет управлять меню и персонажем первого игрока, подсказки по управлению будут выводиться для этого джойстика, а на клавиатуру игра реагировать перестанет.
  Но как же определить устройство управления для второго игрока? На экране выбора персонажа неспроста есть предложение нажать клавишу на втором контроллере - именно оно определяет каждый следующий контроллер. Если на этом экране будет нажата клавиша на клавиатуре или на джойстике, это устройство станет управлять следующим персонажем, смотря сколько персонажей уже активно - если только первый, то появится выбор второго, и он будет управляться устройством, которое вызвало его появление. Если их уже два, то появится выбор третьего, и так далее.
  Такая схема позволяет обойтись в настройках только переопределением клавиш для клавиатуры, что тоже очень важно. Во-первых, у разных игроков есть разные предпочтения по расположению кнопок (WASD, стрелки, либо экзотика типа ESDF), кто-то правша, кто-то левша, а кто-то так привык. Во-вторых, о чём также мало кто задумывается, клавиатуры бывают с разными раскладками, а не только привычная западным и отечественным игрокам QWERTY. Так, во Франции стандартной раскладкой является AZERTY, и играть на кнопках WASD просто не получится - они расположены совершенно другим образом, поэтому французы играют на ZQSD - эти клавиши расположены на месте наших WASD.
Джойстики же в современных играх чаще всего работают с фиксированной раскладкой, так как все они сейчас более-менее следуют стандарту, заданному PlayStation и Xbox, то есть стрелки, два стика, четыре кнопки, четыре шифта, да и сами игры чаще изначально разрабатываются под приставки, где схема управления волей-неволей отполировывается до идеала. На практике в большинстве случаев достаточно этой одной фиксированной раскладки. Некоторые игры позволяют выбрать одну из нескольких фиксированных раскладок для удобства, но не позволяют выбрать полностью свою собственную.
Подобную прозрачную схему настроек управления и определения устройства управления первого-второго игрока мы реализуем и в нашей игре.
  А сейчас с вами снова я, Евген, и мне ничего не остаётся, как в очередной раз напомнить, что мы всё ещё ищем людей в нашу команду разработки! Особенно нам сейчас необходимы художники, знающие и понимающие как работает анимация, и, разумеется, нам необходимы те, кто способен рисовать в технике "пиксель-арт"! Если ты - один из таких людей, и у тебя, вдруг, есть свободное время - обязательно напиши нам сюда: hard-vision@mail.ru
Кроме того, каждый из вас может помочь нам с нашим проектом просто разместив на любой из своих страничек наш прессрелиз, написанный чуть выше, и добавив к нему пару скриншотов и ссылку на этот пост: 
Ну и, конечно, если у вас есть желание и возможность поддержать наш проект финансово - от такой помощи мы, разумеется, не откажемся. Для этого тут, на Boosty есть соответствующая цель: https://boosty.to/justevgen/posts/73aa0a5f-6a64-448e-8b18-1bfacb98281b/single-payment/donation/273335/target?share=target_link
А в завершении сегодняшнего выпуска я, в очередной раз, скажу спасибо всем, кто уже поддержал игру:
Tagir909
Петр Усов
Пивчанский
Рустем Мусабеков
Владимир Кунцевич
Anis Sherzodov
Jedi Master
Aniki San
Megavolt
Rendi959
Fregat
Спасибо вам огромное! Вы начали поддерживать наш проект на, пожалуй, самом важном этапе - на его старте!
Ну а на этом всё на сегодня, обязательно скоро увидимся! Всем удачи!
avatar
Женя и всем ребятам, кто причастен к этому большому делу - выражаю вам огромный🤟🤟🤟 
Вы большие молодцы👍
Интересно было узнать, что происходит в "нашей" игре 😁
avatar
круто, я собираюсь поддержать и финансово и информационно, в Челябинске, сделаю ролик про наши магазины видеоигр и расскажу про ваш труд)
avatar
Спасибо огромное!)
avatar
https://www.dropbox.com/scl/fi/lmw24vck28ra650sk2a0c/60.zip?rlkey=sc7mqc2sp42qjcadrk356sred&dl=0

Subscription levels

Регалия 1: Спасибо за поддержку!

$ 1,05 per month
Спасибо за поддержку!
Кроме того, что ты действительно поддерживаешь канал, тебе будут доступны так же и эксклюзивные посты на Boosty об играх и коллекционировании, и разные другие ролики, разумеется!

Регалия 2: Дружеская рука

$ 2,09 per month
Ваша поддержка позволит мне с оптимизмом смотреть на будущее моего канала! Время от времени я буду публиковать текстовые и фото-посты, и видеоролики, которые смогут видеть только подписчики моей Boosty-странички!
А ещё я с огромным удовольствием укажу ваше имя в титрах к каждому из роликов!

Регалия 3: Только вверх!

$ 5,3 per month
Ваша поддержка не только важна, но и сильно ощутима!
Время от времени я буду публиковать текстовые и фото-посты, которые смогут видеть только подписчики моей Boosty-странички!
Разумеется я с удовольствием укажу вас в титрах каждого нового видео, а ещё для каждого из спонсоров этого уровня раз в несколько месяцев я буду проводить какие-нибудь интересные розыгрыши (как правило, они проходят на стримах!)

Регалия 4: Братское сердце!

$ 10,5 per month
Спасибо за мощную поддержку!
- ты всегда будешь видеть посты, сделанные эксклюзивно для подписчиков Boosty!
- твоё имя будет в титрах к каждому ролику!
- для каждого из спонсоров этого уровня раз в несколько месяцев я буду проводить какие-нибудь интересные розыгрыши (как правило, они проходят на стримах!)
- тебе открыт чат в Telegram, в котором я всегда на связи!
Ну и, разумеется, не могу не сказать - спасибо!

Регалия 5: Кудесник!

$ 53 per month
Если у тебя есть возможность оформить такую месячную подписку - никаким другим словом, кроме "Кудесник" тебя и не назвать! Даже не знаю, что я могу предложить за такую поддержку, но знай - ты невероятно помогаешь и в развитии канала, и в моей уверенности в завтрашнем дне, что позволяет мне строить дальше творческие планы!
разумеется все бонусы всех уровней доступны по умолчанию. Спасибо!

Регалия 6: Глыба!

$ 105 per month
Я не знаю кто ты, и чем занимаешься - возможно ты Илон Маск, или кто ещё круче, но если ты можешь позволить себе поддерживать меня таким образом - не уверен, что могу что-то тебе предложить, кроме невероятной благодарности! Ты точно настоящая глыба, но если вдруг чем-то смогу помочь в ответ - всегда рад!
Но, на всякий случай, все бонусы со всех уровней подписки, разумеется, доступны по умолчанию!
Go up