Как сделать игры на xbox

Обновлено: 07.07.2024

Написать игру на консоль я захотел еще в раннем детстве. В каком-то журнале, вроде Страны игр, была заметка, что есть особенная версия playstation 1, которая позволяет запускать код, написанный на С. Эту консоль купить и сейчас тяжело, а тогда вообще нереально, но мечта осталась.
В наше время написать игру уже сильно проще, многие игровые движки позволяют экспортировать код на различные платформы и кажется, что в этом нет особенной сложности. Казалось бы, берешь Unity или Unreal engine, пишешь по туторам игру, да экспортируешь, все просто. Но если вникнуть в тему, то все куда как интереснее.

Сейчас будет важный момент, который стоит понимать до того, как начнется основной рассказ. Многие современные движки сейчас бесплатные, как романтическая любовь, если вы делаете на типовые платформы, вроде pc или android, то ни технических проблем не будет, ни кто-то не попросит с вас денег. Но если вы захотите сделать игру для старой платформы, вроде Ps Vita или Xbox 360, то появляются первые проблемы. Дело в том, что лицензия на экспорт на них продавался отдельно, как и девкиты, и все это стоило очень больших денег. Если вы - крупный разработчик, то для вас не проблема купить девкит, лицензию к нему, выпустить игру и отбить деньги. А если же вы просто энтузиаст, которому охота сделать прототип на умершую платформу, так называемый Homebrew, то добро пожаловать в объятия пиратства.

Огромное количество людей занимаются тем, что разбирают слитые sdk платформ и делают свои варианты sdk, т.е. на некоторые платформы можно найти библиотеки или движок, что поможет написать игру бесплатно. Та же Большая N распространяет свою версию unity для написания игр для 3ds, но мы сегодня говорим про xbox 360 и официально тут уже ничего не купить. Если пиратство для вас неприемлемо, то читать дальше не стоит, загляните на форум gbatemp и там можно попробовать найти фанатские легальные sdk.

Движок Unity очень популярный не только из-за количества поддерживаемых платформ, но и из-за общей простоты работы. Многие используют его на основной работе, потому использовать для написания homebrew вполне хорошая идея. Свои первые прототипы я делал для ps vita и по ним можно без проблем найти туториалы в сети, которые подскажут что скачать, как экспортировать, ну и как потом пережать проект, чтобы он запустился на взломанной консоли. С Xbox360 такого туториала нет, потому когда я начинал свои поиски, то обратиться за помощью было просто некуда.

Чтобы экспортировать из Unity на любую платформу, вам потребуется 4 вещи:

  1. sdk платформы, на которую вы экспортируете
  2. сам Unity, он бывает разных версий
  3. набор support files для нужной платформы, чтобы связать sdk и unity
  4. лицензионный ключ, который откроет возможность экспорта
Если хотите писать homebrew - надо привыкать копаться в поиске

Поиск по гуглу и форумам почти не давал информацию. Без проблем можно было найти файлы для ps3, ps4, ps vita, но не xbox 360. Через какое-то время повезло и выяснилось, что нужно искать версию unity 5.4.0b11 либо b3, эти бета-версии пока что последние, что могут экспортировать как для xbox360, так и для playstation 3, с которой я буду разбираться позже. Версия unity достаточно древняя, но нам подойдет.

Немного про версии unity. Движок обновляется каждый месяц, в итоге версий набралось уже очень много. От версии к версии добавляются новые фичи, потому support files от одной не подходят к другой. Далее, менялись версии prefab при переходе от 2017 версии к 2018, да и хотя бы плагины от одной версии могут не подойти к другой. Потому поиск рабочей версии - это не особо просто, ну и не выйдет скачать последнюю версию unity, нажать экспорт и получить игру для любой платформы, как некоторые думают.

Официальные версии sdk гуляют по закрытым форумам и лишь изредка происходят сливы. И по xbox было так же, когда посвященные люди обсуждали методы написания игр, а массовый слив произошел году в 2016, хотя могу и путать. Сейчас же найти sdk от бокса можно на многих форумах и торрентах, стоит лишь поискать XDKSetupXenon21256.3.exe или более поздний. Я пробовал этот и все заработало. Но чтобы установился sdk, нужно поставить visual studio 10 full, у меня стояла 2017 версия, она не подхватилась, как и vs10 express. Ставите сперва vs10 full, затем sdk, затем unity, а затем support files.

Описанное выше, если посмотреть, не является особенным пиратством. Озвученные версии unity можно найти в гугле и скачать с официального сервера, как и support files, точно так же, как и sdk, а visual studio вообще бесплатный. Но установив все это, вы не получите возможности экспортировать, потому что у нас нет ключа, который надо активировать, чтобы появилась возможность экспортировать. Вы без проблем можете погуглить и найти в сети ключи от ps3, ps3, psvita, но xbox360 просто нет. И вот тут надо взламывать unity.

До того момента, как unreal engine 4 включился в плотную борьбу за разработчиков, оба движка были платными. Unity в этом плане был более демократичный, предоставляя в халявной версии основной функционал и самое главное неудобство состояло в том, что нельзя было поменять цвет темы программы на темную версию, это было доступно лишь в pro версии. Но как ни странно, это сильно раздражало пользователей, отчего в сети появлялись различные способы взлома движка, причем сделать это можно самостоятельно, произведя подмену пары байт через hex-редактор. А можно найти и кряк, тут уже кому как удобнее. Слабая защита указывает на то, что о ней и не особо-то парятся, разработчики движка зарабатывают с других вещей. Ссылок я тут давать не буду, их можно будет найти в ролике, что я прикреплю к этой статье.

На этом моменте я ожидал, что будут какие-то особые проблемы уже с экспортом. Дело в том, что после экспорта проекта на ps vita, полученные файлы надо прогонять через самописный скрипт на python от Silica. Для switch тоже не так просто экспортировать, там довольно капризный сборщик. Но неожиданно экспорт и сборка проекта для xbox360 в нативный код произошла в один клик. Редактор ругался на какие-то неправильно заполненные поля, но экспортировал полностью рабочую игру. И чтобы запустить ее, надо скинуть ее на флешку, зайти во freeboot в директорию и запустить исполняемый файл.

