Бета версия INSTEAD 3.2

  1. ‹ Older
  2. last week

    peter

    Jan 13 Administrator Земля(Москва) User since 2014

    Может по умолчанию оставить как щас? Что то я подумал, на самом деле я никогда курсоры не отключал (не было такого желания) при игре на андроид.

  3. Antokolos

    Jan 13 Омск User since 2014

    Окей, оставим тогда. Главное, что отключить можно будет.

  4. peter

    Jan 13 Administrator Земля(Москва) User since 2014
    Edited last week by peter

    По результатам тестирования решили использовать сборку со старыми либами:
    https://nlbproject.com/dist/instead/instead-ng-3.2.0-beta-old.apk

    С ними скорость работы стабильно выше, чем с новыми. Вероятная причина - звук. При его отключении скорость нормализуется. Так же нет проблемы с внешней мышкой. На данный момент SDL 2.0.7 считаем не очень стабильным.

  5. peter

    Jan 14 Administrator Земля(Москва) User since 2014

    Так как сегодня активно велась разработка, 3.2 переносится еще на неделю.
    Бинарные сборки перезалиты.
    Antokolos как будет время, пересобери еще разок. =)
    Если на этой неделе опасных коммитов не будет - релиз в сб или вскр.

  6. 6 days ago

    peter

    Jan 15 Administrator Земля(Москва) User since 2014
    Edited 6 days ago by peter

    То к чему долго шел - случилось.
    Сегодня закоммитил такую фичу.

    sprite.scr() возвращает спрайт фона, если мы не в direct режиме.
    Это означает, что можно менять фон без модуля theme, просто рисуя в спрайт sprite.scr().
    Можно возвращать из обработчика game.timer просто false, все равно это будет работать (как с анимацией в картинке сцены).

    Это все позволило еще раза в 2 ускорить анимацию фона.
    Сборки перезалиты.

  7. MaJoR KolZ

    Jan 15 Постоялец Харьков User since 2014

    peter, отличная фича!

  8. peter

    Jan 15 Administrator Земля(Москва) User since 2014

    Простой модуль встряски экрана:
    https://github.com/instead-hub/stead3-modules/tree/master/quake

  9. Antokolos

    Jan 15 Омск User since 2014

    Очень крутые фичи!
    Постараюсь билд собрать через некоторое время, просто работа что-то навалилась :(

  10. peter

    Jan 15 Administrator Земля(Москва) User since 2014

    пока погоди пару дней. я еще не все...

  11. 3 days ago

    peter

    Jan 18 Administrator Земля(Москва) User since 2014

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

    Надо ли говорить, что эти изменения нуждаются в тестинге?
    Пока разработка ведется в instead_render_callback ветке, как будет более менее готово - сообщу.

  12. Wol4ik

    Jan 18 User since 2017

    Сегодня вечером смогу быть за компом, после 18:00. Жду команды.

  13. 2 days ago

    peter

    Jan 19 Administrator Земля(Москва) User since 2014

    Изменения влиты в мастер.

  14. peter

    Jan 19 Administrator Земля(Москва) User since 2014

    Описана отрисовка в фон:
    https://github.com/instead-hub/instead/blob/master/doc/stead3.md#%D0%9E%D1%82%D1%80%D0%B8%D1%81%D0%BE%D0%B2%D0%BA%D0%B0-%D0%B2-%D1%84%D0%BE%D0%BD

  15. peter

    Jan 19 Administrator Земля(Москва) User since 2014

    Сборки перезалиты! Давайте смотреть. =)

  16. yesterday

    peter

    Jan 20 Administrator Земля(Москва) User since 2014

    Обновил сборки. Изменения:

    • теперь в фуллскриине включено линейное сглаживание (эффект действует когда hires опция выключена)
    • theme.scr.w()/theme.scr.h()
  17. peter

    Jan 20 Administrator Земля(Москва) User since 2014
    Edited yesterday by peter

    Теперь что не описано в документации.

    Есть вызов: sprite.render_callback(функция).
    Если задать таким образом функцию:

    sprite.render_callback(function()
         sprite.scr():fill(0, 0, 16, 16, 'red')
    end)

    То вы увидите что на экране появился красный квадратик в левом верхнем углу.

    Дело в том, что render_callback вызывается каждый кадр, когда инстед отрисовал кадр и все готово. Вы можете дорисовать _поверх_ сцены что то еще.

    Важно! Эта функция должна работать как можно быстрее, поэтому все спрайты подготавливайте заранее. В callback кроме простых операций copy/draw/fill итд лучше ничего не делать. Если нужна анимация, то все координаты рассчитывайте в game:timer, а в callback просто отрисовывайте. Дело в том что частота вызовов callback не постоянна.

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

    Эта фича совместно с возможностью рисовать в фон по идее открывает все пути к написанию модуля vn (или декораторов fireurq(c)) на lua. Возможно, кто то уже начнет это делать? Или я сделаю это в будущем.

    А пока, можно играться и экспериментировать. :)

  18. Antokolos

    Jan 20 Омск User since 2014

    Наконец-то пересобрал APK:
    https://nlbproject.com/dist/instead/instead-ng-3.2.0-beta.apk
    В коде выделил ветку experimental, из которой можно будет собирать версии с новым кодом SDL.
    Этот же APK собран из master, в котором, как и условились, будет старая версия SDL.

  19. 22 hours ago

    Wol4ik

    22 hours ago User since 2017

    Скачал сегодняшнюю сборку для ПК. Смотрел запустил пример Скими.

  20. 6 hours ago

    Wol4ik

    6 hours ago User since 2017
    require "sprite"
     
    room {--СЦЕНА MAIN
               nam = 'main';
               title = false;
               enter = function ()
               					take 'ee1';
    		           			sprite.render_callback(function() -- постоянный спрайт сцен
    		     				sprite.scr():fill(145, 31, 620, 548, '#550000')
    							end)
    ------------------------------
               end;
               decor = 'СЦЕНА MAIN DECOR';
    }
    ------------------------------
    	obj {
    	nam = 'ee1';
    	disp = 'DISP OBJ';
    	inv = 'INV OBJ';
    }

    Исчезает квадрат при нажатии на предмет в инвентаре. 1 скрин - это в покое. 2 скрин - при одном клике на вещь в инвентаре.

  21. peter

    6 hours ago Administrator Земля(Москва) User since 2014

    Да, спасибо. Да, как и говорили на канале, instead.wait_use(false) помогает.

    P.S. sprite.render_callback() надо вынести из обработчика, просто поместить его как глоб вызов, или в init() или в start()

or Sign Up to reply!