CTPEJIOK22

CTPEJIOK22

На Пикабу
поставил 31 плюс и 8 минусов
Награды:
5 лет на Пикабу
761 рейтинг 12 подписчиков 7 подписок 6 постов 3 в горячем

Как я Unity для экспорта на xbox360 настраивал да игру писал

Как я Unity для экспорта на xbox360 настраивал да игру писал Unity, Xbox 360, Игры, Gamedev, Разработка, Видео, Длиннопост

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


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


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


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


Unity и его версии

Как я Unity для экспорта на xbox360 настраивал да игру писал Unity, Xbox 360, Игры, Gamedev, Разработка, Видео, Длиннопост

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


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

1) sdk платформы, на которую вы экспортируете

2) сам Unity, он бывает разных версий

3) набор support files для нужной платформы, чтобы связать sdk и unity

4) лицензионный ключ, который откроет возможность экспорта

Как я Unity для экспорта на xbox360 настраивал да игру писал Unity, Xbox 360, Игры, Gamedev, Разработка, Видео, Длиннопост

Поиск по гуглу и форумам почти не давал информацию. Без проблем можно было найти файлы для 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 для экспорта на xbox360 настраивал да игру писал Unity, Xbox 360, Игры, Gamedev, Разработка, Видео, Длиннопост

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


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


Наконец-то экспортируем проект

Как я Unity для экспорта на xbox360 настраивал да игру писал Unity, Xbox 360, Игры, Gamedev, Разработка, Видео, Длиннопост

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

Как я Unity для экспорта на xbox360 настраивал да игру писал Unity, Xbox 360, Игры, Gamedev, Разработка, Видео, Длиннопост

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


Повышаем комфорт разработки

Как я Unity для экспорта на xbox360 настраивал да игру писал Unity, Xbox 360, Игры, Gamedev, Разработка, Видео, Длиннопост

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

Как я Unity для экспорта на xbox360 настраивал да игру писал Unity, Xbox 360, Игры, Gamedev, Разработка, Видео, Длиннопост

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


Я купил Devkit (вернее, Demo kit)

Как я Unity для экспорта на xbox360 настраивал да игру писал Unity, Xbox 360, Игры, Gamedev, Разработка, Видео, Длиннопост

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


Заключение


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

Как я Unity для экспорта на xbox360 настраивал да игру писал Unity, Xbox 360, Игры, Gamedev, Разработка, Видео, Длиннопост

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


p.s.


Подробности описанной выше истории и видео с процессом я записал в роликах. Так же там есть ссылки на все материалы, которые понадобятся вам, чтобы сделать homebrew-игру на unity для xbox360. Если кто-то очень хочет узнать "а зачем это всё?", то ответ будет "потому что это весело". Ничего умнее придумать не могу, если только еще опыт разработки для устройства с сильно ограниченными ресурсами. Хотя и тут проще писать свой проект для смартфона, есть возможность окупить свои усилия и время. Если же вам просто охота сделать игру для старой консоли - то почему нет?
Показать полностью 9 2

Сетевой гоночный прототип на ps vita и pc

В свободное от работы время я увлекаюсь созданием прототипов игр и особенно интересно запускать их на различных консолях. Особая любовь у меня почему-то к ps vita, она не особенно мощная, но при этом позволяет создавать игры нормального уровня. Как-то мне стало интересно, а получится ли сделать так, чтобы прототипы запускались на разных устройствах и запускались по сети. Результат этих тестов на видео.

Так же у меня есть на канале пошаговый разбор о настройке движков для создания игр на ps vita и xbox 360, а так же результаты тестов. В голове я держу цель сделать по прототипу на каждую из консолей, что у меня есть, работа медленно, но движется.

Запускаем Quake 1 на различных консолях и устройствах

У меня достаточно много ретро-консолей и я решил проверить, а выйдет ли запустить на них quake 1 по сети и устроить deathmatch. Не сразу, но всё получилось, об этом я коротко и рассказываю в видео, а так же перебираю сорс-порты, чтобы разные устройства смогли соединяться друг с другом.

Quake 2 RTX и обновленные модели оружия

Quake 2 RTX и обновленные модели оружия Quake 2, Nvidia RTX, Gamedev, Моддинг, Quake, Ray, Trace, Видео, Длиннопост

Прошлые мои посты про создание моделей для Quake 2 были тепло встречены, потому когда набралось еще несколько интересных обновок, я решился поделиться с вами. За прошедший год было много интересной работы про моему моду, в основном она заключалась в том, чтобы уже готовые модели сделать еще лучше. Как пример, на новой модели Rail gun я уже не пожалел полигонов, что позволило достичь очень приятного визуального вида. Наконец-то рейл стал выглядеть так, каким казался в детстве - и все благодаря отечественному моду q2xp.

Quake 2 RTX и обновленные модели оружия Quake 2, Nvidia RTX, Gamedev, Моддинг, Quake, Ray, Trace, Видео, Длиннопост
Quake 2 RTX и обновленные модели оружия Quake 2, Nvidia RTX, Gamedev, Моддинг, Quake, Ray, Trace, Видео, Длиннопост

По другим моделям так же было множество переделок и большая часть оружия стала выглядеть в разы лучше. Сами модели может скачать любой игрок совершенно бесплатно и использовать их в сорс-портах, которые используют md3 модели, вроде q2xp, berserker@quake2, kmquake, q2pro.


Кстати, касательно последнего порта. В его конфлигах есть настройки, которые позволяют из мрачной угрюмой игры сделать cell-shading вариант и это начнет напоминать серию Borderlands, а во время сетевых сражений это выглядит необычно для серии. Прислал мне этот скриншот игрок из Польши и некоторые модели я сделал по его просьбе, чтобы он мог проводить свои стримы с большим качеством.

Quake 2 RTX и обновленные модели оружия Quake 2, Nvidia RTX, Gamedev, Моддинг, Quake, Ray, Trace, Видео, Длиннопост

Еще одной интересной вещью стало появление нового мода q2vkpt, который с помощью технолгий Nvidia RTX сильно преображает картинку и добавляет современные технологии. Я сделал по этому поводу ролики, где попытался без сложных терминов рассказать о том, в чем польза этой технологии. Попутно я общался с создателем этого порта и попросил добавить поддержку md3 моделей, в итоге приятным для меня известием стало, что на прошедшей выставке GDC 2019 во время презентации обновленной версии порта, где все было очень красиво и технологично, так же использовались мои модели.

И немного про будущее - игроки просят допилить модели для дополнений к оригинальному Quake 2. Более интересная вещь - уже в работе несколько персонажей, были тесты модельки воительницы Athena для сетевой игры, а так же Берсеркера для одиночной игры.

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

Скачать модели можно со страницы на moddb: http://www.moddb.com/mods/quake2-remodel

Для максимально красивой графики потребуется q2xp: http://www.moddb.com/mods/quake-2-xp
И скоро будет новый релиз rtx-порта q2vkpt: http://brechpunkt.de/q2vkpt/
Мой канал: https://www.youtube.com/c/arttur22

Показать полностью 3 2

Релиз обновленных моделей для Quake 2

Релиз обновленных моделей для Quake 2 Quake, Quake 2, Оружие, Gamedev, Моддинг, Длиннопост

Почти 2 года назад я выкладывал пост, где рассказывал про создание hi-poly моделей оружия для старого, но шикарного Quake 2. Оказалось, что проект интересен игрокам и я довольно ударно над ним поработал, вкладывая много сил. Дошло до того, что начал уже готовые неплохие модели переделывать чуть ли не с нуля. Когда начал переделывать некоторые модели по третьему разу, а отвечать на вопросы "когда же релиз" стало стыдно - я решился выложить модели в свободный доступ.

