понедельник, 26 июля 2021 г.

Phoenix Point

 Когда я впервые услышал о Phoenix Point, я сразу же предзаказал игру в EGS, так как все поначалу выглядело впечатляюще. Трейлер показывал нам правильный X-com, лишенный его классических недостатков и от гейм-дизайнера X-com (нам часто придется прибегать к этому сравнению), имя которого никто не знает. Предзаказываю я очень редко, но кредит доверия к этой игре был очень высок. X-com я люблю, но серия после 2-ой части встала на паузу (о X-com: Chimera Squad еще не было слышно, а хороших тактик в жанре "пришельцы напали на землю" на удивление мало. 

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

 Первые половину игры играть очень интересно и увлекательно и, если и есть какие-то недостатки, то ты не хочешь обращать на них внимания. Нововведения кажутся правильными и логичными, почему раньше этого никто не делал? Прицел с двумя радиусами, в первый который ты 100% попадаешь, а во второй 50%. Передвижение на не фиксированное количество клеток от очков действия. Все это радует и освежает привычные тактические бои, которые негласно копируют классический режим боя в x-com, а именно - два действия, либо одно большое; выстрел рассчитывается броском кубика (условно).

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

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

Враги перестают удивлять, так как после 10 часов игры новые не появляются. То, что разработчики слегка изменили дизайн, сунули в лапу пушку, и дали приписку к имени пришельца в стиле "альфа, бета, гамма, лидер" не делает его новым! Так как он двигается так же и выглядит так же! Что в них нового? И вы до конца игры будете встречать одних и тех же опостылевших врагов.

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

Фракции - интересное введение. Вначале расскажут, какие цели они преследуют и потом предоставят выбор, присоединиться к одной, попытаться подружиться с несколькими или продолжать нести бремя в одиночку. Уровень доверия дает возможность получать их технологии, которые помогут нам в борьбе с пришельцами. Звучит все замечательно. К сожалению, вы не можете просмотреть ветки технологий всех фракций, чтобы выбрать, например, чье развитие вам больше всего нравится и чьи усовершенствования вы хотите получить в дальнейшем. 

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

Беспощадному гринду. Если вы хотите, что бы у вас все было в шоколаде, готовьтесь к куче потраченного времени на десятки однотипных боев. Они всегда будут одинаковые, только цели разные: бой за ресурсы, бой за базу, бой за фракцию, бой за побочный квест (где в награду вам даются те же ресурсу, изредка что-нибудь интересное), бой по сюжетной линии (ничем не отличается кроме брифинга под сменяющиеся картинки). А так как враги не меняются и не обновляются, генерация уровней однообразна, цветовая гамма одинаковая - вторая половина игры это серая и не запоминающаяся каша из однотипных боев. Я думаю, здесь большинство игроков игру и забросило.

Конечно, можно не летать на вызовы фракции и не выполнять задания сбора припасов (благо, на точках разведки можно их порядочно найти, плюс торговля на обмен нужных ресурсов тут есть), но тогда вы рискуете остаться в конце игры технологически отсталым. Я расскажу на своем примере.

Помотавшись по миру, активировав почти 80 процентов баз, я порядком утомился уже помогать фракции и проводить разведки. Я решил идти только по сюжету, не отвлекаясь. "Добить" игру, так как ничего нового она мне уже не даст. А вот и нет. Висит у меня по сюжету задание "Уничтожьте цитадель". Что за цитадель, где она находится, непонятно. Игра никаких подсказок не дает. Гугл дает мне совет, цитадель может образоваться из логова, либо появиться сразу после того, как отобьешь базу от атаки пандоранов. Только я уже несколько раз отбивал атаки, и у меня появлялись только логова - цитадель ни разу. Пришлось ждать следующей атаки. К тому времени, у меня уже конец игры, все исследовал, и, после уничтожения цитадели, у меня должно открыться  финальное задание. Так как забил я на помощь фракциям, концовка выходит у меня только за себя отряд Феникса.

Нападения я дождался, только, после него открылось только логово. Отбив второе нападение (под конец игры они начинают пачками нападать, наверное, игра думает, что боев я маловато провел за игру), цитадель наконец то появилась. Отлично, думаю я, и загружаю туда отряд.

Первая попытка. Вторая. Третья - не получается никак. Каждый ход появляется по 4-5 новых пришельца, а тебе надо еще и махину колупать, у которой под 4к здоровья. Невозможно. Гуглю опять, смотрю как другие ребята уничтожают цитадель. Есть у них два отличия от меня: либо они уничтожали ее в начале и середины сюжетки,  либо у них прокачано оружие по максимуму через одну из фракций.

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

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

Ах да, финальное исследование: вирофагово оружие, которое мне должно помочь в финале, у меня они снайперские винтовки? У меня снайпер в каждой команде только один, остальным что делать? Ножиком панцири ковырять? 

Ну и недостатки игры по мелочи:

Вкладка сортировки оружия или брони по классам: если мне нужно выделить броню только для одного класса, мне надо снять выделения со всех классов, так как выделение включено для всех. А это много-много кликов.

Побочные задания - одно название. Абзац текста вначале миссии и в конце. Сводится к тому чтобы прилететь в точку - всех убить - награда ресурсы.

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

Сами базы, которые надо активировать на карте - никакие дополнительные здания не надо строить, нужен только генератор и радар, для всего остального, есть основная база. Можно же было как то поинтересней задействовать базы раскиданные по миру.

Изготовление оружия или брони - я понимаю, почему исследование длиться так долго, но изготовление одного оружия несколькими заводами по 7 часов? Бред.

Когда я начинал играть, у очень удивлялся оценке игры на метакритике - 5,7 из 10. Теперь же - понимаю, она более чем справедлива для нее.

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

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

понедельник, 3 сентября 2018 г.

Майкл Доусон - Программируем на Python, ответ на 1-ое задание 7-ой главы...

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

В начале я очень запутался.
Меня очень долго вводила в смущение фраза "В конце игры сумма очков пользователя должна стать равной сумме номиналов вопросов, на которые он ответил верно." Тогда просто ставим счетчик после значения score, который так же будет считать + 1 каждый раз, когда ответили верно. Будет выполняться одно условие, но тогда не будет уникальности номиналов.
Если же номинал будет разный, то мы не сможем сделать равное кол-во с очками.
В общем пришлось поломать голову.
Достал оригинал, там написано: "the players score should be the total of all the points values of the questions he or she answers correctly", то есть "очки игроков должны быть суммой очков, на которые он правильно ответил".
Интересно, я условие первоначальное один так интерпретировал, или здесь перевод на самом деле неккоректный?

По поводу номиналов. Можете убрать очки, чтобы не путаться, а можете просто добавить номиналы  в первоначальное тело программы.
Я сделал так, что после каждого ответа рандомилось число от 1 до 4 - это и будет номинал, добавляемый в общую копилку.

Майкл Доусон - Программируем на Python, ответ на 4-е задание 6-ой главы...

Напишите такую функцию computer_move(), которая сделала бы стратегию компьютера безупречной. Проверьте, можно ли создать непобедимого противника. 

Да, можно.
Поискав примеры в интернете, может кто-то уже пытался это сделать и мы возьмем его алгоритм. Их много, выделю основные.
Вот пример на С#, его мы и возьмем за основу. 
Ну а по самой теории, можно почитать здесь.

Прочитав все, мы имеем два варианта.
Либо пишем максимально разветвленную структуру в зависимости от хода человека (не сложно, но много писать).
Либо улучшаем параметр BEST_MOVES на основе вычитанной стратегии, присваивая ему значения (5, 0, 8, 6, 2, 1, 3, 7, 5) вместо (4, 0, 2, 6, 8, 1, 3, 5, 7).
После этого, я много раз пытался его победить, но не получилось. Так что может это и есть безпроигрышная стратегия.

среда, 22 августа 2018 г.

Майкл Доусон - Программируем на Python, ответ на 3-е задание 6-ой главы...

# Доработайте новую версию игры «Отгадай число» (которую вы создали, решая
# предыдущую задачу) так, чтобы основная часть программы стала функцией main().
# Для того чтобы игра началась, не забудьте вызвать эту функцию глобально.

import random

print("\t\tДобро пожаловать в игру 'Отгадай число'!")
print("Компьютер загадал натуральное число из диапазона от 1 до 100.")
print("Попытайтесь отгадать его зха минимальное число попыток.\n")

Майкл Доусон - Программируем на Python, ответ на 2-ое задание 6-ой главы...

# Доработайте игру «Отгадай число» из главы З так,
# чтобы в ней нашла применение функция ask_number().

# Игра "отгадай число"

import random

print("\t\tДобро пожаловать в игру 'Отгадай число'!")
print("Компьютер загадал натуральное число из диапазона от 1 до 100.")
print("Попытайтесь отгадать его зха минимальное число попыток.\n")

Майкл Доусон - Программируем на Python, ответ на 1-ое задание 6-ой главы...

# Доработайте функцию ask_number() так, чтобы ее можно было вызывать
# еще с одним параметром - кратностью (величиной шага).
# Сделайте шаг по умолчанию равным 1.

def ask_number(question, low, high, step = 1):
    """Просит ввести число из диапазона"""
    response = None
    while response not in range(low, high, step):
        response = int(input(question))
    return response

вторник, 21 августа 2018 г.

Майкл Доусон - Программируем на Python, ответ на 4-ое задание 5-ой главы...

# coding=utf-8
"""
Доработайте программу "Кто твой папа? так, чтобы можно было,
введя имя человека, узнать, кто его дед. Программа должна
по-прежнему пользоваться словарем с парами "сын-отец".
Подумайте, как включить в этот словарь несколько
поколений. """