Привет всем любителям ретро игр (игры для 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)
BratSinot
06.08.2018 09:43Насчёт мудреного интерфейса в корне не согласен. В PCSX2 в настройках есть ползунок с вполне очевидным надписями.
Xirexel Автор
06.08.2018 10:29"В PCSX2 в настройках есть ползунок" — а нужен ли он, если находится всегда в значении "Default"?
BratSinot
06.08.2018 10:50В плане Default? Слева нажимается checkbox Преднастройки и двигается ползунок. Ясные название и понятные описания.
Мудреные (и то не факт) настройки может быть будут только в GSdx, но тут есть момент, что если игра сразу не заводится и требует «поиграться» с настройками, то ваше «упрощенное» ничего само не сделает, а лишь добавит проблем.
Shtucer
06.08.2018 09:50+1Картинки в статье не самое страшное: "пробывал", "координально", "10-ть"… вы мне должны новое всё.
GeMir
06.08.2018 14:58«Было по ошибке не сохранено» (не было сохранено по ошибке), «удобность» (удобство) и вездесущий «данный проект» тоже радуют. Но об этом, кажется, принято в ПМ?
DelphiCowboy
06.08.2018 10:02для Windows 10
А версии для Windows 7 нету?Xirexel Автор
06.08.2018 10:32Проект тестировался только для Windows 10. Минимальная версия dotNet 4.5.1.
thegreedylizard
06.08.2018 10:02Идея-то хорошая, реализация хромает...
Нужно срочно что-то менять в плане дизайна — текущее решение сводит всё удобство пользования на нет.
Segmentq
06.08.2018 10:29Почему курсор подсвечен таким маленьким зеленым квадратом, не видно же.
Вообще надо предупреждение для тех у кого слабое сердце и эпилепсия, такие яркие красные цвета повсюду.
A1exXx
06.08.2018 10:44Идея хороша но интерфейс надо полностью выкинуть и приделать новый. цвет я бы выбрал более «спокойный» и «лёгкий». ну и идею бы интерфейса продумать. Порой, для first look это бывает более важно, чем всё остальное.
Keremet_2030
06.08.2018 13:21В целом интерфейс хорош, но бы предоставил пользователю самому выбирать цвет интерфейса. А еще бы заголовки в меню повыше сделать, на винде с тачем с первого разу не всегда ткнёшь куда нужно.
MonkeyD
06.08.2018 18:54Я бы скачал, если бы не два НО. 1. Красные окна? Бро эт клево, но сделай темы пожалуйста, глаза режет. А так каждый настроит под себя и не будет ругаться.
2. А есть екзешник установщик? Я с гитхабом не очень дружу (совсем не дружу).Xirexel Автор
07.08.2018 03:03"А есть екзешник" — Omega Red PS2 emulator — Omega_Red.zip — только исполняемый файл — без инсталяции, без записи в реестр, без требования доступа админа — "кликнул" и играй.
Voiddancer
Учительница рисования спрашивает Вовочку:
Вовочка отвечает, показывая на белый листок:
Учительница падает в обморок…
Вызывают всех к директору по поводу ситуации на уроке.
Директор:
Вовочка:
Учительница опять падает в обморок…
Директор: