[Introductory Paragraph]
Hello, my name is Jonesy. Starting this year, I am taking undergrad classes in CompSci with electives in Technical Skills such as maintaining server environments in Windows. I have also amassed a decent collection of books on C++, have worked with C# and Windows Forms in the past.

[Body]
I am wondering what sort of skills would qualify me to work on improving systems of the PPSSPP Emulator or aid in development in any way, which brings up one simple question: What are future features planned or in development, starting with priority?

Would marketing strategists be more useful to the Developers than novice coders?

PPSSPP is open sourse, anyone is welcome to help in the project, you just need to open a pull request in GitHub if you develop something useful.

https://github.com/hrydgard/ppsspp
About future plans, I don't know exactly, but PPSSPP started to work on Vulkan implementation, some extensions need to be added to the emulator. The emulation of PSP GPU still needs some work is the biggest problem I guess, few games have critical graphics issues that make them unplayable, or slower. Effects like motion blur or reflections don't work properly, I guess we have some problems with textures too.

(08-04-2017 07:06 PM)GuilhermeGS2 Wrote: PPSSPP is open sourse, anyone is welcome to help in the project, you just need to open a pull request in GitHub if you develop something useful.

About future plans, I don't know exactly, but PPSSPP started to work on Vulkan implementation, some extensions need to be added to the emulator. The emulation of PSP GPU still needs some work is the biggest problem I guess, few games have critical graphics issues that make them unplayable, or slower. Effects like motion blur or reflections don't work properly, I guess we have some problems with textures too.

P.S.: I'm not a programmer.

Thank you for your response, I hope it serves as useful reference to others as well. Graphics Processors might be a bit much for me to grasp, I only just figured out the 555 Timers. I'll definitely start my research, though.

Because it's open source, a lot of the future plans depend on what contributors are interested in doing. How I contribute, for example, is limited by my free time and interest.

If you want to get involved, diving in head first may not be the best way. But I would say tinkering with it or setting your sites on a smaller, maybe lower priority task, would help improve your comp sci skills.

A few things you might try:

1. Browse around in the UI. Find something that you want to try changing - even if it's just adding a checkbox somewhere. This may seem simple, but being versatile and able to grasp new frameworks quickly is a valuable skill that is very worth training.

2. Try using the debuggers in PPSSPP (mostly only available on Windows.) You can try both the graphics debugger and the CPU debugger. Stepping through drawing (I suggest Step Prim or Step Draw), and stepping through code (I suggest Step HLE) can help you get a better understanding of what's happening and how the game works. If you're interested in 3D graphics, this is a good way to see it "unfold" from a programming perspective.

3. Look at issues in the GitHub repo, and also look at the pull requests and commits. I suggest looking at a range of simple and complicated changes, and see what you can make sense of. Remember that not only is the code for PPSSPP available, but even the steps we took in implementing features and writing the code is. Looking at commits has certainly been a source of learning for me.

4. Try to find a simple issue (there are plenty) and investigate it. Even if you can't fix it, see if you can understand it better. Or if you can fix or implement it, give it a try. Start small, and if you submit a pull request, you will likely have your code reviewed by experienced developers.

5. Remember that priority is always somewhat subjective. The most important things are probably going to be:
- things that worked before, and broke.
- bugs that could corrupt user saves or save states.
- bugs that prevent a big % of games from working on certain platforms.
- compatibility with new major hardware or OS releases (except where OS needs to be hacked to run PPSSPP.)
- changes that can improve speed without hurting accuracy or at least compatibility.
- fixes that make games work without breaking other games that worked.

Everything else is "to taste." I'd say a current priority is Vulkan backend stability as well, because it may offer better speed than OpenGL could on Android devices.