- Добро пожаловать на наш сайт. Сайт представлен в дизайне Linux интерфейса KDE 5.20 Breeze. Сайт работает в открытом бета тесте.
- Данный сайт работает только под формат ПК. Регистрация через соц. сети работает только с Оф.Сайта Lillium.RU на поддоменах где-то работает, а где-то нет.
- Нашел ошибку пишу СЮДА
Вход








Категории
Комментарии
Календарь
«    Май 2021    »
ПнВтСрЧтПтСбВс
 12
3456789
10111213141516
17181920212223
24252627282930
31 
Опрос
Оцените работу движка

Оформление
Реклама
Реклама
^^^ Наверх ^^^
Каталог Музыки
Microsoft Edge Canary упрощает доступ к страницам «Избранное», «История» и «Загрузки»
Microsoft Edge Canary упрощает доступ к страницам «Избранное», «История» и «Загрузки»

В прошлом году Microsoft представила несколько значительных улучшений в разделах «Избранное», «История» и «Загрузки» в новом браузере Edge. Компания объявила, что продолжает совершенствовать этот опыт, чтобы упростить пользователям управление этими страницами. Новое обновление уже доступно в Edge Canary версии 91.0.851.0 или новее.

Благодаря этому новому опыту Microsoft предоставляет пользователям еще несколько способов быстрого доступа к полной странице избранного, истории и загрузок в браузере. Во-первых, теперь инсайдеры Edge смогут нажать клавишу Ctrl и нажать кнопку «Избранное»/«История»/ «Загрузки» на панели инструментов, чтобы открыть полную страницу.



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





Как заметил пользователь под ником «Leopeva64-2», команда Edge Insider также улучшила страницу «Внешний вид» в настройках. Теперь пользователи могут выбирать, какие кнопки будут отображаться на панели инструментов, а также изменять настройки шрифта в браузере.

Microsoft Edge Canary упрощает доступ к страницам «Избранное», «История» и «Загрузки»


Ещё была замечена новая иконка на странице новой вкладки.
Раскрыты все подробности о Surface Laptop 4
Раскрыты все подробности о Surface Laptop 4

Ресурс WinFuture раскрыл все подробности о Surface Laptop 4 за несколько недель до его официального выпуска.

Согласно их источникам, 13.5-дюймовая модель Surface Laptop 4 и 15-дюймовая модель Surface Laptop 4 внешне идентичны Surface Laptop 3.


13.5-дюймовая модель Surface Laptop 4



15-дюймовая модель Surface Laptop 4


Основные изменения носят внутренний характер: 13.5- и 15-дюймовые ноутбуки оснащены процессорами Intel Core 11-го поколения и новыми процессорами AMD Surface Edition.

Другим важным изменением оборудования является люк для доступа, так что твердотельные накопители PCIe-NVMe-SSD можно легко заменить, как на Surface Pro 7+.

Цены на Surface Laptop 4

• Surface Laptop 4 13.5 i5 8 ГБ 512 ГБ: €1499;
• Surface Laptop 4 13.5 i5 16 ГБ 512 ГБ: €1699 (?);
• Surface Laptop 4 13.5 i7 16 ГБ 512 ГБ: €1899;

• Surface Laptop 4 13.5 Ryzen 5 SE 8 ГБ 256 ГБ: €1149;
• Surface Laptop 4 13.5 Ryzen 5 SE 16 ГБ 256 ГБ: €1399;

• Surface Laptop 4 15 i7 16 ГБ 512 ГБ: €1999;
• Surface Laptop 4 15 i7 32 ГБ 1 ТБ: €2699 (?);

• Surface Laptop 4 15 Ryzen 7SE 8 ГБ 256 ГБ: €1499;
• Surface Laptop 4 15 Ryzen 7SE 8 ГБ 512 ГБ: €1699;
• Surface Laptop 4 15 Ryzen 7SE 16 ГБ 512 ГБ: €1899;

Дата выпуска Surface Laptop 4

Ожидается, что Surface Laptop 4 поступит в продажу 27 апреля 2021 года. Перед этим Microsoft должна провести мероприятие по его анонсу.

Характеристики Surface Laptop 4

8 сетевых командных инструментов Windows 10, которые нужны каждому пользователю
8 сетевых командных инструментов Windows 10, которые нужны каждому пользователю

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

В системе Windows 10 можно легко подключиться к сети и интернету с помощью проводного или беспроводного соединения. Однако иногда возникает необходимость управлять настройками вручную или устранять проблемы с подключением. Именно в таких случаях могут пригодиться встроенные инструменты командной строки.

Почти для любой проблемы Windows 10 предлагает инструмент командной строки. Например, ipconfig и ping являются одними из основных инструментов для просмотра сетевых настроек и устранения проблем с подключением. Если вы имеете дело с проблемой маршрутизации, команда route может показать текущую таблицу маршрутизации для изучения и определения проблем, а с помощью инструмента nslookup можно диагностировать проблемы DNS.

Ещё есть такие инструменты, как arp для устранения проблем с переключением и определения MAC-адреса по IP-адресу. Инструмент командной строки netstat позволяет просматривать статистику всех подключений. Можно задействовать инструмент netsh для отображения и изменения многих аспектов конфигурации сети, таких как проверка текущей конфигурации, сброс настроек, управление настройками Wi-Fi и Ethernet, включение или отключение брандмауэра и многое другое.

В этом руководстве по Windows 10 будут описаны восемь инструментов командной строки, которые дадут возможность управлять и устранять сетевые проблемы на компьютере и в сети.

1. IPConfig


В Windows 10 ipconfig (конфигурация интернет-протокола) является одним из наиболее распространённых сетевых инструментов, позволяющим запрашивать и отображать текущую конфигурацию сети TCP/IP (протокол управления передачей/интернет-протокол). Команда также содержит параметры для выполнения различных действий, таких как обновление параметров протокола динамической конфигурации хоста (DHCP) и системы доменных имен (DNS).

Показать конфигурацию сети
  1. Нажмите на кнопку «Пуск».
  2. Введите в поиск cmd и нажмите правой кнопкой мыши на «Запуск от имени администратора».
  3. Введите команду для просмотра информации о конфигурации сети TCP/IP и нажмите ввод:
    ipconfig


    Совет: в командной строке вы можете использовать команду cls, чтобы очистить экран после того, как вам больше не нужна информация от ipconfig.
  4. Введите следующую команду, чтобы просмотреть всю конфигурацию сети TCP/IP, и нажмите ввод:
    ipconfig /all


После выполнения этих действий вы получите обзор всей конфигурации TCP/IP на компьютере.

Обновление сетевых настроек


Чтобы сбросить и обновить конфигурацию сети с помощью командной строки, выполните следующие действия:
  1. Нажмите на кнопку «Пуск».
  2. Введите в поиск cmd и нажмите правой кнопкой мыши на «Запуск от имени администратора».
  3. Введите команду для удаления текущей конфигурации сети и нажмите ввод:
    ipconfig /release
  4. Введите команду для изменения конфигурацию сети и нажмите ввод:
    ipconfig /renew


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

Обновление настроек DNS


Для очистки и восстановления текущих записей кеша DNS в Windows 10, выполните следующие действия:
  1. Нажмите на кнопку «Пуск».
  2. Введите в поиск cmd и нажмите правой кнопкой мыши на «Запуск от имени администратора».
  3. Введите команду для очистки системного кеша DNS на устройстве и нажмите ввод:
    ipconfig /flushdns


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

2. Ping


Ping является ещё одним важным сетевым инструментом. Он позволяет отправлять сообщения эхо-запроса ICMP (Internet Control Message Protocol) для проверки IP-соединения с другими устройствами, будь то другой компьютер в локальной сети или интернет-сервис.

Проверка подключения устройства


Чтобы проверить подключение к сети с помощью команды ping, выполните следующие действия:
  1. Нажмите на кнопку «Пуск».
  2. Введите в поиск cmd и нажмите правой кнопкой мыши на «Запуск от имени администратора».
  3. Введите команду для отправки эхо-запроса ICMP для проверки подключения и нажмите ввод:
    ping IP-OR-DOMAIN


    В команде замените IP-OR-DOMAIN на фактический IP-адрес или доменное имя компьютера или службы, которую хотите протестировать.

    Например, следующая команда проверяет связь между локальным устройством и маршрутизатором:
    ping 10.1.4.1

    Совет: если вы используете параметр -a (например, ping -a 10.1.4.1), команда преобразует адрес в имя хоста.
  4. Необязательно. Введите команду для тестирования сетевого стека локального компьютера и нажмите ввод:
    ping 127.0.0.1 or ping loopback

    Примечание: 127.0.0.1 - это хорошо известный адрес, который называется адресом обратной связи. Когда вы запускаете команду, если вы получаете ответ, это означает, что сетевой стек в Windows 10 запущен и работает. Это то же самое, что пинговать устройство с использованием его собственного сетевого адреса.
После выполнения этих действий ожидается получение четырёх успешных эхо-ответов от пункта назначения. Это означает, что устройство может взаимодействовать с удалённым хостом. Если время ожидания запроса истекло, проблема может быть вызвана множеством причин.

Если вы столкнулись с проблемами подключения, начните проверять локальный компьютер, чтобы убедиться, что сетевой стек работает. Затем проверьте подключение к маршрутизатору, чтобы убедиться, что проблема не в локальной сети. Затем проверьте связь с веб-сайтом, чтобы узнать, есть ли проблема с подключением к интернету или удалённым хостом.

Если удалённое устройство или служба блокируют протокол ICMP, команда ping всегда будет отключаться по таймауту.

Диагностика активности потери пакетов


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

Чтобы запустить команду ping в определённое время, сделайте следующее:
  1. Нажмите на кнопку «Пуск».
  2. Введите в поиск cmd и нажмите правой кнопкой мыши на «Запуск от имени администратора».
  3. Наберите команду для выполнения пинга до остановки и нажмите ввод:
    ping IP-OR-DOMAIN -t

    В команде замените IP-OR-DOMAIN на фактический IP-адрес или доменное имя компьютера или службы, которую вы хотите протестировать.

    Например, эта команда проверяет связь между локальным устройством и маршрутизатором в течение 60 секунд:
    ping 10.1.4.1 -t


  4. Используйте сочетание клавиш Control + C, чтобы остановить проверку связи.
После выполнения этих действий вы сможете увидеть успешные и потерянные запросы. Это может подсказать, как продолжить устранять неполадки и решать проблемы с подключением. В локальной сети администраторы обычно используют команду ping, чтобы узнать, когда служба перестаёт работать. Кроме того, этот инструмент можно использовать как быстрый способ проверки, когда сервер снова запущен, при удалённом перезапуске сервера.

3. Tracert


Windows 10 также включает в себя tracert (Trace Route). Это диагностический инструмент для определения сетевого пути к месту назначения с помощью серии эхо-запросов ICMP. Однако, в отличие от команды ping, каждый запрос включает значение TTL (время жизни), которое увеличивается на единицу каждый раз, что позволяет отображать список пройденного маршрута и продолжительность.

Чтобы отследить маршрут до пункта назначения с помощью командной строки, выполните следующие действия:
  1. Нажмите на кнопку «Пуск».
  2. Введите в поиск cmd и нажмите правой кнопкой мыши на «Запуск от имени администратора».
  3. Введите команду, чтобы понять путь к месту назначения, и нажмите ввод:
    tracert IP-OR-DOMAIN


    В команде замените IP-OR-DOMAIN на фактический IP-адрес или доменное имя пункта назначения, для которого требуется устранить неполадки.

    Например, эта команда позволяет просмотреть путь, по которому пакеты достигают Google.com:
    tracert google.com

  4. Необязательно. Введите команды для настройки количества прыжков до места назначения и нажмите ввод:
    tracert -h HOP-COUNT IP-OR-DOMAIN


    В команде замените IP-OR-DOMAIN на фактический IP-адрес или имя домена пункта назначения, неполадки с которым вы хотите решить, и HOP-COUNT для количества переходов, которые вы хотите отслеживать.

    Например, следующая команда устанавливает ограничение в пять переходов (узлов) до пункта назначения:
    tracert -h 5 google.com
После выполнения этих действий вы узнаете, доступен ли пункт назначения или возникла проблема с сетью на этом пути.
Подобно инструменту ping, tracert включает в себя несколько параметров, которые можно просмотреть с помощью команды tracert /? команда.

4. NSLookup


Инструмент nslookup (поиск сервера имён) может отображать ценные сведения для поиска и устранения связанных с DNS проблем. Инструмент включает в себя интерактивный и неинтерактивный режимы. Чаще всего вы будете использовать неинтерактивный режим, что означает, что вы будете вводить полную команду для получения необходимой информации.

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

Чтобы начать работу с nslookup в Windows 10, выполните следующие действия:
  1. Нажмите на кнопку «Пуск».
  2. Введите в поиск cmd и нажмите правой кнопкой мыши на «Запуск от имени администратора».
  3. Введите команду для поиска локального DNS-имени и адреса, нажмите ввод:
    nslookup


    Примечание: эта команда также используется для открытия интерактивного режима nslookup.
  4. Подтвердите текущую информацию DNS.
  5. Введите следующую команду для выхода из интерактивного режима и нажмите ввод:
    exit
  6. Введите команду для определения имени и адреса конкретного сервера, нажмите ввод:
    nslookup IP-ADDRESS


    В команде замените IP-ADDRESS на адрес удалённого устройства.

    Например, эта команда ищет IP-адрес 172.217.165.142:
    nslookup 172.217.165.142
  7. Введите команду для определения адреса конкретного сервера и нажмите ввод:
    nslookup DOMAIN-NAME


    В команде замените DOMAIN-NAME на адрес удалённого устройства.

    Например, эта команда ищет IP-адрес Google.com:
    nslookup google.com
После выполнения этих действий, в зависимости от команды, вы узнаете, есть ли у устройства преобразователь DNS и IP-адрес или домен, и наоборот, удалённый хост.

5. NetStat


Инструмент netstat (Сетевая статистика) отображает статистику всех сетевых подключений. Это позволяет видеть открытые и подключенные порты, чтобы отслеживать и устранять сетевые проблемы для Windows 10 и приложений.

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

Чтобы начать работу с netstat:
  1. Нажмите на кнопку «Пуск».
  2. Введите в поиск cmd и нажмите правой кнопкой мыши на «Запуск от имени администратора».
  3. Введите команду для отображения всех активных TCP-подключений и нажмите ввод:
    netstat


  4. Необязательно. Введите команду для отображения активных подключений, показывающую числовой IP-адрес и номер порта вместо попытки определить имена, и нажмите ввод:
    netstat -n


  5. Необязательно. Введите команды для обновления информации через определённый промежуток времени и нажмите ввод:
    netstat -n INTERVAL

    В команде не забудьте заменить INTERVAL на число секунд, через которое информация должна повторно отобразится.

    В этом примере запрашиваемая команда обновляется каждые пять секунд:
    netstat -n 5


    Примечание: при использовании интервала можно завершить команду с помощью сочетания клавиш Ctrl + C в консоли.
После запуска команды она отобразит список всех активных подключений в четырех столбцах, включая:
• Proto: отображает протокол подключения, включая TCP или UDP.
• Локальный адрес: отображает IP-адрес устройства, за которым следует точка с запятой с номером порта подключения. Двойная точка с запятой внутри скобок указывает на локальный IPv6-адрес. Адрес «0.0.0.0» также относится к локальному адресу.
• Внешний адрес: показывает IP-адрес (или полное доменное имя) удалённого компьютера с номером порта после имени порта и точки с запятой (например, https, http, microsoft-ds, wsd).
• Состояние: показывает, активно ли соединение (установлено), был ли порт закрыт (time_wait), программа не закрыла порт (close_wait). Другие доступные статусы включают в себя include, closed, fin_wait_1, fin_wait_2, last_ack, listen, syn_received, syn_send и timed_wait.

6. ARP


Windows 10 поддерживает таблицу arp (протокол разрешения адресов), в которой хранятся записи IP в Media Access Control (MAC), разрешённые системой. Инструмент arp позволяет просматривать всю таблицу, изменять записи и использовать её для определения MAC-адреса удалённого компьютера.

Обычно о MAC-адресах не нужно беспокоиться, но есть сценарии, когда эта информация может пригодиться. Например, при устранении сетевых проблем на уровне канала передачи данных (коммутации) или при ограничении доступа или фильтрации контента через сеть для определённых устройств.

Чтобы начать работу с arp в Windows 10, выполните следующие действия:
  1. Нажмите на кнопку «Пуск».
  2. Введите в поиск cmd и нажмите правой кнопкой мыши на «Запуск от имени администратора».
  3. Введите следующую команду, чтобы просмотреть текущий кеш таблицы arp в Windows 10, и нажмите ввод:
    `arp -a'


    4. Введите команды для определения MAC-адреса удалённого устройства и нажмите ввод:
    arp -a IP


    В команде замените IP на адрес места назначения.

    Например, эта команда показывает физический адрес пункта назначения 10.1.4.113:
    arp -a 10.1.4.108
  4. Подтвердите MAC-адрес (физический) удалённого устройства.
После выполнения этих шагов вы сможете просмотреть всю таблицу arp и MAC-адрес определённого IP-адреса.
Если вы хотите узнать все доступные параметры, используйте команду arp /? , чтобы вывести список всех параметров с описаниями.

7. Route


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

Как и в случае с инструментом arp, обычно не нужно беспокоиться о таблице маршрутизации. И всё же, этот инструмент командной строки пригодится при устранении проблем.

Чтобы просмотреть или очистить таблицу маршрутизации в Windows 10, выполните следующие действия:
  1. Нажмите на кнопку «Пуск».
  2. Введите в поиск cmd и нажмите правой кнопкой мыши на «Запуск от имени администратора».
  3. Введите команду для просмотра таблицы маршрутизации в Windows 10 и нажмите ввод:
    route print


  4. Подтвердите информацию таблицы маршрутизации.
  5. Необязательно. Введите команду для очистки таблицы маршрутизации и нажмите ввод:
    route -f


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

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

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

8. Netsh


В Windows 10 netsh (сетевая оболочка) - это устаревший инструмент командной строки, который позволяет отображать и изменять практически любую сетевую конфигурацию. Например, вы можете использовать этот инструмент для просмотра текущей конфигурации сети, управления беспроводными соединениями, сброса сетевого стека для устранения наиболее распространённых проблем, включения или отключения брандмауэра и многого другого.

Чтобы начать работу с инструментом командной строки netsh, выполните следующие действия:
  1. Нажмите на кнопку «Пуск».
  2. Введите в поиск cmd и нажмите правой кнопкой мыши на «Запуск от имени администратора».
  3. Введите команду для просмотра списка доступных команд (контекстов) и нажмите ввод:
    netsh /?


    Введите следующую команду, чтобы просмотреть список доступных подкоманд (подконтекстов) для конкретной опции, и нажмите ввод:
    netsh CONTEXT-COMMAND

    В команде измените CONTEXT-COMMAND на команду, которая содержит дополнительные параметры.

    Например, эта команда показывает команды, доступные для управления брандмауэром с помощью netsh:
    netsh advfirewall /?


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

Сброс системного сетевого стека


Чтобы сбросить сетевой стек для решения распространённых проблем с подключением, выполните следующие действия:
  1. Нажмите на кнопку «Пуск».
  2. Введите в поиск cmd и нажмите правой кнопкой мыши на «Запуск от имени администратора».
  3. Введите следующую команду для сброса стека winsock и нажмите ввод:
    netsh winsock reset


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

Экспорт и импорт конфигурации сети


Чтобы экспортировать конфигурацию сети с помощью netsh в Windows 10, выполните следующие действия:
  1. Нажмите на кнопку «Пуск».
  2. Введите в поиск cmd и нажмите правой кнопкой мыши на «Запуск от имени администратора».
  3. Наберите команду для импорта текущей конфигурации для всех сетевых адаптеров и нажмите ввод:
    netsh -c interface dump>PATHTOEXPORTED.txt

    В команде замените PATHTOEXPORTED.txt на путь и имя файла для хранения конфигурации.

    Например, следующая команда экспортирует настройки в файл netshconfig.txt:
    netsh -c interface dump>c:netshconfig.txt


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

Импорт конфигурации сети


Чтобы импортировать параметры конфигурации сети с помощью netsh, выполните следующие действия:
  1. Нажмите на кнопку «Пуск».
  2. Введите в поиск cmd и нажмите правой кнопкой мыши на «Запуск от имени администратора».
  3. Наберите команду для импорта конфигурации сети и нажмите ввод:
    netsh -c interface dump>PATHTOIMPORTED.txt


    В команде замените PATHTOEXPORTED.txt на путь и имя файла конфигурации.

    Например, следующая команда импортирует настройки из файла netshconfig.txt:
    netsh -f c:netshconfig.txt


После завершения этих действий новая сетевая конфигурация будет импортирована и применена к Windows 10.

Включение и отключение брандмауэра


Чтобы включить брандмауэр Windows 10 с помощью netsh, выполните следующие действия:
  1. Нажмите на кнопку «Пуск».
  2. Введите в поиск cmd и нажмите правой кнопкой мыши на «Запуск от имени администратора».
  3. Наберите команду включения брандмауэра по умолчанию и нажмите ввод:
    netsh advfirewall set currentprofile state on


После выполнения этих действий на устройстве включится брандмауэр Защитника Windows.

Отключение брандмауэра


  1. Нажмите на кнопку «Пуск».
  2. Введите в поиск cmd и нажмите правой кнопкой мыши на «Запуск от имени администратора».
  3. Наберите команду выключения брандмауэра по умолчанию и нажмите ввод:
    netsh advfirewall set currentprofile state off


После выполнения этих действий брандмауэр Защитника Windows на устройстве будет выключен.

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

В течение последних нескольких месяцев Microsoft работала над дополнительной функцией под названием «Новости и интересы», которая будет отображать новости, подобные Google Discover, и истории на основе интересов на панели задач. Помимо новостей, Microsoft также будет отображать подробную информацию о погоде.

Эта функция является частью Windows Search и Shell, и ее можно обновить с помощью небольших обновлений Windows. Фактически, Microsoft также может улучшить базовый пользовательский интерфейс и добавить незначительные новые функции с помощью обновлений на стороне сервера, которые распространяются с помощью службы поиска Windows.

В последнем обновлении ленты новостей панели задач Windows 10 Microsoft представляет поддержку полноценной панели персонализации. Чтобы получить доступ к новому меню персонализации, вам нужно нажать кнопку «Управление интересами», которая запустит Microsoft Edge, чтобы помочь пользователям выбрать интересующие их темы.


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


Если вы выберете тему и нажмете кнопку «Подписаться», вы увидите больше историй о ней. Если вам не нравится история, вы можете щелкнуть правой кнопкой мыши, чтобы скрыть ее.

Также есть новая страница «Мои интересы», которая была разработана для настройки вашей ленты путем добавления издателей из новостной сети Microsoft. Среди избранных издателей – Fast Company, Bloomberg CNN, Fox News и другие.


Если вы передумаете, вы всегда можете управлять издателями из меню «Подписанные издатели» на левой панели навигации.

Помните, что вам нужно использовать Microsoft Edge (Chromium версия) для доступа к этим настройкам ленты новостей панели задач. Страница не может быть доступна через Google Chrome, Firefox или другие браузеры.

В настоящее время Microsoft внедряет эти улучшения для избранных тестировщиков в программе Windows Insider. Эта функция доступна только в некоторых странах. На момент написания этого фида на панели задач меню персонализации развертывается в США, Великобритании, Канаде, Австралии и Индии.

Глобальное развертывание запланировано на конец этого года, и в последнем объявлении Microsoft не сообщила никаких подробностей.

Канал новостей на панели задач и использование памяти


Когда функция включена, она по-прежнему будет работать в фоновом режиме, чтобы предоставить вам самую свежую информацию, когда вы откроете ее в следующий раз. В наших тестах мы заметили, что она может занимать до 150 МБ ОЗУ или более в зависимости от вашего оборудования и предлагаемого содержимого.

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

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



Ноутбуки и планшеты для детей


Обучающие гаджеты для детей: особенности



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



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



  • научить русскому и английскому алфавиту;

  • познакомить детей с арифметическими действиями и цифрами;

  • понимать и различать месяцы и дни недели.

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





Критерии выбора ноутбуков для детей



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



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

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

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

  • безопасность используемых материалов. В процессе изготовления выбранной модели должны использоваться только высококачественные гипоаллергенные и нетоксичные материалы. Товары от известных производителей в обязательном порядке проходят все необходимые проверки на соответствие принятым стандартам и нормам. Вот почему при покупке продукции лучше обращать внимание на изделия от проверенных торговых марок;

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

Использовать подобные игрушки можно с раннего возраста. Начиная с 2 лет у малыша данной возрастной категории уже имеется определенный багаж знаний и талантов, которые просто необходимо правильно развивать. А работая с умными гаджетами в ярком оформлении он будет с удовольствием самосовершенствоваться без стрессов и в веселой игровой форме.




Статья создана по материалам сайта Tomas.by.

Windows 10 Build 21354 доступна для загрузки
Windows 10 Build 21354 доступна для загрузки

Microsoft опубликовала новые ISO-образы Windows 10, но на этот раз они нацелены на пользователей, участвующих в программе Windows Insider.

Другими словами, новые образы включают в себя сборку Windows 10 Build 21354 и специально предназначены для того, чтобы предоставить инсайдерам простой способ начать установить систему с нуля, если им это необходимо.

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

Что нового в Windows 10 Build 21354


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

Теперь пользователи могут отключить адаптивное управление яркостью контента на экране настроек в Windows 10.
«CABC помогает повысить производительность батареи на ПК, но за счет снижения качества изображения. Это может привести к отвлекающим изменениям яркости, которые мешают работе, когда качество изображения имеет большое значение, например, для профессионалов, которым нужна точность цветопередачи. Возможность выключить CABC была очень востребованной функцией, и теперь участники программы предварительной оценки Windows могут отключить CABC прямо в настройках дисплея через приложение «Параметры» –> «Система» –> «Дисплей», – поясняет компания.

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

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

Например, первым в списке стоит Office для iPadOS, выпущенный в феврале. Если вы не знакомы с унифицированным приложением Microsoft Office для мобильных устройств, то, по сути, компания завершает полный цикл своих мобильных планов, отказываясь от использования отдельных приложений Word, Excel и PowerPoint. Интересно, что хотя iPad первым получил отдельные приложения, он одним из последних получил унифицированное приложение.

Далее идет разговорный опыт ИИ в Outlook для iOS. Это означает, что вы можете использовать его для отправки электронных писем, планирования встреч и многого другого. Microsoft также превратила Office Lens в Microsoft Lens, и это приложение действительно может транскрибировать рукописные заметки. Вы можете просто использовать его для сканирования страницы и извлечения текста.



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

Еще одна новая функция, которая появилась ещё в декабре, — это возможность резервного копирования Live Photos на iOS. Эта функция появилась для Android с Samsung Motion Photos в феврале, поэтому неясно, почему этот элемент не был упомянут.

Еще одна относительно новая вещь - Money в Excel, и на это была одна из ключевых новых функций, когда Office 365 был переименован в Microsoft 365. Она предназначена для того, чтобы помочь вам составить бюджет, настроить, сколько вы тратите на различные категории, такие как продукты и т. д. Есть также информация о движении денежных средств, которая даст вам сообщение в виде поздравления с тем, что вы потратили меньше, чем заработали за определенный месяц.



Далее идет PowerPoint, так как PowerPoint Presenter имеет некоторые новые преимущества. Теперь вы получите обратную связь по языку тела, что должно быть полезно, учитывая, что все дело в том, чтобы помочь вам лучше проводить презентации. Это также поможет вам избежать повторения и лучше произносить слова.

Microsoft Editor для Word получает улучшения. Есть новая функция под названием «Проверка сходства», которая поможет вам избежать плагиата, и есть новые текстовые предсказания, которые помогут вам писать быстрее и точнее. Microsoft также добавляет расширение, чтобы вы могли получить помощь в LinkedIn, WordPress, Gmail и Google Docs.
Remedy делает эксклюзив для PS5, а Blizzard готовит к тестам Diablo II: Resurrecred
Remedy делает эксклюзив для PS5, а Blizzard готовит к тестам Diablo II: Resurrecred

Игровая индустрия изменяется каждый месяц – приходят новые релизы, отмирают старые проекты. Однако одно остается неизменным – у World of Warcraft по-прежнему большая аудитория. На эту игру даже принимают ставки многие букмекеры, например, Винлайн. Чтобы узнать о коэффициентах и текущих акциях, можно почитать обзор букмекерской конторы Винлайн. А у World of Warcraft, тем временем, вышел новый пак с заданиями «Сада чудес». Теперь у игроков появится возможность собирать пасхальные яйца. Затем их обменивают на косметические предметы и аксессуары у торговцев мероприятия.

Релизы впереди


Крупная и известная студия Remedy готовит свой новый проект и тесно общается с Sony. По данным СМИ, один из будущих релизов студии станет эксклюзивом PlayStation 5. Впервые информацию об этом обнаружили пользователи ResetEra, а позже ее подтвердил сооснователь XboxEra. К тому же Remedy открыла набор в собственную команду. Ожидается, что новая игра студии не должна выйти на других платформах позже.

Известный игровой инсайдер Джефф Грабб уверен, что этим эксклюзивом точно не станет Alan Wake 2. Сиквел знаменитой игры Remedy выпустит совместно с Epic Games. А эта компания, в свою очередь, владеет собственным цифровым магазином игр для ПК.

Также ожидается выход игры Project Lilith. Ее делает студия Soro Games S.A. при поддержке издателя ThePlayWay. Суть игры в том, что она выполнена в духе серии Dark Souls. Страница проекта уже появилась в Steam, хотя разработчики пока не сообщили дату релиза. Уже известно, что Project Lilith будет посвящена истории о поисках угнетательницы Лилит. Главный герой будет уничтожать монстров в различных мирах, чтобы найти ее и отомстить.

Возвращение Diablo?


Приближается период альфа-тестирования игры Diablo II: Resurrecred. Об этом сообщил сайт комитета по оценке и администрированию игр Южной Кореи. В середине апреля почти двадцать тысяч игроков попробуют новинку от Blizzard Entertainment. Также все желающие могут подать заявку на участие в будущих тестах – для одиночной кампании и мультиплеера.

Отметим, что выход Diablo II: Resurrected запланирован на 2021-й год. Проект появится на всех текущих платформах – ПК, Play Station 4 и 5, Xbox One и Series S/X, а также на Nintendo Switch. Diablo II: Resurrected не станет заменой оригинальной версии игры, однако сможет поддерживать старые файлы сохранения.

Еще один громкий релиз – проект Sol Cresta. Эта игра является продолжением Moon Cresta и Terra Cresta в жанре shoot 'em up. Оба проекта вышли еще в 1980-е годы. Разработкой занимается студия Platinum Games. Интересно, что первые данные об игре просочились в прессу первого апреля 2020-го года. Тогда проект был заявлена как игровой автомат стоимостью семнадцать тысяч долларов. Тогда комьюнити восприняло Sol Cresta как первоапрельскую шутку, но студия действительно разрабатывала игру все это время. Пока что неясно, когда стоит ждать релиза, хотя есть основания полагать, что это произойдет уже в самое ближайшее время.
[20210410] Обновление, Исправление
Список Обновление
  • Объединение все сайтов новостей в один на сайт Lillium.RU
Исправление
  • Сайт Каталог 
    • исправлено лого в коде
    • исправлен фон в коде
В будущих обновлений
  • Исправление картинок на всех сайтах с не продление предыдущих проектов где находилась база по картинкам
Friday Facts #365 - Future plans
Категория: Игры / Factorio


Hello,

the 1.1 release is the final release of the vanilla game. It will be maintained, so bugfixes, simple modding interface additions, or minor tweaks can happen, but that's about it.





The future




So, what are we going to do? There are several possibilities. Retiring is not really an option for several reasons, not going insane being one of them. There are some smaller experiments outside the Factorio realm that we want to do, but apart from that, we still want to extend the game. There is a large pool of ideas, so all we have to do is to just pick from the most potent ones. But the question is: How to package them?



There are basically 4 options:


  • Free updates forever

  • Factorio 2

  • Small DLC packs

  • One big expansion pack




Free updates forever



A lot of games do it, notably Minecraft and Terraria. They do really well, so the model works, but I believe that it is not the best way to go for us, as we are a little bit more of a niche game with a smaller but more dedicated audience. This means that the room for expansion in the sense of getting more players is limited.



Factorio 2



The problem with a sequel is that it is expected to be very different in many ways, and technically a different game (Starcraft 1→2). Sequels that mainly just extend the content, but reuse most of the stuff from the previous installment were common in oldschool games (Baldur's gate 1→2, Fallout 1→2, Doom 1→2), but I'm afraid that this is not the expectation today.




The point is, that making a 'New Factorio' is exact opposite of what we want to do. Finally, the base game is in a state that we are happy with, things like Graphics, tutorials, engine, multiplayer etc. Specifically we spent most of the effort in the last year on finalising the GUI, and the last thing we want to do is to throw it all away for the sake of changing stuff.



Small DLC packs



Personally, as a player, I'm not big fan of a lot of small DLC packs. It gets cluttered, it gets harder to keep track of what I have, what features is in which pack, and what do I need to buy in order to play with a friend etc. Not even mentioning the developer pain of having small independent chunks of content that need to be compatible and balanced in every possible combination.



One big expansion pack



This seems to fit the best. We could focus purely on extending what we have and make new content, which we want to do so dearly! It would be one well-defined product that would be significant enough to recapture peoples attention, and it would be compatible with our workflow. Technically, it would be "just" a new version of the game, so all the infrastructure of mods being updated, multiplayer etc. would just work the same as it worked until now.




So, Expansion pack it is!




This immediately creates two main questions: What will it contain and when is it coming.


  • What? It is way too early to show any of the plans, and since we want to keep the iterative process of expanding things that prove to be the most fun, the plan is quite loose anyway.

  • When? All I can say is, that we are starting work on it now, and we don't think that it will take less than a year to develop. I'm personally very curious how the theory of getting more efficient once the engine is solid will hold.






Looking for humans



We don't want to discriminate, so if a talented animal or AI applies, we will happily give it a job.




Since we are finally going to add new content and we are financially doing quite okay, it is the best time to invest into reinforcing our team.
One of the steps we have already taken is hiring a concept artist, he might be known to you under the nick of Earendel.



3D artists



We made a job listing, and we have already hired 2 out of the many applicants, please welcome Jerzy and Lucas! However this is still far from enough, so we are looking for more.




The full listing is on the ArtStation page and also on our website.



Operations developer



We have a lot of build servers, deployment processes, web servers, office network storage, etc. We would like someone to reinforce our DevOps team and help us maintain and develop our processes and systems. It will involve working with our CI and deploy scripts, as well as being available in emergencies to put out fires. Our physical servers often need maintenance and repair, so general computer building and repair experience is required.




If you are interested or know someone who is, you can find the full details here.



C++ programmer



We don't need programmers that much at this moment, but someone exceptionally skilled can always find a place here. Bonus points for Linux/macOS specialists, as we are lacking these now.





Final numbers


8 years of Factorio in numbers




The initial Factorio commit was done 31.3.2012, so Factorio was in the development for 8 years 10 months.
I did this kind of comparison in FFF-223 and FFF-81, I hope you don't mind if I compare it with the current state.




Our effort in numbers:


  • In development for 1106 → 2099 → 3233 days.

  • 88 → 221 → 411 public releases.

  • 14 082 → 34 686 → 57 932 commits in the master branch.

  • 204 917 → 465 550 → 856 800. lines of code, 546 339 → 1 258 939 → 2 340 804 words and 7 693 483 → 17 517 675 → 35 216 019 characters, this is equivalent to 15 → 35 → 70 average books.

  • 20 791 → 56 947 → 87 703 different sprites with 54 114 147 → 336 907 147 → 945 930 442 non empty pixels.

  • 1492 → 5034 → 8688 resolved bugs (only counting those reported on our forums).

  • 3027 → 7670 → 13 265 lines in the changelog.





Results in:


  • 56 500 → 341 000 → 799 000 Youtube videos

  • 403 000 → 1 900 000 → 2 670 000 Google hits of Factorio.

  • 75 146 → 303 773 → 483 539 forum posts

  • 0 → 11 704 → 38 870 years of combined playtime played on Steam.

  • and finally 74 914 → 1 200 000+ → 2 500 000+ copies sold.





This leads me to different kind of comparisons:


  • 2.7 → 0.42 → 0.34 lines of code per one buyer

  • 12.7 → 16.5 → 17.9 commits per day

  • 2.7 → 6 → 9.2 Youtube videos per one sprite

  • 0 → 2.3 → 4.4 years of playtime per resolved bug report

  • 0 → 4 → 8 months of Steam playtime per one commit

  • 0 → 9.1 → 37 days of Steam play for each line of code

  • 0 → 18.2 → 21.5 minutes for each pixel





I could go on like this for a while :) But mainly, it makes me realize, that making changes, improving things, and fixing even small annoyances in the game is worth it.
Also, it seems like we generally doubled everything in 2 years, which sounds like a good progression, lets see where we get in the next 2 years :)





Final words



We are going to stop Friday Facts for a while (again), and there are more reasons:


  • We need to focus on experimenting and iterating design ideas.

  • If we show something that ends up being removed or replaced, it can feel like a broken promise, and we learned that it is generally the worst thing we can do.

  • We don't want to start building hype too early and drive attention away from the finished Factorio.

  • Some of the additions require extending the engine, but some of them could be reproduced with mods to a certain extent. We have experience with people trying to use mods to emulate our future changes before they are released. This has a few problems, people playing with these emulations can have altered expectations for the expansion, and it also wouldn't feel that new anymore.





But still, there are many interesting topics related to designing and implementing the planned features, so as the release approaches, we will be more than happy to present a peek into the process, and discuss some of the content additions. That is to say, Friday Facts will start-up again once the time is right.






Thank you all for being with us on this journey, and we look forward to what the future may bring. As always, let us know what you think at the usual places.

Friday Facts #364 - 1.1 stable
Категория: Игры / Factorio

1.1 stable kovarex




Hello, we have a stable version!










When we were releasing the 1.0 FFF-360, we actually stated that there were "around 150 bugs on the forums and around 80 internal tasks to be solved". These were obviously minor issues, things hard to reproduce or very rare problems. In other words, it was quite reasonably stable, which normally goes without saying when it comes to Factorio stable versions. But it proved to be a mistake wording it this way, since some media picked up on it and presented it as a "fairly bugged release".




So I'm pretty thrilled to finally get to the point, where we actually have 0 known issues and 0 active bug reports on the forums. Its like cleaning the kitchen properly, so you can start cooking something fresh. More about that next week!




For now, we want to go over some of the features of the 1.1 that you might have missed until now if you've been sticking with stable 1.0.





Blueprint flip Klonan




It was requested a lot over the years, and we always said no. The reason being, well not everything can flip, things like oil recipes, rail signals, pumpjacks etc. Due to these asymmetries, if you flipped a blueprint with these entities, the result would be non-functional in the best case, and cause complete chaos in others.




But then kovarex was playing and really really wanted to just copy and flip his train unloading setup (just your typical Inserters, chests, and belts). So he decided to just add it, and prevented the flip problems by just disallowing flipping blueprints that wouldn't flip properly.













Spidertron control Klonan




We added a few last minute nice to have features to the Spiders for 1.1. This is in addition to the things we demonstrated in FFF-362.



Spider waypoints




It was super frustrating trying to navigate our quite watery playtesting map with the spiders. They would always get caught on the edge of some lake. Queuing move commands seemed like a pretty obvious fix, and it wasn't much work in the end.











Spider follow command Klonan




Another frustration was trying to control multiple spiders in combat. The remote works fine for a handful of spiders, but once you get into the double digits, managing the spider remotes and spiders was just a hassle.




So alongside the waypoints, kovarex added the feature of letting spiders follow entities... and even other spiders...














Smart belt building Klonan




With the Lane locked belt building added in 1.1.0, there was some wonky/undefined behavior related to rotating the belt while building.




So we fixed the bug by extending the feature set of belt building, with the new 'Smart belt building'.













And with a great feature, we give ourselves the oppourtunity to do a little feature creep. So we added the anti-frustration feature of the automatic underground belt traversal.













Multithreaded belts boskid




In the constant battle with the optimizations to let players build bigger bases, quite often we do small changes that give performance gains in the range of 1-2%. Recently I started looking into the possibility of multithreading the transport belt logic. This is one of the more significant performance drains and it is still being done single threaded, resulting in a huge potential performance gain.




Transport belts were already quite optimized (FFF-176). One could simply say "make it multithreaded" but there are a lot of technical challenges to solve before this is even possible in order to not cause any issues when running in multiplayer. Basically, to ensure it will still be deterministic.








Fig. 1







Trying to do naive multi-threading with all the transport lines being updated at the same time doesn't work. In Fig. 1: depending on which transport line would be updated first, the copper plate could land before or after the iron plate. This could be fixed by using all sorts of synchronization primitives, but using them would increase the complexity of the code to the point where nobody would want to maintain it, and mainly it would not guarantee the code would be faster or would not desync.



Transport line groups




After some observations I noticed a trivial fact: not all transport lines can interact with each other.








Fig. 2







In Fig. 2, the left transport line on the horizontal belts can never receive items from the right line of the horizontal belts or any items from the side-loading. This gave me a simple nice idea. We can group transport lines in a way, that lines from one group don't interact with any line from any other group. This means, we can avoid all the synchronization logic between transport lines. When one thread updates one group, other groups can be updated by other threads independently at the same time.










Each color is a different group of transport lines. Each group is updated in parallel.







Maintaining those groups in itself was a challenge: when a player builds or rotates a transport belt, underground belt, or splitter, transport lines will change their connections and some groups may now be connected, and they need to be merged. The opposite is also true: the player is able to remove some connections making the group contain multiple components which can be extracted to separate groups. While groups merging has to be done immediately (having multiple groups being able to interact with each other would create race conditions), splitting does not.



Wake-up lists




By far the largest issue we faced was that the transport lines aren't entirely independent. We have a sleep/wakeup mechanism in the game since version 0.9 and it goes like this: Inserters taking from belts may become inactive when there is nothing happening on both transport lines to save UPS. An inactive inserter would be stuck on its own in that position if there would not be any way to wake it up. In this case, the Inserter registers on the transport lines so that when a new item comes to it, it can be woken up to check if it needs to pick up any items.








Since the 2 transport lines going through a single belt can belong to different groups, those groups are not independent because both could try to wakeup/put to sleep the same inserter. In that case, the inserter becomes the shared state for both groups and has to be properly dealt with. Transport lines cannot simply wakeup that inserter, because it could be woken up by another thread, and activation order is important as it also defines the order in which Inserters will be updated. If Inserters would activate in a different order, desyncs would happen.




To solve this, when working, the threads don't wake the entities immediately, but instead add the wakeup requests to a list to be processed later. After all threads are done, the main thread collects and merges all those requests, and wakes up the entities in a deterministic way based on the group update order number.




With the wakeup lists and other similar cases handled properly, I started comparing some belt based megabases which are capable of producing 10k science per minute and I noticed that transport belt update times dropped from 4ms to 1.6ms which in total update time gives between 20 to 40% overall performance gain.






New Train Overview GUI Klonan



The beginning




The original Trains GUI was added in 0.13, and only had cosmetic changes all the way to 1.1.0.









Trains GUI in 0.13 (First release).










0.17









1.1.0







The basic design is clear:


  • It is a list of all Trains.
  • You can see the schedule.
  • You can click the button to open the Train.
  • You can search by schedule.




At the time it was a big step forward, as there was no other good way of interacting with trains. For instance you couldn't open them from the map view, there wasn't even zoom to world, and the Locomotive GUI was very limited.




During the old days, the mindset was, that the players would have just a few trains or 10-20 max in an extreme case, so we didn't really see a need to categorize them much.



The problem







With time, the game evolved, factories were growing, and subsequently the number of train kept going up. The insufficiency of the GUI became very clear during our internal 1.1 playtesting. We played for a whole week and extensively used the new train limits. We had over 100 trains and over 200 train stops.




Once we finished I asked the rest of the team "Did anybody opened the Trains GUI even once?". The answer was "No".




While playtesting I also became highly familiar with what features I wished the Trains GUI had, and what questions it should answer:


  • How many trains do we have?
  • How many stops do we have?
  • What is the cumulative train limit of all the stops of a certain name?
  • Am I keeping up with the demand for the given item?
  • And mainly, do I have enough trains for this route?




With all this in mind, I got to work on the new Trains GUI.









Our playtesting map after 40 hours.





The new Trains GUI




I started by making a mockup mod in Lua. It allowed me to quickly iterate on the design and content on the GUI much faster than C++ would have allowed. After 2 days I basically had a finalised design ready. After we reviewed the mockups, we agreed it was a massive improvement, and decided to make it properly. I took it as 'Christmas homework' to write the new Train GUI into the engine in C++ (even though programming isn't much my area of expertise). After the New year, it was ready, so we did the usual QA and released it in 1.1.8.




There are 2 tabs of the new Trains GUI, and each follows a simple but meaningful design principle:


  • Trains tab: A list of Trains categorised by their Schedule.
  • Stations tab: A list of Train stops categories by their name.

...and honestly from there it just kinda all fell into place. But let me explain some of the details...


Trains tab












I would say the most controversial part here is removing the Schedule display under each Train map, and replacing it with the 'State description button'. With the schedule displayed on the side, it is almost completely redundant information. The state button provides much more precise and relevant information, you can see which stop it is going to, how far away it is, and also click on the state button to open the map at the specific train stop it is going to.




The nice thing is, that whenever you have some wrong or inconsistent schedule, you can easily notice it in this list.



Stations tab











Since the stations tab is completely new, there are no changes that people can disagree with it. The aim with this tab was to try to present the information about the train limit of each station in some easy to digest way.




The remark in the form of <Reservations>/<Train limit> describes the station state.
When I look at the Dropoff+Pickup station of a single product, I can easily identify 3 basic states:


  • Not enough trains: when the sum of <Reservations> is too low compared to the sum of the <Train limits>.

  • Not enough input: when almost all of the trains are in the Pickup waiting to be loaded.

  • Backed up: when <Reservation>=<Train limit> in the Dropoff where the trains are waiting to be unloaded.






Save game speed Rseding




There are many things in Factorio I've optimized over the years; runtime performance, startup time, saving, loading, even quit speed. It gets more and more difficult to find anything to improve on without changing game features – which mostly I try to avoid. Autosave time has always been one of those "I wish it could be faster" but never finding anything that stuck out or gave any measurable improvements.




Several years ago I parallelized the iterate-the-game and the compress-and-save-to-disk (FFF-201) however there hasn't been any major improvements since then. The issue I would always run into was: I could make one of those two processes faster but the other always bottlenecked and so the overall speed didn’t change. Every few months I would go back to it and try to think of new ways to make it faster but always ran into that same issue.



Try it and see



The other week I was doing that again and I wondered just how much faster the save process would be if I could just 'pretend' the compress and write to disk didn't happen. It turned out; a lot. The larger the save got the more time got spent waiting for the compress and write to disk. After thinking for a while I decided to instead of save the map information in one big compressed file, to split it into multiple compressed files. It's not a new concept but we hadn't done it before in Factorio. A quick 30 minute implementation later showed that without a lot of changes – it just worked.




The end result meant the compress-and-write-to-disk parallel processing never blocked the main iterate-the-game logic. That alone made the entire save process around 20% faster and as a side result any improvements I made to the main logic gave direct further improvements. In the testing I performed the larger saves saw upwards of 2x improvements to save times.






Thank you for tuning in, let us know what you think at the usual places.

Friday Facts #363 - 1.1 is getting close
Категория: Игры / Factorio

1.1 is getting close kovarex




I have been tracking the amount of tasks and forum bugs required to finish 1.1 since the 1.0 release. This allowed me to get quantifiable feedback whether we are actually keeping the timeframe of the 1.1 release reasonable, or digging too deep and expanding the scope too much.










If we extrapolate the graph, the 1.1 experimental should be ready next week.





New merchandise - 1.0 Rocket T-shirt & Wube bag Klonan




To celebrate and commemorate the launch of 1.0, we wanted to produce a special limited edition T-shirt. For a few reasons, our supply was not ready in time for the launch in August, but we are ready now.














We have also always wanted to have Wube bags, and now we have them! They are really high quality sturdy cotton, we're pretty sure they will last a long time.














As with previous years, if you want to ensure an order will arrive before Christmas, you really should order as soon as possible on our e-shop.





Small things kovarex




There are a lot of smaller changes in 1.1, and explaining all of them would make this just an extended changelog, so we will only talk about a few of the more significant topics.



Entity GUIs



We unified the entity GUIs:


  • It is always player inventory on the left and the entity on the right.

  • The entity preview has a unified and enlarged size.

  • There is the status of the entity with an LED.











The entity was already showing its status in the tooltip, but it went basically unnoticed by everyone, and the proof is, that there were many different bugs related to the status that no one ever reported. We believe, that the status should help to understand what is going on, mainly, why the entity is stopped at the moment.



Character tab removal










When the tabs were being designed, the character tab looked like a good idea, but when you inspect it properly, it is basically just filler:


  • The color selection can be done by just one small pop-up button, as on other places.

  • The guns and armor are already on the screen, so it is just a duplication.

  • The batteries and shields are shown in the main GUI.

  • The character options are configurable through the shortcut bar.





I think that when you have the same thing in two different places, it is a problem. The player is required to make a mental link between these two places and realize that these are the same, so de-duplication is a must!

So the character tab was removed.




This left us with just the crafting and logistics tabs, and based on my experience the fact that the crafting has tabs in tabs feels very uncomfortable. Switching the crafting category with the tabs is something that we do very frequently, and having to focus on which kind of tabs need to be pressed just breaks the flow. I always liked the flat GUI model that we had before, but I didn't want to reject the tabs just because it was something different. But now, when I had the unpleasant experience of playing with the tabs, I can fairly discard them as the default option.




Long story short, the flat style of the Character GUI (which was already an option in 1.0) is now the default.






Everything I need at the same time.





Alert arrows




When you hover the alert icon, the game shows the alert icons on the related on-screen positions, or if they are off-screen, it shows arrows on the edge of the screen to point you in the right direction.










This is an example of a feature, that I just HAD TO DO, because once I realised that the feature could be there, I was almost trying to use it and was annoyed by the fact that it wasn't there. This is actually happening a lot, and makes playing other games much more frustrating to me, as I have no way to add the things I'm missing there. The longer I develop, the more this happens.



Rich text icon selector




We have support for the rich text stuff since 0.17, but we never did the last small piece of work to make it known and usable. I would guess that only small fraction of people actually knew, that they can write things like [item=iron-plate] in the text to put an icon there, as there is actually nothing in the game indicating this would be possible, unless you were reading Friday facts back in 2018 where we talked about it. And even if you know about it, you need to know the internal item names to be able to use it.




So we added this selector:










It is present in every relevant textfield including the one in the save game GUI. It doesn't support all the functionality that the rich supports, like changing font color or using some obscure sprites, as we don't want to advertise this usage too much as it can make the GUI look too inconsistent.



New recipes notifications




This is useful mainly for new players that don't have the position of the recipes burned into their brains, but I can imagine it being also helpful when playing with new/big mod.










The notifications are cleared by hovering, as expected, and they can be turned off in the options completely.



Belt building in line




The main motivation to finally do this was the process of building entities directly from spidertron. It works quite okay, as long as you don't need to build a straight line of belts, in which case it very often happens, that the spidertron fuzzy/erratic movement patterns work against you.




So, from now on, the belt building by dragging will be locked to the direction of the belt. As always, it can be turned off by an option, as it doesn't allow the multi-lane "spraying" building strategy, and some people might find that more important.











Blueprint selection in map



We added blueprint building in map for 1.0, which just means, that now we need to be able to also select/deconstruct/upgrade things from the map.













Entity night lighting Klonan, Ernestas




The graphics in the game have had steady improvements over the course of development, with greater detail, better processes, and of course deeper experience. However one part of the game that never quite felt right, was the way entities were lit up at night. We only really had the capability in our engine to draw some basic light sprites over the top of all the entities. This means that the effect was more like a spotlight shining down, rather than an entity emitting the light.




However with some recent technological additions from posila, we have been able to set individual animations and specific sprite sheets of an entity to be drawn as a light source. What this means, is that instead of a entities emitting light only as a circle around them, we can make their night-time lighting much more precise and beautiful.
















Thankfully we already had quite a lot of 'light masks' rendered out for entities already, such as the centrifuge green glow, so it didn't require anything other than Lua changes to make it work. Some of the entities needed new light masks, such as the Car and Locomotive, which Ernestas was able to render out of the original models without too much trouble.




I think now you will almost be wishing that the night lasts longer, just so you can enjoy the warm cozy glow of your furnaces for a few minutes more.





Technology effect icons V453000, Albert




For a very long time Factorio has had technologies which give the player abstract bonuses, like bonus damage. The problem is, all of them are shown as a red plus symbol, and there is no way to tell which one is which, other than hovering them and reading their tooltip.












To make it clear what a technology does, we've created a set of icons we call "constants" representing the type of the effect, and they get combined with the icons of the items that they influence.










For researches like damage bonuses, the item icon is automatically inherited from the most basic item. This means if a mod adds an ammo category with its own ammo, the effect icons on a technology influencing this modded ammo, will show its icon correctly.




As you can see below, the constants can also draw on the technology icon itself. Better yet, when you hover the effect, it not only tells you the name of the effect and the amount of improvements it provides, but also a full list of all items/entities it affects.












There is a finite number of effects that can be enabled by mods, and we have added some visual representation to every one of them. Some are more ridiculous than others, but some are also very rarely used even by the wildest mods.











Technology icons V453000




We were planning to revisit all technology icons for a while now, but we always only had time to fix the most obvious problems. As a result, the technology icons were worked on in batches over time and a lot of them look inconsistent or obsolete.




The technology effect icons and their constants demand some technology icons to change as some of the iconography they use is no longer fitting, so we will take the opportunity to revisit all of the technology icons.










The first versions of 1.1.x will only have a few icons updated, but even the old ones will be given colour adjustments similar to what happened to the game sprites in 0.18.0 (FFF-320), and mipmaps (which will break mods). During 1.1 stabilization, we will only be updating the images/sprites which won't break anything.




Speaking of breaking things...





Breaking things Klonan








With the march of progress and ongoing development, there comes some point in time where we have to cut support for older save games. 1.1 seems a good time to do that once again, so we are dropping support for save games from 0.16 and 0.17. If you want to preserve those save games, you will need to load them in 1.0 (which can load 0.16 and 0.17 save games) and resave them.




We are also taking the opportunity to remove some old clutter from the code base, things like the old campaign 'Plane' and 'Computer' items, unused old wreckage entities, and so on. This will likely not impact a typical player, but will break some scenarios and mods that were using these things.




When we were looking at the new technology icons, we also realised some have inconsistent names. For instance we have 'Combat Robotics 1/2/3', but each only unlocks a single item. So in this case we have renamed them to 'Defender', 'Distractor' and 'Destroyer', and the icon will reflect the more specific naming of the research.




We also did some minor grammatical tweaks, such as unifying all the technology names to be singular.




Furthermore, there are a lot of small changes to the game data and Lua API that can cause mods to break. If you are interested/concerned, Bilka has compiled a list of changes on the forum.




All these small tweaks and renames have the possibility to break some mods that were referencing them, it is just the nature of the way the game works. We hope though, that 1.1 will be otherwise smooth for modders, as we don't plan to introduce much content during the experimental period.
















We look forward to hearing your thoughts, and as always, you can share them with us at the usual places.




Friday Facts #362 - Menu simulation, Spidertron, Ghost building, Confirm button
Категория: Игры / Factorio

Menu simulation V453000




In the last FFF, we presented that we now have the capability to show real game simulations in the Tips and tricks. Naturally we asked ourselves what else could we use this new technology for...




We've dreamed about this multiple times in the past, but the technical roadblocks didn't make us think too seriously. We'd like the main menu background to be a real animated simulation of the game, similar to what Transport Tycoon or Rollercoaster Tycoon games have.




Instead of things like cinematic trailers, we always present the game in its true form, and the menu background does not follow this logic. Also, any time we improve any graphics, a static image immediately gets older while a real game simulation is updated automatically.




We've created a variety of scenes that each demonstrate some feature(s) of the game, from first miners all the way to the artillery and Spidertron. The screen is quite zoomed in and the factories are rather small, so it's more of a demonstration of the game's features rather than a showcase of "the best things anybody has ever built".




The scenes are randomly rotated, where all of them have to play once before any repeat.












The main menu should include both Factorio and Wube software logos.




The Factorio logo has been used in many places from prints to trailers many times already. Its concept is that the logo is an entity like any other, and integrates itself into the world by being built there if at all possible.




The Wube logo is different, both graphically and in concept, so we can't represent it as an entity. It makes a lot of sense that Wube is in a layer underneath the world of Factorio, so we're using it as a special water tile.












From now on, the Factorio entity and Wube water tile are both buildable in the map editor without the use of mods. The "water-wube" only works well in specific positions, as it repeats in a 8x8 tile pattern, so fitting it in an existing factory can be tricky.




To make it clear that behind the menu is not your factory, every scene has the logos in the exact same position, and the screen has a vignette-like shader on the edges.






Spidertron kovarex




The Spidertron was the last thing added to 1.0, people apparently use it a lot, which means we received a ton of great feedback, and the polish of the Spidertron will be generally worth it. Here are the biggest tweaks we made:



Spidertron building preview




The Spidertron now moves its legs when being built, to make it almost always buildable.






Before: Static leg positions prevent placement






After: Legs move dynamically so placement is not blocked





Spiders try to not be in the way.




Spidertron now moves its legs out of the way, so buildings can be constructed. This applies both for ghost building and manual building.






Before: blocking the construction






After: let me move out of the way!





Spidertron avoids rails




The decision to make legs not collide with the train makes sense, as you can't control the leg positions so precisely and they are also invulnerable. But it looks kind of bad when there is a spider leg in the middle of the rail and the train just goes through it, so we made the spider legs unable to step on rails.







Before: Spider standing on the rails






After: Spider avoiding the rails






The change required us to use one more collision layer for the base game, as rails needed to have their own layer. This would leave even less spare collision layers for the modders. Since Rseding found some unused bytes in the entity data, which is basically free real estate, we could increase the collision mask bit-size from 16 to 56 without increasing the data footprint.




What this means for modders, is that there are now open collision layers from `layer-12` all the way to `layer-55`, and mod conflicts will be much less likely. To help somewhat with managing all the new collision layers, Klonan wrote a small Lua util lib called `collision-mask-util`, which provides a bunch of helper functions. It is hoped that if mods use the functions provided in the helper lib, it can allow all mods work together without hardcoding specific special cases. If you have any suggestions for functionality of this helper lib or have any questions, please let us know.



Spidertron item color



We fixed not only that spider item colors didn't show in the inventory, but we also fixed the way items are rendered on the ground and belts. This includes spider remotes, blueprints, upgrade planners and such.






Before: The items on the belt use the item prototype icon






After: The items on the belt render the item data and details






Spidertron logistic requests




One of the main uses for spidertron is to let them build using the personal roboports, but the lack of an automated resupply method made the process less flawless than intended. This applies also to using them for combat, as restocking ammunition, repair packs and such, had to be done manually.



Copy paste Spidertron settings




Spidertron now supports copy-paste, which not only copies the color, name, and logistic requests, but even the equipment grid contents, which it takes from the player doing the operation if possible. This removes the tedium of setting up additonal Spidertrons.






Ghost building kovarex




Ok, so we have Spidertron working well, it can semi-automatically request stuff and build in remote places, but it just amplifies a different problem we have had in the game for quite some time, and it is the awkwardness of ghost building.




The ghost building is a great example of a feature that was technically complete, but I was personally avoiding it as much as I could, because it was missing all the quality of life improvements available with the manual building.



Ghost fast replace



The most frequent thing I'm missing is the fast replace, especially with belts, to either upgrade them, or just change the direction. So this was logically the first thing to solve.




To make things not easy for us, the ghost building must be able to fast replace not just ghosts, but also entities that are already built, which basically applies for all these features that will follow. This doubles (or more) the amount of combinations that have to considered internally, but I believe the result is worth it.












Adding the feature for just this one case opens the floodgates for all the other QoL improvements, as once you get used to one, you expect them all to be there.




This means, that all the Belt &lrarr; Underground belt, Belt &lrarr; Splitter, Pipe &lrarr; Underground pipe fast replace logic and more, so we just did it all.











Power poles connections



Another basic problem with ghosts was, that power pole ghosts didn't show wire connections. It did work for circuit connections, as these just had to be preserved, so the groundwork for this was already done. This means that it wasn't really that hard to implement, not only to show ghosts connections, but also to show connections inside a blueprint.















Once ghost poles started to show the connections, we could completely remove the logic of revived poles trying to connect to new poles, as instead, it followed the pre-determined connections from the ghost state, so the process is more deterministic from the user point of view.




Here comes the nice cherry on top. Once we have this logic in place, making blueprints preserve the wire connections could be implemented almost for free, so the game now supports it, and problems like this could finally go away after years and years of repeated suggestions to make this happen.




Over the years, the most prominent argument against this being implemented would be, that how would it manage connection of the bluperint to entities already existing in the world. Well the solution we missed is so obvious. The connections inside the blueprint are strictly following the original, while the connections to the entities already existing on the map are being automatically created as before. So you should be able to use blueprints as before even if you don't care about the connections.



Build by dragging




Build by dragging is just another example of something that had to work for ghosts as well, so it now works for all the currently supported entities: poles, undergound belts, and underground pipes.












Apart from ghosts, there is one tweak to building by dragging for poles. The previous logic seemed to be fine:


  1. Remember the last position that could connect to any pole.

  2. Once the current pole can't be connected to anything, build on the last known good position.





This logic almost does what we mean when we say build by dragging, but what we really mean in our minds is to build a connection to the last pole as far as possible regardless of other poles in the vicinity, so things like this don't happen.












So we fixed that.













Continue button and confirm kovarex



This was an example of a final tweak to do in FFF-360, so it was basically mandatory, and it serves its job fine. Now you can continue right into joining a MP game, hosting a game, etc. However it is related to another bigger subject, and it is the Cancel versus Continue struggle.




The main motivation to start on this topic was this dialog:












It happened to us countless times that we just set up the item, the value, and press E... Oops. I need to do it again, and confirm it this time instead.




The general rule is, that when users use your UI in a wrong way again and again and again, you can either really try to teach them to use it "properly", or you can just make this usage correct. Internally, the key "E" and the key "Escape" were doing the same thing, but in our minds, not really.




Typically the user sets up something in the game window and when they are done, they close it with E. This connects E with confirmation of what is done rather than cancellation. This realisation leads quite straightforwardly to the change we made in the game, which is actually stupid simple (a good sign):


  • E = confirm (the same as pressing the green button)

  • Esc = cancel (the same as pressing the [X] button)




Once this was made to work in all the relevant windows, it felt very natural to start using it in many different places, and the game feels more fluid. We even added a special sound for clicking the Green buttons and confirming them with 'E', so it all clicks into place.








We hope you have enjoyed reading about some of the upcoming changes for 1.1. If you have any thoughts or feedback, you can let us know at the usual places.

Friday Facts #361 - Train stop limit, Tips and tricks
Категория: Игры / Factorio


Hello,

we finished with the regular Friday Facts series, and yet, there is still so much we want to talk about. I want to clarify, that we are not going to release FFF every week, but there are a few of them coming in the near future.






1.1 - The real 1.0




The point of 1.1 isn't to add some new content, the main motivation is to finalise all the existing features so that they work together in a proper way. This may sound a little bit abstract and boring, but it will be explained more clearly in the upcoming FFFs. Believe me, the sentence "I didn't know I needed this until now" will come to your mind more than once.




The work on the 1.1 update started basically right after the 1.0 release, so there is already lots to show.




Right now we aren't going to make any promises as to when it is coming, but we will keep you updated on our progress with these blog posts, and give some notice before it is deployed. Though I'm quite certain that we are more than half-way through. To keep you happy until it is here, lets go through some of the changes.






Train stop limit




This is a tiny story about Boskid's train related side project for a feature that was requested quite often (1, 2).



The problem




So imagine the situation: You're sitting in your factory and you need more iron... classic. So you build a nice railway to bring ore from dedicated mining outposts back to your iron smelter. You build 2 ore outposts, and you set up 2 trains, 1 for each. The two trains have a similar schedule; one goes from Iron smelting 1 to Iron ore 1, and the other goes to Iron ore 2. This works fine.




However there are some problems when you want to expand your production. You want to just copy-paste Iron smelting 1, and have half the ore go to Iron smelting 2. Now you need to start manually reassigning trains, trying to balance the throughput of the mines, and what else. If an iron mine runs dry, then you need to rebalance the whole system, reassign all the trains from that station, and have some omniscient overview of all the different routes your trains are running.




With more mines and more smelting and more trains, this management becomes an incalculable problem, and frankly it is not fun (opinion).



The imperfect solution




There is a nice solution, which works (almost). That is to name all the ore stations the same, and all the smelting stations the same. When choosing a destination, the train can go to any of the train stops with that name, which means:



  • When you build a new ore outpost, you just name it 'Iron mine', and a train will come and pick up from it.


  • When you build a new iron smelting, just name it 'Iron smelter', and a train will come deliver some ore.


  • When you build a new train, just copy-paste the simple schedule, and it will start working effectively.





However there is a small issue with the system, that completely breaks the idea. The trains are not clever. They will path to an arbitrarily chosen train stop with the correct name, based on destination distance and a few other factors. This means that it can easily happen that all the trains end up only servicing 1 iron ore pickup, while there are other outposts full of ore with no trains coming to pick it up. You can somewhat relieve the issue using the circuit network to enable and disable the train stops, but it is only a half-measure. For instance you can still end up with 10 trains rushing to a single small iron ore pickup, which can cause the trains to queue on the mainline and jam everything.



The limit








It is pretty simple, as good solutions typically are. You can set a 'Trains limit' in the train stop GUI, and the train stop keeps track of how many trains are in the station or on their way to it, which we call a reservation. When a train is choosing it's next destination, it will check the limit of all the stops with that name, and if a train stop has too many reservations already, it will skip over it. If all the potential train stops are full, the train will just wait.




This pretty much perfectly solves the problem with naming all the train stops the same, and also solves a few other potential annoyances. For instance, previously your Iron smelter stacker would need to be big enough to fit all the iron ore trains at once, because you couldn't be sure that they wouldn't all return at the same time. Now you can set the train limit of the Iron smelting train stop to the maximum capacity of the station, which means you can build a smaller stacker, and be certain that it will never become over-crowded.












The train limit is also controllable with circuit network, so there are even more possibilities. One idea is keeping the train limit set to 0 until there is a full load of ore available at the station. You can also read the current number of reservations, which will have its own interesting uses.








There is an edge case we had to solve while working on the feature, what happens if the limit is lowered while a train is already on the way?
Our first idea was to force all the trains that are on the way, to repath and find a new destination. This works in many cases, but if there is no train stop it could path to, it would end up stopping and waiting in the middle of the tracks, causing untold economic damage.




So we decided that even if the limit is changed, any trains with a reservation will still go there. This means it isn't strictly a 'hard' limit, but we think it is a good thing, as setting the limit to 0 provides an alternative way to control train behaviour compared to when the station is disabled. Basically the train will only consider the limit when first deciding which stop to path to, after that it doesn't care if the limit changes.












We also had to deal with the 'No Path' warnings. If all the train stops were full to their limit, the train would show 'No Path', which isn't very intuitive for the players. So when the train can't find a path due to the train limit it will show a special warning: 'Destination full'.



The impact




To an outside observer, this really may just seem like a tiny little thing, but for us it is one of the most exciting features of 1.1. I think it is also quite telling that something like this has been missing for a long time, given the popularity of the Logistic Train Network mod. While the train stop limit isn't quite as powerful as the mod (understatement), it is going to open up many possibilities and add a lot of interesting gameplay oppourtunities.




I don't know if I am alone in saying, but I like it when the rules of a system are very simple, and the complexity emerges from the interaction of these very simple systems. I think the train limit is a perfect example of a simple rule, that will lead to really interesting and complex behavior. I can imagine just riding around on a Iron train with a simple "Pickup Iron -> Dropoff Iron" schedule, and it driving me around the whole factory as the chaotic interaction of train stop limits and other trains means each time it needs to travel somewhere else. I can imagine also a lot of fun design considerations will be needed when building such a rail network, where the traffic is less predictable than a 'Static route' system.






Tips and tricks




The tips and tricks have been a feature of the game for a very long time. They began as a way to explain things to the players that were not explained anywhere else. The iconic example is the 'Alt-mode' tip. Playing without Alt-mode is painful, and even more painful to watch, so we had to tell the player somehow.



The early days




When I say early days, I mean the early days, before even the indiegogo campaign. The first implementation of the tips was straightforward, but a bit rough.







The tips and tricks GUI in version 0.6.4.






The initial design:


  • They would popup when you start the game.
  • You can click forward through them (no going backwards).
  • You can close the GUI, there was no way to re-open it other than loading a save game again.
  • The images were of inconsistent sizes, so the GUI would jump around and resize.
  • There was a built-in checkbox to turn them off.







It got the job done, but it needed some development as with the rest of the game.



The first refresh




Over time, the tips and tricks fell into a dark corner. It was always low-priority, and wasn't clearly a 'Graphics' or 'Programmer' task to improve them, it was something in-between. So that is where I came in, and took the task of making some improvements.







The tips and tricks GUI in version 0.16.51.






First improvements:


  • You can click forward and backward through them.
  • You can close and open them with a hotkey.
  • The images were retaken at a consistent resolution and zoom.
  • You can open them in multiplayer.







At this point we shifted focus to the other 'tutorial channels' as we were hoping that the new mini-tutorials and NPE would mean we don't need as many tips. We think it is better if things like item usages are explained in the item tooltip, rather than in another GUI elsewhere.




Apart from some GUI style updates, the tips and tricks were not changed significantly for the next few major versions.



1.0.0




On the approach to 1.0, I took a last quick look at the tips and tricks. The tips are one of the first GUIs the player sees when they start Freeplay, so I wanted to give them a last lick of paint before the full release.







The tips and tricks GUI in version 1.0.0







The improvements this time were the nice last finishing touches to bring the Tips and tricks to their final form.


  • Increased image size and updated all images to high-res.
  • Added frames and subpanels to match the visual design of the new GUI.
  • New button styles.
  • Generic close button in the top right.




So then that's that right? I finally rest, and watch the sun rise on a grateful universe...



The Inspiration for change




Even before 1.0 was released, I was inspired by the Mini-wiki found in Krastorio 2, and the Informatron mod.















The main spark, is the index of topics. It solves many problems:


  • You can see the title of all the tips right away.
  • You don't need to click through all the tips.
  • It naturally allows categorization of the tips.
  • The player has some idea of the tip content before clicking on it.
  • The small item icons are visually appealing.




However with the deadline of 1.0 approaching and not wanting to expand the scope any further, I just let the idea brew in my mind... until now.



The new tips and tricks




A picture is worth 1,000 words, and in this case, it is very true. So lets start at with that:








Lets go through and explain some of the initial changes:


  • There is now an index on the side.
  • Now that there is an index, we can remove the 'Forward' and 'Back' buttons.
  • There is a search button, we can search using the tip titles.
  • The tips are categorized and indented accordingly.
  • There is a 'Mark as read' button, we will get to that later...

Quite a few changes to the GUI layout, and it works really well. But we can go further.



An issue remains, an issue that is small, but in the long run and with compound interest, it becomes a big source of pain. The problem is that the Tips are still using images, which means they become outdated as we update things. We have retaken all the screenshots many times now over the years.



So what can we do about it?



The Simulation




In this case, a GIF is worth 1,000 images, so lets start with that:








What you're seeing is a GIF (technically an .mp4) on a webpage, but we are not putting GIFs in the game. What the GIF shows, is the Tips and Tricks GUI live rendering a real simulation of the entities inside the GUI. This marvel of technology is a divine gift from the very top (kovarex).




The simulation widget solves quite a lot of the initial problems with using screenshots/images, but we can go even further.








We can use the simulation not just to show a factory environment. Using the Lua scripting, we can create entire scripted scenes and demonstrations. This is much more effective in many cases. For instance seeing the building preview, the mouse movement, and hearing the 'real sounds', makes the tip much more meaningful.



Unifying with mini-tutorials








We are left with another problem, we still have the mini-tutorial GUI. So it is a weird and awkward situation that some things are explained in the Tips GUI, and other things via the mini-tutorials.




The mini-tutorial GUI is quite a challenge in itself, and it has a lot of similar problems to the old Tips and Tricks GUI. The mini-tutorial 'images' are just 'related' technology icons, with the 'related items' underneath. The text gives a short description of what you might expect from the tutorial.




It would be pretty nice if the mini-tutorials could have the same sort of features as the tips and tricks, an index, nice big images inticing the players to click the 'Play tutorial' button... etc.




So what if, we just somehow put the mini-tutorials in the tips and tricks GUI? It makes a lot of sense, and unifies the communication channel. You know now that if you need help with a topic in the game, there is one place you should look for some guidance, the Tips GUI.




The mini-tutorials had some nice features or their own, they would only show if the player had met some requirements, and would be suggested to the player if they performed certain actions. For instance the Train tutorials would only show after you have researched the railway technology. If we unify the two concepts, we can use the unlock and suggestion features for the Tips and tricks.












So we combine the functionality of the two systems. Mini-tutorials are still the same, but they are presented inside of a Tip, and we hook in the suggestion and dependency system to the tips. We added a 'Mark as read' button, and Tips will show once the dependencies are read.








We see this new unlocking and recommendation system as one of the more important improvements. It means the tips and tricks GUI starts with only the nescessary tips, and as you progress in the game, relevant tips are unlocked and shown to you. This is very similar to the way the game starts with only a few recipes, and the more complex aspects are unlocked over time.



The Tips are moddable!




Once last minor issue with the old tips and tricks, is that they were 'hardcoded' in a sense. They were loaded from a very specific JSON file in the core data directory. That means that it was not possible for mods to add or change any of the tips.




It is only natural then with this update and modernization of the tips, that we open up the system to modders. Internally the Tips work like any other prototype, so it is super easy for a mod to add their own entries.




The scope of tips




When adding the new tips, it was tempting to make tips for all of the things. However after some consideration, we decided to not go too far this way. We don't want the tips and tricks to become a 'Factoripedia' or 'In-game wiki'. In general, the items and entities and general mechanics should explain themselves in more direct ways, such as the entity tooltips.




What we want, is for the tips and tricks to explain mechanics and topics that are more complex, or hard to explain somewhere else.
With that in mind, we decided on a few loose categories:


  • Things that are not related to some specific item, e.g alt info, ghost building.

  • When visual presentation helps a lot, e.g splitters, belt lanes, long handed inserters.

  • When it is something related to a combination of more items, e.g gates over rails, copy-paste stuff.

  • The "tricks" e.g the lab to lab movement, stack transfers, drag building.





Importantly, we should really only explain things that players actually don't get. I have never heard a complaint that someone doesn't understand how solar panels or accumulators work, so putting these into the tips and tricks would be just bloat, even if it technically fits the criteria.



Conclusion




We are quite happy with the result, the tips and tricks GUI was always one of those paradoxical systems that was both extremely useful and terribly ineffective at the same time. We really hope all the effort we have channeled into it will help.




Speaking of help, we need your help: What kind of tips would you have found useful when playing the game? Searching TIL on Reddit can be a source of inspiration, but it is still hard to compare the importance of individual independent Reddit posts, and also a lot of them are outdated. So, if you want to give us feedback, the FFF discussion is the best place (yes we do read Reddit).

Friday Facts #360 - 1.0 is here!
Категория: Игры / Factorio


Hello,

the atmosphere in the last week was kind of special. We experienced the feeling of the final release being on the horizon many times. And we were shown that it isn't the case time and time again. So it feels very special when it is actually becoming reality. We were trying to be especially careful with any last minute changes to make sure that we don't introduce major bugs into our precious 1.0 release. The image of all the players having the game crash on some simple stupid bug is horrifying.



Thank you


People thanked us on many occasions for the hard work we do. It helped lift our mood in many of the desperate moments, when bugs and problems were piling up and we didn't see the end of the tunnel. We don't say it often enough, but the support from your side has been incredibly helpful throughout the years.




  • We thank all who helped us to save the game before it could even start by supporting the IndieGoGo campaign back in 2013.

  • We are grateful for all of the 18,855 bug reports. They were invaluable feedback that helped us reach our level of game stability.

  • We value almost all of the feedback to our FFF and game releases. A lot of game improvements came out of it.

  • We appreciate the work and creativity that went into creating the 5,603 mods. It certainly extends the potential for a lot of people, and the ideas became a great inspiration for us.

  • All the online videos, articles and streams were immensely helpful to spread the word.

  • We thank all who helped with the Crowdin translations, allowing the game to be played in a lot of different languages without us having to manage it directly.

  • We are grateful that people spontaneously helped to manage the Wiki and created some great tools, like calculators, cheat sheets or blueprint databases.

  • We value the effort put into organising events, like fMMO, Clustorio etc.

  • We appreciate that our community is very civilised, and people who contribute are generally nice to each other, and keeping the criticism on the constructive side.

  • And, lastly, we would like to thank all of you who bought the game, and allowed all of this to happen.



The 1.0.0


It took us 8.5 years. It has been an incredible ride and we have arrived at the destination!

Factorio is leaving early access. This opens the game up to all the players who just don't play early access games, the same with reviewers who only cover finished games, which is very understandable.

For this special occasion, we created a launch trailer. It tries to capture the story of the development in 45 seconds.







Since the main Trailer is kind of timeless, we updated it to the 1.0 state of the game.







When we released pretty much all the content in 0.18, there was nothing left for 1.0 other than the formality of "it is complete".
The crash site, nuke, alien decoratives and polluted water are awesome, but not too impactful... As a result, we really wanted to add something to make the release special.



  • It is a vehicle that can be driven, or remotely controlled.

  • It can traverse obstacles and small bodies of water.

  • It has a built-in radar, and you can place blueprints in its vicinity.

  • It has an equipment grid, so it can build with construction robots and use combat equipment.

  • It has four rapid-firing rocket launchers that can shoot automatically.

  • It can be researched very late in the game (all science packs except Space).

  • Multiple of them can be deployed at the same time, but each requires its own linked controller.



This all means it can be used as a tank upgrade, a less automated version of artillery, or a builder/repairer. We look forward to seeing what other uses you can invent.



We haven't added it earlier as we saw it just as a gimmick without much contribution to the gameplay mechanics. This changed rather recently, when we had the idea of the remote control combined with the equipment grid. So we decided to extend our already crazy todo list, and add it as a last minute bonus.



The plan for 1.1



We were doing the best we could, to fix all the relevant bugs and issues for the 1.0 release, but we just couldn't do everything. So we had to prioritise just the more critical stuff. We would still like to address all of the remaining issues as there are currently around 150 bugs on the forums and around 80 internal tasks to be solved. The plan is to eventually go through all of them, and decide on how to resolve each one.



A good example is, that we have a "continue" button, but it just ignores multiplayer. You press continue automatically just to find out, that you are building alone for half an hour. It is my (kovarex) personal story actually.



This means, that 1.1 is going to just focus on filling the most obvious gaps in our existing feature set, not on adding some new major content.



Full circle


When we started with the Friday facts, it was at a time when we worked a lot, but if there wasn't any release for a while, people were starting to ask whether the game is still being worked on. So this was our first motivation. Eventually we learned many additional advantages of the blog, other than it being just a dead mans switch.




  • It established the communication channel between us and the community.

  • It started to be an internal every-week milestone to get something into a presentable form.

  • In some cases it even motivated us to add a cool last minute feature to make the topic feel more complete. (This is how the undo and copy-paste feature was created for example)

  • It became a great archive of the evolution of the game throughout the years. Opening old posts is like reading our own diary.



It became an every Friday habit for us and some of our players too, but we believe now is the right time to stop. There will hardly be a better moment to do so. It should be very understandable that we need a break, and we also need the freedom to think about the long term without the obligation to cut it into small chunks for FFF.



Since you can't expect weekly posts from now on, we wanted a way for you to be notified once we have something special to say. Feel free to give us your email address so we can let you know.



For now please enjoy the game, and we’ll be back!

Friday Facts #359 - Crash site: The beginning
Категория: Игры / Factorio

0.18 mods will be loadable in 1.0 Klonan




With 1.0 approaching, we want to ensure that the day of the launch goes as smoothly as possible, and shows the game in the best light. Something that would really work against that would be if the update broke a bunch of mods and disgruntled all of our most dedicated players. So we are making efforts to ensure that mods that work in 0.18, will work without any update needed in 1.0.




Theoretically this isn't so difficult, as the 0.18 release structure has meant that mods have maintained compatibility with all the latest changes, and in essence 1.0 will just be a small update of 0.18. However it does take a bit of special handling:


  • 1.0 will allow mods marked for 0.18 to load.
  • The mod portal will show 0.18 mods when browsing in 1.0.

Avoiding breaking mods also means we need to be very careful with changing anything, even something as simple as renaming a sprite can break dozens of mods. I think we never realised how easy it is to break mods before we started this new release structure. Big apologies and big thanks to all the modders who stuck with us through these breakages.



We hope that what this effort means, is that on the day of 1.0, players new and old alike can login to the mod portal and have a very large catalog of mods they can enjoy right away, and that the modders can relax and enjoy the game instead of worrying about updating all their work. However, we cannot say 100% that all mods will work, it is possible one of the features in 1.0 (like the new nuke or alien decoratives) will break some mods.



Mining drill redesign revisit Ernestas, V453000




In FFF-350 we presented the new electric mining drill graphics, and released them in 0.18.31 shortly after. However, we hadn't realized soon enough that it had some issues...




The most obvious one is the tile overlapping. All of our graphics try to find a balance between overlapping the tile a lot to be aesthetically nicer, and not overlapping the tile at all to be technically correct and readable.








With the electric mining drill we got bolder than with other entities, and overlapped the tile more. This problem got massively strengthened by the fact that the mining drill outputs directly to a belt, so it doesn't even have the typical gap where inserters usually are.




The secondary but related issue would be that the entity is no longer as recognizable as before. We attribute that mostly to the new height that the drill has, as it gets a bit overcomplicated, and not as clear what the shape of the entity is.








Originally the main reason to add the higher structure was because we wanted to create a much more complicated miner movement (both horizontally and vertically), and to fit pipe connections easily. However the miner movement was too complicated so we didn't do it, and the pipe connections are kind of an edge case.




We could have addressed just the issue of overlapping the tile above the mining drill, but that would already cost some amount of time and we felt like we could go one step further.








It was tight in time, which is why we're presenting it now, but we decided to move the whole structure down, so the mining mechanism would move on ground-based rails. After a lot of effort put into moving things, redesigning parts of the drill, and reworking the pipe connections, Ernestas has arrived to the new version.








The electric mining drill is one of few entities that the player sees from the very first stages of the game, all the way to the end. Long story short, it's a really important entity so we wanted to get it right.




We were happy with the concept of the mining drill redesign for the "aggressive ground penetration" against the "gentle harvesting" of the original, but we traded away a few of the good parts about the old mining drill graphics, like clarity and identifiability. This revisit tries to fix that, and we believe now it's good.




The new mining drill graphics have been released with 0.18.44 (today). As it could break some mods, we wanted to push the new graphics as soon as possible to give mod authors a chance to fix their mods for 1.0.



Technology icons update Dominik, V453000




As many graphics have changed over the years, more and more related technology icons became outdated. We didn't have enough time to do a complete rework of the technology icons as we did with the item icons, but we could at least update the clearly outdated ones.







Crash site: The beginning Ernestas, V453000




Even though a simple one, Factorio does have a story - An engineer crashes on a planet and through building a complex factory, becomes capable of launching rockets back into space (...or builds the sickest combinator contraption instead).




This story is quite well represented - building a crazy factory in the process, ending with an epic rocket launch - except the beginning is not. The player character just appears in the middle of the map with nothing showing where they came from.




When we were working on the crash site for the NPE, we created the special assembling machines, a lab, a power generator and chest capsules.








The NPE has been removed, but Albert didn't design just those special ship chunks. The central piece of the composition was always meant to be a large spacecraft - but per usual, we didn't have enough time to finish it, and since it wasn't really gameplay breaking, we released 0.17 without it.




Although the NPE was removed and its custom crash site entities remained only for modding and custom scenario use, we would like to finish the main crashed ship.




The plan always has been that if we're investing a lot of time into designing the crash site entities, then we better use them for Freeplay as well, as that's the main game mode.




Recently Ernestas picked up Albert's 3D model and finished texturing it, bringing it to life, and to the game.







Click to see full resolution.




Klonan has also added a short skippable cutscene at the start of Freeplay, where the crash site is revealed.




The crashed segments are randomly placed, and there's a little bit of resources to be found in each of the ship segments (the 8 combined iron plates that until now just appeared in your inventory).




All of the crash site parts can be mined, but it gives no reward, takes a long time, and the crash site can't be re-built.




The crash site is spawned at the start of the game, so it won't show on pre-1.0 maps. The crash site will be released in 1.0, on 14th August 2020 - at 11am Prague time.

Friday Facts #358 - Alien decoratives & Polluted water
Категория: Игры / Factorio

Launch party cancelled Jitka




The COVID pandemic around the globe is making it really hard to plan any event these days, and we were pretty optimistic just a few weeks back. However the situation here is now changing for the worse it seems.




The number of positively tested cases of COVID here in Czech has been increasing in relatively high numbers every day for the past two weeks, and the restrictions are again taking place. In Prague, face masks are required to be worn again where more than 100 people gather indoors, no events over 500 people are permitted as of last week, etc.




The current uncertainty together with the fact that at least half of the invited guests will not be able to attend the party (including some members of our own team), have led us into making a tough decision: we have decided to cancel the Factorio 1.0 release party we were intending to throw on 4th September 2020.




For those of you who already purchased a ticket(s) - the full ticket price will be refunded.




We hope there will be another opportunity to meet you all in the foreseeable future, but for now, please accept our apologies for any inconveniences caused. This wasn't an easy decision for us to make, but we believe it is the right one.



Youtuber/Twitch/Press suggestion Klonan




Over the last weeks and months, we have been preparing for the marketing of our 1.0 launch on the 14th of August (just 2 weeks to go now). Part of our plan is going to be sending out some free press keys to Youtubers and streamers and other content creators, in the hopes they will give the game a try, and help spread the word. To prepare, Jitka and I have been doing our research and compiling a list of suitable individuals to send a key to.




It is not a shocking fact to find out that Youtube is massive, and I think even if we spent a year everyday going through it, we still wouldn't find 10% of channels that we would like to send a key to. So we decided to start this simple form, that you can use to suggest your favourite Youtubers to us, and help us make sure they don't miss out on the review keys when we are sending them. If you are interested and would like to help us out, you can fill in the form here.



Polluted water V453000, posila



As we're done with redesigning graphics for 1.0, we could focus on other graphical improvements. Because we are so close to release, it's a good idea to focus on things that are unlikely to break the game and don't cost too much time, while having as large an impact as possible.




One of the biggest themes of the game is pollution. Considering that, it's one of the least visible elements in the game - you can only see it in the map view, and on dying trees. It would be lovely if we could make grass or decoratives die too, but that's something way too technically complicated for now.




But one thing that could and does show pollution is water! For a very long time we’ve had green water tiles in the game and we've used them in campaign missions.








Two water tile types, one or the other.




As it's 'just' tiles, it wasn't really feasible to use both of them - because transitions between them would be too abrupt. Not to mention water tiles would have to generate that way, and dynamically change as the map gets more polluted, leading into more technical problems.








Manually placed tiles in map editor.




However, since water has been updated to use a shader rather recently (FFF-323), we could make it look polluted dynamically.




After some typical posila dark magic of interpolating and converting the pollution values on chunks, we could blend between a primary and secondary tint of water tiles. This way it is also directly tied to the red cloud you can see on the map so it's consistent.






Polluted water slowly spreading.




The green water tiles still exist if scenarios want to use them, they just always show as polluted.




The pollution effect won't show if the 'Show animated water' setting is off, or if pollution is disabled in the map settings. Mods can also adjust or disable the effect it by changing the secondary water tints in the tile prototypes.



Biter decoratives Ernestas, V453000, posila




When the whole family of biters got their redesign, one of the plans for later was to give them their own biome in the world.




We had some temporary decal and decoration sprites prepared for a long time now, but somebody needed to add them to map generator. In the end, we didn't want to spend an awful lot of time on tweaking generator properties to place them just right, and also we wanted them to be created under new bases as biters expand, therefore we decided to add special logic to generate them as spawners and turrets are created. If your mod already has its own solution for creep, you can disable base game one by clearing spawn_decoration prototype property on spawners and worms.




Our initial naive implementation was placing the decals just randomly, and Ernestas turned the number of the decals created up to 11 to make them cover the ground the way he liked. That in turn made me (posila) unhappy, because in the middle of biter bases there were too many decals overlapping each other, that even your GTX 1080 would take notice of the increased workload, and a laptop with an integrated GPU would fall to its knees. That made me realize that artists probably wished our tile renderer had a texture splatting feature. But I wasn't really ready to change the specification for tile renderer yet again and rework it to add more new features into it this close to the release. We also really didn't want to add an option to disable the rendering of decals as that together with already existing option to disable decoratives would make terrain look completely plain.




So instead we changed the decal placement logic use Poisson-disc sampling, which produces points that are randomly placed but somewhat evenly spaced out from each other, and this fixed the excessive overlapping.




Once we knew it could actually be generated (including bases created by biter expansions), Ernestas could finalize the graphics. Mucus, mold, eggs, worms, all kinds of bodily fluids and slimes. You can see how this immediately looks much more like a 'nest'.







Click to view full resolution




We decided not to bother with a migration as we need to focus also on other things (like fixing bugs), so existing biter bases on older maps loaded in 1.0 won't have these decoratives. We imagine a lot of people will want to start a fresh map anyway, and it's a nice identifier of a 1.0 map.




Both the polluted water and the biter decoratives will be released on 14th August in 1.0.




Friday Facts #357 - Nuke
Категория: Игры / Factorio

Blueprint library finishing touches kovarex


At the time of writing the Friday Facts last week, not all of the planned changes were finished, here is the finalisation, so here we go.



Persistent library contents


The problem is old. You play a modded game and have your blueprints in the library. Then, you decide to put the mods aside for a reason (to join a MP game, or just try a different modset). At that moment, if we didn't handle it in a special way, all your mod-related content in your blueprint library would be removed.



We solved the main part of the problem already quite some time ago. But with the upcoming support of other tools in the blueprint library it had to be extended.



Special system was created for these things:

  • The preview icons of the blueprint tools

  • The filters of the deconstruction planner

  • The upgrade specification of the upgrade planner



If the related ID isn't available any more while loading a game. Instead of just plainly removing it, it is marked as unknown and the original textual representation of the ID is stored in a special way.



The tool can still be normally used. Clearing the "unknowns" removes the information about the slot for good, but if you don't clear them it stays there.
















Once you load the appropriate mods again, the IDs are restored.







Upgrades


The UX of upgrading blueprints/books with the upgrade planner was meant to be provisional, but somehow, it remained in use for quite some time.



Currently, the only way to use it is to click the button with an upgrade planner in your cursor, which is sometimes quite annoying, as you don't even have access to your inventory or Blueprint library when you want to click the button, so you have to close the window, find the upgrade planner you want to use, open the window with the upgrade planner already in cursor, and then use it.



So this window was created. When you click the upgrade window, the game searches all the upgrade planners available to you (inventory and blueprint library) and lets you select which one to apply, and always offering the default upgrade planner.







As you probably noticed from the picture, I couldn't restrain myself from adding a little feature. Upgrade planners can be now used both ways: as upgrade with left click and downgrade with right click. It obviously works also when upgrading in the world.



The problem is, that you can already do 3 different kind of things with the tool, and there are generally quite a lot of people that don't know about basic things you can do, like cancelling a deconstruction orders or force-building a blueprint. Because of that, we added instructions to every tool so the users won't miss it.







Snapping


This is a great example of a feature, that I expected to be done quickly and easily... but you know how it goes.



The first problem is related to build and drag. Most of the blueprints don't work that well when you just build and drag them.







The second problem is that blueprints are often designed to work in a grid, but there is no way to enforce it. Either you have to build slowly and cautiously, or you misclick often. And with the new feature of building in map, the problem was just elevated. This is what the second checkbox is for, it forces the blueprint to be built in a grid aligned to the map center. To ensure, that the user can configure individual blueprints in a way that they would match perfectly, the relative position of the blueprint to the grid can be configured by moving the red flag.











Thanks to Boskid, our beloved tester, a big pile of bugs had been already identified and fixed, so there is a chance of the BP library being released next week.

Story of the nuke Dominik, Posila, Ernestas, V453000




Since more than a year ago Dominik has been updating and improving all kinds of visual effects in the game - particles, splashes, explosions and so on. During most of the time we’ve also been getting valid questions - "But what about the nuke?".








It was the plan from the start that the explosion of the atomic bomb would come last. Not because it’s the lowest priority, quite the opposite - however it’s also by far the most challenging effect to create, both on the technical and graphical side, so we kept improving how particles/explosions work, and experimenting with graphics for effects - essentially practicing and preparing ground for the nuke.




The most major challenge visually is the sheer size of the explosion. Normal explosions already benefited greatly from more flexible and various scorch marks and particles, and improving the explosion sprites themselves, but that’s not enough here.




The atomic bomb has such a giant explosion radius that we simply cannot (mostly because of VRAM requirements) create an explosion sprite that would cover all of it.








We’ve tried to make an explosion as large as we could fit in a reasonable spritesheet, and limit its frame count as much as we could as well. Just like we did in the old days when VRAM was much more of a concern.




This mushroom cloud does not cover nearly enough though, so for sure some part of the effect needs to be procedural.




The VRAM is not the only problem though, the biggest challenge for the visuals is yet again the perspective of square tiles, where visually the game looks like the player is viewing it at 45° angle, but everything is presented as if viewed top down. Both of these things are intentional and graphics get the shorter end of the stick when it comes to compensating for this dichotomy (FFF-133).




After discussing many really different approaches we could take, we decided to create a combination of a central spritesheet, with a shockwave of smokes being moved outward from the center.








We tried to make graphics hide this perspective problem as always, and made the explosion move slower vertically, resulting in a visually correct ellipse.




As you can see in the animation above, this exposes the problem of entities dying in the vertical direction before the waves get to them.




So we made the damage apply slower in the vertical direction as well. This does mean you can minmax and run away vertically when shooting the atomic bomb under your feet and you will have a better chance of survival, but that shouldn’t be too much of an issue




We’ve also added a secondary damage radius, so it’s more forgiving if you’re just barely getting hit while running away.








For further improvement, we’ve added a ton of random elements to how the particles move and when they disappear which again makes the edge of the explosion less obvious, but also helps diminish the crescent-like shapes at the end.




The explosion is so large that even creating a scorch mark of an appropriate size for it is a problem, so Ernestas created a scorch mark as big as we could afford, and added a whole new tileset to the ground zero, with decoratives to smooth the edges out a bit.








The atomic explosion also destroys everything in a small radius at the center (killed entities don’t spawn corpses, decoratives are destroyed and cliffs disappear), which makes the explosion feel a lot more powerful and impactful.
The nuclear tiles remain there forever and are visible from the map view as they have their own map colour, though you can place concrete over them to hide the evidence of your actions.








To complete the effect, we’ve added a brief overbright of the whole screen based on how far the player’s screen is from the explosion, and added sound effects which also react to distance from the explosion.




You will be able to enjoy becoming death, the destroyers of worlds, in the new fashion on 14th August, in 1.0.

Friday Facts #356 - Blueprint library for real
Категория: Игры / Factorio

kovarex - the story of motivation



This wall of text is about my personal struggle with Factorio and life, feel free to skip to the next subject if you wish to see the actual Factorio content.



Since two years ago, I started to have these problems, it was harder and harder to force myself to work on the game and I didn't enjoy it that much. So I was looking for a way to have a break.



I know exactly when I disappeared from the Factorio development, it was August 26, 2019, the release date of World of Warcraft classic. The planned 3 weeks of playing kind of extended to be more like 3 months. One of the big reasons was, that I already had 60 level priest when I realized that tanks are so hard to come by, so I re-rolled a tank learned how to play it and levelled it to 60. It was a great fun to finish all the dungeon content and acquire the pre-bis (pre raid best in slot). This all just to find out tanks are far from a hot commodity when it comes to raiding, where you need just a few in the 40 people raid.



At this point, I thought, that I would come back to work with full power, but I just couldn't. When I tried to work, I had this strong, almost physical feeling of disgust, that was impossible to overcome. It was clear to me at this point, this is the the typical burnout situation. It is far from surprising after that many years of working that hard. The attempts to get to work were mainly motivated by guilt, and I knew well, that it is hardly a good motivation for anything. Trying to overcome it by sheer willpower would just make it worse, so I just stayed distant. The team was still working on its own and making good progress, so I was taking advantage of it and continued to have a break and spent more time with my family and on leisure activities.



As the situation was not getting that much better, there were even proposals of selling the company and getting rid of the responsibility for good. For most people, this would sound like a rational choice, but I was far from open to doing that. I generally don't like to do something just because it is the norm. The norm is to try to always keep growing exponentially, getting investors, expanding, getting more people, never stopping, never resting until you are the biggest and most horrible company, or you die trying. This approach dictates, that once you can't expand the enterprise, you need to sell it so others can grow it. And I don't like it. I didn't forget at all why we started working on this game. We wanted to make the game(s) that we couldn't find, and we wanted to have fun doing so. We wanted the game to be primarily fun for us, not for a focus group that has the most financial potential.



So, even if we faced the hypothetical decision : Either we sell it to a big publisher, or we shutdown the studio, I choose the latter, because you can't put a price tag on the fact, that we still own the game. In the latter case, we could come back to it any time when we feel like the time is right, instead of having to watch it being milked as micro transaction filled cashgrab by some company.



So, this was my lowest point personally I was generally not feeling well, and was lost in searching for purpose. One of the biggest reasons that I didn't feel well was, that I was becoming more and more lazy. When you don't have to overcome daily obstacles and annoyances, you become more and more lazy, until even the most basic things start to be huge pain in the ass, and you don't generally feel well, this is where I was.



In the meantime, I was occasionally playing some simple games with my 4.5 year old son (Earn to die and Into space 2). I was trying to find some nice cool games that we could play together, but I didn't find anything, feel free to give me suggestions in the comments. So I figured, that he could actually try to play Factorio.



I started a peaceful game for him, showed him how to move around, mine and craft basic stuff, and let him play. He was just running around and having a blast that he can mine trees and explore. Some other day, I joined the game, and built some small factory so basic technologies are unlocked and he could play around with that. Eventually he set himself a project to create a wall around the entire factory. He was focused and he kept at it, and 3 days later he came at me, and showed it to me, and he was so proud. Some time later, he played alone for a while, and than he showed me some very basic mining/smelting setups. It was very weird, but it worked. This is when I realised how great Factorio is for children, you can scale the skillset from very very basic up to almost infinity. He can't read, he didn't know numbers greater than 4, and yet he managed to play, and in a few days, he kind of recognized numbers up to 10 without even realizing. When I showed him how construction robots and personal requests work, he was super enthusiastic and talked about construction robots to everyone he met :).



Once he asked me "Father, what is this thing in the list of things I can order?" ... "This is atomic bomb" .. "Oh, I want to order it" .. "No, we don't even have it researched" .. "But, why is it in the list then, it doesn't make sense" ... "Hmm, you are right, it doesn't, I might actually fix that." So I opened Factorio source code after a long time, and made the change, that the filter and logistic request selections didn't contain things yet to be researched (unless you force-unlock it in the settings). I made a change to Factorio, and it felt good, and I started to want more, this is how I got from the lowest point.



I wasn't yet prepared for big projects mentally, so I did few other small tweaks, and I started to visit the office occasionally, which gave me more and more energy, I was not working because of guilt, I was working because of joy again. This is when I decided to face the big elephant in the room: the blueprint library. I was scared to approach such a big project in my previous state, but now I felt brave enough. I started working on it and I was able to work in full-power mode again, the work went forward fast. I had to overcome a lot of annoying obstacles on the way, which had positive effect on my overall laziness very fast. As the new BP library started to shape up, I started to feel something almost forgotten, I was proud of what I was doing, yay :)



The story of the Blueprint


The story of blueprint and the blueprint library development is quite long and convoluted, we mentioned it in 12 FFF already and it wasn't always quite right. But I believe, that we are getting to the final stage with the current rework. Small tweaks and improvements can be always done, but the general feeling is like "Yea, this works, finally".



First mention


The first mention of a blueprint (apart the blueprinting mod) was in FFF-16, 6 and half years ago!



First blueprint implementation (0.9)


Blueprints were obviously a great upgrade when you compare it to the state of just not having them. But everything was very plain and primitive from today's perspective. You had to actually craft the blueprint (for one advanced circuit) and the setup window was not the greatest:








Note that the confirm button was the blueprint button. The exact example of us doing GUI in the logical way but not an intuitive way.
There was no way to change the blueprint once it was set up, you could only clear it (for the price of one electronic circuit).



First improvement of the blueprint management (0.13)



Blueprints started to be important, so we added some very basic way to edit them and a way to include tiles and modules. (FFF-131)







Also, the blueprint book was introduced (FFF-108, it cost 15 advanced circuits and could hold only blueprints directly.







First plan of blueprint library (0.15)



The fact, that you didn't have a way to backup your blueprints and you would just plainly loose them when you died, or moved to a different game was quite harsh, so we started to work on the blueprint library. Our first mention of it was in the FFF-156.



First implementation (0.15)



The first implementation was pretty rough and first shown in the FFF-161







Note, that the play button was the way to export the blueprint into your game as an item, so you can put it into your inventory and use it.



First redesign



We, mainly Oxyd (FFF-170), quickly realized that this needs to be more intuitive, so the way it was exported was streamlined, you just drag and drop into your inventory.







Another way of exporting was done secretly: When you held a blueprint record while closing the library window. It was seemingly useful as you could just grab it from the library and build, but once you were done and pressed Q to clean the cursor, the item was just spilled into your inventory. It was common at these times, that your inventory was slowly getting cluttered with random blueprints and you had to do a cleanup from time to time.



The Blueprint editing window was also improved:







0.16 Blueprint preview was updated


It was "only" about connecting the belt/pipe/wall entities, but it added a lot to the understandability (FFF-211).







The endless discussion phase



We knew there were still a lot of problems with the blueprint library and we were desperately trying to figure out how to solve them in various different crazy ways (FFF-249). But a week later, we agreed on a relatively simple solution (FFF-250 and FFF-255): From the player perspective, blueprints are always just items,and blueprint library is just something like a persistent chest. Quickbar, movements, stack transfers, everything works exactly like with items, and the BP library technical magic is done under the hood.



After some time (32 weeks actually), we presented a UI mockup for the planned blueprint library FFF-282.
This was the big plan, but since 0.17 release was approaching and there were just too many other things to do, we postponed it.



0.17 release - More tools



In this version we added a lot of tools:


  • Upgrade planner

  • Copy/cut paste (with history)

  • Undo




And we also extended the amount of things blueprint can handle -mainly trains (FFF-263):







We just made a few small tweaks for 0,17, to make the usage of blueprints less of a pain, mainly the ability to make a quickbar reference directly to the blueprint library. Using it created a new item that is copy of the BP library record, so you can build from it and pressing Q to clean the cursor just deleted the blueprint instead of cluttering the inventory.



But blueprint library still didn't get any real improvement.



Current blueprint library



In 0.18 release, I improved the blueprint setup window so it matches our new GUI style:








But the blueprint library still didn't get any real improvement.



New blueprint library



So, if this buildup led to nothing, it would be pretty lame so as you would expect the blueprint library is now finally getting a real improvement.



1) The looks



It looks nice now and mainly fits the style of the rest of the game:







2) The manipulation



As it was agreed 2 years ago (fuck), the blueprints in the blueprint library are manipulated as items in every way. Twinsen forced me to agree on this way, and I wasn't that convinced at that time, but when I started to implement it, it was instantly clear, that this is way better than any other proposal. You don't have to learn anything new and just manipulate the objects exactly the same way you are used to and it just feels right.



There is quite something happening in the background when transferring Blueprints, as they are still very different types of objects in the inventory and in the blueprint library, but the user is now completely shielded from this.



3) The unification



All the related UI was unified to look the same, in current version for example, opening a blueprint book as an item looks very different compared to opening it in the blueprint library, and it even has different features.



4) The identification



Now we get to the new features, first of all, every blueprint tool has editable name, description and icons.
For Blueprint book, upgrade planner and deconstruction planner, these icons are optional, but overwrite the dynamic icons shown for them. This might be mainly useful for books that you want to just have the same preview regardless of currently selected blueprint.



When the names and descriptions become more important to the user, he can switch to the list view.







Small thing that helps is that the upgrade planner now updates also related icons of the blueprints and books






5) The books in books



It is something we wanted for a long time, and it was highly requested, so now, it is possible. The maximum depth is set to 6, mainly to prevent the UI from getting out of hand.







It is just logical, that iterating through the book contents works hierarchically now:







6) The tools in books and library



Since both the upgrade planner and the deconstruction planner are also kind of virtual and configurable, it just makes sense to allow them in books and the blueprint library. The preview of the book is changing when you switch between different types of objects.







7) The copy



Since blueprint manipulation is now always moving the blueprint around, never making a copy (apart the export-import workaround), we really needed this feature to make an explicit copy. The nice touch is that the copy is made based on the current unconfirmed edit of the blueprint, so you can make slightly modified versions of it quite fast.







8) The reassign



My personally most wanted feature. You can change the contents of the blueprints while the name, description, icons, quickbar links and positioning is preserved.







Building in map


Rseding had a great timing with his feature of building blueprints directly in the game map.





These changes are being finalised and tested, so they should be available in the upcoming weeks just in time before 1.0.

DataLife Engine v.14.2 Final Release

Дорогие друзья,

Представляем вам новую версию нашего скрипта DataLife Engine v.14.2. В данном релизе вас ожидают новые возможности вывода данных пользователей в публикациях, поддержка новой системы кеширования данных Redis, новые мультимедийные возможности и поддержка более 200 новых мультимедийных сервисов для проигрывания контента, большое количество новых шаблонных тегов и параметров, и многое другое, об этом и другом читайте подробнее ...