170 похожих чатов

Интересный вопрос в этом же направлении как устроены бэкенды игр?

Шутеров например какая информация туда передается? Типо игрок39393 совершил какое то действие и это передается остальным и отображается в игре?

70 ответов

50 просмотров

Можешь посмотреть, как это делают

снифал как-то трафик ксс в34, все именно так, передается все вплоть до направления камеры

Aртур-It Автор вопроса
Aртур-It Автор вопроса

В виде JSON?

Aртур It
Как то не очень оптимизировано

Нет цели оптимизировать, есть цель корректно обсчитывать все действия всех пользователей, и избегать нечестной игры

Aртур It
В виде JSON?

Json очень дорогой для такого

Aртур It
В виде JSON?

Counter strike появился до того, как был придуман json

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

Aртур-It Автор вопроса
Андрей Б
Поищи статью вроде на Хабре давненько была. Там ра...

А сервер с такой нагрузкой не дороговат ли будет?

Aртур It
А сервер с такой нагрузкой не дороговат ли будет?

Облако же, динамические ресурсы, а доход настолько высокий что затраты на сервера там сущие копейки. Знакомый один в геймдев на Андроиде много чего рассказывал.

Aртур-It Автор вопроса

Далеко не все проекты приносят доход

Aртур It
А сервер с такой нагрузкой не дороговат ли будет?

Да и потом я как-то нагрузку создавал на node.js лям запросов потребило довольно мало ресурсов, читал что node.js тратит на обслуживание одного коннекта меньше остальных, и решил тогда попробовать.

Aртур It
А сервер с такой нагрузкой не дороговат ли будет?

Предположим, в пакете данных не 500 байт, а 5 килобайт, примерно в 10 раз больше . На сколько вырастет стоимость обслуживания сервера?

Aртур It
Далеко не все проекты приносят доход

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

Aртур-It Автор вопроса
Андрей Б
Верно, но охота за деньгами там высокая. Доходит д...

Я просто андродев поэтому далек от этого всего просто интересно, спасибо)

Алексей Попов
Предположим, в пакете данных не 500 байт, а 5 кило...

Я конечно могу скалькулировать, но не обладаю актуальными данными по теме нагрузочного тестирования. Тут лучше воспользоваться фреймворками и запустить на тестирование свои интерфейсы посмотрев потребление. На лям запросов у меня ушло 400 мб оперативки: гет заброс, чтение бд, ответ. Вроде не путаю. Выглядит дёшево.

Андрей Б
Я конечно могу скалькулировать, но не обладаю акту...

Это был риторический вопрос, и предложение подумать, так ли дорого пересылать больше информации

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

Алексей Попов
Это был риторический вопрос, и предложение подумат...

Дело наверное не в пересылке данных и их объема, дело в том что сервер с этим будет делать и сколько при этом потребит оперативки, процессорного времени, дискового пространства. Из этого сложиться стоимость.

Андрей Б
Дело наверное не в пересылке данных и их объема, д...

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

Grigorii K. Shartsev
Чтения БД, по крайней мере классических, тут не бу...

Согласен, хранить это бессмысленно. Принять, обработать, отправить остальным. Оперативки терабайт купить я бы не сказал что дорого. Так и получается что инфраструктурные затраты не выглядят пугающими. А вот борьба с читами сейчас актуальна как никогда, понюхать трафик проще простого. Тут уже выходят на первый план алгоритмы проверок данных. Короче геймдев я считаю сложным, от того он и высоко оплачиваемый

Андрей Б
Согласен, хранить это бессмысленно. Принять, обраб...

Но с другой стороны геймдев - как раз та сфера, где есть много интересных задач, алгоритмических задач, задач оптимизации, и где часто в новом продукте придумывают что-то новое техническое хотя бы в мелочах

Алексей Попов
Если сервер использует эти данные, то и нет смысла...

Как я вижу это - гоняют много трафика потому как интернет позволяет и это может помочь игровому процессу + борьба с читами.

Антон Горбачёв
Не видел что бы там были высокие зп

Ну мне человек в теме говорил, правда ещё говорил что Россия это дешёвые геймдев разрабы так что ЗП хорошие видимо за бугром(

Андрей Б
Ну мне человек в теме говорил, правда ещё говорил ...

Такие же хорошие как и расходы 😜😆 ибо уровень жизни другой.

Grigorii K. Shartsev
Но с другой стороны геймдев - как раз та сфера, гд...

Согласен, у меня в игре попросили аналитику собирать, а потом калькулировать, отчёты строить, админка. Мне это вынесло все мозги эти хотелки одно пиздатее другого. Думаю игровые проекты явно не дадут расслабиться.

Антон Горбачёв
Не видел что бы там были высокие зп

зп может не такие большие, но деньги там крутят ебейшие ксго в месяц приносит 150кк (без учета серверов и тд и тп)

iQs Solution
Такие же хорошие как и расходы 😜😆 ибо уровень жизн...

Не, речь про удалёнку. Хотите прикол, его как-то наняла украинская компания, предложила ЗП больше чем по России проекты. А украинцы сами были на аутсорсе у американцев. Представьте какие деньги.

Ну когда доходы выше чем расходы, то ок, а как налоги, в РФ как я понял сейчас будут выслеживать людей с подозрительным доходом и блокировать счета, пока владелец счёта не объяснить откуда взял деньги и почему не уплатил налог. Эх.

Андрей Б
Согласен, хранить это бессмысленно. Принять, обраб...

Геймдев низкооплачиваемый. Возможно, в мобильном геймдеве ситуация иная, с этим рынком не знаком. Но в разработке что для консолей, что для пк, денег мало И с тем, что сложность высокая, тоже не соглашусь. Цена ошибки в геймдеве минимальная. Во многих других сферах нагрузки на сеть не меньше, а то и больше (для примера, авто на скорости может генерировать столько траффика, сколько Контре и не снилось), а цена ошибки и сложность обработки очень высока

iQs Solution
Ну когда доходы выше чем расходы, то ок, а как нал...

По моим ощущениям на рынке в России стало всё хуево, других слов не могу подобрать, ну может ещё слово по пизде все пошло(

Алексей Попов
Геймдев низкооплачиваемый. Возможно, в мобильном г...

Я так понял, что Unreal Engine 5 можно скачать бесплатно, и пользоваться этой лицензией. Так что обучатся и скачивать модельки разрешено. Но модельки скоро могут стать платными, а так много чего можно научится делать на UE5 - и с этими навыками, опытом стучаться в game dev. Не факт что возьмут, но попробовать можно, но в идеале лучше знать C#

Андрей Б
Я говорил о Андроид играх

Тут либо Java, либо Kotlin + Android Studio Ещё tauri, флаттер не предлагаю, как и React Native, ибо показатели очень плохие, можно сделать, но получится технологический долг. Ещё что-то помню, не не могу вспомнить, как называется

iQs Solution
Прям самую суть сказал.

А ещё из-за этого сместился вектор запросов работодателей. Они смекнули что все сжалось и подняли планку. Теперь Джун должен уметь как мидл, а с мидла теперь спрашивают как с сеньера

Из темы Java/JavaScript =D

Grigorii K. Shartsev
C# - это Unity, не Unreal Engine

В юнити если делать игры я так понял там мало c#

iQs Solution
Я так понял, что Unreal Engine 5 можно скачать бес...

Анриал можно бесплатно юзать даже коммерчески, пока не заработает больше ляма баксов, дальше 5% роялти

Grigorii K. Shartsev
Но с другой стороны геймдев - как раз та сфера, гд...

Знакомый рассказывал, как нанял разработчика, который до того писал игры для консолей. Разработчик пришёл со своими установками: надо быстро писать в меру оптимальный говнокод, о качестве которого можно особо не думать. Поддерживать этот код потом всё равно не будут: закатают на болванки и отправят в производство

Grigorii K. Shartsev
Из темы Java/JavaScript =D

Ну тут то я шарю. Всё же имею дело с этими языками.

К сожелению не в курсе, я со слов приятеля кто на этом игры делал. Говорил на c# мало кодят, там видимо скриптовой язык свой

Алексей Попов
Знакомый рассказывал, как нанял разработчика, кото...

Да, со слов, штампуют типовое раз в месяц игру, оптимизацией не пахнет. Типо пару раз не уложился в сроки увольняют.

Андрей Б
К сожелению не в курсе, я со слов приятеля кто на ...

У С# появился конкурент Rust. Народ вот смеётся а даже сама Microsoft перешла на этот язык.

iQs Solution
У С# появился конкурент Rust. Народ вот смеётся а ...

В контексте обсуждения - не релевантно. Игровой движок не будет резко переезжать на другой язык. И Rust - конкурент скорее С++, чем C#. Конкуренты C# - Java/Kotlin

Не знаю с каким именно С подобным языком кто конкурент, тут я не эксперт, но я попробовал Rust, и он мне понравился. Так сказать, развязал мне руки, и теперь я смогу реализовать задуманное, так что я очень благодарен там кто его создал, теперь стало легче двигаться дальше.

Grigorii K. Shartsev
В контексте обсуждения - не релевантно. Игровой дв...

С учётом того что есть .net core позиции c# ещё долго будут актуальными

iQs Solution
Не знаю с каким именно С подобным языком кто конку...

Все подумываю потрогать его нормально) что больше всего в нем понравилось?

Андрей Б
Все подумываю потрогать его нормально) что больше ...

Что код не компилится если с ошибками, что нет сборшика мусора, он там и не нужен, и что решён вопрос с рантаймами.

А что с либами? В npm есть пакеты решающие практически любой вопрос - их колоссальное количество. Что там с растом в этом плане?

Андрей Б
А что с либами? В npm есть пакеты решающие практич...

Всё что касается Rust, решает Cargo - он рулит там всем, можно как с NPM ставить библиотеки, но на Cargo. Я ещё не делал оч серьёзных разработок, но читал документацию, многие вопросы можно закрыть с помощью Rust. Самому интересно стало. Чтобы вы понимали. На Rust без шуток можно сделать браузер и ОС. 🙄

Илюшп
https://www.redox-os.org/ например

или это даже ос полноценная

iQs Solution
Всё что касается Rust, решает Cargo - он рулит там...

Про операционку я в курсе, с пакетами не понял, поясните подробнее про пакеты? Можно в личку. Интересно же)

iQs Solution
Всё что касается Rust, решает Cargo - он рулит там...

Задача "написать ОС" совершенно не релевантна 99.9%+ разработчиков...

Андрей Б
Про операционку я в курсе, с пакетами не понял, по...

Я пока занят, можно и в личку, но вечером. Идёт ?

Grigorii K. Shartsev
Задача "написать ОС" совершенно не релевантна 99.9...

... эх помню времена, сделал загрузчик и первое приложение хеловорд на типо своей ОС на asm и охренел от трудозатрат. На masm вроде не помню уже. Сделал простую утилиту типо лаунчера, 2-4 КБ занимала удивлялся тогда открывалась мгновенно весила мало. Трудозатраты высокие, я понимаю почему Раст в операционку подвезли

Сокеты или вебсокеты используют

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Ребят в СИ можно реализовать ООП?
Николай
33
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Карта сайта