AppCode 2017.2: Extract Method и улучшения автодополнения для Swift, поддержка __auto_type в Objective-C и многое другое |
|
[Перевод] Pwnie Awards 2017: достижения, ошибки и глупости в сфере информационной безопасности |
Метки: author ru_vds информационная безопасность блог компании ruvds.com безопасность пятничный пост pwnie awards |
[Из песочницы] ГДЕ ЛОГИКА? Учимся мыслить системно. Часть 1 |
Атлет наслаждается своей физической мощью, любит упражнения, в которых играют роль его мускулы, а аналитик предпочитает мозговую деятельность, дающую ему возможность исследования. Ему доставляют удовольствие даже самые обыкновенные случаи, представляющие возможность применить свои способности.Для людей, активно завоевывающих свое место в обществе, в помощь сейчас доступно достаточное количество литературы об ораторском искусстве, о проведении переговоров, о лидерстве и т.п. Но львиную долю этих трудов объединяет то, что в них во всех, авторы учат облюбованным ими методикам человеческих отношений, приемам влияния на людей и т.п. Это напоминает рецепты из поваренной книги: «отмерьте полстакана теории, сдобрите щепоткой логики, смешайте со смелостью по вкусу … подавать себя лучше слегка подогретым».
Эдгар Аллан По
Точка оптического прицела у Вас на лбу – это тоже чья-то точка зрения.Нередко мы становимся свидетелями ситуаций, когда разные люди, обсуждая между собой свое отношение к какому-либо событию или обстоятельствам, дают им диаметрально противоположные оценки. Грубо говоря, серую простыню одни называют светлой, а другие темной. Кто в данном случае по вашему прав? Если оценивать придирчиво и беспристрастно — никто не прав. Но в жизни такие оценки, как водится, никому не нужны, общественность хочет разобраться: темная она или светлая. Большинство людей в противостоянии демонстрируют крайний максимализм, полумеры в таких ситуациях не воспринимаются. От любого кто вливается в этот спор, всенепременно ждут, четкого обозначения — на чьей он стороне. Но ведь едва ли не всегда есть еще шанс, привести противостоящие лагеря к какой-то общей точке зрения.
Ли Харви Освальд.
Метки: author ARadzishevskiy читальный зал учебный процесс в it системный анализ управление требованиями формализация проблем |
Не пропустите крупнейшее мероприятие Google для разработчиков в Европе |
Напоминаем, 5 и 6 сентября в польском городе Краков пройдет одно из крупнейших событий для разработчиков Европы — Google Developer Days. Начинающие специалисты и опытные профессионалы смогут поучаствовать в обучающих семинарах и мастер-классах, узнать о последних тенденциях в мире технологий, а также пообщаться с разработчиками и экспертами из разных уголков Европы.
В Центральной и Восточной Европе более миллиона высококвалифицированных разработчиков. Каждый год суммарно в Польше, Украине, Чехии, Словакии и России из университетов выпускаются больше IT-специалистов, чем в США. Именно поэтому, нам кажется, что Краков — идеальный город для европейского Google Developer Days.
На сайте уже доступно расписание мероприятия на английском языке. Если вы собираетесь приехать в Краков или подключаться к нашим прямым трансляциям, то можете заранее выбрать наиболее интересные для себя сессии.
Google Developer Days начнется во вторник, 5 сентября в 10:00 по местному времени (11:00 по Москве). В самом начале конференции мы познакомим вас со всеми новинкам Google для разработчиков. В течение двух дней участники смогут поучаствовать в семинарах и тренингах, а также узнать об актуальных событиях в отрасли. Например, мы расскажем о машинном обучении TensorFlow, технологиях Progressive Web App, разработке для Google Assistant, использовании Android для интернета вещей, и многом другом. Полный список тем — на этой странице.
Те, кто сможет присутствовать на GDD лично, оценят наши Codelabs, смогут посетить семинары Ask X (беседы с разработчиками Google) или решиться на Review Clinics (просмотр и проверку своих сайтов и мобильных приложений).
Технологии дают возможности всем, в том числе женщинам, стать новыми лидерами в цифровой сфере. Технологии меняют мир, в котором мы живем, а девушки и женщины меняют технологии, делают отрасль разностороннее и освобождают ее от предрассудков.
Одна из главных задач Google — сделать так, чтобы технологическая отрасль была как можно более разноплановой. Мы хотим, чтобы у женщин было больше возможностей присоединиться к Google Developer Days. Если вы — женщина-разработчик, и мы можем как-то помочь вам посетить нашу конференцию, пишите на gdd-europe@google.com.
Список отелей, в которых участникам GDD удобнее всего остановиться, доступен по ссылке. Кстати, к вашему билету на мероприятие прилагается бесплатный автобусный билет Flixbus. Вы сможете доехать до Кракова практически из любого европейского города. Подробности — здесь.
Не забудьте зарегистрироваться. Если вы не можете присутствовать лично, смотрите прямую трансляцию мероприятия на YouTube канале Google Developers и следите за новостями по тегу #GDDEurope в Twitter, Facebook и Google+.
До встречи!
|
Эволюция графики в играх |
Компьютерные игры долгие годы были главным двигателем прогресса как центральных процессоров, так и графических подсистем. Но в последнее время темпы прироста вычислительных мощностей и внедрения новых фич сильно замедлились. Наверное, всё дело в том, что подавляющее большинство геймеров вполне удовлетворяет текущее качество и реалистичность игровой графики. Давайте в эту пятницу посмотрим, как изменялась графика в играх за 45 лет. Внимание! Количество видео и ностальгии внутри зашкаливает.
Одна из первых компьютерных графических игр в истории. Она была написана для компьютеров PDP-1. Геймплей был прост: два игрока управляли космическими кораблями, и старались поразить друг друга ракетами. К тому же надо было избегать столкновения со звездой, которая притягивала к себе корабли игроков. Боезапас и топливо для маневрирования были ограничены. Игра пользовалась большой популярностью в 1960-е, и была портирована на различные платформы.
Вот так Spacewar! выглядела на настоящем PDP-1 (да, мониторы были те ещё):
Но если отбросить несовершенство дисплея, то игра выглядела так:
Кстати, звёздное небо не генерировалось от балды, а представляло собой схемы настоящего звёздного неба, куда включались звёзды вплоть до пятой величины.
Примитивный аркадный симулятор настольного тенниса. Первая игра, созданная Atari, и по совместительству одна из самых популярных видеоигр того времени. Здесь два игрока с помощью вращения ручек управляли «ракетками», стараясь не пропустить мяч. Был и режим одиночной игры. Существовали версии игры для телеприставки и в виде игрового автомата.
Это вторая после Pong игра, разработанная Atari. Для двух или одного игрока. Нужно было лететь на ракетах, уклоняясь от препятствий. Кто не успевал уклониться — проигрывал. Выпускалась в виде телеприставки и игрового автомата.
Эта игра была первой сразу в трёх «номинациях»:
Цель игры: перемещая «баскетболистов» отбивать мяч так, чтобы он попал в корзину.
Игра-вестерн, в которой нужно было победить противника в дуэли на пистолетах. Первая игра, в которой изображено сражение человека с человеком. У каждого игрока было по два джойстика: одним управлялся персонаж, а вторым наводился пистолет. Количество патронов было ограничено — по 6 в барабане.
В 1970-е годы люди ещё не были так испорчены, поэтому после своего выхода игра подверглась массовой критике за пропаганду насилия. Один или два игрока управляли машинами с помощью рулей и педалей, и давили так называемых «гремлинов». Чем больше задавишь, тем больше очков заработаешь. На месте невинно убиенного появлялся крест, и вскоре экран превращался в кладбище. При этом нужно было избегать наездов на могилки. Через 20 лет игровая идея ляжет в основу эпохальной Carmageddon.
Один или два игрока увлечённо летали над над неким каньоном, заполненным шарообразными камнями. Их нужно было бомбить, и чем более метким было попадание, тем больше очков ты зарабатывал.
Игра-эпоха, снискавшая огромную популярность и портированная на множество платформ. Когда в Японии появились эти игровые автоматы, то изначально даже возник дефицит монет подходящего номинала, настолько много было желающих поиграть в Space Invaders. Цель была простой: надо было отстреливать орды вторгающихся инопланетян, постепенно опускающихся на землю и тоже стреляющих в тебя. При этом пушка игрока двигалась позади ряда из четырёх защитных укрытий, которые постепенно разрушались от попаданий инопланетян. По мере прохождения уровней враги маневрировали и опускались всё быстрее.
Несмотря на примитивность графики, разработчику Томохиро Нисикадо пришлось создавать собственную аппаратную платформу на базе процессора Intel 8080. Но он всё равно плохо справлялся, и скорость отрисовки спрайтов существенно замедлялась, когда инопланетян на экране было ещё много. Этот недостаток автор превратил в фичу — чем меньше оставалось на экране врагов, тем шустрее они становились и тем сложнее в них было попасть.
Одна из первых гоночных игр от первого лица, и первая мире векторная гонка. Цель — доехать до финиша, не врезаясь в препятствия и встречный транспорт, не вылетая с дороги.
По степени и длительности влияния на массовую культуру эту игру можно сравнить мегатонным взрывом посреди мегаполиса. Игроку нужно было управлять вечноголодным колобком, заползшим в подземелья, кишащие недружелюбной фауной. Всего в игре 255 уровней, и колобку иногда подкидывают полезные ништяки, увеличивающие скорость и даже делающие его временно неуязвимым для привидений.
Pac-Man стала основателем нового жанра — «погони в лабиринте». Как позже признавался один из геймдизайнеров Тору Иватани, они хотели сделать юмористическую игру безо всякого насилия, чтобы в неё комфортно было играть как можно более широкой аудитории. Хотя изначально в родной Японии Pac-man — тогда он назывался PUCK MAN — был встречен совершенно равнодушно. Зато в США игра порвала все шаблоны, чарты и рекорды продаж. В результате Pac-Man начала своё победное шествие по миру.
Один из ранних представителей жанра платформеров. Персонаж в кепке по имени Марио должен был спасти от агрессивной гориллы Донки Конга некую мамзель по имени Полин. Позднее Марио станет одним популярнейших персонажей видеоигр, если не самым популярным. А начинал он как борец с обезьянами.
Гонки «Формула 1»: нужно было сначала проехать квалификационный заезд, а потом участвовать в состязаниях. Конфигурация гоночных треков повторяла реальные трассы. Эта игра задала стандарт для отображения гоночных игр на многие годы вперёд: спрайтовая графика, вид от третьего лица.
Симулятор бармена: нужно вовремя метать полные кружки алчущим посетителям, и хватать опустевшие. Если кто-то из недопивших клиентов добирался до конца стойки, то бармена выкидывали в окно. Кстати, оцените надпись на обложке: «Самая инновационная игра для автоматов 1984».
Ещё одна игра-икона. Игровые автоматы Duck Hunt и приставки Nintendo Entertainment System (производилась до 1995) были оснащены пистолетами, работавшими по принципу «светового пера». На экране из зарослей взлетали утки, которых нужно было отстреливать с минимальным количеством промахов. А собака радостно хватала добычу. При желании можно было переключиться в режим стрельбы по тарелкам. По объёмам продаж игра занимает второе место на платформе NES — 28 млн копий.
Через четыре года после выхода Donkey Kong, итальянский сантехник, не боящийся злобных приматов, начал покорять мир. В этой аркаде нужно было управлять усатым мужичком-водопроводчиком Марио в комбинезоне и кепке и его братом Луджи. При путешествии по миру нужно было уклоняться от врагов или побеждать их, прыгая им на голову, а также собирать по пути спрятанные монеты. Цель — дойти до конца и спасти принцессу.
Эта игра вошла в Книгу Рекордов Гиннесса как самая продаваемая в истории — 40 млн копий. Собственно, мало какой другой игровой персонаж может конкурировать с Марио по узнаваемости. Эхо войны популярности Марио до сих пор витает в массовой культуре.
Эта игра положила начало одноимённой, очень популярной серии игр, выпускавшихся долгие годы. Главный герой — некто Линк — должен спасти королевство от вторгшейся армии принца Тьмы. Он путешествует по миру в поисках волшебного Артефакта, сражается с врагами, прокачивает характеристики и пользуется инвентарём: здравствуй, RPG!
А эта игра породила целую эпоху файтингов — игр, в которых надо было сражаться в рукопашную друг с другом или с врагами. Здесь появились комбо-удары и шестикнопочное управление персонажем. В Street Fighter нужно было побеждать в поединках, каждый раунд длился по 30 секунд (если никого из бойцов не успевали к тому времени нокаутировать, побеждал тот, у кого оставалось больше здоровья).
Стрелялка от третьего лица, в которой нужно было управлять футуристическим космическим истребителем, сражаясь с войсками злобной Четвёртой Империи. Бои велись как в космосе, так и на шести планетах.
Ещё одна легенда мира игр. Пробираясь по лабиринту подземелий, вы с помощью персидского принца-блондина должны были спасти принцессу. На это у вас был всего один час. В пути подстерегали ловушки, головоломки и враги. Игра была невероятно популярна и портирована на множество платформ. Для технологий того времени у персонажа были удивительно реалистичные движения, а сама игра была очень атмосферной. Версия под MS-DOS вскоре попала в СССР и быстро распространилась по институтам и заводам, нередко парализуя работу целых отделов. Я познакомился с этой игрой в 1993-м, и она произвела на меня неизгладимое впечатление. До сих пор помню, что Shift отвечал за удар мечом.
Платформер для приставок компании SEGA, в которой Микки Маус спасал свою мышиную пассию Минни Маус, которую злая колдунья похитила и заточила в замке. Игра отличалась разнообразием противников, к каждому виду которых нужно было найти свой подход в плане уничтожения, хотя в целом геймплей был аналогичен играм про Марио.
В начале 1990-х эта игра была лицом и иконой приставок Sega в постсоветской России. Кусочек игрового процесса демонстрировался в телевизионной рекламе, и это было очень круто и красочно, куда там китайским клонам Dandy. Ещё бы: 16-битная Sega была на голову выше по качеству графики и спецэффектов, чем 8-битная Dandy. Главный герой игры — заряженный невероятным адреналином, реактивный ёж Соник, которым двигала жажда отыскать злодея по имени Dr. Eggman, учёного, который заточил животных внутрь роботов и похитил магические Изумруды Хаоса.
Это один из лучших в истории файтингов, который фактически задал новую планку качества анимации, разнообразия комбо-ударов, а заодно выливал на игроков тонны крови. Изначально игра разрабатывалась для игровых автоматов, но была портирована и на телеприставки, и персональные компьютеры (там графика была получше). В Mortal Kombat было много игровых персонажей, между которыми происходили схватки. У каждого персонажа были свои хитрые приёмы, свои сильные и слабые стороны. Игра оказалась невероятно зрелищной, играбельной и кровавой. У нас во время поединков выплёскивалось столько адреналина, словно мы сами друг с другом сражались на ринге. Прямо эпическое мочилово, по-другому не скажешь. Превосходное средство расслабления после трудового дня, как и все игры серии Mortal Kombat. Кстати, вы удивитесь, но в этом файтинге даже есть сюжетная линия.
Когда-то не нужно было никому объяснять, что такое Doom. Об этой игре знали все. В ходу был даже мем «пойду подумаю». Doom на многие годы установил стандарт для шутеров от первого лица. Сюжет примитивен, и в самой игре не раскрывается. По сути, вы играете за некоего спецназовца на Марсе, который отстреливает с особой жестокостью орды монстров, которые попали на планету в связи с неудачным экспериментом по телепортации, открывшим портал в ад.
По сравнению с Wolfenstein 3D, вышедшей из-под пера той же id Software всего годом ранее, Doom выглядел как дорогая иномарка рядом с неказистым жигулёнком (хотя двадцатилетним обе они покажутся на одно лицо):
Wolfenstein 3D:
Doom:
Яркий представитель японских файтингов, со специфическим дизайном персонажей. Однако в отличие от других файтингов, в Tekken игроки могли управлять каждой рукой и ногой бойца по отдельности. Любопытно, что изначально игра создавалась как внутренний проект компании Namco, предназначенный для тестирования 3D-анимации. Но в конце концов превратилась в полноценный симулятор рукопашных поединков.
Шутер от первого лица, в который нужно было играть с пистолетом (который «световое перо»). Игра сама управляла движениями камеры, а игроку нужно было отстреливать всех противников на экране.
Наследник Doom, намного превзошедший своего предка. Первый по-настоящему трёхмерный шутер, в котором можно было подойти к трупу врага и рассмотреть с разных сторон — в том же Doom это были просто спрайты, которые отображались на экране одинаково с любого ракурса. Именно с выходом Quake возникло такое понятие, как киберспорт, потому что эта игра вышла на новый уровень реалистичности графики и требовательности к реакции игроков. В народе его ласково называли «квакой». А ещё в Quake появился распрыг! Это когда игрок во время бега подпрыгивал и стрелял себе под ноги из ракетницы, чтобы взрывом его подняло выше и кинуло дальше, пусть и ценой уменьшения здоровья. Так можно было передвигаться гораздо быстрее и запрыгивать на недоступные обычным способом высоты.
Сюжет ещё примитивнее, чем в Doom: вы какой-то абстрактный солдат, уничтожающий монстров, которые куражатся на вашей военной базе. Зато Quake изначально создавался из расчёта на многопользовательский режим. Правда, сначала только в локальных сетях, поскольку в те годы интернет был ещё в диковинку, а модемы и телефонные линии не обеспечивали нужного уровня задержек.
Эта игра положила начало целой серии гоночных игр. Здесь были довольно тщательно для того времени смоделированы реальные образцы автомобилей, имитировались особенности их поведения на трассе. Была реализована действующая система тюнинга, позволявшая изменить поведение автомобиля посредством настройки/замены различных узлов.
Фантастическая японская RPG, одна из многочисленных игр очень популярной серии Final Fantasy. К слову, это до сих пор самая продаваемая часть саги.
Ещё одна эпохальная игра в жанре шутера от первого лица. В ходе неудачного научного эксперимента в сверхсекретном исследовательском комплексе «Чёрная Меса» в наш мир попадают агрессивные инопланетяне. Вы — учёный Гордон Фримен, сотрудник комплекса, начинаете бороться с тварями, в надежде исправить ситуацию.
Игра была инновационной с той точки зрения, что сюжет рассказывался по ходу игры, в разговорах персонажей и других скриптовых сценах, а не посредством видеовставок или текстовых блоков. Half Life стал одной из первых игр, где у игрока по мере прохождения появляются персонажи-союзники. Причём управлявший ими ИИ действовал на удивление толково, что стало одним из прорывов в компьютерных играх. Сюжет и его необычная подача были настолько захватывающими, что Half Life многие считают одной из поворотных игр в истории. Да и сам геймплей был очень бодрым.
Продолжение игры Unreal, вышедшей в 1998-м. В Unreal Tournament был доведён до ума многопользовательский режим, и на несколько лет эта серия игр стала серьёзным конкурентом серии Quake.
Пожалуй, одна из самых гармоничных с точки зрения играбельности в серии Need For Speed. Также это была первая из NFS, полностью посвящённая машинам одной марки — Porsche.
Шутер от третьего лица. Вы — агент управления по борьбе с наркотиками Макс Пейн, вынужденный скрываться от ареста по ложному обвинению. В этой игре впервые был реализован режим замедления времени (bullet time), что в сочетании со всевозможными трюками в ходе перестрелок создавало этакий кинематографический эффект повествования. К слову, авторы игры не заимствовали фишку с замедлением из «Матрицы», игра начала разрабатываться раньше выхода фильма, и на этом эффекте изначально строился её геймплей.
Начало серии игр Mafia. Название говорящее: вы начинаете с самых низов строить карьеру итальянской организованной преступной группировке. Авторы прекрасно передали атмосферу времён Великой Депрессии в США. Благодаря этому, а также прекрасному сюжету и хорошей играбельности, первая Mafia многими до сих пор считается лучшей игрой в серии.
Cтэлс-экшен, пропагандирующий трудное ремесло спецназовца американского АНБ, который должен предотвратить войну между США и Китаем, а также выполнить ещё одно щекотливое задание, связанное с президентом Грузии и каким-то секретным оружием.
Продолжение первого Half Life. Вы всё тот же Гордон Фримен, борющийся с тоталитарным правительством, назначенным поработившими Землю инопланетянами. Главной особенностью игры был движок Source, обеспечивший невиданную по тем временам реалистичность графики. Также к достоинствам игры относилась превосходная анимация персонажей, мощный ИИ, шейдерный рендеринг. Благодаря физическому движку Havok Physics обеспечивалось очень естественное взаимодействие игрока с миром.
Продолжение серии игр GTA. По сути, сюжет остаётся прежним — вы играете за некоего персонажа, которого жизненные обстоятельства и/или недостатки характера и воспитания заставляют мотаться по городу и творить всякие непотребства, постоянно нарушая закон. К сильным игры относился огромный открытый игровой мир, наполненный многочисленными NPC, с которыми можно было пообщаться, что шло на пользу атмосферности. Главный герой научился здесь плавать, нырять и лазать через забор. Кроме автомобилей теперь можно было рассекать на велосипедах, тягачах, эвакуаторах, мотоциклах, квадроциклах, самолётах, комбайнах, поезде, и даже с реактивным ранцем. В общем, в San Andreas реализовали около 200 видов транспорта.
Эпичное продолжение серии The Elder Scrolls. Действие этой RPG разворачивается в альтернативном мире, где магия и драконы столь же реальны, как мечи и стрелы. Главный герой борется с представителями жестокого культа, который хочет завоевать империю. Одной из сильнейших сторон всей серии The Elder Scrolls оставался полностью открытый мир, по которому можно было свободно перемещаться, выполнять побочные сюжетные линии, вести свободную охоту на монстров и бандитов, обзавестись домами в разных городках, и вообще делать, что в голову взбредёт. При этом игра была могла похвастаться отличным физическим движком, продвинутой системой ИИ и красивой графикой. К примеру, для генерирования ландшафтов использовались обучаемые программы-генераторы, обеспечивавшие больший реализм мира Oblivion.
Приставочная серия шутеров от первого лица Halo имеет большую армию поклонников благодаря очень бодрому геймплею и хорошей графике. История происходит в 26-м веке, вы элитный боец, генетически-модифицированный солдат в экзоскелетном костюме, сражаетесь с инопланетянами, вторгшимися на Землю.
Многопользовательский шутер, в котором была реализована любопытная идея. По сюжету, на Земле возникла пандемия, в ходе которой почти всё население превратилось в Заражённых. Группа из четырёх выживших людей старается пробиться через орды и найти место спасения. Так вот, идея в том, что в мультиплеере случайных игроков собирают в команду четверых, а остальные играют за Заражённых. А благодаря продвинутому ИИ игра подстраивается под тактику и стиль игры, меняя параметры уровней, места респаунов и так далее.
Серия Call of Duty многие годы конкурирует с серией Battlefield. У каждой из марок есть своя обширная армия поклонников. В кампании Call of Duty: Modern Warfare 2 можно попробовать себя в роли бойцов разных спецподразделений, а в многопользовательском режиме ждёт ураганный экшен, множество видов оружия и военных гаджетов, а также любопытная система перков.
Фантастический шутер от первого лица, являющийся сюжетным продолжением первой игры. Вы находитесь в подводном городе, построенном безумным учёным, и играете за одного из Больших Папочек: мужика в огромном водолазном скафандре.
Эпохальная и, пожалуй, на сегодняшний день лучшая игра в жанре RPG. Сюжетно она почти не связана с Oblivion, так что в неё можно смело играть новичкам. Игра задала новые высоты с точки зрения реалистичности сгенерированных ландшафтов, графики и физики. Хотя за прошедшие годы она морально устарела, но до сих пор многочисленные фанаты не дают Skyrim пасть в пучину забвения: они наклепали огромное количество апдейтов, благодаря которым игра сегодня продолжает выглядеть очень современно и богато. Собственно, именно фанатские апдейты легли в основу недавнего переиздания Skyrim.
Продолжение знаменитой серии экшен-игр Far Cry. На этот раз вы играете за американца-туриста, который с друзьями отправился на тропический остров и стал жертвой нападения бандитов. Турист оказался не промах, сбежал и начал заниматься спасением друзей и творить возмездие отморозкам.
Если в предыдущие десятилетия вы умудрились не поиграть в приключения Лары Крофт, то предпоследний Tomb Raider — прекрасный шанс наверстать упущенное, поскольку игра 2013 года является перезапуском серии. Это экшен от третьего лица. Главная героиня — фигуристая молодая антропологиня попадает на корабле со своими коллегами-учёными на уединённый остров, находящийся под властью таинственного и древнего культа. Чтобы спасти себя и своих товарищей, Лара, проявляет чудеса акробатики и владения оружием.
Впервые в одной из самых популярных игр в мире сразу три главных героя, и можно по желанию переключаться между их сюжетными линиями. При этом у каждого персонажа есть свои уникальные возможности: замедление времени при езде, при стрельбе, режим берсерка. Игровой мир GTA V в 3,5 раза больше, чем в GTA San Andreas. Здесь очень детальный подводный мир, который можно изучать с аквалангом или в батискафе, на морском дне можно даже найти НЛО. Разнообразие занятий в городе сильно расширено, появились спортивные заведения и объекты, есть возможность торговать на внутриигровой бирже, посещать развлекательные заведения и так далее. Общий бюджет на разработку игры составил $270 миллионов. Двести семьдесят миллионов долларов, Карл!
ММОRPG, созданная на движке, разработанном в Mail.Ru Group. Игра пилилась довольно долго, около 5 лет. Здесь вы можете выступать на стороне богов и бессметрных героев, совместными усилиями изничтожая вторгшихся мифических и инопланетных тварей. Одной из главных фишек движка стала огромная дальность отрисовываемого пространства — 40 км: это было необходимо для того, чтобы передать простор мира, "божественные" возможности игроков, размах задач. Сегодня это один из самых "дальнобойных" движков в игровой индустрии.
Совсем свежая RPG с открытым миром. В связи с каким-то апокалипсисом цивилизации почти пришёл конец, мир поработили роботы, люди скатились до уровня первобытных времён. Вы играете за молодую охотницу, которая исследует мир, добывает средства к существованию, сражается — в общем, живёт насыщенной доисторической жизнью.
Вот такой получился экскурс в историю развития графики компьютерных игр. Прогресс не просто впечатляющий, это как эволюция жизни в миниатюре: от примитивных графических форм до сложнейших моделей мира с высочайшим уровнем графической и физической симуляций. Настолько, что даже процессоры и видеокарты уже не демонстрируют прежних темпов роста производительности. Конечно, отчасти из-за сложностей, с которыми сталкиваются инженеры, но во многом и в связи со снижением запроса от игровой индустрии. Ведь до сих пор далеко не все игры используют хотя бы 90 % возможностей современного железа.
Метки: author Barrayar разработка игр блог компании mail.ru group игры графика ностальгии пост пятница |
Настройка Cisco AnyConnect VPN with 2FA (ActiveDirectory and Certificate) через ASDM |
Configuration Cisco ASA AAA Server Groups
LDAP Attribute Map
AAA Server — Microsoft DC
Add AAA Server
Test AAA Server — Authentication
Identity Certificates Signature algorithm RSASSA-PSS — sha512
Identity Certificates Signature algorithm sha512RSA (ECDSA 521 bits)
Address Assignment — Address Pools
Configuration > Remote Access VPN > Network (Client) Access > Group Policies > Add Internal Group Policy
Configuration > Remote Access VPN > Network (Client) Access > Group Policies > Edit Internal Group Policy — Servers
Configuration > Remote Access VPN > Network (Client) Access > Group Policies > Edit Internal Group Policy > Advanced > Split Tunneling >
Configuration > Remote Access VPN > Network (Client) Access > Group Policies > Edit Internal Group Policy > Advanced > AnyConnect Client > Client Firewall > Private Network Rule
AnyConnect Client > Route Details
AnyConnect Client > Firewall
Configuration > Remote Access VPN > Network (Client) Access > AnyConnect Connection Profiles > Add AnyConnect Connection Profile > Basic
(.*)@отрежем от него
domain.ru(значение E-mail должно быть
%AD username%@somedomain.ru) и подставим его в поле Username при подключении.
Configuration > Remote Access VPN > Network (Client) Access > AnyConnect Connection Profiles > Add AnyConnect Connection Profile > Advanced > Authentication > Username Mapping from Certificate
Configuration > Remote Access VPN > Network (Client) Access > Dynamic Access Policies
Terminate connection from users who are not in the access group
Configuration > Remote Access VPN > Network (Client) Access > Dynamic Access Policies > Add Dynamic Access Policy with AAA Attributes
Configuration > Remote Access VPN > Network (Client) Access > Dynamic Access Policies > Add Dynamic Access Policy with AAA Attributes > Get AD Groups
Configuration > Remote Access VPN > Network (Client) Access > AnyConnect Client Profile
Configuration > Remote Access VPN > Network (Client) Access > AnyConnect Client Profile > Edit
Метки: author VFedorV сетевые технологии cisco cisco asa anyconnect asdm |
Левенштейн и подсознательная любовь к DevOps |
Метки: author Tully серверное администрирование серверная оптимизация devops блог компании отус development lottery otus.ru |
Спасите самолет (задача со звездочкой) |
Метки: author eapotapov реверс-инжиниринг ненормальное программирование блог компании itsumma хакатон |
История бренда Chupa Chups |
Метки: author Logomachine работа с векторной графикой графический дизайн блог компании логомашина дизайн логотип бренд бизнес история |
Как попытаться сделать пользователю удобно и кое-что запороть в процессе |
|
Red Architecture — красная кнопка помощи для сложных и запутанных систем — часть 3 (многопоточность нам в помощь) |
|
=^._.^= |
Метки: author Boomburum управление сообществом блог компании тechmedia котики собакены служба поддержки text.ru модерация лояльность пятница смайлики |
Крафтовый сайт: каким должно быть портфолио творческого человека |
Метки: author megapost cms веб-дизайн графический дизайн |
Как любитель игру писал |
var gold = 20;
var pop = 2;
var buildLevelD = 0;
var buildLevelH = 0;
var buildLevelTreasury = 0;
var treasuryGuard = 0;
updateResources();
setInterval(resourcesTimer, 30000);
function resourcesTimer() {
gold = gold*1+pop*1;
if (pop < 2*Math.pow((buildLevelH*1+3),2)) {
pop = pop*1+1;
}
if (treasuryGuard > 0) {
if (gold - treasuryGuard * treasuryGuardPricePayroll >= 0) {
gold = gold - treasuryGuard * treasuryGuardPricePayroll;
} else {
treasuryGuard = 0;
}
}
updateResources();
}
function updateResources() {
document.getElementById("gold").innerHTML = gold;
document.getElementById("pop").innerHTML = pop;
document.getElementById("treasuryGuard").innerHTML = treasuryGuard;
}
function Build(Structure) {
if (Structure==="Wall" || Structure ==="Tower") {
if (gold >= costWall && buildLevelD == 0) {
buildLevelD = buildLevelD*1 + 1;
gold = gold - costWall;
redraw = 1;
whatDraw = "Wall";
updateResources();
return true;
}
if (gold >= costTower && buildLevelD == 1) {
buildLevelD = buildLevelD*1 + 1;
gold = gold - costTower;
redraw = 1;
whatDraw = "Tower";
updateResources();
return true;
}
}
if (Structure==="Home") {
if (gold >= Math.pow(costHome,(buildLevelH*1 + 1))) {
gold = gold - Math.pow(costHome,(buildLevelH*1 + 1));
redraw = 1;
whatDraw = "Home";
buildLevelH = buildLevelH*1 + 1;
updateResources();
return true;
}
}
if (Structure==="Treasury") {
if (gold >= Math.pow(costTreasury,(buildLevelTreasury*1 + 1))) {
gold = gold - Math.pow(costTreasury,(buildLevelTreasury*1 + 1));
redraw = 1;
whatDraw = "Treasury";
buildLevelTreasury = buildLevelTreasury*1 + 1;
updateResources();
return true;
}
}
function composite() {
imagesLoaded = imagesLoaded*1 + 1;
if (imagesLoaded > 1) {
// composite now
//ctx.globalAlpha = 1.00;
ctx.drawImage(img1, 0, 0); //draw background
ctx.drawImage(img2, 0, 0); //draw sawmill
ctx.drawImage(img3, 10, 40); //draw gold icon
ctx.drawImage(img4, 10, 80); //draw pop icon
ctx.drawImage(img8, 0, 0); //draw wishing well
if (buildLevelD > 0) {
// draw back piece of wall
ctx.drawImage(img6_1, 0, 0);
}
if (buildLevelH > 0 && buildLevelH < 10) {
// draw houses
ctx.drawImage(img5, 0, 0);
}
if (buildLevelH > 10) {
// draw more houses
ctx.drawImage(img5_1, 0, 0);
}
if (buildLevelD > 1) {
// draw castle
ctx.drawImage(img7, 0, 0);
}
if (buildLevelD > 0) {
// draw front piece of wall
ctx.drawImage(img6_2, 0, 0);
}
if (buildLevelTreasury > 0) {
// draw treasury
ctx.drawImage(img9, 0, 0);
}
}
}
function loadImage(src, onload) {
var img = new Image();
img.onload = onload;
img.src = src;
return img;
}
function saveGame() {
localStorage.setItem('gold', gold);
localStorage.setItem('pop', pop);
localStorage.setItem('buildLevelD', buildLevelD);
localStorage.setItem('buildLevelH', buildLevelH);
localStorage.setItem('treasuryGuard', treasuryGuard);
localStorage.setItem('buildLevelTreasury', buildLevelTreasury);
}
function loadGame() {
gold = localStorage.getItem('gold');
pop = localStorage.getItem('pop');
buildLevelD = localStorage.getItem('buildLevelD');
buildLevelH = localStorage.getItem('buildLevelH');
treasuryGuard = localStorage.getItem('treasuryGuard');
buildLevelTreasury = localStorage.getItem('buildLevelTreasury');
composite();
updateResources();
}
Метки: author Areso разработка игр javascript html gamedev html5 canvas |
Использования FlyWay для баз данных на примере Maven |
org.flywaydb // подключили плагин
flyway-maven-plugin
4.2.0
UserDB // пользователь
DBpass // пароль базы
127.0.0.1 // адрес базы
/database/script/ // путь к скриптам - отмечу отдельно, так как по дефолту путь довольно замысловат, скрипты должны лежать в main/src/db/migrte , но это не всегда удобно
Метки: author SicYar администрирование баз данных devops flyway java db |
Поиск лучше места в мире для ветряка |
Метки: author gaploid открытые данные машинное обучение геоинформационные сервисы data mining big data renewable energy machine learning wind energy azure сечин |
Архивируй это: как устроено архивирование файловой системы с помощью Commvault |
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
|
[Из песочницы] Как использовать Канбан для удобной работы не только менеджеров, но и программистов |
Метки: author lesswinter agile kanban канбан гибкие методологии метрики |
«Вредные советы»: Как потерять клиента или 7 лучших прощальных фраз |
Метки: author it-guild service desk блог компании ит гильдия ит гильдия саппорт сервис |
Пишем бота для Slack на Python |
- requirements.txt - Procfile - runtime.txtВ первом перечисляем все зависимости примерно так
httplib2
slacker
Flask==0.12
можно их сразу не писать, умный PyCharm сам подскажет, что мы что-то пропустили.web: python app.py
from flask import Flask
from flask import request
from flask import make_response
app = Flask(__name__)
# создали ендпоинт
@app.route('/webhook')
def hello_slack():
# получили данные из запроса
request_json = request.get_json(silent=True, force=True)
# тут ваш код возьмет запрос и вернет в ответ любой dict объект ответа, можно даже пустой
# примерно так request_json -> response_body_json
...
response_body = json.dumps(response_body_json)
# упаковали все в корректный респонс
response = make_response(response_body)
response.headers['Content-Type'] = 'application/json'
# и вернули
return response
if __name__ == '__main__':
port = int(os.getenv('PORT', 5000))
app.run(debug=False, port=port, host='0.0.0.0')
https://YOUR_APP_NAME.herokuapp.com/webhookи можно создавать свое слэк приложение, которое будет *делать-что-то-полезное*. Осталось его валидировать для events API (то есть, самого полезного АПИ — АПИ оповещения нас о любых событиях). Слэк сам просто на наш ендпоинт особый challenge-request из которого нужно достать код и положить его в респонс. Теперь уже в настройках слэк-приложения в разделе Event Subscriptions выбираем нужные нам события и все. События будут падать на тот же адрес. Как только сделаете все, что хотите с входящими данными, нужно поддержать авторизацию других пользователей. Для этого нужен будет еще один эндпоинт, например /auth, на который слэк отправит запрос, как только новый пользователь захочет поставить себе ваше приложение. Получив такой запрос, нужно вытащить из него код и выслать POST-ом на slack.com/api/oauth.access вместе с кредами приложения, а на сам запрос ответить любым успешным ответом, или же редиректом на страничку, которую хотите показать пользователю после авторизации.
language: python
python:
- "3.6"
script:
python3 -m unittest discover
В секции script мы сообщаем тревису, что делать, после того как скачана последняя версия исходников. Эта команда (которую стоит почаще запускать локально) сама найдет юнит-тесты в нашем проекте и прогонит их.
Метки: author fo2rist python slack slack api боты |