Модели подходят для двух самых красивых source-портов Berserker@quake2 и Q2xp, которые делали наши соотечественники и с которыми мы давно дружим. Так же модели подходят для популярного KmQuake. Может подойдет для какого-то еще мода, который поддерживает md3, надо пробовать. С вероятностью в 99% заработает где-то еще, потому как полигонов не максимальное количество, а анимации повторены полностью.

Модели я старался делать максимально похожими на оригинал, все детали на месте, цвета и гамма сохранены, анимации полностью синхронизированны. Отчасти, в этом и была причина задержки - в q2xp есть возможность pbr-рендеринга, материалы и освещение на уровне unreal engine 4 (в bers@q2 похоже на doom3, kmquake - наиболее ванильный), потому было довольно долго, но при этом и интересно, настраивать материалы и смотреть, как модельки начинают играть с новым освещением. Особенно нравится гипербластер и супер шотган, при этом сил много на машинган было потрачено.


Да, модели не идеальны, самое большее - там сейчас по 4тыс полигонов, для сравнения, в современных играх оружие в руках может иметь 15 тыс полигонов - и это будет "нормально". Я старался делать скоромнее, в оригинале часто не больше 100 полигонов. При этом не везде нравятся материалы, потому буду дальше работать над проектом, но не сильно усердствуя, потому как уже охота начать переделывать игровых монстров.

Так же в игре протестировали Muzzle Flash - вспышки от выстрелов, которых в оригинальной игре не было, сделал это хаком, но атмосферности добавляет.

Скачать модели можно со страницы на moddb: http://www.moddb.com/mods/quake2-remodel

Для максимально красивой графики потребуется q2xp: http://www.moddb.com/mods/quake-2-xp


Видео можно глянуть тут: https://www.youtube.com/watch?v=Z78wpVV8cV0
Плейлист с разными видео по проекту: https://www.youtube.com/playlist?list=PLwuxM-RwWBLCs35i0kC8c...

Релиз обновленных моделей для Quake 2 Quake, Quake 2, Оружие, Gamedev, Моддинг, Длиннопост
Релиз обновленных моделей для Quake 2 Quake, Quake 2, Оружие, Gamedev, Моддинг, Длиннопост
Релиз обновленных моделей для Quake 2 Quake, Quake 2, Оружие, Gamedev, Моддинг, Длиннопост
Показать полностью 3

Новые модели для старого Quake 2

Приветствую! В свободное от работы время создаю модели для Quake 2, если быть точным - для source-портов q2xp и berserker@quake2, которые создаются нашими соотечественниками.

Смысл данного проекта - старые модели состоят из 100-200 полигонов максимум, на них ужасная развертка. Практически любой source-порт может похвастаться хорошей графикой, высокими разрешениями и четкими текстурами, но игровые модели остаются такими же. В итоге решил сделать пак моделей, при этом все детали, что были раньше нарисованы, вроде кнопок, трещин и прочего, перенести геометрией, максимально сохраняя пропорции и цвет моделей, не добавляя ничего лишнего.

Прогресс движется медленно, но в итоге осталось доделать не так много. При этом стоит понимать, что для quake 1 моделей сейчас тьма, он популярен на западе и там комньюнити медленно, но делает сообща ретекстуры и ремодел, quake 2 же популярен скорее у нас и чего-то подобного просто нету, либо модели выглядят совершенно иначе.

Проект участвовал в QuakeExpo2016, больше моделей на сайте http://www.moddb.com/mods/quake2-remodel/ , так же можно глянуть некоторые видеоролики, плюс анимации оружия https://www.youtube.com/playlist?list=PLwuxM-RwWBLCs35i0kC8c... , которые так же полностью повторяют старые и сохраняют атмосферу.

Новые модели для старого Quake 2 Quake, Quake 2, Idtech, ID Software, 3D моделирование, Картинки, Длиннопост
Новые модели для старого Quake 2 Quake, Quake 2, Idtech, ID Software, 3D моделирование, Картинки, Длиннопост
Показать полностью 2
Отличная работа, все прочитано!