Mr Random is making a new Frontend
#1
Hi pcsx2 community. I hope i wont be offending anyone by making bold claims.

PCSX2 is an awesome emulator but it is utter horse sh** to work with. It is not intended for non-tech users. But i believe it can be with a little effort.

Wow. OK. With that out of the way. Hi again. My name is CyberFox and I am a developer. I have been employed programming in .NET and dozens of languages since 2012. But sadly i have spent no time on C++. Anyway I'm not here to talk about me. I'm here because I love pcsx2 and I also hate it for being so daunting to work with.

Now I don't just wanna be "that" guy with the idea and a mouth full of promises. I have a dream that I can improve the primary GUI of PCSX2 but i frankly don't know if I can pull it off. So anyone who has their noses in the codebase of pcsx2 I would really like to share a skype contact with you. Any help is greatly appreciated. Both for easing into C++, and also for easing into pcsx and wxWidgets.

I am really eager for getting my hands dirty. I have at this time already checked out the git repo and compiled the project in VS2013. SPU2-X is failing to compile but i don't think it's important to my work so forget about it. The project runs fine without  it

What I want to improve in pcsx2 in the first wave is the start screen. (Not the wizard)
   
Anyone remember seeing this for the first time? Kinda resembles another emulator called ePSXe. At this screen one might be a tad uncertain as to how to "run" a game.
"First menu > first option" will open a file dialogue, but only the first time the emulator is run. Next time you click this button it will run the latest ISO used. On order to change the ISO you have navigate 2 menus "CDVD > Iso Selector..." just to get the file dialogue and then Then click play under the first menu again. Really? We can do better than this.

Lemme show you a screenshot of another emulator. This is Dolphin's main view:
   
This is the main screen AFTER you have set it up properly. When you start it for the first time it's just gonna be a blank list until you pick your rom dir. But after that you can just double click any list entry and it will execute given game. There is never any doubt as to what will happen. The fast access panels are nice to have for opening the settings pages and they even have a big fat play button so even the degenerates who don't understand how double click works can get a game running. Everyone can use Dolphin.

So what's gonna happen?
  1. Hide the console window by default. I just downloaded a fresh copy and it still showed up.
  2. Replace the blue "BackgroundLogo.png" with an actual game picker.
  3. Games Database containing best known setup for all the games
about the last one there might be a slight difficulty which is not all hacks apply to all machines i know this fact and i'm just gonna ignore that. Another thing is: How do we build the actual database? There is a "we" in that because there is no way in hell i'm entering emulation templates for ~5'000 games. I'd rather have my teeth pulled out by a deranged dwarf. So until we have a solid database we should probably have some kind of online sync solution.
Yes i saw that the svn version has a GamesDatabase menu entry and it seems to contain something that resembles my train of thought. So GREAT JOB whoever committed that!

And rough idea for the new start view
   
The background in the list is chosen to honour to the traditional background as well as indicating to users coming back that this is still pcsx2.
Just making this list view seems very simple and quite small a task, but with my lack of exp i think it's the right size for beginners.



Wow you're still reading? I thought you'd be asleep by now. Anyway. What you can do now is:
  • Talk to me about how to integrate properly. I would most probably be committing to a branch and we can do checks for compatibility and when everything checks out we can work on merging to the master. How the workflow is preferred depends on the dev teams taste
  • I'm not a designer
  • Don't ask me about ISO compression
  • Useful resources
  • Other heads up
Goodnight and I hope to hear some positive things. I'll be back to check in approx 7 hours
Reply

Sponsored links

#2
well, I can hardly argue here since most of your criticisms are actually right.

Some facts to consider,

* The design of Main GUI is quite outdated, the last person to improve it was Air and he has left the team years ago.
* No one wants to work on it since it's quite decent and it's lower priority compared to other important stuffs.
* Improving a GUI is always a PITA, you get mixed opinions from users and eventually never reach an ideal solution at most cases.
* Code needs to work cross-platform ( you need a coder with linux & windows experience to make changes)

Currently only bugs are fixed on the GUI, no plans for any improvement AFAIK. Feel free to provide patch if you're interested on improving the GUI.
Reply
#3
ssakash. A Blender fan had attempted to discuss a New UI  so the newcomers would be more welcome. He got positive feedback on an external site, but in the official forums. The project was shot down as soon as the mockup was seen. Enthusiasts believed that "It's too simple". Maybe people pride themselves in being able to navigate an impossible UI.

It kinda reminds me of a comic from xkcd
   

On a related note it's been a day and the amount of responses has been absolutely groundbreaking. Nonetheless I have still been studying wxWidgets and have succeed in replacing the background image with Frame. I have been digging Their API Just trying to determine which Widget is the most appropriate to create a table (Columns, Rows, Auto Scrollbar, Auto Size) it SEEMS that wxDataViewListCtrl is the right answer. Any advice would help.

I have 2 things i struggle with now.

  1. How to add new files to the project. I have create a .cpp file and .h file but I've come to realize the folder structure as seen in Visual Studio is NOT the real folders and thus the new files appear to be in the right place inside the IDE, but in the reality the files ended up in some obscure place. "\pcsx2\windows\VCprojects"
  2. I put the wxDataViewListCtrl in the main view but there is no autosizing. I want to just just scale to fit it's parent container. I've come to understand that i might be needing the wxBoxSizer or one it's siblings. Reading the documentation i fail to find the words i'm looking for and has let me to doubt if the function is not what i think it is.
Reply
#4
This thread seems better suited to the Developer discussion forum than general discussion/support.

Instead of your rough idea I'd prefer having it look more like PPSSPP's. It looks better, leaves all out the unnecessary information, and places the games both horizontally and vertically so there's less scrolling required if you have more than 5 games.

I'd also hold out on hiding the console, as it's better suited for the next stable version.

And did anyone actually make that new UI for Blender or was it just a mock-up?
Reply
#5
(06-01-2016, 11:47 AM)FlatOut Wrote: This thread seems better suited to the Developer discussion forum than general discussion/support.

The developer discussion board is locked. I tried


(06-01-2016, 11:47 AM)FlatOut Wrote: Instead of your rough idea I'd prefer having it look more like PPSSPP's. It looks better, leaves all out the unnecessary information, and places the games both horizontally and vertically so there's less scrolling required if you have more than 5 games.

[Image: ppsspp-710x399.jpg]


(06-01-2016, 11:47 AM)FlatOut Wrote: I'd also hold out on hiding the console, as it's better suited for the next stable version.

What? Hide in the next stable version?


(06-01-2016, 11:47 AM)FlatOut Wrote: And did anyone actually make that new UI for Blender or was it just a mock-up?

Sadly the it never got anywhere.
Reply
#6
Random picture from the internet:
[Image: 1414531153_ppsspp-5.png]

(06-01-2016, 12:07 PM)CyberFox Wrote: What? Hide in the next stable version?
Hiding the console by default seems better suited for a stable version (1.2.1 > 1.4.0 > future 1.6.0) than unstable git builds that require more debugging.
Reply
#7
Thanks for your input and enthusiasm to improve stuff, CyberFox!

I have one big setback for you that we need to solve before we can go on:
A modern GUI with a game picker depends on showing some artwork for the games.
Unlike Wii / Gamecube games, PS2 titles don't come with artwork included. We would have to either host or ship with artwork for all the >2000 games.
If that's not bad enough, we have heard that IP owners can get very protective and a single complaint over some protected cover artwork could get us into legal trouble.
This is the main reason we haven't already integrated something like PCSX2 Bonus.

If you have any ideas, we're all open to suggestions!
Reply
#8
rama i have actually already given this a LOT of thought. I tried having a look at what Dolphin did for their games in order to get the pictures.

A simple list without picture is still better than no list at all. Have a look at PJ64.

For the picture sources i guess we can
1. Scrape. Either from our own wiki or from gamefaqs. The prior seems better as we probably have direct access to the database.

2. Dolphin uses *banner* images which is the rectangular image. I'm uncertain as to how they accomplished that but it seems like it is also related to the save data. That only yields a tiny square picture and i don't know if this'll even work for ps2 memory cards.

for the legal issues we could probably get away with encrypting the picture in a local db and then claim we fetch the cover art from gamefaqs or something with no storage being done?
Reply
#9
PS2 memory card files often use 3D images, so you can't just pick a clearly identifying image/texture from it.

But instead of a picture a nice button with a PCSX2 logo background and the game title in the middle in a good looking font would work just as well.
Reply
#10
Scraping would have to be done from external sources (not linked to PCSX2) so that no "law interpreter" could make a copyright claim against us.
That leads to a considerable load increase on their servers, which they don't like.

For a default view, a general icon like a PS2 disk can be shown though. That is fine.
Reply




Users browsing this thread: 1 Guest(s)