Привет всем любителям ретро игр (игры для Play Station 2 вполне подпадают под эту категорию). Я представляю на вашу оценку свой проект клона PCSX2 эмулятора — "Красный Омега". Коротко о проекте — это клон PCSX2 для Windows 10 с упрощённым интерфейсом, минимальным порогом вхождения и реализацией управления через "Touch" пользовательский интерфейс.



Предупреждаю, что качество картинки — "вырви глаз". Плевать в экран безполезно. Пробывал — не помогает :)


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


Что-же, начнём с простого — пользовательского интерфейса


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


Следующим изменением интерфейса является переход под "Touch" дизайн — "скупой" интерфейс в стиле Win95:



заменён на "плиточный" (по большей части), что позволяет взаимодействовать с программой как "указателем мыши", так и касанием сенсорного экрана дисплея:
Обращаю внимание — это НЕ Windows Store приложение. Однако, имитация очень близка.
Как результат, включена поддержка управления в играх через "Touch Screen". Поверх изображения добавлены полу-прозрачные элементы управления игровым контроллером. Но при-этом, от него можно отказаться, переключившись на физический "Game Pad"


Следующий момент — управление или точнее менеджмент ресурсами


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


BIOS'ы загружаются как из отдельных файлов, так и из zip архивов. Исчерпывающая информация представлена в визуально-текстовой форме:



Образы игр загружаются из ISO файлов и проверяются на совместимость — если ранее файловый образ игры проверялся ВО ВРЕМЯ запуска эмулятора, то данный проект проверяет тип образа, его корректное имя и играбельность отдельно от процесса запуска игры:



Управление сохранениями координально изменено. Оригинальный проект PCSX2 имеет ограничение в 10-ть файлов-слотов на одну игру, без возможности определения даты и прогресса сохранений:



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




Кроме созданных сохранений, при остановке игры, или закрытии программы текущее состояние эмулятора сохранается в файл "Автосохранение" — это позволяет при следующем запуске данного эмулятора продолжить игру, даже если предыдущее состояние игры было по ошибке не сохранено. В дополнении, уменьшено время загрузки данных из сохранений — оригинальный проект PCSX2 требует загрузки BIOS'а, образа игры и затем требуется выбрать файл сохранения — время загрузки может составить до 30 секунд. Данный проект сокращает время загрузки сохранения до 3-5 секунд.


Картами памяти в данном проекте можно управлять более "гибким" образом:



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


Игровой контроллер


Данный проект позволяет переключать тип управления в играх с сенсорного на физический игровой контроллер:




Захват


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



Качество сжатия отдельных изображений находится на фиксированном уровне. Качество записи "живого" видео игрового процесса может быть настроенно в диапазоне от 10% до 99%. Имена созданных файлов генерируются на основе имени игры и значения текущего времени. Видео и аудио игрового процесса записываются в форматах, совместимых с mp4 файлами. Отдельная панель управления позволяет просматривать изображения и видео во время паузы:





Общие настройки


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



"Режим управления" позволяет переключать схему управления от кнопочного в сенсорный




Остальные настройки просты в понимании.


Заключение


Данный проект прошёл большой путь от исходной версии PCSX2 эмулятора, но всё еще не вышел из статуса тестовой версии. Исходный код опубликован на GitHub: OmegaRed и CodeProject: Omega Red PS2 emulator.

Комментарии (19)


  1. Voiddancer
    06.08.2018 08:21
    +2

    Учительница рисования спрашивает Вовочку:


    • А что ты будешь рисовать?
      Вовочка отвечает, показывая на белый листок:
    • Ну здесь закрашу черным, здесь закрашу синим, а здесь зеленым е##ну!!!
      Учительница падает в обморок…
      Вызывают всех к директору по поводу ситуации на уроке.
      Директор:
    • Что произошло?
      Вовочка:
    • Меня спросили, что я буду рисовать, я ответил: ну здесь закрашу черным, здесь закрашу синим, а здесь зеленым е##ну!!!
      Учительница опять падает в обморок…
      Директор:
    • Ну ты не видишь, ей от зеленого х##во, е##ни красным!


  1. Telmah
    06.08.2018 09:09

    Вы должны мне новые глаза


  1. perfect_genius
    06.08.2018 09:20

    Это ориентировано на китайскую аудиторию?


  1. BratSinot
    06.08.2018 09:43

    Насчёт мудреного интерфейса в корне не согласен. В PCSX2 в настройках есть ползунок с вполне очевидным надписями.


    1. Xirexel Автор
      06.08.2018 10:29

      "В PCSX2 в настройках есть ползунок" — а нужен ли он, если находится всегда в значении "Default"?


      1. BratSinot
        06.08.2018 10:50

        В плане Default? Слева нажимается checkbox Преднастройки и двигается ползунок. Ясные название и понятные описания.
        Мудреные (и то не факт) настройки может быть будут только в GSdx, но тут есть момент, что если игра сразу не заводится и требует «поиграться» с настройками, то ваше «упрощенное» ничего само не сделает, а лишь добавит проблем.


  1. Shtucer
    06.08.2018 09:50
    +1

    Картинки в статье не самое страшное: "пробывал", "координально", "10-ть"… вы мне должны новое всё.


    1. GeMir
      06.08.2018 14:58

      «Было по ошибке не сохранено» (не было сохранено по ошибке), «удобность» (удобство) и вездесущий «данный проект» тоже радуют. Но об этом, кажется, принято в ПМ?


  1. DelphiCowboy
    06.08.2018 10:02

    для Windows 10

    А версии для Windows 7 нету?


    1. Xirexel Автор
      06.08.2018 10:32

      Проект тестировался только для Windows 10. Минимальная версия dotNet 4.5.1.


  1. thegreedylizard
    06.08.2018 10:02

    Идея-то хорошая, реализация хромает...

    Нужно срочно что-то менять в плане дизайна — текущее решение сводит всё удобство пользования на нет.


  1. Segmentq
    06.08.2018 10:29

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


  1. A1exXx
    06.08.2018 10:44

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


  1. Keremet_2030
    06.08.2018 13:21

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


  1. Apxont
    06.08.2018 13:49

    А какое минимальное железо для 30fps в той же финалке?


    1. Xirexel Автор
      06.08.2018 13:58

      FPS я не измерял, но на i5 и интегрированом видео игра идёт комфортно (с небольшими лагами в аудио потоке). Для FF это нормально — там все боёвки пошаговые.


  1. MonkeyD
    06.08.2018 18:54

    Я бы скачал, если бы не два НО. 1. Красные окна? Бро эт клево, но сделай темы пожалуйста, глаза режет. А так каждый настроит под себя и не будет ругаться.
    2. А есть екзешник установщик? Я с гитхабом не очень дружу (совсем не дружу).


    1. Xirexel Автор
      07.08.2018 03:03

      "А есть екзешник" — Omega Red PS2 emulator — Omega_Red.zip — только исполняемый файл — без инсталяции, без записи в реестр, без требования доступа админа — "кликнул" и играй.


      1. MonkeyD
        07.08.2018 18:37

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