Poll: How would you take it if PPSSPP were able to add an achievement system?
That would be a great idea!
No, achievements ruin games!
I don't really care.
Trophies are way better than achievements!
[Show Results]
 
Post Reply 
 
Thread Rating:
  • 2 Votes - 4.5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Achievement System Idea
01-08-2014, 05:18 PM
Post: #1
Achievement System Idea
Hello great coders of the emulator world, I come from a community project called RetroAchievements which add an achievement system to older games using their RAM addresses to award the achievements based on set requirements. It is all held in a .dll file, and requires a little recoding of the emulator itself, but nothing as big as an entire rewrite. I have taken a look at the PPSSPP emulator and it is definitely a really good idea for our achievements to be added to your emulator to add some completionist fun to the PSP library. The toolset that is placed in the emulator can also create leaderboards for some high-scoring fun.

This is an excellent time to take a look at the RA toolset as it seems that your emulator is almost at an official 1.0 release! Especially as you already have a memory viewer in the emulator on its own, which the RA toolset can piggyback off of, which was proven when we used FCeux for the NES emulation. Our current licensing is under the GPLv3.0.

Currently, the in-game overlay for the toolset uses the old DirectDraw to render the images, but I am currently working on OpenGL support for the in-game overlay now. The toolset will still use DirectDraw as once we get our feet off the ground, only developers will get to use it to prevent trolls from ruining the project. Hopefully, you guys love the trophy system on PS3 and PSV, and I look forward to working on the PPSSPP to provide the great games of the PSP library with their own support of trophies.
Find all posts by this user
Quote this message in a reply
01-08-2014, 10:45 PM
Post: #2
RE: Achievement System Idea
Seems like a waste of ram.
Find all posts by this user
Quote this message in a reply
01-09-2014, 10:44 AM (This post was last modified: 01-09-2014 10:45 AM by Henrik.)
Post: #3
RE: Achievement System Idea
I wouldn't mind adding an achievement system like this, as long as the integration isn't too intrusive. As we are emulating the PSP we could also add some achievements really easily, like checking for playback of a particular movie file on the disc, for example, as we are in control of the file systems. For example, when the ending video plays, you'd get the "Game completed!" achievement.

We can link to GPL3.0 libraries indeed.

The overlay rendering has to be limited to the featureset of OpenGL ES 2.0 though, I'm not gonna add this and then only have it available on PC, it should be available on mobile too.

A bit concerned about your statement that "only developers will get to use it to prevent trolls from ruining the project" though. In my world, there's no clear line between developers and users, people cross over often in both directions.
Find all posts by this user
Quote this message in a reply
01-09-2014, 08:44 PM
Post: #4
RE: Achievement System Idea
Currently, when I talk about the toolset, I'm really talking about the achievement creation windows, which open up using Direct libraries as well. I currently don't see a reason to port these parts to OpenGL as it would be incredibly difficult to use them on a mobile device. The portion of the code that I am working with is the overlay, which goes over the screen of the game when a specified button is pressed (default is the esc button on keyboard) and acts more like the Xbox Button menu or the in-game XMB on PS3. Everything is open source, so people can make changes to the source code.

The way that you described adding in achievements was more about working with the ROM than the RAM when talking about the cartridge games, and the reason we stayed away from that is that it is more intrusive on the emulator itself. The way we work achievements is that each RAM address is copied twice, once for the current frame and second for the previous frame, and then a developer then goes through the game to find which addresses in the game mean something and use the good addresses to determine when an achievement should be rewarded, like when a key item is found and a bit address turn on corresponding to that item.

Also, I just took a class where I was taught basic OpenGL, like using quads and GLUT, so I may need some pointers on how to make sure that the mobile environment can use the overlay, but the overlay should only use quads with textures as it is not a high-tech piece of software. The final project for the class was driving a car around an intersection in 3D. It didn't use much in terms of physics, but was great to learn the 3D environments using OpenGL. I do want to try to do the coding myself to make sure I can apply the knowledge I learned in the class to an outside project.

Currently, anyone can create achievements for the group, but a troll could ruin a lot of things if given the chance. The originally creator of the project, known as Scott on the website, does keep a database of everything on the site just in case a troll does try to ruin everything. Even if only developers could make achievements, it is very easy to get to that status at the moment as Scott promotes anyone who is interested.

Also, to anyone who thinks that only some achievements ruin the games that they are in, the achievements are made by the community, so don't expect long grinds or too many extra playthroughs of a game as we know that those are annoying and try to stay away from those type of achievements. Although, we do make hard achievements, some are near impossible, like beating Contra III on hard without dying once.
Find all posts by this user
Quote this message in a reply
01-10-2014, 06:32 AM
Post: #5
RE: Achievement System Idea
When merged with ppsspp, things such as trolls should not be a major problem, as everyone can contribute, but the contributions have to be approved to be merged.
I think what Henrik is concerned of is if the main development happens outside of github, granting him little to control of it.


I would be alright with it as long as it can be cleanly disabled through the options menu.
Find all posts by this user
Quote this message in a reply
01-10-2014, 05:01 PM
Post: #6
RE: Achievement System Idea
In our current version, the only option to turn off the toolset is just to not log-in, as a log-in prompt is opened when the emu starts. If the user doesn't log-in, the emu can be played just as if the toolset had never been added.
Find all posts by this user
Quote this message in a reply
Post Reply 


Forum Jump: