Экспериментальная мультипоточность enderal что это

Обновлено: 02.07.2024



Enderal: Forgotten Stories

Тема закрыта


3 мар. 2019 в 4:53 20 апр. 2020 в 22:15 Подскажите, есть ли моды на изменение интерфейса игры? Где показываются все предметы, статистика ГГ и пр. 24 апр. 2020 в 1:20

Подскажите где сохраняются настрйоки модов, к примеру таких как:
Кастомизация камеры
Дисплей времени на экране (Matter of time)

Просто хочу сохранить эти файлы, чтобы в будущем вновь не заниматься их настройками под себя, в случае переустановки винды и т.п.

История появления

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

Тем неменее обсуждение внедрения многопоточности в Node.js всегда упиралось в сложность V8 и огромное количество неизвестных: как подключать нативные модули, разделять память, осуществлять коммуникацию между потоками и прочее. И пока разработчики искали с какой стороны подступиться к теме в вебе успешно был внедрен Worker API, который и стал ориентиром на начальных этапах. Разработка началась усилиями addaleax и была подхвачена сообществом.

В течение года велась активная работа, в процессе которой требования к дизайну были конкретизированы и API обрел собственные специфичные для Node.js черты, а сам модуль получил название worker_threads. Ниже я кратко опишу worker_threads в общих чертах, а для подробного изучения советую посетить страницу официальной документации.

[Обзор Enderal] Почти как Skyrim, но лучше


Один из главных, и наиболее проверенных, способов продлить жизнь игре является поддержка пользовательских модификаций. Моды открывают для игрока ранее неизведанный пласт контента, разнообразие которого ограничено только фантазией мододелов. Skyrim так и до сих пор живет не в последную очередь благодаря переизданиям своему гибкому для модификаций движку, из-за чего игра до сих пор обрастает фанатским контентом. Давайте на чистоту, если вы играли в Скайрим, то моды точно ставили, хотя бы на интерфейс. И когда я говорю о контенте, то я подразумеваю не только замену дракона на паровозика Томаса, но и целую отдельную игру. Игру со своим лором, сюжетом, системой прокачки, картой и т.д. И я больше скажу, игру абсолютно бесплатную. Если это не показатель гибкости движка, то я не знаю, что может им быть. И именно эта игра находится у меня на рассмотрении. Думаю, вы уже либо догадались, либо прочитали заголовок, но это обзор Enderal


Должен сказать, что Enderal даже не первая игра в цикле. Команда SureAI также имеет три проекта, которых с Эндералом объединяет две отличительные черты: они сделаны на движке игр Bethesda (Это моды, да). И они происходят в общей вселенной. Причина, по которой я беру именно Эндерал, кроется в видео на нашем любимом StopgameRu, которое было посещено модам именно на Скайрим. Ну а так как во втором выпуске идеального Скайрима Эндерал был упомянут вскользь, то это отличной повод сделать обзор прекрасной модификации. Однако, к другим играм цикла, а в особенности Нериму, я когда-нибудь еще вернусь. Как-то так

На самом деле, как я уже и писал выше, Enderal почти полностью самостоятельная игра. У нее свой мир, своя система прокачки, свой сюжет и т.д. Однако, единственное, что объединяет ее со Скайримом — это Скелет игры. В том смысле, что как бы она не отличалась, движок будет один, а значит если вы играли в Скайрим, то вам и так будет понятно, как играть в Эндерал. А если нет, то я вам не верю вы уж точно о нем слышали, и хоть какое-то представление о процессе у вас должно быть. Посему я хочу больше сосредоточиться на том, чем эта игра отличается от пятой части свитков.

Перво-наперво — это прокачка. Она не кардинально новая, но отличия есть. Начнем с того, что дерево прокачки навыков от частоты их использования ушло на нет. Отныне игрок получает очки навыков за каждый уровень. Потратить эти очки можно только с помощью специальных книг, которые разбросаны по миру и продаются у соответствующих торговцев. Хотя, первый вариант вы можете сразу забыть, ибо, скорее всего, найти книгу того навык и того уровня, который вам нужен вы не сможете. Я, по крайней мере, находил только бесполезные книги, из-за чего продавал их и покупал нужные, но может вам и повезет больше. Так же за левелап вы получаете очки воспоминаний. А вот за эту штуку вы уже можете прокачать себе перки, которые расположены на специальных столбах памяти, доступ к которым вы получаете с помощью медитации. На самом деле, это звучит закручено, но на деле это обычные деревья прокачки из Скайрима, только с немного другими перками. Вообще, главное отличие от свитков здесь в том, что за прокачку двух комбинируемых столба навыков вы получите престиж класс, который даст вам некоторые преимущества. Логично предположить, что этот Класс вы получите ближе к концу игры, но на деле, за всю игру я смог прокачать четыре столба, а престиж класс получил почти в начале. Очки воспоминаний, кстати, так же можно находить в книгах, но это большая редкость. В книгах, кстати, вы и найдете гайд о том, какие престиж классы есть в игре, так что советую читать книги по чаще. Серьезно, тут книги полезнее чем в жизни.



Чего-то не хватает, да?

Однако, главное, что делает прокачка в Эндерале — это не позволяет изучить все. Теперь у вас не выйдет создать маго-война-вора, а если и выйдет, то с ой какими ограничениями. И это делает игру заметно сложнее и интереснее. Если вы и сможете прокачать перки Война, мага и вора за одно прохождение, то скилпоинтов вам на все точно не хватит. Ближе к концу, конечно, можно прокачать навыков побольше, но к концу игры они уже будут бесполезны. Это делает игру гораздо интереснее и, даже, реиграбельнее, ибо есть смысл пробовать новые билды с новым прохождение. К тому же, противники от этого становятся сложнее, ибо подобрать идеальную тактику для каждого нельзя. И даже перед финалом, когда я считал себя неуязвимым, появились противники, которые так не считали. И это только на среднем уровне сложности. Особенно мне нравится система магической лихорадки, которая повышается из-за пользования лечащими зельями и заклинаниями. Понизить ее можно с помощью Амброзии, а ее игнорирование может привести не только к Дебафам, но и к смерти персонажа. Прибавьте еще и тот факт, что еда лечит только вне боя и, поздравляю, в игре восстановлен баланс. О выборе полурасы можете, кстати, особо не задумываться, ибо начальный бонус к любым навыком такой незначительный, что вы сразу же перестанете его замечать.



А вот прочтение книги заклинаний тут стоит ровным счетом ничего. Так что, прошу, список заклинаний, которыми я вообще не пользуюсь. А представьте, что было бы если бы я прокачивал магию.

Продолжая тему отличий от древних свитков, стоит поговорить о карте. Карта здесь гораздо меньше того же Скайрима. Я, конечно, с линейкой не ходил, но вот есть у меня такое ощущение. Однако, при всем при этом карта ощущается гораздо проработаннее. Чувствуется, что каждый сантиметр этого мира был сделан вручную, ибо его хочется и нужно изучать. Здесь очень много коллекционных предметов разной направленности, много визуального повествования и есть даже скрытые квесты, которые можно найти только при путешествии на своих двоих. Быстрого перемещения здесь вообще почти нет, но, если честно, это абсолютно не мешает, как по мне. Например, вы можете прочитать книгу, узнать о каком-то чудище, которое обитает где-то в пещерах и его неплохо было бы найти. Или вы можете просто бродить по локации и абсолютно случайно найти не примечательную записку, которая приведет вас в зал испытаний. Игра поощряет за свое исследование и делает все, чтобы ее мир был интересен. Мне подобный подход импонирует и, должен заметить, что Эндерал изучать гораздо интереснее чем Скайрим.



А это цикл Книг «Мясник из Арка». Все десять книг примерно походят на 80+ страниц реальной книги, а история достаточно интересная, чтобы их можно было прочесть. Единственный нюанс заключается в том, что эти книги разбросаны по всему Эндералу и чем дальше идет история, тем сложнее найти новые тома. Примерно о таких коллекционках я и говорю

Так же, вскользь упомяну о звуковом сопровождении и диалогах. Первое просто восхитительно. Вот, правда, Marvin Kopp(в основном) подарил нам просто восхитительную музыкальную составляющую игры. Музыка в Эндерале всегда задает нужное настроение и работает на атмосферу. К тому же, полный ост Скайрима длится 3 часа с лишним, а у Эндерала 5 часов. Делайте выводы. А вот про диалоги я много говорить не буду. Конечно, это не уровень Fallout или Planescape, но тут хотя бы есть навык риторики, который действительно используется в диалогах. Во всей серии TES красноречие толком было бесполезным, так что, опять же, делайте выводы.

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


На самом деле, мне кажется, это главная причина, по которой я считаю Эндерал лучше Скайрима. Так что название не совсем кликбейт на самом деле, каждый второй обзор на Enderal так называется. Конечно, новая ролевая система — это тоже хорошо, но эта модификация покорила меня именно благодаря своему Сценарию. И я говорю не только о главной истории, но и о второстепенных квестах, фракциях, лоре и т.д. Прямо сейчас я бы мог уже на этом остановится, сказав, что все тут в этом плане круто, но попробуем разобрать это все подробнее.

Начнем с самого начала, ведь уже здесь игре удается нас заинтриговать. Мы начинаем в каком-то живописном, красочном и покрытом зеленью месте. Где, если повернуть, можно увидеть сожжение тел на кресте и алтарь темным богам. Потом еще мы встречаемся с нашим ? отцом?, который несет что-то невнятное и сгорает вместе с трупом оленя. Отличное начало, ничего не скажешь. В итоге это все равно оказался сон, но я уже на крючке. Мне интересно, что смогут показать дальше. И чем дальше, тем интереснее. Основная сюжетная линия сделана здесь не просто для галочки. Она под завязку набита действительно неожиданными ну или не очень сюжетными поворотами, моральными дилеммами и смертями персонажей. Ага, советую вам не затягивать с выполнением второстепенных квестов, ибо никогда не знаешь, кто умрет, а кто доживет до финала. Но, черт, к персонажам привязываешься. У них свои характеры и взгляды на мир, с ними можно поговорить, бродя по миру, а двоих из них, в лучших традициях, можно заромансить. Из-за этого очень печально, когда твой любимчик вдруг внезапно умрет.



Ну ты и соня.

У второстепенных квестов все прямо не так хорошо, но иногда они тоже могут привести к очень неоднозначным финалам. Однако, помимо обычных второстепенных квестов есть так же и второстепенные сюжетные линии. По сути, это череда заданий, которые объединены общим сюжетом. Главное их отличие от обычных поручений является система симпатии у персонажей. Суть в чем, у некоторых персонажей есть шкала симпатии, которая изменяется в зависимости от ваших действий. Обычно у NPC с такой шкалой есть своя биография, какая-нибудь цель в жизни и возможно их получиться заромансить все мы это любим. В главном сюжете, само собой, такие личности тоже присутствуют. Не то чтобы это какая-то новая игровая особенность, но сам факт ее наличия говорит о том, как можно подойти к созданию персонажа, чего у той же Bethesda не получалось должным образом. Смерть этих героев, вероятнее всего, уже будет только на вашей совести, так что аккуратнее. Единственное, что может смутить — это то, что не все эту шкалу используют, при ее наличии. Хотя, не то чтобы это прям важно.



Юслан это запомнит

Ну и пара слов о Лоре. Если сравнивать со свитками, то здесь он чуть более приземленный. Все представленные расы тут являются людьми, но у одной есть эльфийские уши, хотя эльфами их никто не называет. Вообще, мир Vyn чувствуется гораздо более приземленно по сравнению с Тамриэлем. Суть здесь даже не в этническом разнообразии, а во всех тех деталях, на которых этот мир строится. Понимаете, здесь хочется проводить больше параллелей со вселенной Dragon Age, с их отношением к магии и религии. Но при всем при этом, он все еще остается миром меньшим, по сравнению с миром свитков. Особенно если сравнивать летописи и карты обоих миров.



Думаю, здесь все наглядно

Если постараться найти главное отличие Эндерала от Скайрима, то можно прийти к одному довольно грубому выводу. У SureAI есть то, чего никогда не будет у Bethesda. У них, прошу прощения, есть яйца. Они могут то, что AAA игра никогда себе позволить не сможет. Это очень сложно объяснить без спойлеров, но, понимаете, у проекта, рассчитанного на массового потребителя есть определенные ограничения, которыми не обременен Enderal. Я, правда, чувствую себя очень скованно, не имея возможности объяснить это без спойлеров, но во время всего прохождения вы будете постоянно пялиться в монитор с открытом ртом и мыслью «А ведь Беседка так не сделала бы». А вот SureAI уже сделали. Смерти персонажей, нравственные вопросы и обстоятельства, над которыми вы не имеете власти. В общем, вы правда должны увидеть это сами. Поверьте, смерти персонажей — это только верхушка айсберга того, как игра может застать вас врасплох. И для жанра RPG, увы, это редкость. Особенно для фэнтези.


В этом разделе я буду говорить о недостатках игры. В принципе, это будет очень коротко, ибо действительно значительных недостатков в игре нет. По сути, единственная причина, по которой существует этот раздел — это не очень удачные попытки в объективность. Так что буду максимально краток.

На самом деле, главный недостаток игры берет свои корни из первоисточника -баги. Те самые знаменитые баги Creation Engine, которые многие игроки знают получше лора. Выбирайте на любой вкус. Есть обычные краши с периодичностью от 2 часов до 10 минут во время загрузок. Застывшие анимации и персонажи, которые застревают в дверях. А может лучше сломать нахер скрипт? Короче, это больная тема для любого проекта на Creation Engine. Баги могут варьироваться от очень бесящих, то ломающих всю игру, но благо автосохранения делаются достаточно часто. Не то чтобы это как-то сильно портило игру, но при долгих забегах может сильно надоедать.



Бесконечность не предел

Ну и камень в огород локализации. Локализации, прошу заметить, бесплатного мода. В смысле, ее наличие уже достижение, но раз уж я тут обозреваю весь мод, то скажу о каждом, на мой взгляд, важном аспекте. И в целом, локализация выполнена сносно. Все переведено верно, да и объем был большой, но в ней уж слишком много косяков. Где-нибудь переводчики сделают опечатку, из-за чего вместо точки будет стоять «ю», а слова повторяться. Иногда проскальзывают реплики исключительно на английском. Ну и в самом переводе есть нелогичности. Когда смысл текста переведен правильно, но текст и голос оригинала на фоне отличаются. Из-за этого можно немного сбиться. Но, повторюсь, хорошо, что русский язык здесь вообще есть.



А вот и главный костыль сценаристов Enderal. ГГ всегда будут вырубать при любом удобном случае, лишь бы двигать сюжет. Наш персонаж лежит в отключке так часто, что ощущение будто внезапные потери сознания — это его ахиллесова пята.

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


Знаете, Скайрим намного больше Эндерала по всем параметрам. У древних свитков больше карта, больше квестов, больше книг, больше всего. Но это тот самый случай, когда качество преобладает над количеством. При первом же запуске Enderal захватывает тебя с головой и чем дольше ты в нее играешь, тем сильнее увязаешь. Она меньше Skyrim, но при этом, не обеспокоенные возможной выручкой с продаж, команда SureAI смогла подарить нам проработанное до мельчайших деталь приключение, с хорошим сюжетом и проработанным геймплеем, показав уровень, до которого даже мастодонты из Bethesda не смогли дойти. И что самое важное — эта игра, ибо обычным модом ее не назовешь, раздается абсолютно бесплатно. Вы можете получить все эти эмоции абсолютно бесплатно и легально просто зайдя в мастерскую стима. Так что, почему бы вам не попробовать?

Релиз Node.js 10.5: мультипоточность из коробки


На прошлой неделе состоялся релиз Node.js версии 10.5.0, содержащий нововведение, чью значимость трудно переоценить, – поддержку многопоточности в виде модуля worker_threads. Сразу оговорюсь API находится в экспериментальной стадии и поэтому может измениться, но уже сейчас можно составить первое впечатление и получить представление о заложенных в его основу принципах и технологиях. А если у вас есть желание, то и поучаствовать в финализации интерфейса, написании кода или исправлении багов (список issues).

Описание

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

Так же как и в Worker API взаимодействие между главным и дочерним потоком осуществляется посредством передачи передаваемых (Transferrable) объектов посредством postMessage, что позволяет избежать проблем одновременного доступа, хоть и требует дополнительных обращений к памяти для копирования данных. При этом объекты вроде SharedArrayBuffer сохраняют свое поведение и не вызывают переаллокации.

Для того чтобы попробовать worker_threads в деле при запуске процесса необходимо указать специальный флаг:

Что лучше выбрать, мультипоточность или мультипроцессинг?

Появилась задача переписать одну вещь в проекте, собственно решили делать на питоне.
Суть задачи:
>1000 активных процессов (ну либо потоков, надо выбрать), которые будут долбиться на другие сервера, забирать данные, парсить и тд и тп, но операции в принципе быстрые, правда эти процессы должны висеть круглосуточно и не падать, разве что ребутиться или завершаться по требованию.

Собсна уже почитал тучу холиваров на эту тему, а так как у самого основной язык не python, то прошу помощи у сообщества, помогите определиться что лучше: больше тысячи процессов запущенных одновременно, но с удобством их менеджмента, либо один процесс с тысячью потоками?

  • Вопрос задан более трёх лет назад
  • 5292 просмотра
Вообще, то что вы описываете, очень хорошо решается на стеке Эрланга.

Nipheris

Алексей Уколов написали бы в ответ, я например с вами согласен) надо правда уточнить, что надо парсить, и есть ли нормальные библиотеки. Артём, что вам надо парсить? Станислав Макаров: в вопросе всё же про другое (потоки в Питоне), а это просто замечание, поэтому в комментариях.

Nipheris

Алексей Уколов ну в принципе да. С другой стороны, именно в таких случаях часто оправдывается изучение новой экосистемы) Станислав Макаров: да я не спорю, более того, если бы я так не считал, то и комментить бы не стал.
Это просто вопрос семантики и поддержания ордунга: если автор задаст вопрос "На каких технологиях делать такую систему?", я ни секунды сомневаться не стану и напишу ответ, а не комментарий. Маленький "фокус" питона, если захотите писать без фреймворка (scrapy и пр.), что один и тот же код создается и для многопоточной, и для многопроцессной задачи, отличаясь только используемым пакетом и классом (threading / multiprocrssing). Так что на этапе разработки можно пробовать оба варианта, и уже по ходу решить, что лучше.

Если вы не знакомы с Python, то для начала прочитайте про GIL - global interpreter lock.

Несколько лет назад выбор Python был бы оправдан. Но на сегодня я бы для решения такой задачи выбрал бы уже Go, а не Python.

Программировать на Go также просто как и на Python, а с параллельностью и конкурентностью у Go гораздо проще чем у Python.

Имхо, если язык не заточен на конкурентность - не Erlang, не Go и т.п. - то лучше запускать несколько экземпляров вашего приложения. По одному экземпляру на 1 физическое ядро.

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

У меня проект на Go прекрасно держит и 15 000 одновременных постоянных соединений, к примеру.
На слабом современном сервере (4 ядра, 4 гигабайта оперативки).

Пример

Читайте также: