Если я правильно понял и ты предлагаешь сделать мне свой Identity Provider (Если я правильно понял по сообщению то ты имеешь ввиду свой OAuth Provider) то смысл? Разве я смогу оптом написать в вк плей допустим и сказать "Привет, я сделал свою OAuth систему не могли бы вы её добавить? Вот документация". Я делаю как Riot Games. У них своё API как я и делаю, не то что у эпиков где у них своя OAuth система которую можно добавить куда-то.
Обычный С++ это что то с чем-то. Я когда читал гайды как писать DLL что бы сделать авторизацию на свой API. Я там с синтаксиса языка чуть с горы не спрыгнул. А вот тот что для анрила он очень похож на C# для юнити такой же +- лёгкий. Но только там еще надо заполнять .h файл. К примеру хочешь функцию - void ClassName::FunctionName(FName Arg1, FString Arg2) { //here code } и в .h надо void FunctionName(FName Arg1, FString Arg2); А для того что бы иметь доступ в Blueprint еще надо этим в .h надо добавить UFUNCTION(BlueprintCallable) void FunctionName(FName Arg1, FString Arg2);
Я думаю всё реализуемо главное это захотеть. Поэтому у нас будет такая механика что чел будет вместо загрузочного экрана ехать в метро как персонаж (Загрузочный экран будет но только пару секунд что бы подгрузить текстуры поезда) а в это время будут подгружаться куски карты по очереди для большей оптимизации там или что то такое придумать. Ну и самая главная фишка в настройках можно выбрать язык, который будет отображаться над головой. И чел может подойти к другому в поезде и запросить вход если тот его примет то того чела закинет к нему в группу такую мини и они смогут болтать пока не начнётся катка. Когда это пати то запрос отправляется лидеру пати а он получает список всех игроков в чужом пати с указанными странами. Если чел пытается ливнуть с группы или хочет кикнуть других то запрос отправляется лидеру пати. Либо чел из пати запрашивает кик и лидер принимает и чела кикает либо же чела сразу кикает если это лидер делает. Ну и с выходом также выкинет всё группу если лидер примет/нажмёт выход из группы.
Ну если честно то скорее всего из за того что: 1. Там раздают бесплатные ассеты топовые. 2. Куча полезных ассетов и так бесплатно. 3. Как по мне интерфейс приятней. 4. В 10 раз легче разработка мультиплеера (Сугубо мой опыт). 5. Есть функция блупринтов которые мне раньше очень помогали. 6. Лучше графика. 7. Лучше технологии Пока-что всё что вспомнил. Ну минусы свои тоже есть: 1. Для разработки мультиплеера с дедиком надо билд из сурсов который весит 300 гб так еще из за того что я хочу красивую IDE Rider а не Visual Studio производительность в нём падает в 10 раз. 2. Под слабые компы не подойдет. Тем-же самым отсутствием DirectX 9. Больше пока-что не вспомнил.
А вот с этого момента поподробнее пожалуйста???? Всмысле на хабре можно монетизироваться? Я сюда написал только ради тех кто так же как и я не знает (щас уже знаю) как работают вещи в AAA мультиплеерных играх. К примеру то что подбор игроков происходит через сервер на JavaScript с вебсокетами.
Там старая игра а лаунчер сделан через бесплатную SDK Xsolla. Этой версии +- пол года, работает только одиночка и там чисто платформа в небе с рабочим оружием. А вот в новой версии уже побольше изменений + свой лаунчер и API. Если мне будет не лень могу зайти и поискать прям еще более старую версию где есть проект P2P который не требует открытия портов и вы сможете зайти с друзьями и поиграть но там только обычный шаблон от 3 лица с немного перестроенной картой. Я раньше делал P2P когда понял что через них не могу тестить функции мультиплеера нормально перешёл на Dedicated Server так как у меня есть статический IP и открыть порты не проблема.
Небольшую поправочку с 9 класса :) я не вижу смысла до 11. Но твоих слов я даже не задумывался. Я в 15 лет делаю свою игру с такими технологиями. Как минимум 90% моих сверстников не пытались учить столько языков программирования что бы найти то что будет по вкусу. А еще все мои друзья пишут очень медленно. А я уже как 3 года не смотря на клавиатуру и очень быстро. Я напишу слово за 5 секунд когда мои друзья за секунд 40 примерно, в этом у меня тоже есть преимущество. Я пока-что на домашнем обучении поэтому могу уделять больше времени. Но в универ или куда я там пойду я хочу ходить лично. Я ушёл вообще на домашнее в основном из за булинга в школе. Если честно я не знаю никого, кого-бы не булили в школе. Все ютуберы, мои родители и все кого я знаю в школе имеют в основном 2-3 друга остальные не взлюбили их. Это как сбой в матрице. Я ни от кого еще не слышал историю что он дружит со всеми в классе и тоже кого то булит. Все истории булят только их.
Я же уже сказал что я использую чатгпт только для написания статей быстрого и исправления ошибок в английском. Код он нормально не пишет. И советы не даёт нормальные. Half Life 2 не хранит в себе 2к-4к текстуры + сделан на движке сурс в котором билд весит меньше чем в 5 анриле.
Кстати папка контент весит всего 8 гб показывает проводник. Папка с билдами еще 7. Binaries - 11. Intermediate - 25. Saved - 6.85. Plugins - 5.8. (Project cleaner показал что в папке Content 3 гига файлов не юзаются)
Project Cleaner плагин показывает что у меня много места занимает персонаж из набора AAA анимаций для анрила от эпиков, я хотел с ним делать но потом передумал так как мне не понравились анимации. Слишком реалистичные и плавные. Потом всякие звуки, так как я еще не делал звуков шагов и т.д. Оружие которое не используется так как только пистолет из скетч фаба и автомат из набора оружий. Но я потом буду менять модели. И метахьюманы всякие. Я перед тем как билдить в .exe финальную версию проекта для продакшена всё что не будет нигде использоваться удалю.
Я уже отвечал на первый вопрос, вот скопировал: Я оптимизацией планировал заняться в последнюю очередь, 90 гб проект это даже мало пока-что. Такие проекты могут весить вплоть до 1ТБ. А опен ворлд ММО РПГ вообще до 1.5 ТБ. Билд игры удалит весь ненужный хлам который не используется в игре.
Модеры меня не заблокировали а значит мне всё равно, я чисто по фану вообще решил накидать свой пост поделиться опытом. Заблокируют и мне будет глубоко на*рать.
Какая процедурная генерация? Алгоритмы? Оптимизация? У меня в игре пока-что есть только пустой ландшафт, персонаж с механиками передвижения/управления камерой, приседанием, бегом, парой анимаций, на половину написанной системой инвентаря и оружия которую я в данный момент дописываю и сырой UI который просто по функционалу а не по дизайну что бы тестить тот же самый Matchmaking Server. И это при том что я с плюсами работал только второй раз в тот момент когда решил делать игру на них. В помощь мне были только форумы/документация, я не использую ChatGPT для коддинга так как он каждый раз только ломает код, а попроси его дать полный код он даст только к примеру ```void MyClass::Fire() { // Здесь ваша логика стрельбы. }```. А ведь мне еще надо было с репликацией. Поэтому всё изучал сам. Зато для написания статей или для исправления текста на английском он подходит идеально.
Я еще планирую добавить режим 5V5 для тех кто не любит королевские битвы, но основной сюжет и тому подобное будет идти именно в неё.
Насчёт вк может что нибудь придумаю в будущем, и допишу к своему backend'у какую-нибудь систему. Мне же надо где то хранить купленные скины, игровой баланс и тому подобное.
Еще с моим другом дизайнером мы планировали сделать свою соц-сеть. Было много наработок дизайна, но мы понял что это очень похоже на инстаграм. И решили переделать дизайн, и пока-что получилось две страницы это профиля и настроек профиля, выглядят неплохо но требуют значительной доработки. К тому же я сейчас изучил столько нового для создания игры что соц-сеть пока что приостановлена (К примеру то же самое как создавать Matchmaking Server. Поэтому сейчас больше отдаю приоритет написанию всего для игры. Раньше уже были старые версии соц-сети, но я их удалил потому что в конечном итоге полностью переструктурировал проект. Особенно когда начал писать Backend на Nest.JS который использую здесь. В игре там не так много кода, а для своей соц сети мой бэкэнд в 10 а то и в 15 раз больше кода. Та же самая авторизация через соц-сети).
Извиняюсь что ушёл от темы но если хотите могу обновить пост добавив ссылку на дискорд сервер. (Я новенький на habr поэтому не знаю заблочат здесь за это или же нет, но по сути не должны так как дискорд заблокировали роскомнадзор из за своей ошибки, дискорд были не против передавать данные Россиян но роскомнадзор написал им на старую почту а когда они прочитали сообщение уже были в блокировке. (Мне так друг рассказывал поэтому информация не 100%))
Я оптимизацией планировал заняться в последнюю очередь, 8к текстуры я считаю вообще не нужны, 2к предел. 90 гб проект это даже мало пока-что. Такие проекты могут весить вплоть до 1ТБ. А опен ворлд ММО РПГ вообще до 1.5 ТБ. В конечном билде игра собирается в .exe без всего что не используется в игре, то-есть я могу в файлы проекта закинуть текстуру, скомпилировать, но её не будет в конечном билде, а вот если я добавлю её допустим на персонажа какого-нибудь которого хоть нельзя будет получить допустим потому что его нет в списке открытий, то тогда уже текстура попадёт в финальный билд.
Если я правильно понял и ты предлагаешь сделать мне свой Identity Provider (Если я правильно понял по сообщению то ты имеешь ввиду свой OAuth Provider) то смысл? Разве я смогу оптом написать в вк плей допустим и сказать "Привет, я сделал свою OAuth систему не могли бы вы её добавить? Вот документация". Я делаю как Riot Games. У них своё API как я и делаю, не то что у эпиков где у них своя OAuth система которую можно добавить куда-то.
Обычный С++ это что то с чем-то. Я когда читал гайды как писать DLL что бы сделать авторизацию на свой API. Я там с синтаксиса языка чуть с горы не спрыгнул. А вот тот что для анрила он очень похож на C# для юнити такой же +- лёгкий. Но только там еще надо заполнять .h файл. К примеру хочешь функцию - void ClassName::FunctionName(FName Arg1, FString Arg2) { //here code } и в .h надо void FunctionName(FName Arg1, FString Arg2); А для того что бы иметь доступ в Blueprint еще надо этим в .h надо добавить UFUNCTION(BlueprintCallable)
void FunctionName(FName Arg1, FString Arg2);
Я думаю всё реализуемо главное это захотеть. Поэтому у нас будет такая механика что чел будет вместо загрузочного экрана ехать в метро как персонаж (Загрузочный экран будет но только пару секунд что бы подгрузить текстуры поезда) а в это время будут подгружаться куски карты по очереди для большей оптимизации там или что то такое придумать. Ну и самая главная фишка в настройках можно выбрать язык, который будет отображаться над головой. И чел может подойти к другому в поезде и запросить вход если тот его примет то того чела закинет к нему в группу такую мини и они смогут болтать пока не начнётся катка. Когда это пати то запрос отправляется лидеру пати а он получает список всех игроков в чужом пати с указанными странами. Если чел пытается ливнуть с группы или хочет кикнуть других то запрос отправляется лидеру пати. Либо чел из пати запрашивает кик и лидер принимает и чела кикает либо же чела сразу кикает если это лидер делает. Ну и с выходом также выкинет всё группу если лидер примет/нажмёт выход из группы.
Ну если честно то скорее всего из за того что:
1. Там раздают бесплатные ассеты топовые.
2. Куча полезных ассетов и так бесплатно.
3. Как по мне интерфейс приятней.
4. В 10 раз легче разработка мультиплеера (Сугубо мой опыт).
5. Есть функция блупринтов которые мне раньше очень помогали.
6. Лучше графика.
7. Лучше технологии
Пока-что всё что вспомнил.
Ну минусы свои тоже есть:
1. Для разработки мультиплеера с дедиком надо билд из сурсов который весит 300 гб так еще из за того что я хочу красивую IDE Rider а не Visual Studio производительность в нём падает в 10 раз.
2. Под слабые компы не подойдет. Тем-же самым отсутствием DirectX 9.
Больше пока-что не вспомнил.
А вот с этого момента поподробнее пожалуйста???? Всмысле на хабре можно монетизироваться? Я сюда написал только ради тех кто так же как и я не знает (щас уже знаю) как работают вещи в AAA мультиплеерных играх. К примеру то что подбор игроков происходит через сервер на JavaScript с вебсокетами.
Там старая игра а лаунчер сделан через бесплатную SDK Xsolla. Этой версии +- пол года, работает только одиночка и там чисто платформа в небе с рабочим оружием. А вот в новой версии уже побольше изменений + свой лаунчер и API. Если мне будет не лень могу зайти и поискать прям еще более старую версию где есть проект P2P который не требует открытия портов и вы сможете зайти с друзьями и поиграть но там только обычный шаблон от 3 лица с немного перестроенной картой. Я раньше делал P2P когда понял что через них не могу тестить функции мультиплеера нормально перешёл на Dedicated Server так как у меня есть статический IP и открыть порты не проблема.
Небольшую поправочку с 9 класса :) я не вижу смысла до 11. Но твоих слов я даже не задумывался. Я в 15 лет делаю свою игру с такими технологиями. Как минимум 90% моих сверстников не пытались учить столько языков программирования что бы найти то что будет по вкусу. А еще все мои друзья пишут очень медленно. А я уже как 3 года не смотря на клавиатуру и очень быстро. Я напишу слово за 5 секунд когда мои друзья за секунд 40 примерно, в этом у меня тоже есть преимущество. Я пока-что на домашнем обучении поэтому могу уделять больше времени. Но в универ или куда я там пойду я хочу ходить лично. Я ушёл вообще на домашнее в основном из за булинга в школе. Если честно я не знаю никого, кого-бы не булили в школе. Все ютуберы, мои родители и все кого я знаю в школе имеют в основном 2-3 друга остальные не взлюбили их. Это как сбой в матрице. Я ни от кого еще не слышал историю что он дружит со всеми в классе и тоже кого то булит. Все истории булят только их.
Обновил пост добавив ссылку на Дискорд!
Согласен!
Я же уже сказал что я использую чатгпт только для написания статей быстрого и исправления ошибок в английском. Код он нормально не пишет. И советы не даёт нормальные. Half Life 2 не хранит в себе 2к-4к текстуры + сделан на движке сурс в котором билд весит меньше чем в 5 анриле.
Кстати папка контент весит всего 8 гб показывает проводник. Папка с билдами еще 7. Binaries - 11. Intermediate - 25. Saved - 6.85. Plugins - 5.8. (Project cleaner показал что в папке Content 3 гига файлов не юзаются)
Project Cleaner плагин показывает что у меня много места занимает персонаж из набора AAA анимаций для анрила от эпиков, я хотел с ним делать но потом передумал так как мне не понравились анимации. Слишком реалистичные и плавные. Потом всякие звуки, так как я еще не делал звуков шагов и т.д. Оружие которое не используется так как только пистолет из скетч фаба и автомат из набора оружий. Но я потом буду менять модели. И метахьюманы всякие. Я перед тем как билдить в .exe финальную версию проекта для продакшена всё что не будет нигде использоваться удалю.
Я уже отвечал на первый вопрос, вот скопировал: Я оптимизацией планировал заняться в последнюю очередь, 90 гб проект это даже мало пока-что. Такие проекты могут весить вплоть до 1ТБ. А опен ворлд ММО РПГ вообще до 1.5 ТБ. Билд игры удалит весь ненужный хлам который не используется в игре.
Модеры меня не заблокировали а значит мне всё равно, я чисто по фану вообще решил накидать свой пост поделиться опытом. Заблокируют и мне будет глубоко на*рать.
Какая процедурная генерация? Алгоритмы? Оптимизация? У меня в игре пока-что есть только пустой ландшафт, персонаж с механиками передвижения/управления камерой, приседанием, бегом, парой анимаций, на половину написанной системой инвентаря и оружия которую я в данный момент дописываю и сырой UI который просто по функционалу а не по дизайну что бы тестить тот же самый Matchmaking Server. И это при том что я с плюсами работал только второй раз в тот момент когда решил делать игру на них. В помощь мне были только форумы/документация, я не использую ChatGPT для коддинга так как он каждый раз только ломает код, а попроси его дать полный код он даст только к примеру ```void MyClass::Fire() { // Здесь ваша логика стрельбы. }```. А ведь мне еще надо было с репликацией. Поэтому всё изучал сам. Зато для написания статей или для исправления текста на английском он подходит идеально.
Я еще планирую добавить режим 5V5 для тех кто не любит королевские битвы, но основной сюжет и тому подобное будет идти именно в неё.
Насчёт вк может что нибудь придумаю в будущем, и допишу к своему backend'у какую-нибудь систему. Мне же надо где то хранить купленные скины, игровой баланс и тому подобное.
Еще с моим другом дизайнером мы планировали сделать свою соц-сеть. Было много наработок дизайна, но мы понял что это очень похоже на инстаграм. И решили переделать дизайн, и пока-что получилось две страницы это профиля и настроек профиля, выглядят неплохо но требуют значительной доработки. К тому же я сейчас изучил столько нового для создания игры что соц-сеть пока что приостановлена (К примеру то же самое как создавать Matchmaking Server. Поэтому сейчас больше отдаю приоритет написанию всего для игры. Раньше уже были старые версии соц-сети, но я их удалил потому что в конечном итоге полностью переструктурировал проект. Особенно когда начал писать Backend на Nest.JS который использую здесь. В игре там не так много кода, а для своей соц сети мой бэкэнд в 10 а то и в 15 раз больше кода. Та же самая авторизация через соц-сети).
Извиняюсь что ушёл от темы но если хотите могу обновить пост добавив ссылку на дискорд сервер. (Я новенький на habr поэтому не знаю заблочат здесь за это или же нет, но по сути не должны так как дискорд заблокировали роскомнадзор из за своей ошибки, дискорд были не против передавать данные Россиян но роскомнадзор написал им на старую почту а когда они прочитали сообщение уже были в блокировке. (Мне так друг рассказывал поэтому информация не 100%))
Это было в год моего рождения :) поэтому наверное и не слышал. Буду знать, спасибо!
Что? Я тебя не понял
Я оптимизацией планировал заняться в последнюю очередь, 8к текстуры я считаю вообще не нужны, 2к предел. 90 гб проект это даже мало пока-что. Такие проекты могут весить вплоть до 1ТБ. А опен ворлд ММО РПГ вообще до 1.5 ТБ. В конечном билде игра собирается в .exe без всего что не используется в игре, то-есть я могу в файлы проекта закинуть текстуру, скомпилировать, но её не будет в конечном билде, а вот если я добавлю её допустим на персонажа какого-нибудь которого хоть нельзя будет получить допустим потому что его нет в списке открытий, то тогда уже текстура попадёт в финальный билд.
Да, у меня уже был с этим опыт только на PHP еще года два назад. На JS который я щас изучил лучше чем тогда PHP я думаю будет даже легче.