LINUX.ORG.RU

INSTEAD 3.1.2 в Debian TESTING

 , ,


1

3

Не так давно свежий INSTEAD попал в Debian (http://instead.syscall.ru/ru//2017/08/30/debian-3-1-2/), а вчера он проник в ветку testing. Решил поделиться информацией с теми, кто ждал этого события :)

https://packages.debian.org/buster/instead

P.S. А еще раньше был выпущен emscripten порт, любую игру можно запускать прямо в браузере: http://instead-games.ru/em.php

http://instead.syscall.ru

★★

Не так давно свежий INSTEAD попал в Debian

Спасибо, мы в курсе.

https://repology.org/metapackage/instead/badges

Расскажи что за тип этот joe.skb7@gmail.com и почему он так плохо поддерживает пакет.

P.S. А еще раньше был выпущен emscripten порт, любую игру можно запускать прямо в браузере

Спасибо, вот чего не надо того не надо.

slovazap ★★★★★ ()

Да, это тяжелая болезнь, особенно когда много кнопок !далее!, Но в РенПае например есть автоперемотка прочитанного ранее до первого попавшегося ветвления. Я этим активно пользуюсь. И сам думаю, как это сгладить в Инстеде.
...
http://forum.ifiction.ru/viewtopic.php?pid=35277#p35277

gloomy, ты знашь что-то об этом?

atsym ★★★★★ ()

Посмотрел «Кнопку» v.0.2 и увидел ошибку!

Комната «Лабораторная 1» содержит в окне описания слева «Микромодуль P13», НО на схеме справа есть только «Р12»!

http://pasteall.org/pic/index.php?id=119813

Ещё одна «особенность» INSTED'а - очень высокая нагрузка системы (скрин выше демонстрирует режим «заморозки» во время работы с системным меню; скрин ниже демонстрирует нагрузку в обычном игровом процессе)

http://pasteall.org/pic/index.php?id=119814

gloomy, почему INSTEAD так сильно нагружает ПК, если игры не особо нагружены спецэффектами?

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

https://instead.syscall.ru/talk/index.php/513/107#p11000

atsym ★★★★★ ()
Ответ на: комментарий от atsym

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

причина тормозов может быть и в комбинации sdl/sdl2/драйвер. и в звуке. и в том что игра использует таймер на максимальной частоте. не знаю, в целом, я бы не сказал что инстед медленный. :)

попробуй для начала собрать с другим sdl. (2 или 1). убедись что инстед не переключается в софтварный режим (запусти из терминала). попробуй поиграться с hq режимом в настройках.

gloomy ★★ ()
Ответ на: комментарий от atsym

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

насчет готовности кнопки, ее потестили все кто мог. если бы ее не одобрили, так и лежала бы в песочнице.

gloomy ★★ ()
Ответ на: комментарий от atsym

я кстати сейчас портирую instead на sailfish os. со скоростью/нагрузкой проблем не наблюдаю. аркадки летают. это на jolla c. дали девайс помучать (надеюсь, не придется его отдавать :)

gloomy ★★ ()
Ответ на: комментарий от gloomy

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

Запустил «Обучающюю игру» - нагрузка минимальна.

Значит «Кнопка» нуждается в оптимизации. Ты сообщишь автору об этом?

atsym ★★★★★ ()
Ответ на: комментарий от atsym

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

gloomy ★★ ()
Ответ на: комментарий от gloomy

А вот такой вопрос: «Как запустить/переключить INSTEAD в режимы 24bpp, 16bpp, и пр.?»

Сейчас если запускаю user@linux ~ $ instead, то выдает:

Video mode: 800x600@32bpp

Я могу изменить разрешение коммандой user@linux ~ $ instead -mode 1280x800, но вот изменить глубину цветов не знаю как.

И почему вообще глубина выставлена аж в 32бита/пиксель?

atsym ★★★★★ ()
Ответ на: комментарий от gloomy

автор пусть решает, я ему сообщу.

Кстати, автору «Кнопки» стоит посмотреть в темы, а то при запуске кнопки в терминал вываливаются ошибки связанные с родной темой «Кнопки»

user@linux ~ $ instead -game button
Using own theme file...
Can't process cmd 'inv.align' on line 56 in 'theme.ini': No such file or directory
Can't process cmd 'menu.align' on line 72 in 'theme.ini': No such file or directory
Theme parsed with errors!
Video mode: 1280x800@32bpp
...

А если закрываю игру (хоть через меню, хоть по нажатию на [x] основного окна) сыпется куча предупреждений об ошибках сохранения:

...
Warning: object mm_powblock["_corp"] can not be saved!
Warning: object mm_rom["_corp"] can not be saved!
Warning: object mm_cp["_corp"] can not be saved!
Warning: object l4_calc["_corp"] can not be saved!
Warning: object l1_cp["_corp"] can not be saved!
Warning: object l2_mm["_corp"] can not be saved!
Warning: object mm_io["_corp"] can not be saved!
Warning: object l4_mult["_corp"] can not be saved!
Warning: object l4_cp["_corp"] can not be saved!
Warning: object l_p12["_corp"] can not be saved!
Warning: object l3_cp["_corp"] can not be saved!
Warning: object l2_cp["_corp"] can not be saved!
Warning: object power["_corp"] can not be saved!

atsym ★★★★★ ()
Ответ на: комментарий от atsym

Это не ошибки. Они не влияют на геймплей и автор о них знает.

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

Влиять на графику можно:

- режим HQ (автоматически использовать максимальное разрешение в полноэкранном режиме).

- fullscreen/window

- принудительно перейти на софтварный рендеринг (параметр -software)

Типовые варианты запуска:

instead -hires -fullscreen (с масштабированием)

instead -nohires -fullscreen (без масштабирование)

Переход в полный экран работает также по alt-enter.

P.S. кроме того, глубина цвета - это не глубина цвета «режима», это глубина цвета поверхности в которую осуществляется рендеринг. режим же «экрана» скорее всего остается в твоем случае тем же, что и до запуска инстеда (и скорее всего, он и есть 32 бита).

gloomy ★★ ()
Последнее исправление: gloomy (всего исправлений: 1)
Ответ на: комментарий от atsym

Если интересно, могу пояснить про битность цветов.

Так как мы работает с rgba графикой (поддержка прозрачности), то все загружаемые картинки и финальная картинка (экран) — приводятся к одному формату. Чтобы при блиттинге было меньше накладных расходов на возможную конвертацию. 32 бита - так как 4 компонента цвета. r, g, b, a. Финальный блиттинг на экран уже делается аппаратно (обычно) через текстуру, и там это уже не влияет.

Вообще, инстед умеет собираться c SDL1 и SDL2, и алгоритмы работы — разные. Большинство вещей делаются софтово, но для изобразитьельных задач инстеда — этого выше крыши. Зато работает в итоге он на любом дохлом железе. Правда на нем иногда приходится отключать HQ, ну это железо уровня S60.

gloomy ★★ ()
Ответ на: комментарий от gloomy

инстед умеет собираться c SDL1 и SDL2

Но конечный пользователь в основном берёт тот бинарник, какой есть на оф.сайте

http://instead.syscall.ru/ru/download/

Я брал DEB для Ubuntu 16.04

https://launchpad.net/~instead/ archive/ubuntu/ppa/ sourcepub/8344471/ listin...

Мой ПК: SR58P
ОС: LinuxMint 18.2 Xfce (amd64)
GPU: ATI Radeon RS600, 256 Mb (integrated)
CPU: Celeron Dual-Core, 1.63 GHz
RAM: 2.0 Gb

Зато работает в итоге он на любом дохлом железе. Правда на нем иногда приходится отключать HQ, ну это железо уровня S60.

Тогда характкристик моего ПК должно быть достаточно для обычной работы INSTEAD, тем более что он намного мощней тех же Nokia N82, E73, 5230 на которых INSTEAD работает.

atsym ★★★★★ ()
Последнее исправление: atsym (всего исправлений: 1)
Ответ на: комментарий от atsym

Помоему, мой характкристик моего ПК должно быть достаточно для обычной работы INSTEAD, тем более что он намного мощней тех же Nokia N82, E73, 5230 на которых INSTEAD работает.

Ну так вроде у тебя и работает? В кнопке 60% загрузки - вполне вероятно в тех местах, где идет анимация. Там таймер ставится для высокого fps, как я выше писал. В любом случае, даже 60% загрузки в течении ролика - это не проблема.

gloomy ★★ ()
Ответ на: комментарий от gloomy

А так, смотри как другие SDL игры у тебя работают. Я не знаю если честно с чем собрана убунту версия: с SDL2 или SDL, нет у меня убунты. Можешь ldd посмотреть. Если считаешь что есть проблема - разбирайся. Но я не смогу сделать что то с INSTEAD чтоб у тебя оно волшебным образом заработало быстрее в 10 раз. :) INSTEAD — обычное SDL/SDL2 приложение.

gloomy ★★ ()
Последнее исправление: gloomy (всего исправлений: 1)
Ответ на: комментарий от gloomy

Я тут top запустил и просто покрутил колесико в браузере (firefox). 40% :) При этом i7, ati дрова... Глянул в код кнопки, в момент роликов и эффектов там таймер стоит на 10, это довольно часто. Соответствует где то 100fps, так что как я и сказал, это решение автора. В обычном режиме игры, когда идет квест — загрузка должна быть минимальной, ибо инстед в такие моменты просто спит.

gloomy ★★ ()
Последнее исправление: gloomy (всего исправлений: 1)
Ответ на: комментарий от gloomy

Дело в том что 60%-я нагрузка (а иногда скакает и больше) держится и в комнатах, где отсутствует анимация.

Конкретно на первом скрине нет никакой анимации, а нагрузка всёравно высока.

Возможно, что-то в «Кнопке» не выключается после показа анимаций или идет постоянный какой-то overload

atsym ★★★★★ ()
Ответ на: комментарий от atsym

Если про этот скрин речь: http://pasteall.org/pic/show.php?id=119814

То не исключено что на всех «схемотехнических» задачах таймер включен. Ибо там дальше в реал тайме будут задачи на них. Игру писал не я, но думаю, что это самое вероятное объяснение. Скорее всего, автор написал «схемотехнический» движок в расчете на реалтайм.

Повторюсь, поставив таймер на 25, автоматом снизим загрузку, при приемлемом fps, но я не вижу проблемы все равно. Многие аркадные игры на SDL фигачат каждый раз по кадру с частотой fps60 и никого это не напрягает.

gloomy ★★ ()
Ответ на: комментарий от gloomy

Если же загрузка 60% держится вообще на всех локациях, то да - похоже на то что ты описываешь. Надо изучать тогда, автору я дал ссылку на эту ветку.

P.S. я померял в начале игры - не увидел загрузки. на sailfish процентов 5

gloomy ★★ ()
Ответ на: комментарий от gloomy

Ну, ты загнул конечно: приводить firefox в качестве приложения с низким потреблением ресурсов – это почти-что чёрный юмор ;-) Да и в ситуации с firefox есть на кого списывать - на тормозной/прожерливый JS.

В INSTEAD же списывать-то и не на что: SDL? Да нет SDL быстр. Lua? Да Lua вроде быстрее обрабатывается чем JS.

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

atsym ★★★★★ ()
Ответ на: комментарий от gloomy

Если же загрузка 60% держится вообще на всех локациях

Сейчас вот нажал «Отойти» (от стенда) – нагрузка упала до 10%-15%.

Подхожу к одному (любому) из четырёх заданий – снова нагрузка 60%-65%.

atsym ★★★★★ ()
Ответ на: комментарий от atsym

Я просто проскроллировал окно. Когда ff стоит - он у меня не грузит проц. Грузит проц именно 2d отрисовка. Можно просто потаскать окна, это тоже повысит нагрузку. Всякие эффекты gnome итд.

В инстеде, самая тяжелая операция - блиттинг кадра целиком. Это очень редко бывает. Но если мы заряжаем таймер и переходим в режим отрисовки кадра, то мы превращаемся в типичный 2d движок. И если мы будем неограниченно фигачить кадры (>60fps), то и уйдем в > 50% легко. На eeepc древнем я уходил в 90% при 60fps. Не помню на каком разрешении. Если сравнивать с другими SDL играми, у меня получалось не медленнее это точно. Я даже вылизывал скорость работая то ли по vnc, то ли по x11, не помню. :) Минимизировал update областей. Так что считаю, неплохо он работает.

Насчет того быстр ли SDL. В INSTEAD не используется 3d ускорение. Там большая часть вещей делается софтварно. Ну например. Нужно отрисовать страницу текста, приходится SDL_ttf использовать. Это медленно! К счастью, в инстеде есть несколько кешей и в том числе для рендеринга слов (я кстати даже слал патчи в SDL_ttf/SDL_mixer и их принимали ;). Один из этих патчей ускорял работу SDL_ttf на utf8 символах. Но даже без этого, кеши в самом инстеде - работают хорошо.

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

Насчет lua. Не все так просто. lua-jit - очень быстр (с ним идет сборка под Windows и Android), в Linux нужно самому собирать, ибо luajit не для всех архитектур есть.

Но на lua как раз нагрузки нет особенной, так как игровая логика обычно не жрет cpu. Жрет именно частая отрисовка кадров. То есть - банальный скроллинг пальцем текста - и мы снова прыгаем в top. Но это не только в INSTEAD так. :) Про ff я привел пример не просто так. :)

gloomy ★★ ()
Ответ на: комментарий от atsym

Подхожу к одному (любому) из четырёх заданий – снова нагрузка 60%-65%.

Значит я угадал. Автор написал движок задач в реалтайме. И частота там высокая - около 100fps. Ну, так решил. :)

gloomy ★★ ()
Ответ на: комментарий от gloomy

Повторюсь, поставив таймер на 25, автоматом снизим загрузку, при приемлемом fps, но я не вижу проблемы все равно

Так, поправил только-что строку 69 файла ../button/main.lua подставив значение --timer:set(25) – результат тот же: в локациях с задачами грузит систему на 60%

atsym ★★★★★ ()
Ответ на: комментарий от atsym

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

если автор посчитает нужным уменьшить частоту таймера - сделает.

gloomy ★★ ()
Ответ на: комментарий от gloomy

А вот такой вопрос: насколько сильно отличается (по параметрам быстродействия, уровню нагрузки на CPU) игра ресурсы которой зашифрованы (в «Кнопке» например) от игры ресурсы которой в «plain text» ?

atsym ★★★★★ ()
Ответ на: комментарий от atsym

Там не шифрование, там обфускация. Никакой разницы в скорости нет. Даже если бы и было шифрование, все равно — это однократная операция, не заметил бы,

gloomy ★★ ()
Ответ на: комментарий от atsym

1)eeepc с встоенной видео интел win 7 2)какой-то amd двухядерный с видеокарточкой жифорс 9600, mint 17.3 Обе машинки точно старше семи лет. Есть ещё с тетьим пнём на борту агрегат под рунту. Там тоже всё ок.

anonymous ()
Ответ на: комментарий от a1batross

Честно, вообще не умею js =) Я знаю C, поэтому смог собрать INSTEAD для веба emscripten, но прогрессбар — это уже для меня блокада :)

Если кто то хочет - может помочь, то код загрузчика внедрен в скрипт сборки тут: https://github.com/instead-hub/instead/blob/master/contrib/instead-em-build.sh

Приму пулл реквесты... =)

P.S. автор обновил кнопку, исправления описаны на форуме.

gloomy ★★ ()