@tosi_kk
11010111

Почему никак не узнать исходный код игры?

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

В приложениях .net его можно узнать через DotPeek, но в большинстве игр нет.

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

Я понимаю вопросы глупые, но я просто не могу этого понять... =(

(Объясните пожалуйста на простых словах, без википедии, я не понимаю что там написано)
  • Вопрос задан
  • 4337 просмотров
Решения вопроса 2
15432
@15432
Системный программист ^_^
Эмм ну допустим вы приготовили салат. Нарезали крабовые палочки, кукурузку всыпали, намешали особый соус по своему рецепту. И поставили на стол - нате, хавайте.

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

Так же и с программой. Исходный код - это для нас, человеков. Нам так удобнее описывать программу. Машине же для исполнения вообще не сдались красивые имена и английский язык, всё наше рукоделие переводится в машинные коды, притом покомпактнее, пооптимальнее (упаковкой / нарезкой салата из нашего кода занимаются оптимизирующие компиляторы). В результате получается бинарный файл. Да, его можно дизассемблировать, сломать мозги, но понять, как он работает. И чтобы его понять - нужно научиться читать как машина, думать, как компилятор. В общем, сложно это и часто нецелесообразно. А вообще, люди не то что софт, даже железо реверсят по фотографиям среза кристалла. Но это совсем другая история.
Ответ написан
GavriKos
@GavriKos
DotPeek работает только для .net. Если приложение написано на чем т одругом - дотпик бесполезен. Есть разные другие инструменты для декомпиляции.
Но - полный исходный код вы не получите, если он был скомпилирован.

А текстуры можно вытащить - это совсем другое.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@cicatrix
было бы большой ошибкой думать
Справедливости ради стоит отметить, что много современных игр состоят из 2 основных частей.
Первая - это т. н. "движок", он отвечает за визуализацию моделей, обработку ввода, сеть, просчёт физики и пр. Он действительно обычно скомпилирован в машинный код и его дизассемблирование очень затруднено.
Вторая часть - это игровая логика, она уже отвечает за сценарий, определяет, что произойдёт в игре на определённые действия игрока, открывает уровни, изменяет параметры самой игры, и пр.
Очень часто, игровая логика описывается скриптами, которые доступны для чтения.
Разумеется, это не всегда так, но очень часто игровые студии не имеют ресурсов или желания для разработки собственного движка, а сосредотачиваются на самой игре.
Огромное количнство игр, даже ААА сделаны именно так. Думаю, движки Unity и UnrealEngine в совокупности отжирают более половины мирового рынка игр.
Ответ написан
Комментировать
Lunali
@Lunali
скрытна.
чужой код бесполезный. какой в нем смысл? я могу воспроизвести любую игру просто поиграв в нее,зачем нужен чужой код? любую игру не сложно воспроизвести .Свой код будет намного быстрее.
Вы потеряете много время читая чужой код . Проще написать новый, просто посмотрев на игру
Более того ту игру что вы видите можно реализовать как минимум шестью способами,смысл тратить время на чужой код если вам понравилась идея? создать свою игру увидев чужую не сложно .

Я как раз поругалась с Massachusetts Institute of Technology из за этого . Они хотят красть у детей код и раздавать всем. Я же не вижу в этом смысла и считаю смысл в том что бы Закрыть код, но научить каждого взглянув на чужую игру воспроизвести ее.

Я считаю что код должен быть закрыт ,а игру нужно публиковать не на сайте института ,а в магазине Хюавей
.
Задача не научить красть чужой код и меняя спрайты выдавать за свою,а задача научить любого написать код просто взглянуть на игру ...

Поверте чужой код - это не только не чему не учить, но и научить плохому, а имено кражам.....

Для того что бы украсть чужую игру достаточно взглянуть на рабочую....Я не вижу проблем сделать точно такую же если вижу готовую игру ...

Важнее понять и знать что делает код ,чем просто глупо смотреть на чужой

К примеру вот код

Кто знает что он делает?
606f7f87a8817509029762.png
я не уверена что без пояснение кто то сразу даст ответ .

Потому куда важнее дать пояснение чем просто посмотреть чужой код

В играх важнее идея ,а не код ....Самое важное в игре , это игровой сценарий.
Допустим вы украли код игры на питон , а сами знаете только си шарп, какой прок от этого?

Я же взглянув на игру ,просто с нуля ее напишу за пару дней
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы