Fico feliz!
Estou trabalhando para colocar mais frames de cartuchos. Faltam os do GB, GBC, N64, MegaDrive…
Tô usando a imagem da capa, mas tô procurando um banco de imagens que tenha as labels dos cartuchos.
dei uma melhorada no projeto, acabei renomeando de opemux para OpenEmux OpenEmux — Retro gaming, beautifully native on Linux agora está disponível também em .deb e .rpm. foram feitas várias melhorias na interface e ajustado pra seguir o style guide da libadwaita
Opa @Guilherme_Feitoza. Parabéns pela sua iniciativa, gostei bastante do seu software. Sou fã de jogos retrô e gostei bastante da experiência de jogar o SNES na sua solução. Acabei de finalizar o Aladdin do SNES. Usei a versão de Appimage e usei o AppImage Pool para “internalizar” ele no sistema, ficou show.
Acho que como sugestão de melhoria eu gostaria de apontar:
1 - O sistema não reconhece as roms dentro do arquivo zip (muitos emuladores já fazem isso);
2 - Não consigo mapear o controle (X-box series S controller) usando os botões do controle;
3 - Seria interessante ter botões na interface principal para importar as ROM e também sincronizar os covers (tive que mover manualmente as roms para cada pasta, desempacotar e depois sincronizar tudo)
Para quem quiser testar o OpenEmux e aproveitar um pouco os jogos do Super Nintendo, vou deixar uma recomendação de jogos que eu gosto bastante e acho que funcionam muito bem até hoje. E pro meu gosto, muitos deles batem de frente com muito lançamento quando o assunto é diversão:
Nova release lançada! OpenEmux 1.3.0
Fiz várias correções e melhorias! Muito obrigado pelo feedback de vcs:
O que mudou
ROMs .zip agora aparecem normalmente na biblioteca (e abrem direto, exceto consoles baseados em disco).
Botões de importar ROMs e sincronizar capas na tela principal, além de suporte a arrastar e soltar arquivos.
Configuração de controles muito mais prática, detectando o botão pressionado no próprio controle.
Suporte a até 4 controles, cada um com configuração independente.
Integração opcional com ScreenScraper para baixar labels dos cartuchos.
Sincronização de capas agora pode ser cancelada.
Barra de atalhos configurável, tecla de tela cheia personalizável e novos menus de contexto.
Também corrigi alguns bugs relatados pela comunidade, como ROMs .zip que desapareciam da biblioteca, travamentos ao navegar pelas listas e um problema no contador de progresso.
Testei a versão 1.5.2 em appimage (mesclei no sistema usando o “AppImage pool” e ficou excelente). Para fazer o teste joguei e finalizei o “Megaman X” do SNES. Teve uma melhora significativa nessa versão.
Dessa vez consegui importar as roms com facilidade direto na interface principal, não precisei descompactar nada porque o sistema já leu as roms dentro dos arquivos “.zip” e isso facilitou muito a vida.
Testei também os controles (Xbox Series S controller), agora consigo fazer mudanças nas configurações dos botões pressionando os botões do controle. Mas aqui tem um bug critico para o uso dos controles:
Quando você vai fazer a mudança para o botão “B” do controle o sistema reconhece como se fosse um comando na interface e fecha a janela. Acredito que os comandos de escolha do botão e os do sistema estão sobrepostos e acaba causando confusão.
Para resolver essa situação eu recorri ao RetroArch no backend da aplicação. No OpenEmux deixei os controles como default. Com o jogo aberto pressionei F1, modifiquei os controles da forma que me agrada dentro do RetroArch e salvei de forma que toda vez que o jogo seja chamado da pasta das roms do SNES ele venha com o layout que salvei. Isso resolveu o problema.
Queria deixar também umas sugestões:
Notei que você mudou o layout de apresentação das miniaturas, talvez fosse interessante colocar um botão para escolher o estilo de apresentação das roms entre miniaturas estilo cartucho, miniaturas tipo capa e lista (apenas os nomes das roms). Assim você cobre todos os gostos e necessidades.
Quando eu abro o software ele sempre vem por padrão em inglês sendo que o padrão do meu SO é Português do Brasil. Talvez fosse interessante colocar o software para reconhecer a preferência de linguagem e deixar o inglês como Fallback (as vezes já é e tá caindo no fallback pra mim aqui e eu não sei haha)
E foi mais ou menos essa minha experiência. Muito obrigado pelo seu trabalho de excelencia e também por ouvir a comunidade. Gostei muito de ver que a experiencia que eu comuniquei a você fez a diferença no produto. Parabéns pela iniciativa!
Olá, @mozertdev !
valeu, pelos novos feedbacks!
já anotei todos esses pontos e certamente vou fazer essas melhorias.
Pois é… eu não tenho um controle de xbox aqui, apenas um de ps5 e um gamesir t4 (layout xbox)
meu controle tá com drift, ai não consegui testar o suficiente… hehehehehehehe
excelente ideia logo na tela poder escolher o modo de visualização entre cartucho e capa.
dá pra ajustar isso, mas tá bem escondido, em preferências > video > flag de exibição do frame do cartucho.
mas colocar esse controle logo de cara é excelente!
a nevegação pelo teclado e gamepad ainda tão um pouco quebradas, tá na minha fila de melhorias aqui, testei a integraçao com o screenscraper, quero ver se condigo de forma segura colocar minha chave de dev no app pra ele sincronizar as capas por esse serviço tmb, é muito top, consegui baixar todas as capas das minhas roms.
Obrigadão pelo feedback! Tá ficado muito bom o projeto! flw!
Opa @Danilo , tudo certo? Como o @Guilherme_Feitoza bem disse é mesmo o papirus-icon-theme
Se você quiser dar uma olhada no projeto deles eles já tem integração dentro dos repositórios da maioria das distros:
E ai @Guilherme_Feitoza , tudo tranquilo?
Então, eu testei a v1.6.0 e posso te dizer que essa versão seria o MVP definitivo. Tudo está funcionando dessa vez. Só tenho algumas resalvas para umas mudanças para melhorar a “qualidade de vida” para o usuário (ví que você já lançou a v1.7.0 mas como eu já tinha feito a review na versão v1.6.0 to reportando ela).
Como foi meu teste:
Baixei e instalei o OpenEmux v1.6.0(AppImage) usando o AppImage Pool para integrar ao sistema (funcionou perfeitamente);
O aplicativo já estava todo em português do Brasil reconhecendo “locale” (funcionou perfeitamente);
Usei o botão de import na interface principal para importar todas as roms (funcionou perfeitamente);
Usei o botão de sincronizar capas na interface principal para baixar e sincronizar todas as capas usando a API padrão “libreto” (funcionou muito bem para 95% das roms, porém alguns titulos ainda ficam com o icone de fallback, acredito que por conta da limitação da API);
Alterei a apresentação das capas direto pelo botão na interface principal (funcionou perfeitamente);
Em “Preferências > Controles” fiz o remap dos comandos do controle (Xbox Series S controller). Aceitou os comandos direto do controle sem conflito algum (funcionou perfeitamente);
Iniciei e finalizei Donkey Kong Country do SNES sem problemas de emulação. O slowdown que tive é por conta da limitação do próprio SNES presente no console físico (funcionou perfeitamente).
Sugestões:
O som de alguns jogos específicos podem, por natureza, ser altos como o do Super Metroid. Talvez fosse interessante ter um botão na interface principal que funciona em conjunto com o botão de pause, um botão que abre uma barra para aumentar ou diminuir o som “mestre” da rom que está rodando no momento (tive que fazer isso utilizando os recursos do próprio sistema operacional abaixando o volume da aplicação);
Adicionar o botão de filtros da lista de roms na interface principal ao lado da de apresentação de miniaturas. Acho que facilitaria muito já que quem está vendo as miniaturas das roms quer mudar a disposição da lista de uma forma mais facil e visual ali na interface principal mesmo;
Permitir adicionar dois ou mais comandos do controle por botão. Por exemplo, quero que meu analogico funcione ao mesmo tempo que o d-pad também. Facilita bastante não ter que voltar no menu de edição de controles para mudar para os comandos do analógico;
Possibilitar o uso de botões turbo e macros. Alguns jogos antigos tem a mania de ter minigames “quebra controle” vale a pena ter um botão turbo ou macro para esses casos;
Ter uma forma de gerenciar “save states”. Geralmente não uso save state mas quando quero “treinar” partes especificas de uma “speedrun” ter esse gerenciamento é essencial;
A API “libreto” já está cobrindo 95% do caso de uso e acho que já está perfeitamente decente. Mas se você quiser ter controle “total” sobre sua aplicação talvez fosse interessante você fazer “dump” das informações das principais API’s que você julga boas para esse contexto, criar a sua própria e alimentar / atualizar essa sua API usando suas chaves em ambiente controlado. Mas ai você tem que ponderar o custo de manter uma VPS pra isso e etc. Não sei se seria possível para o seu contexto. No mas o Libreto já está bom de mais!
Acho que é isso! Essa versão está fantástica. Obrigado por ter feito as modificações. Li o changelog da v1.7.0 e achei muito bom a possibilidade de fazer as modificações de shader e núcleo pra cada rom, da um controle muito bom, as vezes tem jogos que rodam melhor em cores diferentes e ficam mais bonitos com padrões de shader diferentes também.
Obrigado novamente pelo seu trabalho! Seu projeto ta ficando cada vez melhor, parabéns!