Игры

Игры

Подписчиков: 6194     Сообщений: 391570     Рейтинг постов: 3,990,791.8

NatalieDeCorsair Postal Игры Monster Girl арт барышня art Vaughn BL персонажи Borderlands Original Character ...furry artist artist 

NatalieDeCorsair,furry artist,artist,Postal,Игры,Monster Girl,monster girl,арт барышня,арт девушка, art барышня,art,арт,Vaughn,BL персонажи,Borderlands,Original Character,OC,NatalieDeCorsair,furry artist,artist,Postal,games,Monster Girl,art girl,art,Vaughn,Borderlands,original character
Развернуть

yinabyna Elster (Signalis) SIGNALIS Игры Ariane (Signalis) 

yinabyna,Elster (Signalis),Эльстер,SIGNALIS,Игры,Ariane (Signalis),Ариана Ен

Развернуть

fischlich Falke (Signalis) SIGNALIS Игры 

fischlich,Falke (Signalis),Фальке,SIGNALIS,Игры

Развернуть

WellenKatze Astarion Baldur's Gate Игры Gale Karlach Lae'zel Shadowheart Wyll Dungeons & Dragons ...Baldur's Gate 3 

WellenKatze,Astarion,Астарион,Baldur's Gate 3,Балдур Гейт 3,Baldur's Gate,Игры,Gale,Гейл,Karlach,Карлах,Lae'zel,Лаэзель,Shadowheart,Шедоухарт,Wyll,Уилл,Dungeons & Dragons,Подземелья и Драконы, D&D, dnd, днд,WellenKatze,Astarion,Baldur's Gate 3,Baldur's

WellenKatze,Astarion,Астарион,Baldur's Gate 3,Балдур Гейт 3,Baldur's Gate,Игры,Gale,Гейл,Karlach,Карлах,Lae'zel,Лаэзель,Shadowheart,Шедоухарт,Wyll,Уилл,Dungeons & Dragons,Подземелья и Драконы, D&D, dnd, днд,WellenKatze,Astarion,Baldur's Gate 3,Baldur's

WellenKatze,Astarion,Астарион,Baldur's Gate 3,Балдур Гейт 3,Baldur's Gate,Игры,Gale,Гейл,Karlach,Карлах,Lae'zel,Лаэзель,Shadowheart,Шедоухарт,Wyll,Уилл,Dungeons & Dragons,Подземелья и Драконы, D&D, dnd, днд,WellenKatze,Astarion,Baldur's Gate 3,Baldur's

Развернуть

Cyberpunk 2077 Игры Игровая эротика peterchai58 

Cyberpunk 2077,Игры,Игровая эротика,peterchai58

Cyberpunk 2077,Игры,Игровая эротика,peterchai58

Cyberpunk 2077,Игры,Игровая эротика,peterchai58

Развернуть

Daan (F&H) Fear and Hunger Игры Marina (F&H) Levi (F&H) I_missed_window 

 . ITS TèA,Daan (F&H),Даан,Fear and Hunger,Fear & Hunger, F&H, ФиХ, Страх и Голод, Страхоголод,Игры,Marina (F&H),Марина ,Levi (F&H),Леви,I_missed_window

м ЗПЛ2,Daan (F&H),Даан,Fear and Hunger,Fear & Hunger, F&H, ФиХ, Страх и Голод, Страхоголод,Игры,Marina (F&H),Марина ,Levi (F&H),Леви,I_missed_window

Развернуть

Azazel (Helltaker) Helltaker Игры Игровая эротика Nikky's Art 

Azazel (Helltaker),アザゼル, 아자젤, Азазель, Любопытный Ангел,Helltaker,Игры,Игровая эротика,Nikky's Art

Развернуть

pinenut sn Texas (Arknights) Arknights Игры Lappland (Arknights) Animal Ears Игровая эротика Arknights yuri Arknights shipping 

pinenut sn,Texas (Arknights),テキサス(アークナイツ), 德克萨斯 (明日方舟), 텍사스 (명일방주), Техас,Arknights,明日方舟, アークナイツ, 명일방주, аркнайтс,Игры,Lappland (Arknights),ラップランド(アークナイツ), 拉普兰德 (明日方舟), 라플란드 (명일방주), Лаппланд,Animal Ears,Игровая эротика,Arknights yuri,Arknights shipping
Развернуть

pinenut sn Texas (Arknights) Arknights Игры Animal Ears 

pinenut sn,Texas (Arknights),テキサス(アークナイツ), 德克萨斯 (明日方舟), 텍사스 (명일방주), Техас,Arknights,明日方舟, アークナイツ, 명일방주, аркнайтс,Игры,Animal Ears
Развернуть

Factorio Игры Factorio Dev Diary 

Factorio Dev Diary #408 - Statistics improvements, Linux adventures

Factorio,Игры,Factorio Dev Diary

Статистика(Клонан)

Любите ли вы наблюдать за тем, как растут ваши производственные графики, так же, как и мы?

График аккумулятора

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

Было бы полезно и удобно видеть статистику уровня заряда аккумулятора, поэтому мы добавили такую ​​информацию:

Electric network info
P X
Satisfaction о
Production в
Accumulator charge о
580 MW / 580 MW
580 MW / 580 MW
34.2 GJ / 47.5 GJ
Consumption
Production
892M 1 C |\ Л	1						
1 /DDlVI 637M 510M 1 OQ*)|\/l		L			TOn * /		
					/		M /
					TO		
IdozIVI 1 “îccm				h\ 1 \			,. j
IzDDlVI 1 i

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

■iiiiiiiiiiiiiiiiiiiiiinm
1000h
03 All (separate)
03 All (separate)
Electric network info
Satisfaction e
Production e
Accumulator charge о
125 MW/33.2 GW
1.3 GJ / 1.6 GJ
Consumption
Production
301 kW
26.8 MW
36.6 MW
25.7 MW
247 kW
19.2 MW
Accumulator charge															03 All

Научный график

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

Поэтому мы добавили новый специальный элемент в статистику производства, который показывает общее количество произведенной «Науки».

Factorio,Игры,Factorio Dev Diary

Производство по мирам

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

Например, на платформах нам нужно знать, производим ли мы достаточно топлива и боеприпасов, чтобы поездка продолжалась:

hW-wi.
MfM|
Platform Vulcanus supply production
5s	1m	10m	1h	10h	50h	250h	1000h	All
Items
Fluids Buildings Pollution
Production
Global statistics
All (separate) ▼
Consumption
Global statistics
All (separate) ▼
2.0k
1.8k
1.5k
1.2k
877
584
292
,„X ,	fll Ai	A j\ A n f Tv Î1A.A „Jt_

И это очень полезно при проверке того, достаточно ли производит конкретная планета, когда некоторые предметы создаются во многих местах.



Global statistics
															r	
									LC—						v__.	/
									j							/
							Cl								vn	
							)		[E				/		ri	
					jß		J~ 1						I		t	
lid Consumption
I 6.0k
I 5.1k
/	I 43k
I 3.4k
I 2.6k
I 1-7k
— I 851	□
Global statistics
I (separate) ▼ o

Мы также добавили флажок для переключения в режим просмотра «Глобальная статистика», чтобы игроку были доступны все возможности.

Global production
		
1>5M	•fe'75	z /.D/m
'	’		
		
946 k	■	 ybk/m 	 273		 ¿1.61 m
		
918k	■	 yzK/m r^?r 	 Jæto	z //m
■O:	43k/m	25.3/m,Factorio,Игры,Factorio Dev Diary

График качества

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

Factorio,Игры,Factorio Dev Diary

Так что вы думаете? Есть ли какие-либо другие улучшения статистики в версии 2.0, которые могут  прийти вам в голову?

Linux-приключения(Рейгард)

Я уже появлялся в нескольких FFF, но никогда официально не представлялся. Меня зовут Рейгард. Я играю в Factorio с июня 2017 года, делаю моды для игры с момента выпуска версии 0.17 в марте 2019 года и, наконец, присоединился к Wube в марте 2023 года. Мои основные обязанности в компании — программирование расширений и поддержка Linux, а также представление интересов сообщества мододелов. Я ежедневно использую Linux в течение нескольких лет и все глубже погружаюсь в черную дыру настройки и минимализма.

«Почему большинство игр не поддерживают macOS и Linux?» — это мнение, которое я часто вижу в Интернете. Поддержка новой платформы — это гораздо больше, чем просто изменение некоторых флагов и компиляция. Windows, macOS, Linux и Nintendo Switch используют разные компиляторы, разные реализации стандартной библиотеки C++ и имеют разные особенности реализации, ошибки и функции. Вам необходимо настроить CI для новой платформы, расширить систему сборки для поддержки новых компиляторов и архитектуры, а также иметь в команде хотя бы одного человека, который достаточно заботится о платформе, чтобы активно ее поддерживать. Если вы занимаетесь видеоиграми, вам, вероятно, потребуется добавить поддержку другого графического интерфейса (Vulkan или OpenGL), поскольку DirectX является эксклюзивным для Windows.

Многие разработчики, взглянув на долю рынка Windows , решат, что поддержка других платформ не стоит усилий. Кроме того, с стремительным ростом Steam Deck и Proton разработчикам игр стало легче, чем когда-либо, игнорировать поддержку Linux, потому что Valve прибегает к черной магии, которая все равно позволяет их игре работать.

Factorio так хорошо поддерживает macOS и Linux, потому что в Wube всегда был кто-то, кто активно использует эти платформы и готов взять на себя бремя их поддержки. Наша встроенная поддержка Apple Silicon — отличный тому пример. Сегодня я расскажу вам о некоторых приключениях, которые произошли со мной при поддержке Linux в Factorio.

Wayland 

Моей первой задачей после присоединения к команде было добавить в игру поддержку Wayland . Wayland — это новый протокол отображения, который разрабатывается для замены устаревшей и небезопасной системы X11 . Современные дистрибутивы Linux начинают переключаться на Wayland по умолчанию, поэтому поддержка его в Factorio имеет первостепенное значение.

Мы используем библиотеку SDL , которая аккуратно обрабатывает большинство низкоуровневых системных взаимодействий и абстрагирует их в общий интерфейс. SDL поддерживает Wayland, поэтому все, что мне теоретически нужно было сделать, — это собрать SDL с включенным Wayland, и он «просто заработает». Однако это не совсем просто подключи и работай. Wayland предоставляет «протоколы» в виде XML-файлов, которые вы затем используете в wayland-scanner двоичном виде для преобразования в программу C и файлы заголовков.

Поскольку в то время я был относительно новичком в C++, мое первоначальное решение было запутанным и включало проверку сгенерированных протоколов Wayland в нашем дереве исходных кодов, чтобы их можно было регенерировать вручную каждый раз, когда мы обновляли SDL. Несколько месяцев назад, вооружившись многолетним опытом, я улучшил этот рабочий процесс, чтобы автоматически генерировать файлы как часть процесса сборки, чтобы они всегда были актуальными с XML-файлами протокола, с которыми поставляется SDL.

Factorio поддерживает Wayland с версии 1.1.77, но его необходимо явно включить, настроив SDL_VIDEODRIVER=wayland в вашей среде. Для Factorio 2.0 я добавил раскрывающийся список для выбора ваших предпочтений в графическом интерфейсе:

X11 (слева) и Wayland (справа) с масштабом дисплея рабочего стола, установленным на 125%.
Обратите внимание, как игра отображается с собственным разрешением дисплея при работе под Wayland.

Graphics settings
General
■ Fullscreen Q Wait for VSync fl Show all smoke o Q Show clouds Q Show fog Q Show decoratives Q Show particles Q Show item shadows Q Show inserter shadows Q Show animated water o Q Show animated trees o
Advanced
Minimize on focus loss o fl High-quality animations o fl

Оформление окон на стороне клиента

Как только поддержка Wayland была реализована, я получил отчет об ошибке , в котором говорилось, что в окне отсутствовала строка заголовка и кнопки закрытия (так называемые «декорации окна») при работе в GNOME . Большинство сред рабочего стола позволяют окнам предоставлять свои собственные украшения, если они того пожелают, но в качестве альтернативы предоставляют реализацию по умолчанию на стороне сервера. GNOME в своей бесконечной мудрости решили, что все клиенты должны предоставлять свои собственные украшения, а если клиент этого не сделает, они просто пропадут. Я не согласен с этим решением; Factorio не нуждается в оформлении какой-либо другой платформы, более того, в любой другой среде рабочего стола, но GNOME может (ab) использовать свою популярность, чтобы заставить программы соответствовать его особенностям или остаться позади.

Чтобы исправить это, мне пришлось добавить еще одну зависимость — libdecor . Он работает, и SDL даже поддерживает его, но видеоигра вообще не должна обеспечивать оформление окон.

В игре появились украшения, но тема не соответствует. Спасибо, ГНОМ!

Main menu
Continue make bwuhuo great again
Single player
Multiplayer
Map editor
Settings
Mods
About
Exit
FrICT 1.2.8 (build		■OrS ligip)	Q		
					
CD £) Home				• • •	cs
Name			Size	Modified	
| bin			18 items	16 Apr 2024	☆
desktop			0 items	9 Feb 2024	☆
| dev			8 items	27 Feb 2024	☆

Захваты при изменении размера окна

Видео стоит больше тысячи слов:

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

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

Динамически подключаемые библиотеки

В программе C++ существует три способа загрузки/подключения библиотеки:

Включив его в исходный двоичный файл (статическое связывание).Загрузка системы при запуске вашей программы (динамическое связывание).Ваша программа загружает его явно после запуска («динамическая загрузка» или то, что я называю «связыванием во время выполнения»).У нас есть множество библиотек, таких как SDL, FontStash и Lua, которые скомпонованы статически, но в Factorio 1.1 также есть много динамически скомпонованных библиотек.

Среди этих библиотек — X11 и PulseAudio, которые устарели в пользу Wayland и PipeWire соответственно. Это вызывает кошмар совместимости, поскольку если какие-либо динамические зависимости отсутствуют, игра не запустится. Это явно не подойдет!

Наличие этих зависимостей меня смутило, поскольку мы используем SDL для большинства низкоуровневых системных вызовов, аудио и видео, а SDL полностью полагается на связывание во время выполнения. Расследование показало, что источником большинства этих зависимостей является Allegro , низкоуровневая библиотека, которую мы использовали на протяжении большей части альфа-фазы Factorio, но с тех пор заменили на SDL. Единственное оставшееся использование Allegro в версии 2.0 было в качестве вторичного аудио-сервера на случай, если у пользователя возникли проблемы с аудио-сервером SDL, но сервер SDL был стабильным в течение очень долгого времени, поэтому настало время для его удаления. Это исключило из игры 123 024 строки кода и резко сократило количество динамических зависимостей:

Проблемы с буфером обмена

Оказывается, Allegro — не единственное, что требовало от нас связывания с X11. Еще в 2017 году мы получили сообщение об ошибке , в котором пользователь не мог вставить большие строки чертежей в игру, и Oxyd исправил это, добавив поддержку инкрементной передачи данных из буфера обмена X11 в обработчик буфера обмена нашего графического интерфейса.

Я надеялся использовать встроенную в SDL функциональность буфера обмена, но, к сожалению, SDL не поддерживает инкрементную передачу. Это означает, что есть три варианта:

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

Как вы могли догадаться, я выбрал третий вариант. Работа над улучшением нашего кода продолжается, но она должна быть завершена к выпуску Factorio 2.0.

Асинхронное сохранение

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

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

Я бы хотел продвинуть эту функцию из ее скрытого статуса в версии 2.0. Если вы играете на Linux или macOS, включите асинхронное сохранение (ctrl+alt+нажмите «Настройки» -> «Остальное» -> non-blocking-saving) и сообщайте о любых обнаруженных проблемах. Меня особенно интересует воспроизведение, казалось бы, случайного зависания , которое происходит в конце процесса. Заранее спасибо!

Постоянное развитие

Это был лишь краткий обзор работы, которую я проделал, чтобы обеспечить наилучшее качество Factorio для Linux. По-прежнему существует много открытых отчетов об ошибках и других проблемах, но в целом я доволен положением вещей и могу с уверенностью сказать, что у Factorio отличная поддержка Linux.

Как всегда, отправьте текстовый буфер с вашими отзывами в привычные места:

Форум Редит
Развернуть
В этом разделе мы собираем самые интересные картинки, арты, комиксы, статьи по теме Игры (+391570 картинок, рейтинг 3,990,791.8 - Игры)