Недавно был на вечеринке по случаю дня рождения у одного из друзей.
В разгар веселья было принято общее решение во что-нибудь поиграть. Хозяин дома предложил сыграть в игру категории «18+» и достал карточки со всякими неприличными вопросами про секс.
- Преимущество этой игры в том, - пояснил он собравшимся, - что ты узнаёшь много странных и неожиданных вещей про окружающих.
Кто-то попросил его привести пример.
- Ну, например, - ответил хозяин дома, - в прошлый раз, когда я в неё играл, для меня было большим шоком узнать, что больше половины собравшихся не видит ничего страшного в том, чтобы мастурбировать в присутствии спящих людей.
Я долго над этим размышлял. Но так и не понял – зачем будить людей из-за таких пустяков?
В 20 лет картина была такая: выходит новая игра. Все твои знакомые ее обсуждают. А ты не обсуждаешь, потому что ты студент-нищеброд и твой допотопный комп ее не тянет.
В 30 лет картина другая. Прошел новую прикольную игрушку на своем любовно собранном железе. А обсудить все равно не с кем, потому что все твои знакомые перестали играть в игры.
Недавно просматривая YouTube, наткнулся на видео с игрой World Of Sea Battle, о которой я никогда не слышал. Будучи ещё школьником лет 15 назад мне, как и многим моим сверстникам нравилась вот эта игра:
Я сразу полез читать отзывы об этой игре, и честно сказать они неоднозначные. Одни пишут что им игра нравится и всё супер, другие пишут, что это тупая гриндилка с PVP и PVE сражениями, третьи пишут, что им мало онлайна (вечером онлайн я застал вчера 1400 человек), четвертые пишут, что им больше Naval Action, потому что там физика и реалистичность. Поэтому я не стал никого слушать, а решил попробовать, что же на самом деле представляет из себя World of Sea Battle.
Игру делали Российские разработчики и она находится до сих пор в стадии пре-бета. Это Free-to-play игра ММО составляющей и открытым бесшовным миром, кроме заходов в порт.
Кроме всего прочего меня порадовало, что весит игра всего 800мб.
Системные требования, которые заявляет разработчик.
Я попробовал запустить её на слабом ноутбуке с интегрированной видеокартой:
И она пошла на ура со стабильным 55-60 FPS, так что мне кажется, она пойдет, чуть ли не на любом утюге.
И так, я скачал игру, зарегистрировался, что дальше? Дальше мне дали начальный корабль и запустилось обучение. Вот такой вот кораблик:
Потом все по стандарту: Потопить корабли, попробовать один вид оружия, другой, разные снаряды, захват и абордаж кораблей (тут он автоматический, но можно управлять кого защищать и кем атаковать), а дальше? А дальше вы вольны делать что вам захочется. Сюжетной составляющей тут нет, есть большой открытый мир с островами, размер которого 14х18 миль:
На карте присутствуют разные порты, морские торговцы, фермы, мануфактуры, различные производства, которые можно строить, ну и конечно же тут можно заняться грабежом Караванов! Что же будет, если дойти до границы карты? Вы попадёте в так называемый "Безкрай" (за первыми красными рамками, которые я выделил), вы сможете продолжить движение дальше (я так и не понял на сколько миль) там будут различные острова с разрушенными зданиями-ключницами, в которых есть очень ценная добыча. Но будьте готовы, что за границами карты очень злые боты-пираты, а так же другие игроки, которые норовят вас уничтожить и забрать 40% вашего трюма (при затоплении корабля теряется 40% добычи). Так же в "Бескрае" нет никакой защиты от PVP, пиратства и всего остального. Красные пятна на карте - это PVP сражения, где игроки друг друга замокрили (так мне объяснили).
И да перемещение по карте осуществляется руками, то есть, если вам необходимо доплыть из одной точки в другую, вам необходимо плыть! Если вы воспользуетесь быстрым перемещением, которое нужно открыть в перке Капитана, то раз в 2 часа с пустым трюмом вы сможете переместиться между ближайшими портами. Так при скорости 20 узлов по ветру из одной части карты в другую, если идти по прямой потребуется около 50 минут времени, естественно на вас будут охотиться, так же можно наткнуться на рифы.
Что касается ботов, то тут они не просто тупые болванки, которые существуют только ради битья. Они плавают эскадрами, сбиваются в группы, если Вы будете идти с полным трюмом, они обязательно за вами погонятся, чтобы потопить. Так же, если вы при боте подняли какой-то груз с утонувшего корабля, то они пустятся за вами в погоню. При каждой удобной возможности, если бот видит, что вы повреждены, или же загружены - он вас атакует и будет плыть до тех пор пока не потопит или вы не оторветесь, заметив Патрули, боты обычно отступают.
Острова и порты так же можно контролировать гильдиями, за контроль над островом архипелага даётся бонус, валюта, ресурсы:
Проходят сражения за контроль над островами. Но вы можете сами построить и оборудовать себе базу на остров с Блек-Джеком и шлюпками. Кирки на карте - это ваши производства, где производятся материалы: Древисина, Ткань, Животные и т.д. Они нужны для создания материалов, которые в свою очередь нужны для создания пушек, кораблей, снарядов и т.д. На своем личном острове, так же, как и в порту вы можете строить производства переработки и т.д.
Тут так же есть и Биржа, где игроки выставляют заказы, что они хотят купить, и что хотят продать, в разных портах цена разная. Экономика тут живая. Туда-сюда ходят торговые суда с игроками и перевозят товары. Но как же их грабить?
Существует такая вот система флагов, каждый из которых даёт определенный бафф и дебафф.
Кораблей в игре не много:
Они делятся на: Боевые (Легкие, Средние, Тяжелые), Осадные, и Торговые. Но к примеру Торговый корабль можно переделать в мортирную артиллерию (это я где-то вычитал в чате). Каждый корабль вам придется либо строить самостоятельно (собирая на него ресурсы), либо купить на бирже. Тут нужно смотреть, что дешевле выйдет.
"Двенадцать апостолов» — парусный линейный корабль I ранга Черноморского флота Российской империи, находившийся в составе флота с 1841 по 1855 год (В режиме предпросмотра, у меня его нет.)
Есть так же и премиумные корабли и имперские (я так и не разобрался что это такое и как его есть)
Если вы вдруг устали от путешествий по морю, вы можете принять участие в разных режимах игры, как ПВЕ, так и ПВП:
За режимы игры так же даются ценные ресурсы, но я пока ни в один из этих режимов не пробовал играть.
В игре естественно присутвует донатный магазин, так как это free-to-play, но он не построен по принципу: pay-to-win, всё же многое зависит от рук игрока, да и не продается там чего-то имбалансного, которое может в любой момент перевернуть игру в другую сторону (пока я не заметил).
Что касается комьюнити игры
На моё удивление комьюнити игры очень даже дружелюбное. В чате игроки часто задают вопросы, я не стал исключением. И мне постоянно на них отвечали, писали в личку, всё рассказывали, показывали, постоянно приглашали в дискорд и гильдии.
Но, как и всегда есть герои, а есть злодеи и вот 3 игровых случая, которые произошли со мной вчера:
1) Игрок решил показать мне, как фармить деньги, сказал, чтобы я пришел к нему в порт. Он сказал следовать за ним и показывал точки, из которых нужно забирать ключи, но каждый раз, когда я к ним подплывал, там было пусто, и ничего подобрать я не мог. При этом все происходило в "Бескрае", а я плавал на начальном корабле, и меня постоянно обстреливали, скорость низкая, маневренность никакая. Потом до меня дошло, что он просто прикрывался мной от ботов, а сам лутал ключницы.
2) Я решил самостоятельно сходить в "Бескрай" и посмотреть на эти самые ключницы. И вот я подхожу к одной из таких, она пустая, но я заметил, что ко мне подходит фрегат 3 ранга, спускает паруса. Вот тут я и подумал: "Мне трындец", потому что он перешёл в боевой режим. Но как оказалось, игрок мне написал в личку и объяснил, что дальше по курсу, куда я иду ничего нет и всё обыскано, а так же там ходит элитный пиратский корабль, который топит корабли. Спросил у меня, как обстановка, откуда я пришёл и пожелал удачи.
3) Чуть позже после очередного вопроса, заданного в чате мне написал человек, который начал мне подробно всё рассказывать. Потом пригласил в гильдию, но как оказалось я не могу в неё вступить потому что не достиг 10 уровня. Он сказал, чтобы я собрал все свои припасы и отправлялся на другой конец карты, там он мне поможет обосноваться и пригласит в гильдию. И я отправился в путь:
На карте слева есть синяя стрелка: направление ветра, почти всю дорогу я шёл против ветра галсами. Да тут против ветра идти нужно вот так:
В общем потребовалось мне примерно час, чтобы добраться до Аль Халифа. Я думал, меня в очередной раз обманут, но нет. Мне насыпали кучу ресурсов, помогли, рассказали, что и как. И я даже смог построить себе новый корабль 5 ранга:
Погода, как и время суток в игре динамические. Бывают и штормы, где ваш корабль может перевернуть из-за большого крена.
Наиграл я в неё около 4.5 часов, и на пару вечеров игра самое то, если вы любите морскую тематику и нравились "Корсары", чтобы залипнуть, походить по морю, пострелять из пушек, хоть отзывы у игры и противоречивые. Я ещё многого не знаю, поэтому рассказать не могу, возможно тут есть люди, которые знакомы с этой игрой дольше.
Так же я зашёл в группу Вконтакте World of Sea Battle, и в последнее время разработчики пишут об исправлениях и обновлениях. Проект не большой, вроде бы начинался вообще с одного человека, даже ходят слухи, что он движок сам писал в 17 лет, думаю судить игру строго не стоит.
Однажды автор этого ролика был на стрельбище и шмалял из палёного пистолета-пулемёта Heckler&Koch MP5 (его афганской копии). Спустя пять минут пострелушек спусковой крючок перестал работать. Очистка патронника не помогла. Каково же было его удивление, когда пепегу разобрали и нашли под ударно-спусковым механизмом два патрона, каким-то чудом выпавшие туда из магазина. Этим случаем и навеяна данная анимация.
Никакого VFX, только анимация с наложенным звуком. Всё сделано в Blender. Ассеты позаимствованы и Escape From Tarkov и Call of Duty. Музыка: саундтрек из PayDay 2: The Heist - Home Invasion
Всем привет! Мой первый пост здесь. Уж очень сильно хотелось что-то запостить, поэтому напишу о том, чем занимаюсь последние несколько дней :)
Накрыла меня недавно ностальгия по любимой серии игр - Корсары. Для тех, кто не знает - небольшая справка из вики:
В англоязычных вариантах игры серии обычно относятся к серии Age of Pirates, кроме того, все игры часто относят к серии Sea Dogs, по англоязычному названию первой.
В играх необходимо путешествовать, управляя пиратом или корсаром
по морским просторам на корабле; действие также разворачивается на
суше, где необходимо останавливаться для покупки товаров, взятия заданий
(квестов). В некоторых играх серии, помимо заданий, которые берёт
игрок, также присутствует основной сюжет.
Такая коробочка (уже без диска) до сих пор пылится где-то у меня на полках
Серия многострадальная, модификация и дополнений навыходило за все эти годы огромное количество. Мой выбор пал на "Корсары: каждому своё". Я честно пытался несколько вечеров проходить сюжет, но сложность в этой части задрана настолько, что буквально каждый квест требует уйму перезагрузок и попыток перепройти его по новой.
Желание играть у меня пропало быстро, запала на хардкор у меня уже не хватает :) Зато появилось желание покопаться в файлах игры и, если получится, перенести какую-нибудь игровую локацию на игровой движок Unity3D. К моему счастью, игровые ресурсы хранятся практически в открытом виде + на Github, как оказалось, опубликованы исходники Storm Engine (игровой движок корсаров), а так же некоторые утилиты для работы с моделями и текстурами. А так же там есть плагин для Блендера, для импорта игровых моделей, который я заметил не сразу и потратил из-за этого некоторое время впустую.
Первое, с чего я начал - импортировал нужные мне модели в блендер. Паре игровых персонажей немного поправил сетки и добавил скелет для возможности анимирования. Игровую локацию практически не трогал и в чистом виде экспортировал в .fbx и перенёс в Unity3D.
Так выглядит модель с уже добавленным и привязанным скелетом.
Второе - перегнал текстуры из внутреннего расширения .tx в .tga (для этого существует специальная утилита) и так же импортировал в Unity3d.
Дело оставалось за малым - расположить игровые модели на игровой сцене и добавить пару бесплатных ассетов. Вот кстати они:
Старая добрая энциклопедия воздушных сражений Второй мировой войны...
Друг в свое время добыл диск Ил-2 Штурмовик: 1946. Наверное, это было издание 2012 года (полная Платиновая коллекция). Вообще Забытые сражения вышли в 2001 году, а последняя часть игры - в 2006. Дальше выходили только дополнения. Диск должен быть где-то у меня, кстати - при последней встрече подарил. Это был наш первый опыт с авиасимулятором после того, как мы наигрались в аркадные леталки типа Battle Of Europe: RAF.
Первый опыт был печален: мы запустили первую попавшуюся кампанию или отдельную миссию и не поняли, в каком мы самолете и как мы должны ориентироваться в пространстве, когда перед глазами только прицельные приспособления, в которых иногда мелькает остальное звено.
Собственно, глядя на звено, мы поняли, что мы - японцы. Самолет, скорее всего, был предвоенным истребителем Ki-27.
О том, что можно использовать мышь для вращения камеры, мы не додумались, ибо такого функционала в предыдущих играх не было.
Отчаянно борясь с управлением, мы летели до тех пор, пока не увидели синие маркеры врага. Однако как только противник пролетел мимо, мы эти маркеры больше не видели до тех пор, пока нас не сбили.
Я установил эту игру себе на ПК и периодически возвращался к ней в попытках понять, как в это играть. Наконец, нашел настройки, обаркадил сложность, перебиндил клавиши управления на привычные места, запомнил клавиши переключения на внешние камеры, чтобы не пырить в приборы весь полет, и игра стала очень даже играбельной. К слову, о том, что можно было не лететь весь маршрут в реальном времени, а скипать всё клавишей пропуска времени до тех пор, пока не начнется какой-нибудь замес, я узнал только в один из последних запусков игры. О кнопках ускорения/замедления времени узнал чуть раньше.
Если мой товарищ больше особого энтузиазма к этой игре не проявлял, то я продолжал скачивать каждый новый патч вплоть до поступления в универ. В последние разы, правда, после установки обновления лишь чуток летал на добавленных самолетах и вновь забрасывал игру.
Прошло 9 лет. Игре уже 21 год, если вести отсчет от Забытых сражений, или 15 лет, если от года, когда оригинальный разработчик Maddox Games завершил официальную поддержку и отдал игру энтузиастам из Team Daidalos, которые тянут её по сей день.
Я не хотел даже пробовать запускать ее, ибо, во-первых, железо в старом компе ни разу не менялось, комп конфигурации 2009 года с ранним I7, 8 ГБ ОЗУ и 1 гигом видеопамяти, а во-вторых, она была несовместима с Windows 10, которую я накатил вместо XP. На тот момент от Team Daidalos не было новостей уже два года, и я полагал, что поддержка игры закончилась в 2020-м году патчем 1.14.1m. Однако когда однажды я в очередной раз вспомнил про них и на всякий случай решил проверить актуальную версию, то увидел это:
Наткнулся я на эту новость буквально спустя несколько дней после релиза. В патче обеспечили поддержку отвалившихся систем, так что игра стала играбельной на новых осях. Но я до сих пор не хотел ею заниматься, потому что запомнил, что мой дистрибутив с Платиновой коллекцией и всеми патчами весил 50+ гигов, и был не готов повторять весь квест с её скачиванием, сбором и обновлением. Только покупка нового компа и непубличный интернет-тариф с настоящим безлимитом заставили меня вспомнить детство.
Оказалось, что архивированная копия игры, пропатченная до 1.14.1m, на торрентах весит всего 8 гигов. А после распаковки она разбухла всего лишь до 9 гигов. То ли ошибочные воспоминания, то ли при сборке вручную накапливается куча мусора.
Я распаковал архив с игрой, интереса ради попробовал запустить как есть, убедился, что игра подозрительно долго грузится для NVME-накопителя, и, так и не дождавшись прогрузки, отрубил её через Диспетчер задач. Далее вся надежда была на новый патч. После обновления до актуальной версии оно заработало с должной бодростью.
Запилил видос с любимым времяпрепровождением в этой игре - боями в Простом редакторе.
Всем привет! Меня зовут Иван Рыбаков и я публикуюсь под псевдонимом Ivan Lutz. Есть YouTube-канал и другие ресурсы. Пишу и снимаю видео про фантастику и немного про научпоп. Буду тут выкладывать свои текстовые и видео обзоры (не ругайте за них пожалуйста...). Сегодня окончательно разорвался своё отношение с Пикабу и решил быть тут. Надеюсь, что вам будут интересны мои посты. А пока моё фото в образе студента факультета Ревенклоу. В нём я стримил первого Гарри Поттера на PS1.
P.S. В тегах поставил основное про что буду писать и выкладывать видео. P.S.S. Пишу пока пишется!
Всем привет! Неделю назад я написал свой первый пост на капибаре, там я рассказывал о том, как я перенёс игровую локацию из Корсаров на Unity3d.
И... я не смог остановиться и наметил себе план работ на ближайшие пару месяцев:
Сухопутная боевая система
Квесты
Диалоги
ИИ противников, ИИ стражников в городе
Инвентарь
Торговля
Лут (мёртвые противники, сундуки)
Характеристики
Переход между локациями (вход в таверну, магазин, etc, выход в джунгли)
В результате выполнения всех этих пунктов я буду иметь технодемку, которая будет включать в себя только сухопутный контент с основными механиками, 1 город и его окрестности (джунгли) и несколько демонстрационных сюжетных цепочек. Это вполне посильная для меня задача.
В чём цель? Во-первых, геймдев это моё увлечение, т.е. я буду получать удовольствие от процесса. Во-вторых, это практика и в Unity3d и в разработке, она никогда не бывает лишней. В-третьих я люблю эту серию игр и у меня есть надежда, что то, что я делаю, в будущем будет полезным для сообщества.
На этой неделе больше всего внимания я уделил следующим пунктам
1. Инвентарь, характеристики
Для реализации этих пунктов я использовал свою уже ранее созданную ещё в 2019 году RPG систему. Она выросла из уже существующего бесплатного ассета системы инвентаря (я бы оставил ссылку, но не смог найти тот самый ассет). Тот ассет меня не устроил своими возможностями и качеством кода, и постепенно в нём ничего не осталось прежнего кода и всё было переписано самостоятельно.
Внешний вид
В данной системе можно:
Создавать характеристики, описывать их влияние на другие характеристики (Например прописать, что 1 единица силы влияет на силу атаки с коэффициентом 1.2)
Создавать категории для итемов (для экипировки это могут быть типы оружия, сабля, меч, рапира, etc, для NPC - нация и т.п.)
Создавать слоты экипировки
Создавать итемы с определенным набором свойств. Например, можно создавать квестовые предметы, оружие, броню, NPC и т.д.
Добавлять итему характеристики
Добавлять итему скрипты, которые повесятся на него в игре
И многое другое. А если чего-то нельзя, то всегда можно нужный функционал дописать :)
2. Боевая система
Для реализации боевой системы мне пришлось немного повоевать с NavMesh, найти подходящие анимации и пописать код. С текущим прогрессом боевой системы можно ознакомиться на этом видео. Подлагивания - потому что записывал с ноутбука без дискретки.
В настоящее время осталось добавить несколько типов ударов, парирования и добавить мозгов кибер-болванам, чтобы они умели адекватно драться, а не тупо спамить атакой. И добавить стрельбу, анимации уже есть, осталось придумать, как это лучше реализовать.
Кстати, в видео выше хорошо виден косяк в модельке противнка (части одежды как бы привязаны к рукам). Это моя основная боль в переносе моделей персонажей в Unity3d. Персонажи изначально не стоят в T-позе и приходится их править вручную, чтобы адекватно добавить скелет. Получается не всегда.
3. Диалоги
Для реализации диалогов я выбрал хорошо знакомый мне ассет VIDE Dialogues. Из коробки он, на мой взгляд, не очень пригоден для использования в проектах, там есть неприятные баги и шерховатости, но их я уже давно исправил. :)
Так сейчас выглядят диалоги. Интерфейс не переносил.
4. Переход между локациями
Сделал несколько внутренних локаций города (таверна и магазин) и переход между ними. Переход между локациями внутри города осуществляется без загрузочного экрана, фактически все локации находятся на одной сцене. Научил NPC свободно посещать эти локации. Такого функционала не было в оригинале и не факт, что он нужен и останется.
Таверна
Дальше - пилить, пилить и ещё раз пилить, как завещал дедушка Николас Шарп.
В ближайшую неделю я планирую посвятить боевой системе и особенно стрельбе, на данный момент для меня это самая сложная часть работы.
Если останется время, то уделю его масштабному рефакторингу уже написанного кода. Так как изначально я не планировал серьезно заниматься этим проектом, то и часть кода была написана по принципу тяп ляп и готово.
Надеюсь, кому-то было интересно почитать. Следующий пост на эту тему планирую написать через 1-2 недели. Счастливо!
При раскопках деревянной мостовой района Вогсбюннен (Vågsbunnen) в Бергене, построенной в начале XV века, была обнаружена игральная кость, гарантированно обеспечивающая победу. На месте единиц и двоек на гранях кубика были вырезаны четверка и пятерка.
Короткий познавательный пост, основанный на моей больной фантазии. Все совпадения случайны.
Обратился как-то один человек на профильном форуме с вопросом, как запустить (не сказать чтобы старую) игру на Windows 10. Игра (хотя я бы назвал это технодемо) была разработана на легендарном XNA 4.0 (земля пухом) и планировалась к выпуску через Steam Greenlight (и ему земля пухом) еще в далеком 2012, после чего заброшена и убрана со всех магазинов.
Игра была куплена тем человеком еще в тот момент, когда она легально продавалась. А спустя годы она просто перестала подавать признаки жизни. $5 за полную версию уплочены, а поиграть нельзя. Обидно.
Так как типовые решения по типу установки XNA Redistributable не помогли, то был предложен единственно возможный выход из ситуации - отладка через dnSpy.
Внимание: обратная разработка хоть прямо и не запрещена законодательно, но разрешенные случаи весьма ограниченны. В других странах разрешен явный запрет любых манипуляций через лицензию, превращающий это занятие во вполне наказуемое. Не повторяйте дома.
Так как ПО было приобретено легально и оно не работает, то этот теоретический случай допустим в соответствии со статьей 1280 гражданского кодекса.
Демонстрировать буду на бесплатной демоверсии, скачать можно здесь.
dnSpy
Театр начинается с вешалки, а программа на C# с атрибутов сборки. Они нам сейчас не сильно интересны, поэтому пытаемся сразу запускать отладку. С неизвестными программами лучше использовать виртуальную машину, так как может быть встроена какая-нибудь пакость для кулхацкеров, но мне можно и так.
Ошибка. Открываем стек вызовов и ищем место, где произошел провальный запрос в сеть.
А вот и виновник торжества. По сообщению из исключения можно сделать вполне однозначный вывод, что проблемой является скупердяйство и непредусмотрительность автора, который решил перестать платить за домен и хостинг, а вместе с этим случайно (а может и намеренно) сделал запуск игры невозможным без интернета. Так как на сайте заявлено отсутствие DRM, то это явно недосмотр.
Что тут происходит?
Если почитать документацию на XNA, то этот метод предназначен для загрузки контента и вызывается автоматически при запуске игры. Первым делом выполняется инициализация некоторых вещей, после чего открывается файл настроек (options.xml) и начинает последовательно считываться. Как только считываются параметры аккаунта для таблицы рекордов, то происходит отправка логина+пароля на официальный сайт и попытка получить ID. Если сервер возвращает Failure, то открывается диалог входа, который можно пропустить. Если сервер возвращает число, то игра запускается. А вот если сервер недоступен, то вылетает исключение, которое никак не обрабатывается и приводит к молчаливому вылету.
Диалог входа официально можно пропустить.
На этом этапе есть 2 варианта действий:
Вручную отредактировать настройки и убрать пункт об аккаунте. Тогда игра будет всегда запускаться без входа.
Физически убрать запрос на несуществующий сайт.
Нормальные герои всегда идут в обход, так что переходим к написанию небольшого патча. (На самом деле, о первом варианте я додумался не сразу. Более того, полная версия зависает при убирании этого пункта из настроек).
Выделяем строчку с запросом и нажимает "Изменить инструкции IL". Открывается окно с заголовком "Изменение тела метода".
Это - язык MSIL. Он очень прост и сильно напоминает Forth, на самом деле, но новичка может отпугнуть.
Ключевым элементом является стек. Что такое стек я уже когда-то рассказывал. Это некоторое место, на вершину которого можно последовательно добавлять значения (числа, строки и прочие объекты), а так же снимать их в обратном порядке.
Не эти стеки, но суть та же. Можно добавлять и снимать сверху.
ldloc.2: Значение локальной переменной под номером 2 (с типом строки)
ldstr: Строку "&p=".
ldloc.3: Значение локальной переменной под номером 3 (тоже строка).
Потом мы вызываем String::Concat(), принимающий в себя 4 строки и соединяющий их вместе. При вызове метода будут сняты 4 верхние строки со стека и добавлена новая строка.
Вызов следующего метода (WebClient::DownloadString()) снимает строку, полученную от String::Concat(), и веб-клиент. В результате должна остаться только 1 строка, возвращенная WebClient::DownloadString().
Следующим этапом мы должны снять эту строку со стека и сохранить её в локальную переменную 1, но этого не произойдет, так как WebClient::DownloadString() всегда будет проваливаться и выбрасывать исключение. Исключение, если его не обработать сразу, будет раз за разом проваливаться глубже по стеку вызовов, пока не достигнет обработчика или дна. Так как никаких обработчиков по пути нет, то исключение достигает дна и приводит к вылету.
Чтобы избежать получения исключения, мы можем убрать всё, что предназначено для запроса в сеть. Примерно вот так:
8 инструкций превратились в 2: загрузка строки с числом (которое может быть любым) и сохранение в локальную переменную под номером 1.
Сохраняем и проверяем результат.
Было.
Стало.
Из декомпилированного кода полностью исчез кусок с запросом. Осталась лишь загрузка константной строки и сравнение с "Failure", которое всегда будет успешным.
Сохраняем модуль и пытаемся запускать опять.
Жопиздан!
С этой задачей успешно справился человек, который не смыслит в программировании вообще ничего. По его словам, он джва года ждал эту игру!
Но не всё так просто. Если попытаться пройти любой уровень, то вылетит то же самое исключение.
Для исправления точно так же выделяем строку и опять редактируем инструкции в теле метода. Но так как отправка статистики нонче ни на что не влияет, то просто удаляем выделенные инструкции без остатка.
А для надежности выделяем WebClient, нажимаем "Анализировать" и смотрим, где еще может ждать нас подлянка.
В Finish.Update() мы ошибку только что исправили, в Game1.LoadContent() исправили в самом начале, а Login.button1_Click(), Program.Main() и Title.Update() нас не интересуют, так как достаточно просто не делать того, что приведет к обращению в сеть (а конкретно: не открывать диалог входа, не указывать никакие аргументы при запуске и не пытаться авторизоваться через главное меню (вроде бы не реализовано)).
Пока электронное лиходейство на ресурсе никто не запрещал, по крайней мере данного пункта нет в правилах, есть такое любимое занятие как - пиратить)
В один момент пират стал призираться в интернет сообществе, не мудрено, так как менталитет русского человека с рождения затачивают на плохое и хорошее, что воровать плохо, плюс влияние западного общества с куда серьезным отношениям к данному безобразию, да и мега корпорации весьма заинтересованы в продаже своей продукции да и не один раз (Тодд Говард со своим Скайримом не даст соврать), но лично для меня "пиратство это хорошо". Один раз в 20 году я даже хотел "переобуться" и почувствовать себя законопослушным, тогда Netflix активно всех обзванивал и предлагал подписку, и я согласился, тем более бесплатный период за 1 рубль. И вот есть определенная цель посмотреть Рик и Морти, тем более коллеги ржали от озвучки Сыендука, и что я вижу, а нет здесь русской озвучки, хмм, ну ладно опробуем всё, люблю Марвел, запускаем "Человек паук" и получаем оригинальную английскую озвучку, сериал "Мой милый дом" в оригинале с корейской озвучкой. В итоге все что я хотел посмотреть, было посмотрено дней за 10 и "Галя у нас отмена и запуск торрента".
С недавних пор времени свободного стало завались, и я уже захотел перейти на игры, где оказывается с русской озвучкой так же прошла "волна отмены", и нашел несколько студий которые занимаются неофициальной озвучкой:
-GamesVoice
-Logrus IT
-Mechanics VoiceOver
Бука (хотя новых локализаций от них я не видел)
Ох, как все таки приятно слушать сюжет на своем языке. И так вопрос, кто подскажет, какие есть еще студии озвучки с локализацией игр?