Перейти к содержимому

Totoro

Гуру
  • Публикации

    1 950
  • Зарегистрирован

  • Посещение

  • Победитель дней

    289

Сообщения, опубликованные пользователем Totoro


  1. 4 часа назад, ArtHacker сказал:

    Можно же по идее запилить на Ocelot Brian эмулятор под Android? Если да то я пошёл изучать Java.

    Ядро эмулятора - это Scala библиотека.

    Она использует нативные Lua бинарники для эмуляции в обычном режиме. Запустить их на Андроид наверное не получится.

    Но можно использовать Ocelot Brain в режиме LuaJ. Сохранения и ограничение ресурсов не будет доступно, но в остальном будет работать.

    Изучать надо скорее всего не Java, а Scala.

     

    Есть и второй вариант - это Ocelot Online, который можно и сейчас открывать с любого смартфона, где есть браузер.


  2. 1 час назад, whiskas сказал:

    Ехх нам бы не эмулятор а сервер)

    Ну эт надо уже к Алексу, наверное. =) Или какое-то сотрудничество замутить, с кем-то.

    12 минуты назад, Zer0Galaxy сказал:

    Вот не догадался, как в Ocelot Online добавлять компоненты. Или пока никак?

    В тот который сейчас на сайте доступен - никак. А в тот который пишется - по ПКМ на блоке компьютера.


  3. tW5yASi.png

     

    Всем привет.

    Мы тут пишем эмулятор OpenComputers, и в процессе его нужно тестировать.

    Поэтому будет очень здорово, если кто-нибудь напишет утилиту-бенчмарк.

     

    Утилита должна выглядеть как программка для OpenOS, на Lua.

    В идеале её надо загрузить в Hel, чтобы было быстрее устанавливать.

     

    Для чего именно она нужна?

    Делать бенчмарк компьютера в Minecraft смысла особо нет - там и так понятно насколько будет производительной твоя "сборка".

    Но это имеет смысл делать в эмуляторе - потому что эмулятор может глючить, лагать, багать, и жрать оперативную память.

     

    (Например, сегодня мы запустили в Ocelot Online демку, которая очень быстро рендерила текст на экране, и в результате, у @Fingercomp браузер сожрал 5 гигабайт оперативной памяти, засвопился и вырубил на час весь компьютер.)

     

    Что именно она должна тестировать?

    • Утечки оперативной памяти, производительность рендера и лаги эмулятора. Для этого можно например запустить интенсивный рендер на экране какого-нибудь цветастого мусора. Или любой другой вариант. Засечь время и потом сверить "внутриигровые" часы с настоящими, чтобы определить, не лагало ли оно. (Параллельно тесту можно будет уже вручную смотреть диспетчер задач - не жрет ли браузер или десктопный эмулятор ресурсы больше положенного.)
    • Правильную работу компонентов. То есть проверить, соединяет ли интернет карта с интернетом, посылает ли сетевые сообщения модем, и так далее.

    Всю инфу надо потом красиво вывести на экран.

    Можно в графическом виде, можно в командной строке.

     

    Награда?

    Большое спасибо от всей души. :D

     

    Короче, если кто-то будет искать идею "что бы написать" - бенчмарк для эмулятора это вариант.

    Он нам пригодится.

    • Нравится 2

  4. 17 минут назад, hohserg сказал:

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

    Я могу встроить что-нибудь типа Ocelot API в эмулятор. Типа глобальный объект ocelot который будет доступен везде из Луа и будет нести всякие dev-функции типа логирования.

    Ну а лог сам выводить куда угодно - в файл, в отдельное окно.

     

    7 минут назад, eu_tomat сказал:

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

    Я тебя услышал. Попробуем что-нибудь типа профайлера прикрутить. Это задача непростая, но интересная.

    Тайминги должны быть если не идеально точными, то близкими.

    • Нравится 1
    • Одобряю 2

  5. 4 минуты назад, hohserg сказал:

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

    Над выбором произвольной папки надо будет подумать. Я думаю сложностей не должно быть.

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

     

    Насчет developer tools - хорошая мысль. Я тоже над этим думал. Эмулятор ведь дает возможность загляуть "под капот" комьютеру, потенциально.

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

    Можно подумать над тем, какие именно инструменты могут понадобиться - какой-нибудь дебаггер-профайлер... хз.

     

    Короче да, спасибо за идеи - предлагайте ещё, не стесняйтесь. =)

    Все сделать не обещаем, но кое что обязательно попадет в релиз.

    • Нравится 1

  6. 45 минут назад, NEO сказал:

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

    Не копия, а эмулятор. Есть разница.

    Но если проще запустить майн, чем открыть сайт, то конечно стоит запустить майн. Спору нет.


  7. А вот и WIP-видео Ocelot Desktop подъехало. Отлично =)

     

    Только что, hohserg сказал:

    Есть что-то вроде roadmap?

    Только в головах авторов, пока.

    Ядро эмулятора готово - к нему надо будет составить подробную документацию.

    Клиенты (онлайн и десктоп) пока имеют только базовую функциональность - одно окно и фиксированный сетап компа.

    В разработке (и там и там) система типа "графа" из блоков, соединенных "кабелями". Это позволит строить любые схемы.

    Далее скорее всего будет сериализация (сохранение) проекта и загрузка. Затем - развитие эмулятора путем добавления новых блоков и возможностей - типа робота, например.


  8. 2 часа назад, Zer0Galaxy сказал:

    В онлайн версии попытка выйти из редактора edit по Ctrl+W приводит к закрытию страницы

    Да, всё верно.

    Это ограничение не эмулятора Ocelot, а именно браузера.

    Хоткей Ctrl + W не переопределяется через JS код, он жестко закреплен для закрытия вкладки.

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

    Поэтому пришлось поменять его в настройках OpenOS.


  9. Да, чтобы упрощать такие вещи, тебе потребуется построить абстрактное синтаксическое дерево для исходника.

    Вряд ли минификатор таким занимается. Скорее просто заменяет все неключевые слова на более короткие и убирает лишние пробелы и переносы.


  10. В качестве личного развлекательно-образовательно-норкоманского проекта покатит.

    А практической пользы ноль.

    Если нужен "OpenOS в кармане" - куда перспективнее сделать эмулятор для Android.

    • Нравится 2
    • Ха-ха 1
×
×
  • Создать...