ソースを参照

Merge branch 'master' of u20avram_a/ISRPO into master

ypv 2 年 前
コミット
757137ec5f

+ 43 - 0
Лекции/R/Язык программирования R.md

@@ -0,0 +1,43 @@
+# R  
+**R** — язык программирования для статистической обработки данных и работы с графикой, а также свободная программная среда вычислений с открытым исходным кодом в рамках проекта GNU. Язык создавался как аналогичный языку S, разработанному в Bell Labs, и является его альтернативной реализацией, хотя между языками есть существенные отличия, но в большинстве своём код на языке S работает в среде R. Изначально R был разработан сотрудниками статистического факультета Оклендского университета Россом Айхэкой (англ. Ross Ihaka) и Робертом Джентлменом (англ. Robert Gentleman) (первая буква их имён — R); язык и среда поддерживаются и развиваются организацией R Foundation.  
+  
+Язык R — главный конкурент Python для тех, кто занимается статистикой и анализом данных. Его используют в социальных и экономических науках для поиска причинно-следственных связей, сравнения выборок, создания наглядных отчётов и графиков.  
+  
+Язык разработали учёные факультета статистики Оклендского университета. Сначала это был внутренний инструмент, но потом его сделали доступным для всех — уж очень удачным он получился.  
+  
+А специализированный язык R уверенно отвоёвывает себе место под солнцем: с 18-го места рейтинга TIOBE в 2016 году он поднялся на 8-ю строчку в январе 2021. Установить интерпретатор и рабочее окружение можно в любую современную операционную систему — MacOS, Linux, Windows.  
+  
+Широко используется как статистическое программное обеспечение для анализа данных и фактически стал стандартом для статистических программ.  
+  
+Язык и среда доступны под лицензией GNU GPL; распространяются в виде исходных кодов, а также откомпилированных приложений под ряд операционных систем: FreeBSD, Solaris и другие дистрибутивы Unix и Linux, Windows, macOS.  
+  
+В R используется интерфейс командной строки, хотя доступны и несколько графических интерфейсов пользователя, например пакет R Commander, RKWard, RStudio, Weka, Rapid Miner, KNIME[en], а также средства интеграции в офисные пакеты.  
+
+Для удобства работы с R разработан ряд графических интерфейсов, в том числе RStudio, JGR, RKWard, SciViews-R, Statistical Lab, R Commander, Rattle, а также программный пакет Shiny.  
+  
+Кроме того, в ряде текстовых и кодовых редакторов предусмотренные специальные режимы для работы с R, в частности в ConTEXT, Emacs (Emacs Speaks Statistics), jEdit, Kate, Notepad++, Syn, TextMate, Tinn-R, Vim, Bluefish, WinEdt (с пакетом RWinEdt), Gedit (с пакетом rgedit/gedit-r-plugin). Для среды разработки Eclipse существует специализированный R-плагин; доступ к функциям и среде выполнения R возможен из Python с использованием пакета RPy; работать с R можно из эконометрического пакета Gretl.  
+  
+### Что можно сделать с помощью R  
+- Обработать, очистить и преобразовать данные для исследования  
+- Провести статистические тесты  
+- Выполнить разведочный анализ  
+- Работать с таблицами разных форматов  
+- Нарисовать интерактивный график  
+- Создать интерактивное приложение  
+- Анализировать регрессионные модели  
+  
+### Преимущества R:  
+Неограниченный набор функций для анализа данных — благодаря подключению библиотек.  
+Возможность работы с огромными таблицами и базами данных, которые не потянут программы.  
+Продвинутые настройки интерфейса: графический пользовательский или интерфейс командной строки.  
+Полностью бесплатная экосистема — компоненты распространяются бесплатно под лицензией GNU. Excel стоит 69,99 доллара в год, SPSS — 3200 долларов за бессрочную лицензию, Tableau для компаний — от 70 долларов за пользователя в месяц.  
+Доступен для большинства операционных систем: Windows, macOS, FreeBSD, Solaris, разных версий Unix и Linux.  
+Богатые возможности визуализации: можно создавать приложения, строить графики разных типов, в том числе интерактивные, а также редактировать их элементы. Например, график на основе известного датасета iris, показывающий плотность лепестков и чашелистиков в зависимости от вида ирисов.  
+  
+### Минусы R — относительные:  
+  
+Документация и большинство источников — только на английском языке. Хотя появляется всё больше русскоязычных источников — уже есть отдельный раздел на «Хабре», а ответы на частые вопросы можно найти на Stack Overflow.
+Человеку без опыта программирования и знания основ статистики будет сложно. Но достаточно освоить базовые понятия: среднее, мода, медиана, выборка, нормальное распределение. Например, по книге «Статистика и котики» В. Савельева.
+Узкая сфера применения: он идеален для анализа данных, но для разработки программ не подходит. Но в этом и его сила. Настоящий UNIX-way и находка для учёных, журналистов, дата-сайентистов, аналитиков — всех, кто хочет работать с данными.  
+  
+R — это не просто язык программирования, а целая инфраструктура и специализированная среда для работы с данными. В неё уже встроены многие статистические методы и варианты визуализации.  

+ 44 - 0
Лекции/Ubisoft/Ubisoft.md

@@ -0,0 +1,44 @@
+Ubisoft Entertainment SA (ранее Ubi Soft Entertainment) — французская компания, специализирующаяся на разработке и издании компьютерных игр, главный офис которой располагается в Монтрёй, Франция. Компания включает в себя студии в более чем в 20 странах, среди них США, Канада, Испания, Китай, Германия, Болгария, Украина, Румыния и Италия. Ubisoft является одним из крупнейших игровых издателей в Европе. По состоянию на сентябрь 2020 года Ubisoft является девятой по величине публичной компанией производителем компьютерных игр в мире с точки зрения доходов и рыночной капитализации после Konami, Electronic Arts, Bandai Namco, Activision Blizzard, Sega, Nintendo, Microsoft, Sony и первой в Европе.
+До появления Ubisoft в начале 1980-х пятеро братьев-основателей Гиймо (фр. Guillemot) — Кристиан, Клод, Жерар, Мишель и Ив — основали компанию Guillemot Informatique, занимавшейся дистрибуцией во Франции через почтовые заказы компьютерного оборудования и программ, произведённых в Великобритании. Бизнес рос, принеся к 1984 году доход в 40 млн франков. С ростом спроса братья обратили внимание, что доход от компьютерных игр является наиболее весомой долей в их бизнесе. Вместо того, чтобы продолжать заниматься дистрибуцией игр сторонних разработчиков, братья решили заняться также разработкой и издательством собственных игр. В 1986 году они основали французскую компанию под названием Ubi Soft Entertainment SA
+
+Первой игрой, выпущенной компанией в том же году, стала Zombi, отличающаяся новаторством сочетания жанра приключенческого боевика c иконковым интерфейсом, за что получила признание критиков[7]. Ив Гиймо скоро наладил дела с Electronic Arts, Sierra On-Line и Microprose на издание их игр во Франции. В конце десятилетия Ubisoft расширилась на другие игровые рынки, включая США, Великобританию и Германию. Компания переживала стремительный рост и к 1989 году её выручка составила 10 млн долларов США
+
+Ubisoft Connect[
+
+С выпуском Assassin's Creed II в 2009 году Ubisoft запустила игровую сеть Uplay. В 2020 году Uplay была переименована в Ubisoft Connect в которую можно зайти в игре или на официальном сайте. Ubisoft Connect позволяет игрокам общаться с другими игроками и получать вознаграждения (rewards) за баллы, выдаваемые за выполнение определённых достижений (называемых «Actions») в играх с поддержкой Ubisoft Connect . Поддерживает создание списков друзей, покупку игр через внутренний магазин или их активацию посредством цифровых ключей.
+
+Anvil
+Anvil (ранее Scimitar) — проприетарный игровой движок, полностью разработанный Ubisoft Montreal в 2007 году для разработки первой игры Assassin’s Creed, который с тех пор был расширен и использовался почти во всех последующих играх Assassin’s Creed и других играх Ubisoft.
+
+Dunia Engine
+Dunia Engine — это программная ветвь CryEngine, изначально разработанная Crytek, с модификациями, внесёнными Ubisoft Montreal. CryEngine был уникальным в то время, так как мог отображать большие наружные пространства. Crytek создала демоверсию своего движка под названием X-Isle: Dinosaur Island, которую они продемонстрировали на E3 1999. Ubisoft увидела демоверсию и попросила Crytek перестроить демо в полноценную игру, которой стала Far Cry в 2004 году. В том же году Electronic Arts заключила сделку с Crytek о создании совершенно другой игры с улучшенной версией CryEngine, в результате чего они не смогли продолжить работу над Far Cry. Ubisoft поручила Ubisoft Montreal разработать консольные версии Far Cry и договорилась с Crytek о получении всех прав на серию Far Cry, а также бессрочной лицензии на CryEngine.
+Disrupt
+Игровой движок Disrupt был разработан Ubisoft Montreal и используется в играх серии Watch Dogs. Большая часть движка была построена с нуля и использует агрессивно многопоточный рендерер, работающий на полностью отложенном физическом конвейере рендеринга и с некоторыми технологическими нововведениями для обеспечения более продвинутых визуальных эффектов.
+Snowdrop
+Игровой движок Snowdrop был разработан Massive Entertainment для игры Tom Clancy's The Division. Ядро игрового движка работает на «системе на основе узлов», которая упрощает процесс подключения различных систем, таких как рендеринг, искусственный интеллект, сценарии миссий и пользовательский интерфейс. Движок также использовался в Tom Clancy’s The Division 2 и в других играх Ubisoft, таких как South Park: The Fractured But Whole, Starlink: Battle for Atlas и Mario + Rabbids: Kingdom Battle. Движок также будет использоваться в грядущей игре Massive, основанной на «Аватаре» Джеймса Кэмерона, и готов к следующему поколению консолей.
+
+Как в Ubisoft делают игры
+Системный геймплей
+Фундамент всех игр от Ubisoft — системы, которые работают без участия игрока. Цитируя продюсера Watch Dogs 2: «Вы больше не центр игрового мира». Наравне с вами в нем «живут» бандиты, разбойники, солдаты, полицейский, животные. NPC не ждут вас, у них есть потребности и чтобы их удовлетворить, они взаимодействуют друг с другом. Например, в Watch Dogs 2 полицейские могут устроить перестрелку с бандитами без вашего участия.
+Мы делаем не игру, а симуляцию. Если вы остановитесь и посмотрите по сторонам, вы увидите живой мир.
+Доминик Гуай, Продюсер Watch Dogs 2
+Чтобы создать достоверную симуляцию игрового мира для AC: Origins использовали набор особых инструментов и правил — Meta AI.
+“Meta AI — это лаборатория искусственного интеллекта, принадлежащая Meta Platforms Inc. Meta AI намерена разрабатывать различные формы искусственного интеллекта, улучшая технологии дополненной и искусственной реальности. “ В нем каждому NPC устанавливают список нужд. Когда, например, голод достигает предела, игровое состояние переключается, и персонаж ищет ближайшее место, где сможет поесть. Поэтому в серии Assassin’s Creed голодные животные нападают на людей. А в каждом военном лагере кроватей меньше, чем солдат. Так кто-то всегда будет патрулировать территорию.
+Потребности зависят от контекста. Например, стража не ест ночью. А если несколько NPC находятся рядом и выполняют одну задачу, они объединяются в группы. Так персонажи формируют патрули. Игрок узнает текущую цель NPC через орла в Assassin’s Creed и мобильный телефон в Watch Dogs.
+Кроме этого, Meta AI контролирует поведение, анимации, аудио и визуальную части всех NPC. Meta AI AC: Origins одновременно хранит данные 50 тысяч статичных и 12 тысяч динамичных объектов, на расстоянии до 5 км от игрока.
+ 
+Количество динамичных объектов на небольшом острове в AC: Origins Virtual Insanity: Meta AI on Assassin's Creed: Origins
+Чтобы оптимизировать Meta AI, объекты на дистанции используют упрощенные модели и анимации. Например, на расстоянии 80 метров от игрока анимации NPC обновляются через кадр. Поэтому с низкой частотой кадров, они выглядят рваными. Чтобы «разгрузить» города, карту поделили на квадраты и ограничили лимит NPC в каждой зоне.
+В Ubisoft построили свою систему: большую, дорогую и сложную. Чтобы компенсировать вложения, ее используют в каждой крупной игре. В свою очередь, это накладывает отпечаток на геймдизайн.
+Но это не значит, что игры Ubisoft одинаковые. Да, студии обмениваются наработками, и используют одинаковый дизайнерский костяк. Но каждая команда улучшает техническую часть и добавляет новые системы под свои нужды. Например для AC: Odyssey в Ubisoft Quebec сделали диалоговую систему и развили идеи AC: Origins.
+ 
+AC: Origins — первая игра от Ubisoft с такой сложной системой маршрутов для NPC.   Virtual Insanity: Meta AI on Assassin's Creed: Origins
+С одной стороны, системный геймплей страдает от отсутствия контекста и иногда ведет к глупым ситуациями. Как например, писающий солдат в кат-сцене AC: Origins. С другой — это генератор разных геймплейных ситуаций. Даже если вы заготовили много уникальных событий, как в RDR 2, рано или поздно они начнут повторяться. Системный подход в большей степени решает эту проблему.
+Квесты
+Системный геймплей дает игроку возможность выбирать. Вы выполняете квесты, как захотите — за руку вести не будут. Можете бросить любое задание и продолжить позже или перебить всех, включая союзников. Пресловутые аванпосты — плата за высокую степень свободы.
+Квестовый NPC не ждет вас в одном месте.
+Если совсем упростить, то квесты в AC и Watch Dogs — это сценарное объяснение, зачем вы должны зачистить аванпост или пещеру с бандитами. Если объяснение вам нравится, все хорошо. Если нет, то в игре все еще остается системный геймплей, где только от вас зависит будет ли убийство очередной цели интересным.
+В таком подходе нету места для ручной проработки. В Ubisoft сознательно отказались от эффектных заскриптованных сцен в обмен на отсутствие дополнительных экранов с game over-ом.
+Перемещение по миру
+В Ubisoft создают вертикальные и интерактивные миры. Разработчики считают, что игрокам надо дать как можно больше разных инструментов для решения задач. В том числе для перемещения по миру.
+В работе с открытым миром есть негласное «правило 40 секунд». В таким играх как Watch Dogs и AC вы не только решаете стоит ли отвлекаться на случайное событие, вы можете создавать их своими руками.