вторник, декабря 21, 2010

Книга Exploiting Online Games

Книга Exploiting Online Games попала ко мне в руки случайно. Я ее прочитала, она мне не понравилась, давайте расскажу почему.

Первые четыре(!) главы книги посвящены пространным размышлениям о том, что хачить нехорошо, а также рассказам о софтверных лицензиях. Читателям, дожившим до пятой главы, дается скупая и щедро разбавленная водой информация, которая как-то относится к теме книги. Также присутствует много отсылок к другим книгам тех же авторов.
Анализа и систематизации информации нет. Причем в большинстве случаев они говорят о WoW, книгу надо было назвать "Как наверное можно похачить WoW".
Эта одна из тех редких книг, из которых мне не удалось узнать вообще ничего нового. Что там есть вообще: у нас есть клиент, он обменивается данными с сервером. Теоретически, можно влезть в клиента, там есть интересная информация о состоянии мира. Можно слать на сервер свои данные. Можно написать бота. По большому счету это все содержимое книги.
Видимо, чтобы книга была толще, туда добавлена базовая информация по языку ассемблера и про DLL injection.

Совершенно непонятно для кого это все написано. Для читера она бесполезна, потому что там нет примеров типа "мы сделали то-то и то-то, получили такой-то результат". Читателю просто бросается какая-то мысль или кусок кода и... всё. Это порождает кучу вопросов. Чего дальше-то было? Оно заработало вообще? Что сказал Warden? Как быстро был закрыт аккаунт?

Для разработчика она бесполезна, потому что разработчик и так знает, что на клиенте много информации и что ее можно вытащить. И что читеры существуют и что ловить их по-одному - дурацкое занятие. Разработчику нужно вообще другое. Мне бы было интересно почитать о паттернах, по которым читеров можно распознать по статистике. Ведь если у одного игрока морковка начинает всходить вдвое быстрее, чем у всех остальных, это же видно хорошо... О реальных нетривиальных случаях читерства, о том, как с ними боролись. О статистике по читам. Что пытаются делать чаще, от чего потери больше.
О том, что вообще с этим делать. Как бороться с читерами, избегая таких сомнительных решений как Warden? Ведь Warden, будем откровенны, это же явное spyware. Как бороться так, чтобы ни в коем случае не обидеть честных игроков? Как держать читеров под контролем?
Как распознать бота? Если у нас игрок уже 24 часа бьет куриц, 1exp за курицу, как понять кто это - бот или усердный корейский студент? Может вывести ему сообщение "Курицы дарят вам 1000exp и просят оставить их в покое" с кнопками "Принять" и "Не принимать" и посмотреть за реакцией?
Большинство проблем происходит из-за того, что приходится доверять клиенту, ведь часть информации хранится на клиенте. Как снизить доверие к клиенту? Можно ли убрать оттуда часть информации? А всю можно? Проводились ли исследования в этой области? Возможны ли решения типа OnLive, когда игроку выдается только видеопоток?

Наверное, все это можно узнать где-нибудь на закрытых секциях GDC, в этой книге ничего такого нет.

Ссылки по теме:
Слайды, в которых есть много информации из этой книги

6 коммент.:

Анонимный комментирует...

Алена, давно хотел Вам задать вопрос, тут Вы написали про книги, я как раз его вспомнил.

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

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

И еще, есть ли книга, которая, по Вашему мнению, должна быть прочитана каждым программистом? Может, что-то, что на Вас сильно повлияло?

Заранее спасибо.

Alena комментирует...

embarger

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

Я все равно не помню, спрашивали вы или нет. Мне много вопросов присылают, часто они повторяются. Так что ничего страшного :-)

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

Техническая литература на английском есть на ozon.ru. В Москве - в магазине Библио-Глобус.

Или самый простой способ — это заказать на Амазоне?

Он не только самый простой, но и самый дешевый. Знакомые советуют приобретать книги на английском или немецком Амазоне, говорят, так дешевле. Но я заказывала все на американском.

И еще, есть ли книга, которая, по Вашему мнению, должна быть прочитана каждым программистом? Может, что-то, что на Вас сильно повлияло?

Цимбал, Моисеев "Турбо С++, язык и его применение". После нее я окончательно определилась в выбором языка программирования.

"Программист-прагматик, путь от подмастерья к мастеру" - много хорошей информации по архитектуре и работе с кодом вообще.

Читать первую смысла нет, она уже сильно устарела. А вторую можно, она небольшая.

Анонимный комментирует...

комментарий от lnsspb...
Я человек далёкий от игростроя и программеров, но, конечно, je на jne я заменить иногда могу... если меня Родина попросит, (я всё-таки доктор, а не ...)
Но за происходящим в игрострое и в этом-самом месте присматриваюсь!:)
Приятно прочитать всё это! И читать далее буду! )
Алёна C++ ! Удачи Вам!

имя комментирует...

> Может вывести ему сообщение "Курицы дарят вам 1000exp и просят оставить их в покое"

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

Анонимный комментирует...

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

Alena комментирует...

Alex Bonel
Я прошу прощения, я наверное не вовремя, просто только пост увидел. Скажите, а сколько у Вас в среднем выходит времени на прочтение книг, просто любопытно

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