Как поставляются игры на компьютеры?



@nakem

Стало интересно а как происходит поставка? Не могут же просто поставлять сурсы, а потом сборка локально происходит, но в таком случае как читы пишут. То есть, обычным людям все-таки доступны сурсы клиентов. Или все-таки нет?


Решения вопроса 2



@mletov

Сложно было сформулировать вопрос более косноязычно.

Кто такие «обычные люди»? Есть разработчики, есть клиенты, которые покупают и играют.

Что такое «поставка»? Кто-то по старинке покупает игры на дисках, кто-то качает в торрентах или стим.
О чем вообще речь?

Игра — такая же скомпилированная программа, как и любая другая программа, зачем передавать клиенту исходники игры и собирать на его компе?

но в таком случае как читы пишут

Декомпиляция, сканеры памяти, процессов и т д.


Ответы на вопрос 2



@Mercury13

Касательно читов. Я простым анализом памяти смог узнать в Microsoft Train Simulator состав поезда игрока, его скорость, положение контроллеров, пройденный путь, давление в различных элементах пневматического тормоза (оказывается, в PSI), боксует ли он. Жаль, я не смог обнаружить привязку всего этого к путям.

Как я это делал. Через ArtMoney получал некие базовые адреса. Если адрес статический — ну, всё в порядке. Если нет — писал утилиту, в которую изначально вводился найденный адрес. По цифрам я прикидывал, где мог начинаться объект, и снова поиск через ArtMoney… Ну и так далее, пока не дойду до статического адреса. Вот так оно у меня выглядело.

TmstsLocalTrain = packed record
      _mem0000 : array [$0000..$0061] of byte;
      // 0062
      HeadWagon : dword;   // Головная единица ПС
      // 0066
      TailWagon : dword;   // Хвостовая единица ПС
      // 006A
      LocWagon : dword;    // Управляемая игроком единица ПС
      // 006E
      _mem006E : dword;
      // 0072
      Caps : dword;
      // 0076
      _mem0076 : array [$0076..$0091] of byte;
      // 0092
      Speed : single;       // Скорость по скоростемеру, м/с
      // 0096
      Acceleration : single;  // Ускорение, м/с2
      // 009A
      _mem009A : array [$009A..$00D5] of byte;
      // 00D6
      TimeSec : single;
      // 00DA
      ReversingOdometer : single;
      // 00DE
    end;

ПС = подвижной состав. Одометр реверсивный, потому что при осаживании (заднем ходе) считает назад. Байтовый массив _mem0000 — это память, которую я не смог опознать. HeadWagon, TailWagon, LocWagon, Caps — на самом деле указатели, но поскольку они не имеют смысла в адресном пространстве лентописателя (задачей было сделать аналог скоростемерной ленты), они Dword, а не указатели.

Вспоминал, что значат сокращения П, ПТЭ и прочее. Оказалось: паровоз, тепловоз, электровоз. Естественно, регулятор пара есть только у паровозов.



@saboteur_kiev Куратор тега Разработка игр

Стало интересно а как происходит поставка? Не могут же просто поставлять сурсы, а потом сборка локально происходит, но в таком случае как читы пишут. То есть, обычным людям все-таки доступны сурсы клиентов. Или все-таки нет?

Почему не могут? Могут и так. есть много opensource игровые проекты, которые могут подозревать сборку у клиента.
Но вообще вопрос дуракций. Ты никогда не ставил игрушку? Никогда не заходил в каталог с игровыми файлами?
Что за бред в постановке вопроса.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *