Limbo: дата выхода, системные требования

02 августа 2011 года

Дата выхода Limbo

Дата выпуска проекта – 02 августа 2011 года

В платформере предстоит разгадать множество головоломок, основанных на физике. Геймеры окажутся в виртуальном и опасном черно-белом мире – Лимбе. Вам предстоит уходить от опасностей и ловушек, расставленных ужасными обитателями игры.

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

Системные требования Limbo

Минимальные системные требования:

  • Windows XP / Vista / 7
  • Любой процессор с 2 ГГц
  • 512 МБ ОЗУ
  • Любая видеокарта с поддержкой шейдеров 3.0
  • 150 МБ свободного места

    Limbo — Системные требования

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

    Минимальные системные требования

    Рекомендуемые системные требования

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

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

    Для чего нужно знать системные требования?

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

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

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

    Например, если в минимальных системных требованиях игры значится процессор не ниже Intel Core i5, то не стоит ожидать, что она запустится на i3. Однако сравнивать процессоры от разных производителей сложнее, именно поэтому разработчики часто указывают наименования от двух основных компаний — Intel и AMD (процессоры), Nvidia и AMD (видеокарты).

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

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

    Системные требования LIMBO

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

    Минимальные системные требования

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

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

    Системные требования Limbo на ПК

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

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

    Минимальная конфигурация:

    • ОС: Windows XP, Vista, 7
    • Процессор: 2 ГГц
    • Память: 512 Мб
    • Видео: видеокарта с поддержкой Shader Model 3.0
    • HDD: 150 Мб
    • DirectX 9.0c

    Кроме сверки системных требований Limbo со своей конфигурацией ПК не забудьте обновить драйвера видеокарты. Важно помнить, что следует загружать только окончательные версии видеокарт – старайтесь не использовать бета-версии, так как в них может быть большое количество не найденных и не исправленных ошибок.

    Смотрите так же:  Сроки перечисления ндфл штраф

    Часть 3. Язык Limbo

    Этот контент является частью # из серии # статей: Inferno и Plan 9

    Этот контент является частью серии: Inferno и Plan 9

    Следите за выходом новых статей этой серии.

    Перед тем как перейти к разработке распределенных приложений для ОС Plan 9 и Inferno мы должны ознакомиться с языком программирования Limbo, используемым в Inferno для создания прикладного ПО. Если вы уже знаете язык Си, Limbo покажется вам знакомым и вы легко его освоите, всем остальным рекомендую прочитать статьи или книги, посвященные введению в Си.

    Limbo — высокоуровневый модульный язык со встроенными средствами многопоточного программирования, созданный специально для использования в среде Inferno. Мы уже рассмотрели ключевые возможности и достоинства этого языка в первой части цикла, поэтому не будем останавливаться на его описании, а сразу перейдем к практической части.

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

    Исходный код модуля обычно помещается в так называемый файл реализации, имеющий расширение .b. Структура такого файла выглядит следующим образом:

    * Первая строка файла всегда начинается с ключевого слова implement, следом за которым идет имя модуля:

    * Далее могут следовать комментарии, начинающиеся со знака решетки (#), а также описание интерфейса модуля:

    * За ним должны следовать описания интерфейсов всех модулей, которые будут загружены и использованы текущим:

    * Далее могут идти объявления глобальных переменных и констант (о них позже).

    * В конце файла обычно размещаются определения функций (тех, которые были перечислены в объявлении интерфейса модуля и других, предназначенных для внутреннего использования):

    О разработке приложений

    В Inferno есть все для эффективной разработки приложений. Вы можете использовать среду разработки acme или воспользоваться более простым и привычным редактором wm/edit. В качестве источника информации используйте команды man и wm/man, начните с чтения документа intro второй секции. Система поставляется с мощным отладчиком wm/deb (для его использования запускайте компилятор limbo с флагом -g) и утилитами для выполнения профилирования wm/prof, wm/cprof и wm/mprof.

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

    Чтобы не дублировать содержимое нескольких файлов реализации, Limbo допускает вынесение любых его частей в отдельный файл, содержимое которого можно включить в текущий файл с помощью оператора include. Обычно эта возможность используется для вынесения объявления интерфейса модуля в файл, называемый файлом интерфейса (обычно он имеет расширение .m). Они исполняют функцию, аналогичную заголовочным файлам языка Си (.h).

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

    Вокруг этой особенности построена система «запуска» модулей, исполняющих роль обычных программ. В Inferno, чтобы превратить модуль в программу в классическом понимании этого слова, достаточно поместить объявление функции init, имеющей заранее определенную сигнатуру, в описание интерфейса этого модуля и затем определить ее в его реализации. Именно с нее начнется исполнение (аналог функции main в языке Си).

    Старый-добрый Hello World

    Классический пример программы Hello World, написанной на языке Limbo, состоит из 15 строк:

    В первой строке мы даем Limbo-компилятору понять что этот файл — реализация модуля под названием HelloWorld.

    Строки 3 и 4 включают в файл описания интерфейса системных модулей Sys и Draw из файлов /module/sys.m (системные вызовы ядра и подсобные функции) и /module/draw.m (API графической подсистемы). Оператор include выполняет функцию, аналогичную директиве препроцессора #include языка Си, однако позволяет указывать имена файлов только в кавычках (поиск файлов интерфейсов происходит последовательно в двух каталогах: текущем и /module).

    Шестая строка объявляет переменную sys типа Sys. В дальнейшем она будет использована для доступа к функциями модуля Sys (строка 14).

    Строки с восьмой по десятую — это описание интерфейса модуля HelloWorld, которое содержит объявление init в качестве функции, принадлежащей этому модулю. Командный интерпретатор будет использовать интерфейс модуля Command, имеющий приведенное ниже описание, для обращения к функции init нашего модуля:

    Как видите, за исключением имени, он полностью идентичен интерфейсу модуля HelloWorld.

    Функция init принимает два аргумента, имеющие типы ref Draw->Context (тип Context, определенный в модуле Draw) и list of string (список строк). Это графический контекст (используемый для доступа к графическим функциям) и список аргументов командной строки.

    Смотрите так же:  Знаки дорожные требования к материалам

    Строки с 12-ой по 15-ю — определение функции init. Она содержит всего две строки: первая загружает модуль Sys в память и присваивает его адрес переменной sys, вторая — вызывает функцию print этого модуля (функция print модуля Sys — это эквивалент функции printf из библиотеки libc).

    Инструкция load принимает два аргумента: имя модуля (а точнее имя интерфейса модуля) и его адрес на диске. Программист вправе указывать путь к модулю самостоятельно (это полезно, если у вас есть собственная версия модуля, расположенная в другом каталоге), но по соглашению путь принято указывать в константе PATH, объявленной в описании интерфейса модуля.

    Для компиляции модуля, сохраните его в каталог с установленной Inferno под именем helloworld.b, запустите Inferno (установка и способ запуска были описаны во второй статье цикла), откройте окно командного интерпретатора (Shell) и запустите на исполнение следующую команду:

    Если в файле нет ошибок, то в текущем каталоге появится исполняемый файл helloworld.dis. Для его запуска наберите команду:

    В Limbo есть две разновидности типов данных: примитивные и ссылочные. К первым относятся числовые типы, перечисленные в нижеприведенной таблице, а также высокоуровневый тип string, предназначенный для представления строк.

    С типами byte, int, big и real можно производить любые операции, допустимые в языке Си, кроме «запоздалых» операций, таких как «=+» (при этом «+=» вполне законна). Оператор присваивания в Limbo имеет две формы. Классическая форма (=) используется тогда, кагда перменная уже была объявлена ранее. Например:

    Вторая форма может быть использована для одновременного объявления и инициализации переменной (при этом ее тип будет выбран автоматически):

    Тип string обеспечивает хранение строк и позволяет производить только ограниченное число специфических операций над собой:

    В памяти строки хранятся в кодировке UTF-16, в то время как на диске — в UTF-8. Преобразование происходит «на лету», поэтому вы можете использовать любые Unicode-символы в своих программах, не беспокоясь о возможных проблемах.

    Константы в Limbo объявляются с помощью ключевого слова con:

    При этом константы можно перечислять с помощью ключевого слова iota. Например:

    Так называемые «ссылочные» типы используются в Limbo для хранения данных, доступ к которым происходит по ссылке, а не по значению. К таким типам относятся массивы, списки, кортежи и абстрактные типы данных (ADT). В отличие от примитивных типов (кроме string), которые сразу после объявления имеют неопределенное значение, ссылочные типы содержат значение nil, идентичное NULL в языке Си. В отличие от указателей Си адресом ссылочного типа нельзя манипулировать (кроме присвоения значения nil).

    Массивы языка Limbo ничем не отличаются от массивов в других языках программирования. Это все та же последовательность однотипных пронумерованных данных. Объявление массива в Limbo очень похоже на объявление массива в языке Pascal:

    Чтобы заранее зарезервировать место для элементов массива используйте следующую конструкцию:

    Для обращение к элементу — оператор взятия элемента:

    Для предварительной инициализации массива используйте следующую конструкцию:

    При этом элементы массива могут быть автоматически заполнены нужным вам значением:

    Массив можно преобразовать в строку и наоборот:

    Также как и строки массивы можно срезать, вычислять их длину с помощью оператора len и обнулять присваивая значение nil.

    Списком (list) в Limbo называется тип данных, предназначенный для хранения последовательности элементов, организованных в стек. У списка есть голова, которую составляет первый элемент списка, и хвост — все остальные элементы. Для создания списка следует использовать следующую конструкцию:

    В любой момент к существующему списку можно добавить новые элементы, причем как к началу, так и к концу:

    С помощью операторов hd и tl у списка можно взять голову и хвост:

    Другой «составной» тип данных Limbo называется кортежем (tuple) и позволяет группировать данные любых типов для их обработки в качестве одного объекта. Кортежи создаются с помощью заключения перечисленных через запятую элементов в скобки. Например:

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

    Абстрактный тип данных (ADT) языка Limbo очень похож на структуры языка Си. Однако в дополнение к обычным данным он может включать в себя и функции, подобно классам ООП-языков. Абстрактный тип данных не поддерживает наследование, полиморфизм и не обладает другими характерными чертами классов, но мы будем использовать термины словаря ООП для более простого и ясного изложения.

    Итак, объявление ADT выглядит примерно так:

    Где поле — это какие-либо данные, а метод — функция, «привязанная» к ADT. Например:

    Эта запись объявляет новый абстрактный тип данных Clock (по соглашению имена модулей и классов начинаются с заглавной буквы), который имеет три поля и один метод, который имеет объявление, но еще не имеет реализации. Обычно объявление ADT и реализацию его методов разделяют, помещая первое в файл объявления модуля (.m), а второе — в файл реализации (.b). Это не обязательное требование, а лишь способ сделать ADT внешней структурой, которую смогут использовать другие модули. В любом случае реализация методов ADT выглядит так же как реализация обычной функции с уточняющей записью, говорящей о том, к какому ADT он принадлежит:

    Смотрите так же:  Экспертиза почерковедческая в самаре

    После объявления ADT становится полноправным ссылочным типом данных, таким же как массив или список, и вы можете объявлять переменные с этим типом:

    Для доступа к полям и методам такой переменной следует использовать точку, точно также как при доступе к элементам экземпляра класса в языках С++ и Java:

    Доступ к методам имеет свою специфику. Как видно из приведенного выше определения метода get, для того, чтобы он смог получить доступ к полям своего же ADT, он должен получить его экземпляр в качестве аргумента. Поэтому вызов метода выглядит несколько странно и избыточно:

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

    Вернемся к нашему примеру и перепишем его с использованием self:

    Теперь метод можно вызывать без явной передачи экземпляра ADT:

    Структуры управления

    Структуры управления языка Limbo практически не отличаются от таковых в языке Си. Оператор выбора if имеет две формы:

    Как и в языке Си выражение должно вернуть результат типа int, в зависимости от которого будет выполнен оператор1 (оператор) или оператор2. В дополнение к if предусмотрен также оператор множественного выбора, который имеет следующую форму:

    Оператор case похож на оператор switch из языка Си, но имеет отличия в синтаксисе и поведении. Рассмотрим простой пример:

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

    Выражение не обязано возвращать значение типа int, это может быть и string:

    Операторы повтора for, while и do. while полностью идентичны своим аналогам в языке Си, поэтому я не буду на них останавливаться, а только приведу форму записи:

    Так же как в языке Си операторы break и continue используются для принудительного прерывания циклов и в выражениях case и alt (о нем в следующем разделе). Однако, в отличие от Си они могут принимать адрес метки в качестве аргумента. Это можно использовать, например, для выхода из вложенных циклов.

    Многопоточное программирование

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

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

    На практике мы получаем следующий набор конструкций языка, обеспечивающий перечисленные функции:

    • Оператор spawn, порождающий новый поток;
    • Тип chan, представлющий каналы;
    • Оператор

      • 4.8, Оценок: 186
      • 749 р

    Просмотреть в Mac App Store

    Не зная о судьбе своей сестры, мальчик входит в LIMBO.

    Операционная система: Mac OS X 10.6.0 (Snow Leopard) или выше
    Процессор: Intel Mac
    ОЗУ: 1 GB RAM
    Графика: видеокарта с поддержкой OpenGL 2.0 с раздельным или дискретным ОЗУ объемом 256 МБ (ATI или NVIDIA)
    ПРИМЕЧАНИЕ: обратите внимание на то, что LIMBO не запускается на компьютерах Mac, выпущенных в 2006-2008 гг с графическими решениями Intel. Данная игра запускается на всех компьютерах Mac, выпускаемых с 2009 года.
    Жесткий диск: 150 МБ.

    Другие публикации:

    • Assassins creed 2 требования Системные требования Assassin's Creed 2 Deluxe Edition Системные требования Assassin's Creed 2 Deluxe Edition отображают вариант комплектации PC (ПК), позволяющий запустить игру без ощутимых просадок производительности – с комфортным FPS […]
    • Какие требования для gta 4 Системные требования GTA 4 Ниже приведены минимальные и рекомендуемые системные требования GTA 4 на PC. Минимальные системные требования GTA 4 на PC Операционная система: Windows Vista SP1 / 7 / 8, Windows XP SP3, .NET Framework 3.5; […]
    • Танки требования к системе Системные требования World of Tanks Операционная система: Windows XP, Windows Vista, Windows 7, Windows 8. Процессор (CPU): 2,2 ГГц поддерживающий технологию SSE2. Оперативная память (RAM): 1,5 ГБ для Windows XP, 2 ГБ для Windows Vista, […]
    • Требования для фифа 12 Системные требования FIFA 12 Процессор: Core 2 Duo E4300 или лучше Оперативная память: 1 Гб оперативной памяти (2 Гб для ОС Windows Vista / Windows 7) Видеокарта: 256 Мб видеокарта, совместимая с DirectX® 9.0c и 3D или аналогичная c […]
    • Viber требования к телефону Системные требования Viber Системные и аппаратные требования Viber для компьютера Dual core процессор. 1GB ОЗУ Микрофон и динамики для совершения голосовых вызовов, а также веб-камера для видеосвязи. Операционная система: […]
    • Образец приказа о начале строительства хозспособом Как оформить и отразить в учете строительство (изготовление) основных средств хозяйственным способом Одним из способов поступления основных средств в организацию является их строительство (изготовление). Организация может построить […]
    Limbo требования