Первым делом я проверил работу геймпада, затем экспортировал несколько проектов и все они заработали с нормальным fps. Из заметных косяков было лишь то, что стандартные вызовы onGui интерфейса на реальном устройстве выглядят очень мелкими. Да и вообще, с интерфейсом надо разбираться, от других разработчиков я так же слышал отзывы, что некоторые вещи заводятся через костыли. Но той же ps vita из unity не срабатывал вызов стандартной экранной клавиатуры, отчего пришлось писать свою реализацию, досадно, но ничего не поделать. Так же на боксе не совсем корректно заработал standart шейдер, отчего и тени не отображались, но тут, как мне кажется, надо вникнуть сильнее и пробовать свои шейдеры. Но в остальном телодвижений неожиданно сильно меньше, чем с другими консолями.

Если вы писали мобильные проекты для unity, то замечали, насколько удобно на тесте нажимать клавишу build and play и дальше движок сам собирает проект, пересылает его на устройство и запускает. С хоумбрю разработкой такого удобства ждать не приходится, хотя и очень хочется. При установке sdk есть возможность добавить консоль по сети, после чего нажимать компиляцию, какие-то файлы будут пересылаться, но проект не стартанет. Его можно пересылать руками, но будет это довольно долго. Просто представьте, дождаться компиляции проекта, скинуть на флешку, подключить ее, зайти в браузере и запустить. Когда запускаешь одну игру, то это удобно, но когда тестируешь работу, то такая последовательность действий быстро надоест.

Различные виды официальных девкитов, от самого простого к самому навороченному

Выход из сложившейся ситуации есть. Нужно переделать консоль в devkit. Даже на youtube можно найти много обучалок, которые рассказывают, как можно на обычную консоль залить прошивку девкита, после чего появится возможность эмулировать привод, снимать оперативную память, писать читы и кучу-кучу всего. Правда, когда я пытался разобраться в этой теме, то многие форумы отмирали, как и ссылки на полезные материалы, но саму прошивку можно найти. И я собирался купить на авито дешевую версию слимки, чтобы перепрошить ее, пролистывал другие города, чтобы за 3-4 тыс купить уже прошитую консоль, и тут мне неожиданно улыбнулась удача.

На авито висело объявление, где продавец предлагал купить самую простую версию девкита от xbox 360. Это тестовая версия, в ней почти ничего нет, есть только нужная прошивка, да возможность запускать свой код по сети. Мне больше ничего не надо, и пускай эта консоль стоила чуть дороже, чем я собирался потратить, но сразу же взял. Заработала она именно так, как я и ожидал - я подключил к локальной сети консоль, добавил ее в сетевое окружение sdk бокса, она обнаружилась и после нажатия build and play стоит лишь дождаться компиляции и запуска проекта на консоли. Происходит это не супер-быстро, но куда удобнее всех этих телодвижений с флешкой. После чего тестировать игры стало крайне удобно.

Чтобы ощутить всю боль и радость от разработки homebrew для старых консолей, надо этим заняться. Тут почти нет официальных инструментов, которые бы могли сделать разработку удобной, потому и каждые мелкие успехи воспринимаются, как достижение. И пока что именно работа с xbox360 показалась мне одной из самых удобных. Нужно разобраться с шейдерами и интерфейсом, остальное же все работает и запускается без тех мучений, что есть на других платформах.

Я в ближайшее время хочу потестировать написание игр для wiiu и wii, так же для 2ds я писал на двухмерном фреймворке, unity еще не пробовал, но интересно. И надеюсь, что выйдет написать для каждой консоли, что есть у меня, хотя бы по простому прототипу. Страшновато, правда, подходить к dreamcast, но если на sega нашелся вменяемый движок, то может и там что найдется. Посмотрим.

Программа Xbox Creators Program подойдет вам, независимо от того, являетесь ли вы начинающим разработчиком игр, завершаете свой студенческий проект или с нетерпением ожидаете возможности перенести созданную вами игру на самый большой экран в доме! Если ваша игра интегрирована со службами Xbox и соответствует стандартным политикам нашего магазина, вы можете ее опубликовать. Утверждения концепции не требуется.

Начать работу с программой Xbox Creators Program просто:

Создайте учетную запись разработчика

Внесите единовременный членский взнос

Создайте продукт в Центре разработки и интегрируйте его со службами Xbox

Включите режим разработки на Xbox для тестирования консоли

Опубликуйте вашу игру

Создайте собственную игру

Преимущества программы Xbox Creators Program

Экран телевизора с изображением активации режима разработки Xbox

Упрощенная процедура тестирования и развертывания

Тестируйте свою игру по программе Creators Program на собственной консоли Xbox в режиме разработки. Набор разработчика не нужен. До тех пор пока ваша игра отвечает политикам магазина, никакого дополнительного одобрения для переноса вашей игры на Xbox и Windows 10 не требуется.

На экранах телевизора и ноутбука демонстрируется тестирование игры xbox

Возможности служб Xbox

Службы Xbox, интегрированные в игру, позволяют получить доступ более чем к 55 миллионам пользователей. Они также содержат функции, которые позволят игрокам исследовать вашу игру и принять в ней участие, в том числе: статус присутствия Xbox, списки лидеров, сохранение в облаке, игровые центры, клубы, командный чат, DVR для игр и многое другое.

ID@Xbox

Нужен доступ к другим службам Xbox, таким как «Достижения» и «Многопользовательская игра в сети»?

Студент работает над созданием собственной игры.

Программа Creators Education Program

Программа Xbox Creators Program налаживает партнерские отношения со школами с помощью программы Creators Education Program, чтобы обеспечить учеников инструментами и навыками, необходимыми для выпуска и продвижения на рынок успешных игр для Xbox и Windows 10. Если вы работаете в сфере образования, свяжитесь с нами для получения подробных сведений о программе.

Визитка игры по программе Creators Program

Разработчики Recently Added ID @ Xbox Show All Games -->

Скоро в продаже.

Вопросы и ответы

Можно ли в играх Creators Collection использовать DLC и внутриигровые покупки?

Да, разработчик может добавлять DLC и внутриигровые покупки в игры Creators Collection.

Почему игры из программы Creators Program помещены в отдельный раздел Магазина?

Магазин Xbox является курируемым, поэтому игры, опубликованные через программу Creators Program, будут продаваться в отдельном разделе Creators Collection. За счет этого сохраняется баланс между открытой платформой, разрабатывать и публиковать игры для которой может кто угодно, и платформой консольных игр с проверенным и ожидаемым качеством. На Windows 10 игры участников программы Creators Program будут продаваться наряду с остальными в стандартном магазине Microsoft Store.

Почему я не могу внедрить многопользовательскую игру или достижения?

Нам важно, чтобы многопользовательские игры и достижения на Xbox оставались на высшем уровне, что требует дополнительных ресурсов для разработки и сертификации. Многопользовательская игра и достижения не поддерживаются в программе Creators Program, с тем чтобы игроки продолжили получать ожидаемое качество игр в Xbox. Разработчики, которым требуется полный набор служб Xbox, могут зарегистрироваться в программе ID@Xbox.

Могу ли я опубликовать игру через ID@Xbox и Creators Program одновременно?

Разработчики могут публиковать какие-то игры через ID@Xbox, а другие — через Creators Program. Однако они не могут опубликовать одну игру через обе программы одновременно.

Могу ли я перевести игру из Creators Program в ID@Xbox?

Если игра из программы Creators Collection станет популярной и успешной, будет ли она перемещена в стандартный магазин Microsoft Store?

Игры, созданные в рамках программы Xbox Creators Program, будут распространяться в разделе Creators Collection нашего магазина. Разработчик может подать заявку на перевод игры из программы Xbox Creators Program в программу ID@Xbox. Это позволит перенести игру из раздела Creators Collection в общий магазин.

Выставляется ли рейтинг играм Creators Collection?

Да, всем играм Creators Program потребуется рейтинг IARC, который можно получить в Центре разработки Windows. Регионы, не охваченные IARC, могут приобрести сертификацию вручную. После подтверждения сертификации они смогут опубликовать свои игры в разделе Creators Collection.

Как вы сможете предотвратить регистрацию неприемлемых игр через программу Creators Program?

Хотя мы стремимся предоставить разработчикам максимум свободы при регистрации игр в Xbox, у нас есть процедуры контроля, в рамках которых проверяется соответствие разработчиков и их игр политикам нашего магазина и Правилам поведения разработчиков. Неприемлемое содержимое будет отмечено и проверено в системе сертификации. Проверка магазина проводится регулярно. На Xbox вы можете сообщать о неприемлемом содержимом на странице продукта в магазине. Так как этим играм выставляется рейтинг, все настройки родительского контроля и конфиденциальности будут работать без изменений.

Мне очень приятно, что мою последнюю статью про продвижение игры на Steam Greenlight, которую я писал на хабр чуть больше года назад, прочитали почти 50k раз и как мне кажется в итоге она была написана не зря. Тогда наша маленькая команда только-только получила зелёный свет. С того момента произошло еще много событий, но одним из самых интересных и значимых было то, что мы также прошли в программу ID@Xbox для независимых разработчиков, с возможностью выпуска своей игры на консоли Xbox One. И вот неделю назад игра все-таки увидела свет.

image

  • Сколько может стоить разработка консольного проекта
  • Где мы взяли такие деньги
  • Как все подсчитать и иметь представление на что рассчитывать
  • Почему мы решили работать без издателя и внешних инвестиций
  • Как мы попали в Steam и на Xbox One
  • Почему нужно платить и получать возрастные рейтинги
  • В чем разница между Steam и Xbox — минусы и плюсы консольной разработки для инди
  • бюджет разработки оригинальной GTA 5 был в районе 137M $ (ссылка)
  • разработка Destiny обошлась Activision в 140M $ (ссылка)
  • всеми любимый оригинальный Ведьмак 3 (без дополнений) обошёлся CD Projekt RED в 67M $, из которых 32M $ ушли на разработку и 35M $ на маркетинг (ссылка)
  • Красочный платформер Trine стоил своим создателям порядка 850k EUR (ссылка)
  • Бюджет Shovel Knight составил 328k $ (ссылка)
  • The Binding of Isaac: Rebirth от Эдмунда Макмиллена и его коллеги из Nicalis может похвастаться бюджетом в 500k $ (ссылка)
  • Великолепная мобильная Monument Valley стоила в производстве 852k $ (ссылка)
  • Braid, разработанный Джонатаном Блоу, потребовал 100-180k $ для завершения
  • А следующая игра The Witness от этого же автора с первоначальным бюджетом в 800k $ разрослась до 6M $ (ссылка)
  • Одним из самых дорогих проектов стали Психонавты (Psychinauts) с бюджетом в 11.8M $ (ссылка)
  • Broken Age не хватило бюджета в 3.3M $, собранных с KickStarter'а (ссылка)
  • Costume Quest стоила порядка 2M $ (ссылка)
  • Недавний ремастер адвенчуры Day of the Tentacle встал в 600k EUR (ссылка)
  • Добротный раннер от российской студии Nekki (разработчиков Shadow Fight 1-3) Vector 2, который стоил больше 800k $ (ссылка)
  • Greemlins Inc (стратегическая настольная игра) от Charlie Oscar на данный момент стоила в разработке чуть больше 600k EUR (ссылка)
  • Новая Point & Click адвенчура Thimbleweed Park от Рона Гилберта тоже не отстает и уже расписала бюджет в 400k $ до сентября 2016 года (перевод статьи, оригинал)

Где мы взяли деньги на разработку игры?
Два с половиной года назад мы на голом энтузиазме начали долго и упорно работать над ранним прототипом игры TurnOn, с которым нам повезло летом 2014 года выиграть международный конкурс Microsoft Imagine Cup и получить грант в 50k $ долларов. О том, как у нас это получилось можно посмотреть видео в этой статье на хабре.

К слову сказать, это было еще то «замечательное» время когда доллар стоил 38 рублей, и естественно эти деньги в какой-то момент закончились, но нам удалось раздать накопившиеся долги, купить необходимую технику и снять маленький, но уютный офис на достаточно длительный срок. Поэтому на оставшееся время разработки мы очень сильно «поджались» и финансировали проект за счёт своих собственных сбережений и очень аскетичного образа жизни.

image

Зачастую, если молодая компания (команда) только что получила инвестиции на свой первый проект, ситуацию можно представить приблизительно так:

Любая инвестиция это деньги в долг, которые инвестор рассчитывает вернуть с определёнными процентами.
Если мы берём в долг, то мы должны быть уверены, что у нас получится через определённое время заработать больше и вернуть эти деньги плюс проценты. А для этого нужно хотя бы понимать как работает рынок.

Как все подсчитать и иметь представление на что рассчитывать (диванная аналитика от Жени)

  1. Представим, что вы продаёте свою игру на какой-то площадке (на какой неважно) – в интернете ходят слухи, что обычно площадка забирает себе 20-30% — чаще 30%
  2. Предположим, что вы компания, которая работает по упрощённой схеме налогообложения (УСН) – значит вам необходимо заплатить 6% налога на прибыль
  3. Деньги поступили на счет вашей компании и у вас есть как минимум две возможности получить наличные: выплатить ЗП или вывести дивиденды
  4. В текущей ситуации для того, чтобы выплатить ЗП (подразумеваем, что вы не пользуетесь никакими льготами у государства, их еще фиг получишь) ваша компания должна удержать с зарплаты приблизительно 43% (13% НДФЛ, 22% Пенсионный Фонд, 5,1% мед.страхование, 2,9% соц.страхование). Итого из 100% прибыли с продажи игры до вас дойдет в виде заработной платы — 37%.
  5. Второй вариант – для инвесторов и соучредителей – дивиденды. Согласно налоговому законодательству с дивидендов должен был уплачен налог в размере 13%, т.е. в случае дивидендов: из 100% прибыли с продажи игры до вас дойдет в виде дивидендов 55%.
  6. Естественно, что в рамках работы компании нужно комбинировать выплаты ЗП и дивидендов. Или вообще использовать другую систему налогообложения, но принцип, надеюсь, понятен.

Сколько же на самом деле будет стоить одна копия игры

Отвечая на вопрос сколько стоит игра, принято говорить про базовую цену в долларах, т.е. сколько стоит копия игры в США. Возьмём игру, схожую по жанру с нами, к примеру платформер Never Alone, базовая цена которой 15 $, и посмотрим сколько на самом деле она стоит в мире.

image

Обратите внимание: красным выделены те регионы, в которых цена на игру при переводе местной валюты в доллары меньше, чем базовая цена. Лидером по низкой цене как известно является Россия — игра за 15 $ у нас стоит 5,3 $.
Всего в 3-х регионах цена на игру выше 15 $, но согласно налоговому законодательству Европейского союза, с каждой проданной копии игры на их территории обычно должен быть уплачен налог VAT, который раньше был 15%, а сейчас варьируется для каждой страны от 17 до 25 % (ссылка).

image

  • 10% скидка на запуск в первую неделю
  • 25-33% скидка через 3-6 месяцев после релиза
  • 50%-66% скидка через год и т.д. по ниспадающей

Моделируем потенциальные инвестиции

  • Инвестор полностью инвестирует в разработку игры до 200k $ на 3 года
  • Очень классные условия для команды: 60% инвестору, 40% компании и командe
  • Если инвестор не будет рисковать и вложит эти деньги в очень хороший и надежный банк на 3 года под 10%, то в итоге он получит 267k $ (200k$*1.1*1.1*1.1= 267k$).
  • Также в среде инвесторов принято считать, что хорошие инвестиции, это такие инвестиции, у которых коэффициент ROI>3. Т.е. 200k $ через 3 года принесли 600k $ или больше.
  1. Чтобы инвестор не был в убытке и возвратил свои инвестиции, так как если бы он не рисковал и просто положил эти деньги в банк под проценты, видим, что надо продать порядка 100k копий игры за год
  2. Чтобы инвестиции стали хорошими (ROI>3) и инвестор получил то, зачем давал деньги, надо продать 227k копий игры за год

Также нужно учитывать, что если вы решили не делать очередной мультиплеерный шутер или какую-то привязку к серверу, то ваши продажи может подкосить высокий уровень пиратства. К примеру по нашему проекту за первую неделю после релиза согласно числу активных игроков в Unity Analytics, мы можем сказать, что нас пиратят в соотношении 1 к 30 (1 купивший к 30 пиратам).
Именно поэтому мы решили не привлекать дополнительные инвестиции, чтобы в случае чего за нами не бегали дяди инвесторы с лопатами и топорами.

image

Почему мы выходим без издателя?

  • Издатель, который вкладывается в разработку
  • Издатель для выпуска (почти-) готового проекта

Бывает ещё формат 50/50 + полное покрытие расходов издателя в первую очередь: издатель говорит, что будет тратить определённую сумму на рекламу и продвижение, потом её возвращать в первую очередь с прибыли, а потом оставшееся делить 50/50 с разработчиком.

Тут возникает момент с неоправданным процентом разделения прибыли при отсутствии риска у издателей второго типа.

По моему скромному мнению, вот с чего надо начинать договариваться:
Вы как разработчики сделали игру, вы можете посчитать сколько денег и ресурсов ушло на неё, т.е. бюджет разработки игры. Предположим 50k $. Если вы нашли издателя, который точно скажет сколько он потратить на продвижение игры, к примеру те же 50k $, то отправная точка переговоров в формат 50/50 от прибыли приемлема.

Что должен делать «Идеальный издатель»

image

  • Частично покрывать расходы разработки (вкладываться в качество)
  • Контролировать качество и сроки со стороны (в разумных пределах), т.е. не давать расслабится команде
  • Работать с партнёрами по платформам (Valve, Sony, Microsoft, Nintendo и т.д.)
  • Помогать и покрывать затраты на тестирование, девкиты, возрастные рейтинги и т.п.
  • Делать плавный запуск на платформах (знает подводные камни и нужных людей)
  • Разработать маркетинговую стратегию и классный пиар на запуск
  • Правильно работать с прессой и комьюнити
  1. Разрабатываете игру
  2. В середине разработки можете начинать готовить демонстрационные материалы по проекту
  3. Платите 100$ (3200 руб. в России) в благотворительный фонд через Steam на специальной странице (ссылка) и вам позволят оформить страницу проекта в Greenlight
  4. Читаете статью «Продвижение инди-игры на Steam Greenlight» или другие статьи схожей тематики, готовитесь морально
  5. Оформляете страничку своей игры и публикуете в открытый доступ
  6. Прикладываете некоторые усилия для того, чтобы за ваш проект проголосовали
  7. Через какое-то время получаете приглашение с этим проектом в Steam
  8. Подписываете NDA и все необходимые документы для того, чтобы получить полный доступ к платформе. Дальше действуйте по инструкции
  9. Дорабатываете и выпускаете свою игру

Если же ваша игра в этом регионе будет продаваться еще и на дисках, то вам нужно будет пройти полную процедуру получения рейтинга (ходят слухи, что с 2015 года это стоит 12500 $). Плюсы от траты такой кучи денег — ты получишь полноценный рейтинг, который будет соответствовать игре + нормальные дескрипторы.

  • Если ваш проект весит меньше 450 Мб, то вам повезло и вы заплатите чуть меньше 500 EUR.
  • Если бюджет вашей игры меньше 200k $ и вы можете это доказать, то вы должны заплатить порядка 1100 EUR.
  • В остальных случаях — больше 2000 EUR.

Австралии и Новая Зеландия — получить рейтинг в Австралии стоит 300-400 долларов. Обычно этого достаточно для Австралии и Новой Зеландии. Но если ваша игра жесткая и с насилием, то вам не повезло. Для таких игр в Новой Зеландии надо заплатить ещё 1500$.

Германия — немцы не принимают европейский рейтинг PEGI и поэтому ввели свою организацию, которая собирает деньги с разработчиков — рейтинг USK. Стоит это удовольствие 1200 EUR + 300 EUR доп.платформа + 300 EUR трейлер. Имейте ввиду, что если вы планируете показывать свою игру на Gamescom в Кельне, вам нужно будет заплатить за демку и за трейлер к ней.

Оставшиеся рейтинг я называю easy
Тайвань — бесплатно, непонятный, тормозной сайт, самостоятельная регистрация, решаемо.
Южная Африка — 200$ или в зачёт может пойти PEGI рейтинг.
У Бразилии есть своя рейтинговая система — она бесплатна (через большую заявку на португальском), но если у вас уже есть PEGI рейтинг, то он также может пойти в зачёт.
По версии платформ держателей — оказывается у нас в России тоже есть своя система возрастных рейтингов для игр. Но т.к. никто не знает что это такое, какая организация выдает рейтинг и как его получить, в зачет также идет рейтинг от PEGI.

  1. Больше всего времени скорее всего у вас займёт создание самой игры и её основы (это индивидуально)
  2. После этого обычно встаёт вопрос про интеграцию в экосистему Steam. Глядя на магазин Steam и представленные в нем проекты, становится ясно, что можно вообще ничего не делать и пропустить этот шаг и все равно выйти в Steam. Т.е. этот этап приблизительно может занять от 0 до 30 дней
  3. Возможно вы ответственный разработчик и после того, как игра готова, захотите её протестировать и проверить на качество (работает ли игра и не вылетает ли). А можете этого не делать, у вас это может занять от 0 до 30 дней
  4. Как только будете готовы, вы можете выпустить свой проект
  5. Релиз
  1. Как обычно: сначала разрабатываем игру и её основу
  2. Интеграция в экосистему может занять разное количество времени у разных проектов с разным опытом — пусть это будет от 15 до 45 дней
  3. Настоятельно рекомендуем потратить время на всестороннее внутренне и внешнее (друзья, знакомые) QA и тестирование — хотя бы две недели
  4. Возрастные рейтинги — это может занять от 4-х недель. Самое важное, что игра должна быть готова (со всем контентом), работать полностью в экосистеме той платформы, для которой получается рейтинг
  5. Потом есть этапы сертификации и подготовки к выпуску — как только вас примут в программу вы узнаете, как они проходят и сколько времени они могут занять
  6. Релиз

Минусы консольной разработки: Долго, Затратно, Страдает маркетинг
В каком смысле «страдает маркетинг»? Если вы ориентируетесь на какие-то определенные даты по релизу, то с первого раза скорее всего вы не успеете.

Плюсы консольной разработки: Новый рынок, иное отношение прессы, не хухры-мухры.
За несколько месяцев до релиза мы узнали, что наша игра станет первым проектом из России, который выйдет на консоли Xbox One в рамках программы ID@Xbox. Конечно, было приятно осознавать, что командой из 4-х человек своими силами мы сделали что-то первыми.

image

Если кому-то эта статья оказалась полезной, вы знаете, как можно сказать спасибо ;)
Если тема будет интересна, то вполне возможно я попробую написать следующую статью в самое ближайшее время. Интересно узнать ваше мнение и пообсуждать тему в комментариях.



Рис. 5.2. Панель Solution Explorer

Обратите внимание на комментарии. Использование в комментариях тройных слэшей и различных ключевых слов, таких как или

public Game1()
<
graphics = new GraphicsDeviceManager(this);
content = new ContentManager(Services);
>

Здесь происходит создание двух объявленных ранее объектов стандартным образом для XNA. Фактически объект graphics класса GraphicsDeviceManager заменил всю ту череду вызовов различных функций в DirectX, необходимых для инициализации и настройки графического устройства.
За конструктором класса Game1() следует определение метода Initialize().

protected override void Initialize()
<
// здесь следует код инициализации
base.Initialize();
>

Этот метод предназначен для инициализации различных компонентов игры, которые вам понадобятся перед самым первым стартом игры. Из этого метода вы можете передавать управление и в другие методы, связанные с инициализацией различных начальных данных (позиции на экране, инициализация различных переменных и т. д.). Единственные ограничения этого метода состоят в том, что в данном методе нельзя загружать графические компоненты игры (текстуры, модели), для этих целей служит метод LoadGraphicsContent().

protected override void LoadGraphicsContent(bool loadAllContent)
<
if (loadAllContent)
<
// здесь загружаются модели и графические элементы
>
>

Метод LoadGraphicsContent() необходим для загрузки графической составляющей вашей игры, используя при этом всю мощь XNA Content Pipeline, который позволяет загрузить в одну строку кода любую 3D-модель или графику определенного формата. Поддерживаемых форматов много, но об этом в следующей главе, когда мы с этим непосредственно столкнемся.
Следующим в исходном коде идет метод UnloadGraphicsContent(), который в автоматическом режиме производит выгрузку загруженных 3D-моделей и графики на этапе выхода из игры. Это своего рода менеджер выгрузки компонентов игры, аботающий на автомате и освобождающий захваченные ресурсы системы по сигналу выхода из программы. В стандартном использовании загрузчика добавлять в метод UnloadGraphicsContent() дополнительный исходный код не нужно. Но если применяются различные дополнительные загрузчики, то выгрузку загруженных элементов в методе UnloadGraphicsContent() необходимо прописать явно.
Затем в исходном коде класса Game1 располагается метод Update() со следующим исходным кодом:

protected override void Update(GameTime gameTime)
<
if(GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
this.Exit();
// код игры
base.Update(gameTime);
>

Этот метод предназначен для обновления состояния игры. В методе Update() необходимо расположить все методы, отвечающие за логику игры, реализовать механизм получения событий с клавиатуры, мыши или джойстика, воспроизведение звука. Определить, что именно будет происходить после столкновений, выстрелов, ударов и т. д. Этот метод в игре вызывается с циклической периодичностью (…30–60… кадров в секунду, те самые FPS), а точнее через определенный промежуток времени. Промежуток времени задается в автоматическом режиме через объект gameTime (при желании можно помогать XNA и создать свой таймер). То есть метод Update() – это полноценный игровой цикл, цель ко-
торого заключается в постоянном обновлении состояния игры.
Первая и вторая строки кода в методе Update() получают события с джойстика и реализуют закрытие программы. В данном случае по нажатии кнопки Back на джойстике приставки Xbox 360 будет осуществлен выход из программы. Подробнее о методике использования в играх джойстика вы узнаете из главы 9.
Последний метод класса Game1 – это метод Draw().
protected override void Draw(GameTime gameTime)

<
graphics.GraphicsDevice.Clear(Color.CornflowerBlue);
// здесь рисуем графику
base.Draw(gameTime);
>

5.5. Запуск и перенос проекта на приставку Xbox 360
Рис. 5.5. Вкладка Игры

Рис. 5.6. Выбор программы XNA Game Launcher из списка установленных программ на приставке

Рис. 5.7. Выбор команды запуска программы XNA Game Launcher

4. После этих действий экран телевизора несколько раз моргнет черным цветом. Если связь с Интернетом не очень хорошая, то возможно даже появление на несколько секунд экрана черного цвета. В данный момент приставка Xbox 360 соединяется с оответствующими сервисами клуба XNA Creator Club и идентифицирует вас как пользователя. Далее откроется главное окно программы XNA Game Launcher (рис. 5.8), где вам необходимо выбрать курсором джойстика команду Conect to Computer и нажать кнопку А. Текущая картинка на экране сменится новой картинкой, изображенной
на рис. 5.9. В этот момент приставка еще раз соединится с Xbox Live, и затем откроется новое окно, указывающее на готовность Xbox 360 получить файлы с компьютера (рис. 5.10).


Рис. 5.8. Окно программы XNA Game Launcher

Рис. 5.9. Соединение с Xbox Live

Рис. 5.10. Ожидание передачи файлов с компьютера на приставку Xbox 360

Рис. 5.11. Выполняем на компьютере команду Deploy

Рис. 5.12. Передача файлов с компьютера на консоль

6. На приставке из окна ожидания передачи данных вам необходимо вернуться в главное меню программы XNA Game Launcher (нажмите на джойстике кнопку с буквой B), где необходимо выбрать команду My XNA Games (рис. 5.8). Выбор этой команды откроет окно My XNA Games со списком установленных или переданных ранее с компьютера программ (рис. 5.13). На рис. 5.13 вы видите, что кроме переданного на приставку
проекта FirstProject у меня на приставке уже установлены все примеры (и даже более), изучаемые в этой книге. В связи с этим я вам гарантирую полную работоспособность всех рассматриваемых проектов в этой книге на приставке Xbox 360! Далее на приставке в окне My XNA Games изберите курсором название проекта FirstProject и нажмите на джойстике кнопку с буквой A. В новом открывшемся окне FirstProject (которое в данном случае представляет тестируемую программу) запустите проект, выбрав команду Launch (рис. 5.14).


Рис. 5.13. Список установленных на приставке программ

Рис. 5.14. Запуск проекта FirstProject на консоли

7. После запуска проекта на экране вы увидите работу программы в полноэкранном режиме, как показано на рис. 5.15. На этом все шаги по переносу или передаче данных на приставку окончены, и вы можете наслаждаться работой программы или игрой. Не забывайте, что приставка обязательно должна быть подключена к сервису Xbox Live во время тестирования программы.



Рис. 5.15. Работа проекта FirstProject на приставке Xbox 360

По умолчанию в своем первом проекте рабочее пространство проекта FirstProject мы закрасили в синий цвет. Это достигается посредством вызова метода Clear().
Параметр этого метода CornflowerBlue определяет синий цвет закраски экрана в программе, и, естественно, эту цветовую составляющую можно изменять по своему усмотрению. Чаще всего используют черный цвет (мы так и будем делать в следующих главах), а сама закраска экрана цветом – на самом деле целый отработанный механизм.

Для того чтобы задать цвет числовыми значениями, используйте следующую строку кода: graphics.GraphicsDevice.Clear(new Color(123, 56, 34);

Смысл механизма закрашивания экрана цветом состоит в том, чтобы перед показом нового кадра (фрейма) стирать содержимое экрана одним из цветов и рисовать графику вновь. То есть если вы рисуете на экране какой-то объект и затем желаете его переместить по экрану, то необходимо сначала стереть этот объект со старого места и нарисовать уже в новом месте. Метод Clear() выступает в роли стирательной резинки, очищая экран телевизора или монитора. Если не стирать экран цветом, то за движущимся объектом будет оставаться большой шлейф, состоящий из предыдущих сформированных кадров.
Более того, кроме первичной поверхности экрана, существует еще и вторичная поверхность, или так называемый вторичный буфер. Каждый последующий кадр игры формируется не на первичной поверхности экрана, а непосредственно во вторичном буфере. Когда приходит время показа очередного кадра, то происходит своего рода переключение между буферами, а старый буфер стирается цветом, и в нем выводится следующий кадр игры и т. д. Скорость переключения или смены буферов огромная и равна тем самым FPS, то есть …30–60… кадров в секунду.
Этот механизм позволяет создавать в приложениях плавную анимацию всего игрового процесса и носит название двойной буферизации. Количество дополнительных неэкранных поверхностей может достигать нескольких штук. Переключение между поверхностями происходит автоматически на уровне системы, поэтому следить за тем, какой из буферов в данный момент включен, а какой выключен, необходимости нет.


Жесткий диск приставки не безразмерный, поэтому когда-то вам нужно будет все
равно подчистить диск и удалить ряд игр с консоли. Для удаления переданной программы на Xbox 360 необходимо подключиться к Xbox Live и войти в меню программы XNA Game Launcher (рис. 5.8). Затем выбрать в этом меню ссылку My XNA Games. Потом из списка установленных на приставке приложений выбрать удаляемую программу, выделив ее название курсором джойстика и нажав кнопку с буквой А. Далее, войдя на экран программы, изберите команду Delete. После выбора этой команды на экране телевизора или монитора появится дополнительная панель с подтверждением удаления выбранной программы (рис. 5.16). Для удаления игры изберите команду Delete Game. После этих действий игра моментально удалится с Xbox 360, а вы переместитесь в список установленных программ консоли.
5.9. Добавим информацию об игре на экран телевизора
Простой кинескопный телевизор для сигнала типа PAL имеет стандартное разрешение от 640 × 480 пикселей и более. Эти цифры могут несколько видоизменяться в зависимости от типа сигнала и производителя устройства. Посмотрите на табл. 5.1, где даны основные разрешения по типам сигналов.
Не так давно был введен новый стандарт передачи телевизионного сигнала, известный как HD (High Definition – высокая четкость). Этот стандарт передает сигнал с очень высокой четкостью, и картинка по своему качеству получается просто потрясающей! Как правило, на таких телевизорах имеется надпись: HD или HDTV Ready.

Таблица 5.1. Разрешение экранов телевизоров и типы сигналов
Разрешение Тип сигнала
720 × 540 Std. NTSC 601
720 × 534 Std. NTSC DV/DVD
864 × 480 Wide NTSC DV/DVD
864 × 486 Wide NTSC 601
640 × 480, 768 × 576… Std. PAL
1024 × 576 Wide PAL
1280 × 720 HDTV 720p
1920 × 1080 HDTV 1028i/1028p


Все перечисленные спецификации относятся именно к жидкокристаллическим и к екоторым плазменным моделям телевизоров. Если вы увидите надпись HDTV Ready на кинескопном телевизоре, то это совсем не значит, что данный телевизор в полной мере может работать с HDTV. Точнее, этот телевизор имеет возможность получать сигнал в формате HD, и он умеет преобразовывать этот сигнал и показывать его на экране. Но поскольку в режиме работы HD-телевизор станет физически «втискивать» полученную картинку в свое разрешение экрана, то на экране телевизора сверху и снизу будут иметь место черные полосы, как при показе широкоформатного кинофильма.
Дополнительно для игры на Xbox 360 можно приобрести какой-нибудь из компьютерных LCD-мониторов, благо в Xbox 360 для этих целей имеется специальный VGA-кабель (приобретается отдельно). 5.10.1. Выбор оптимального разрешения экрана для наших проектов
Отличительной особенностью проектов для консоли Xbox 360 является подбор разрешения экрана. На самом деле вы можете задавать любое разрешение, и игра будет работать на приставке без проблем, но для корректного отображения картинки именно на экране телевизора (с поддержкой HD), а не монитора лучше избирать разрешение 1280 × 720 пикселей или 1920 × 1080 пикселей.
Для проектов под Xbox 360 нам необходимо выбрать одно из вышеозвученных разрешений экрана. Если этого не сделать, то XNA Game Studio Express автоматически установит разрешение экрана в 800 × 600 пикселей. В этом случае, на каком бы телевизоре вы ни запускали созданную игру, программа будет применять исключительно разрешение 800 × 600 пикселей.
Рабочим разрешением для всех последующих проектов этой книги была выбрана еличина в 1280 × 720 пикселей, или 720p. Все игры для приставки Xbox 360 имеют поддержку этого разрешения, но вы без проблем запустите любой проект из книги с 720p на кинескопном телевизоре, просто в этом случае у вас сверху и снизу будут стоять черные рамки. В табл. 5.2 перечислены разрешения экранов, рекомендуемые при разработке игр для приставки Xbox 360.

Таблица 5.2. Разрешения экранов для Xbox 360
Обозначение Разрешение
AV (Composite) 640×480
480p (Normal) 640×480
480p (Widescreen) 640×480
720p (Widescreen) 1280×720
1080i/1080p (Widescreen) 1920×1080

Чтобы задать разрешение экрана в 720p, в исходный код рассмотренного в этой главе проекта добавьте две новые строки.

public Game1()
<
graphics = new GraphicsDeviceManager(this);
content = new ContentManager(Services);
graphics.PreferredBackBufferWidth = 1280;
graphics.PreferredBackBufferHeight = 720;
>

Этими новыми строками исходного кода мы устанавливаем соответственно ширину и высоту экрана в 1280 и 720 пикселей.
Интересной особенностью Xbox 360 является автоматическое изменение размеров графики под разрешение экрана. Так, если вы нарисовали своих героев под 1080i, а потом попытаетесь выставить и запустить игру на 720p, то Xbox 360 в автоматическом режиме ужмет без потерь (или с минимальными потерями) все графические элементы сцены и постарается представить их в выгодном свете.


Для того чтобы запустить упакованную таким образом программу на другой приставке Xbox 360 (с подпиской XNA Creators Club), необходимо просто перенести на компьютер пользователя эту программу и выполнить все действия, описанные в разделе 5.5. И при этом задействовать XNA Game Studio Express 1.0 Refresh не нужно, достаточно просто запустить на компьютере перенесенную программу на исполнение и нажать в появившемся диалоговом окне XNA Game Studio Express Package Utility кнопку Unpack (рис. 5.20). После чего игра автоматически будет передана на приставку пользователя.

Для Windows-приложений, написанных в XNA Game Studio Express 1.0
Refresh, также возможно использование вышеописанного механизма, но выполнение команды на исполнение просто запустит программу на компьютере пользователя.



Рис. 5.20. Запуск упакованной программы на исполнение

Как записать игру для Xbox 360?

Для создания копии игрового диска для Xbox 360 потребуется учесть некоторые нюансы с обходом антипиратской защиты, а так же знать и применять определенные меры осторожности, иначе диски могут стать полностью непригодными для использования.

В этой статье вы найдете подробную инструкцию, которая позволит вам обойти все сложности.

Что нужно для старта?

Самое главное в этом наборе – это привод!

Для того, чтобы записать диск необходим привод с чипом от от MTK (Mediatek), например Lite-on iHas или поддерживающихся большинством моделей Samsung, ASUS, Pioneer

Диск для записи должен быть типа DVD+R DL. Диски DVD+R DS являются двухсторонними и не подходят для наших целей. Нам нужны двухслойные диски практически любого вида, с ними проблем не должно возникнуть. Например, диски фирмы Verbatim.

Подробности

Алгоритм

ВАЖНО: после установки всех программ необходимо перезагрузить компьютер.

Создание образа

Только после этого можно приступать к созданию ISO-файла:

  • Диски с игрой для Xbox 360 необходимо вставить в оптический привод компьютера, обратите внимание на то, чтобы этикетка была направлена вверх. Если откроется окно автозапуска, то его необходимо закрыть.
  • Запустите программу DVD Decrypter, если она не запустилась в автоматическом режиме. Откройте вкладку «Режим» или «Mode» и выберете пункт «ISO» в нижней части выпадающего списка. В появившемся окне выберете «Прочесть» или «Read» из верхней части всплывшего окна. Теперь программа DVD Decrypter способна создавать образ диска с игрой для консоли Xbox 360.
  • Справа от названия DVD-диска необходимо щелкнуть по значку в виде папки, далее откроется окно для выбора конечной папки хранения. Выберете нужное место и нажмите «ок» для подтверждения выбора.
  • В левой нижней части экрана нажмите кнопку «Запустить» или «Play», так вы запустите процесс создания образа диска с игрой. Остается дождаться завершения процесса, время будет во многом зависеть от размера собой игры. Это может быть несколько минут или часов.
  • После завершения процесса во всплывающем окне нажмите кнопку «ОК». ISO-файл создан на вашем компьютере.

Несколько необходимых программ - DVD Decrypter, ABGX360, ImgBurn

ВАЖНО: образ игры можно взять не только с готового диска, но и найти в интернете на любом торрент-трекере.

Изменение ISO-файла

  • Распаковать архив с патчем «abgx360.ini», который был скачан ранее. Для этого нужно дважды щелкнуть по ZIP-файлу «abgx360.ini», открыть вкладку «извлечь». Скопировать сам файл «abgx360».
  • Откройте меню «пуск», введите в строку поиска abgx360, найдите и запустите саму программу ABGX360.
  • Во вкладке «Справка» или «Help» выберите «Где папка StealthFiles» или “Where is my StealthFiles folder”, подтвердите свой запрос, и откроется папка с программой ABGX360.
  • В адресной строке выберете «abgx360» и перейдите в папку с одноименным названием.
  • Скопированный ранее файл перенесите в данную папку. Закройте папку и вернитесь в саму программу ABGX360.
  • Откройте ранее созданный ISO-файл и запустите его. После этого программа ABGX360 начнет его пропатчивание для обновления и игры по сети.

ВАЖНО: Если играть в копии игр по сети, то Microsoft может заблокировать аккаунт в Xbox LIVE .

Процесс записи

Запись файлов ISO-файл на DVD-диск:

  • После создания файла ISO диск с игрой можно извлечь из оптического привода, затем вставить новый диск DVD+R DL.
  • Для записи нам потребуется программа ImgBur. Запустить ее нужно с компьютера.
  • После запуска выбираем «Write Image File to Disc» или «Записать образ на диск», найти эту опцию можно в верхней части окна программы.
  • Далее необходимо выбрать значок в виде папки, который располагается в верхней части окна справа от заголовка «выберите файл» или «Please select a file». В отрывшемся окне выберите образ диска с игрой с расширением .dvd.

Чистый диск DVD+R DL, как минимум на 8,5 ГБ,

ВАЖНО: файл с расширением .iso не позволит запустить игру на приставке.

  • После открытия файла с расширением .dvd, оно будет доступно в окне программы ImgBurn.
  • Переходим во вкладку «Сервис» или «Tools», расположенной в верхней части окна, и открываем выпадающее меню. Выбираем пункт «Настройки» или «Settings», переходим на вкладку «Запись» или «Write», раположенной в верхней части окна.
  • В разделе «Опции», под заголовком «Смена слоя» или «Layer Break» необходимо отметить опцию «указанное» или «User specified». В появившемся текстовом поле необходимо ввести «1913760», это даст гарантию того, что записи на диск будут сделаны одинаково ровно.

Для этого необходимо:

Зафиксируйте выбранное положение кнопкой «ОК» и вернитесь в главное окно программы ImgBurn. Нашмите на синюю стрелку, которая расположена в левой части окна. Процесс записи образа игры на DVD-диск сразу начнется, по его завершению будет возможность уже играть в записанную игру.

Читайте также: