TGTGInsightтелеграм анализLIVE / telegram public index
← Такты, стеки, два колеса

TGINSIGHT SIMILAR POSTS

Намери подобно съдържание

Изходен канал @clockstackwheels · Post #759 · 6.02

Попробовали с друзьями детективный квест «Безмолвный свидетель» от Лавки Игр. Это такая мини настольная игра, работающая вместе с навыком для Алисы. В Алисе записанные профессиональными актёрами реплики и атмосферный звук погружают вас в сюжет некоего таинственного убийства, которое вы должны раскрыть, разговаривая с персонажами. Физически при этом есть карточки с людьми, предметами и локациями, которые вы открываете в нужном порядке, чтобы видеть ваш инструментарий. Например, какой-то человек упоминает другого, и Алиса вам командует открыть карточки с такими-то номерами. У вас появляется новый персонаж и реплики с вашей стороны, которые вы можете теперь говорить в том числе всем предыдущим персонажам, получая доступ к новым веткам диалогов. (Не рассматривайте детали на фото, если не хотите словить спойлеры). С этим квестом связана прикольная история: когда Лавка только презентовала его, я им написал: «Так и так, я аккредитованный Яндексом и Сбером разработчик под голосовые платформы, большой опыт, давайте вам сделаю что-нибудь». Меня проигнорировали, а в итоге игра вышла с техническими и UX проблемами. Про часть этих проблем написано несколько раз прямо на карточках для игры. В конечном счёте со мной всё-таки связались, и я описал алгоритм решения, посмотрим, внедрят ли его в следующих частях. Если говорить о самой игре, то приключение вышло очень интересное и захватывающее. Мы с друзьями убийцу не нашли, потому что слишком много думали: отбросили первую же гипотезу из-за простоты, а она в итоге и оказалась верной. Да, в диалогах есть пара нелогичных и запутывающих кусочков, но, если бы вы были настоящим детективом, беседующим с настоящими людьми, путаницы было бы ещё больше, так что посчитаем это изюминкой. В остальном оригинальная механика, действительно хорошее погружение в атмосферу и вполне решаемая задачка (хотя мои друзья после игры сказали, что им ответ не нравится и кажется притянутым за уши, но лично я с этим мнением не согласен). В качестве недостатка отмечу очень плохое техническое состояние навыка. Допустим, UX вылизать не смогли, потому что не было опыта в Алисе. Но просто обеспечить бесперебойную работу — не великого ума дело. У нас (и, судя по чатам, не только у нас) постоянно навык сваливался в «Не отвечает», и приходилось ждать неопределённое время, пока он заработает. Навскидку возможных причин четыре: 1. Плохая обработка ошибок времени выполнения, программа сваливается в пятисотую, пока что-то её не перезагрузит по таймеру. 2. Плохая обработка возможного состояния сессии, программа сваливается в пятисотую, пока Яндекс не сбросит кэш состояния игрока. 3. Слабый сервак, устаревший медленный язык программирования. 4. Плохое проектирование программы на многопоточную нагрузку: какие-нибудь синхронные операции оправки данных в статистику, отсутствие горячего кэша, неэффективные структуры данных — всё, что может периодически увеличивать лаг выше разрешённого Яндексом. В какой-то момент уже в самом конце мы были очень злы из-за багов и почти полезли в сеть тупо смотреть прохождение. Если бы навык не ожил, впечатления от игры были бы критически негативные. А так они скорее позитивные. Если Лавка исправит проблемы, то очень рекомендую. Да, игра по сути одноразовая, но и стоит она как билет в кино: вы покупаете классное развлечение на целый вечер для компании почти любого размера. Вторую часть обязательно возьму, когда выйдет. #games

Hashtags

Резултати

Намерени 1 подобни публикации

Търсене: #elseif

当前筛选 #elseif清除筛选
мобилки at home

@apphomie · Post #100 · 13.03.2018 г., 09:00

Пока сообщество (точнее, хэйтеры) занято обсуждением метода toggle для Bool, в Swift 4.1 появились две директивы: canImport и targetEnvironment, предложенные Эрикой Садун. Попробовать их можно уже сейчас в Xcode 9.3 beta 4. Первая будет полезна для кроссплатформенных решений и позволяет определить, можно ли импортировать тот или иной модуль. #if canImport(UIKit) // UIKit-based code #elseif canImport(Cocoa) // OSX code #elseif // Workaround/text, whatever #endif Вторая директива с единственно возможным аргументом simulator позволяет выполнить условную компиляцию для симулятора или реального девайса. Теперь не нужно перечислять все любимые нам архитектуры и ОС (arch(i386) || arch(x86_64)) && (!os(macOS)), а достаточно будет этого: // Test for a simulator destination #if targetEnvironment(simulator) print("Simulator") #else print("Device") #endif http://ericasadun.com/2018/03/05/new-to-swift-in-xcode-9-3-beta-4-se-0075-and-se-0190-allow-better-configuration-testing/