Чтобы перевести дату из текста в NSDate из немного нестандартного вида с миллисекундами:
let dateString = "2016-04-22T17:42:46.762+03:00"
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
let myDate = dateFormatter.dateFromString(dateString)
Из нового - прозрачность теперь меняется просто перетаскиванием пальца (горизонтально). Причём такую фичу попросил один из пользователей в письме. К тому же так прозрачность меняется плавнее.
Кроме того, переписал полностью приложение на Swift. Теперь у меня есть аж один зарелизенный проект на нём :) Но это только начало.
Что удивительно - обновление в App Store я отправил вчера, и менее чем через сутки оно уже прошло Review и вышло. Ни разу так быстро Apple на моей памяти так быстро не пропускали приложение.
Эту часть выпустили параллельно с Assassin's Creed III. Её делали для карманной консоли PS Vita, но потом выпустили HD версию для взрослых консолей и PC. Однако, очень заметно, что делали её не для них.
Игра тормознутая и глючная. У меня какие-то нереальные лаги были при запуске. Поменял разрешение игры на 1920x1080 она стало плавной. Но управление на компе очень кривое, постоянно какие-то глюки с ним возникали. Один раз и вовсе движок почему-то решил, что я в воде, хотя я был на суше. В итоге персонаж болталась в воздухе под звуки хлюпанья воды и не могла двигаться никуда. Пришлось загружаться с контрольной точки. Жаль, что я в неё играл после прекрасной IV части (Black Flag), ибо на таком контрасте она выглядит ещё хуже.
Главный персонаж - девушка по имени Авелина. Единственное оригинальное отличие этой части от других - что можно переодевать её. 3 внешних вида для разных целей. Леди - дама в платье, не умеет лазать по зданиям и драться, но умеет очаровывать и нигде не вызывает особо подозрений. Рабыня - девушка в простой одежде (по сюжету Авелина дочь рабыни, которую освободили и взяли на воспитание в богатую семью), умеет лазать и сражаться, но не так, чтобы очень. Позволяет пролезать во всякие места под видом работницы и не очень вызывать подозрения у охраны. Асассин - полный боевой наряд, позволяет пользоваться всеми оружиями и рубиться по полной. Сразу вызывает подозрения у стражников.
В игре можно плавать на каноэ. Однако, поскольку управление очень кривое, постоянно с этим проблема. То врежешься, то не повернёшь, то просто встрянешь и не плывёшь дальше.
Локаций несколько. С одной стороны есть яркие места, с другой всё как-то также уныло и тоскливо выглядит как и в Assassin's Creed III.
Хотя вот Чичен-Итца порадовала. Древний храм, пещеры, катакомбы, неплохо.
Главные злодеи - какие-то невнятные. Сюжет тоже. Всё какое-то унылое и, по-моему, дико затянутое. Пока играл - раза 2 или 3 думал, что вот, наконец уже конец игры, но нет, сюжет зачем-то продолжался дальше. В отличие от других частей, заниматься всякими не сюжетными делами вроде покупки и открытия заведений в городе, совсем не хотелось, ибо оно как-то довольно бессмысленно выглядело. Пузомерок тоже нет почти, даже не пишется число точек для синхронизации.
Как и III части, можно лазить по деревьям и веткам в лесах. Пара прикольных миссий с этим связанных всё же было. Но их, опять же, кривое управление портило.
Графика тоже не фонтан, кроме, разве что, детализации персонажей. И то не всех, и то не целиком. Ну, оно, в принципе, и понятно. Делали изначально для карманной консоли.
В один из моментов отправляешь в Нью-Йорк, где встречаешься с героем III части индейцем Коннором. Только вот он нихрена не похож ни на героя III части, ни вообще на индейца. Только наряд его (на скрине выше не он). Тоже как-то странно.
Самое интересное у этой игры в конце. Причём после титров, когда ты думаешь, что всё кончилось определённым образом. Но всё-таки, вряд ли у меня появится желание снова сыграть в эту часть. Хотя мне, как фанату этой серии, посмотреть на неё всё же хотелось. Игра проходится за 3 вечера, для ознакомления можно поиграть.
Пока кодю на Node.js нужно постоянно что-то выводить в консоль. Например, ошибки. Но для большей информативности удобнее знать, где именно ошибка выводится. Тем более, что пока кодил под iOS такой удобный макрос всегда был под рукой, а с Node.js пришлось погуглить и поковыряться, т.к. многие примеры со Stack Overflow просто падали на последней версии Node.js 5.10.0. Падали из-за использования в них
Error.captureStackTrace(err, arguments.callee), а сейчас уже нужно использовать NFE.
В итоге сделал то, что хотел. Оставлю тут как шпаргалку.
Игра оказалась прям очень крута. В неё я, пока, дольше всех остальных играл - аж 45 часов наиграл. Правда, и играть я в неё начал давно - где-то в январе. Пока это была самая красочная и увлекательная часть Assassin's Creed. Колоритный главный герой - раздолбай, который решил сколотить состояние каперством и в итоге став пиратом. Я всё гадал - как же пирата по сюжету привяжут к ассасинам. Оказалось всё просто и незамысловато и сюжет оказался немного даже не про то.
Сам сюжет, надо сказать, не впечатлил. В будущем ты играешь за какого-то сотрудника, который достаёт воспоминания предков для компании, создающей фильмы и всякие развлечения. Там ничего особенного как-то не происходит, но проливается свет на то, чем закончилась предыдущая часть и что стало с Дезмондом. Сами пиратские похождения, именно сюжетные, оказались на троечку. Хотя, конечно, забавно смотреть одновременно сериал Чёрные паруса и играть в эту игру. Отчасти, те же события, что и в сериале, те же герои и знаменитые пираты вроде Чёрной Бороды и Чарльза Вэйна. Правда, с другими акцентами. Но вот всё, что не касается основного сюжета - просто шикарно. Плаваешь на корабле, высаживаешься везде, где можно высадиться. Всё это бесшовно, без заставок и прерываний. Ты просто подплываешь к острову, отпускаешь штурвал, спрыгиваешь с корабля, плывёшь к нему, выбираешься на сушу и шаришься там, выполняя второстепенные задания или просто воруя чьи-то товары.
Сам мир тоже прекрасен. Острова, деревни, города, корабли, очень яркие краски. Разные локации - от джунглей до вполне себе городов вроде Гаваны.
Отдельно стоит упомянут морские сражения. То, что в Assassin's Creed III было просто побочными Морскими заданиями, тут полноценная часть игры. Плаваешь, стреляешь из разных орудий, выбираешь тактику для сражения, прокачиваешь свой корабль, чтобы выдержать больше выстрелов и завалить более сильных врагов. Например, если окажешься между двумя линейными кораблями - то даже максимальная прокачка может не спасти - просто с двух сторон тебя разнесут в щепки. И что классно - раздолбал чужой корабль - подплыл, взял на абордаж. И опять всё бесшовно - бросил штурвал, пострелял, пока корабль подтягивают абордажными крюками, перелез на палубу и давай рубить всех направо и налево вместе со своей командой. Это очень круто сделано.
Кроме того - можно захватывать форты. И это тоже круто сделано - сначало раздолбать там всё пушками, потом подплыть, высадиться и идти в гущу сражения в форт рубить всех направо и налево.
Насчёт крови тоже не постеснялись. Добивает главный герой довольно кровожадно всех и жестоко. Помимо того, что он пират, он ещё и раздолбай. В игре поэтому прилично юмора.
На самом деле, мне кажется, что сама сюжетная линия заняла очень мало времени. А вот всё не сюжетное - прям интересно. Ну, кроме погружений. Как-то не нравится мне под водой плавать и от акул уворачиваться ради каких-то сундуков. Но, впервые за несколько частей, появилось желание собрать в игре всё. В итоге я собрал все ключи Майя, все ключи Тамплиеров и открыл оба вида доспехов в игре. Но всё равно всё не собрал, добился синхронизации 90% и, когда сюжет всё-таки закончился, после титров уже потерял желание дальше в игре ковыряться. Может, просто времени уже стало жалко, ибо впереди ещё несколько частей неигранных.
Графика в игре порадовала, всё красиво, много деталей. Но один раз поймал забавный глюк - текстуры пропадали и просвечивали внутренности персонажа на скрине выше.
В общем, игра прям очень хороша. До этого части про Эцио были круты, а эта, наверное, не менее сильные впечатления оставила. Йо-хо-хо, и бутылка рома!
Второй раз за 2-3 года уже сталкиваюсь с тем, что на Hetzner на одном сервака слетает GRUB. Как следствие, после ребута сервер недоступен. Приходится идти в панель управления, в разделе Rescue включать загрузку с образа восстановления, цепляться к нему по SSH и восстанавливать загрузчик. Искать каждый раз инфу не классно, коротко после того, как подключились по ssh к системе восстановления, вводим в консоли:
mount /dev/md3 /mnt
chroot-prepare /mnt
chroot /mnt
mount -a
apt-get install grub2
grub-install /dev/sda
update-grub
exit
reboot now