GSOC 2018 - Interested in project adding "Achievements in RetroPlayer"
#1
Name: Akhil Seshan
E-mail ID: [email protected]
Qualification: B.Tech student in Computer Science and Engineering
Description: Retroarch has developed support for achievements in certain select libretro cores. This project would consist of porting whatever work might be portable and otherwise integrating the existing libretro achievement system into Kodi's retroplayer implemented using Kodi's UI system. Could be tackled a few different ways, including simply linking the user to the retroachievements.org or creating a full achievement database in Kodi.
Expected Outcome: Users should be able to see their achievements in Kodi. Player manager and Player profile support may be in development concurrently, so thought should be given to those systems.
Skills preferred: C++, python, possibly php
Possible mentor: garbear

How to achieve this?
Create an achievements page that imports all the data from the achievements database and displays it in detail.

Tell us about the computer(s) and devices you have available for working on your SoC project?
I have a laptop with Intel Core i5-8250U processor and 8 GB RAM with Lubuntu,Fedora and Windows installed in it

When did you first start programming?
I started programming when I was in class 9 and created my first project in my class 12 in C++ language.

Are you a user of Kodi? When did you first start using it?
I am currently a user of Kodi and I started using it recently.

What sorts of programming projects have you done on your own time?
I have been continuously using python,C++ and Java for programming and have done many projects especially in C++. I have done many mini projects in Java and Python. I have completed many online courses in object oriented programming.

How much time do you have available, and how would you plan to use it?
I will entirely dedicated to work for this project from the mid of May till the successful completion of this project.
Reply
#2
Hi Akhil,

An Achievement Engine would make a good GSoC project. My usual questions:

* Have you compiled Kodi and game add-ons?
* What do you like about how RetroArch has implemented achievements?
* Do you prefer c++ or python? A c++ implementation is much preferred, but a python achievements engine is also acceptable. This would still require some c++ work.

I have a goal for an Achievements Engine. Specifically, I want to model RetroPlayer on a game-theoretic framework as a simultaneous repeated game. See my idea here. The Achievements Engine would be part of the Reward() function, which could also output gameplay stats such as heart level and rupee count for Zelda games, or score for Mario. What do you think about building an achievements engine based on an interface like this?
Reply
#3
* Yes, I have compiled Kodi and its game addons.
*I saw many issues complaining that the achievements list is not in the retroarch. so it would be a great work to include the achievements list in the retroplayer.
*C++ is more comfortable for to code than python since I have done many works in C++ than python. C++ is more fluent for me
Reply
#4
The natural solution would be to use http://retroachievements.org . Can you find their API, and if they don't have an API, can you find the RetroArch code that interfaces with retroachievements.org?
Reply
#5
There's API for Retro Achievements. Their API demo can be viewed on http://retroachievements.org/APIDemo.php site. This site provides a detailed description their API.
Reply
#6
Look closer. This API can be used to browse their website and leaderboard, but is clearly read-only. An achievement engine also needs access to achievement conditions (memory locations and operators), and the ability to write achievements to the website. The API you'll use is not public. Can you locate it?
Reply
#7
(2018-03-23, 05:25)akhilseshan Wrote: There's API for Retro Achievements. Their API demo can be viewed on http://retroachievements.org/APIDemo.php site. This site provides a detailed description their API.
 Yes this API is only used to view the achievements from the website, we cannot modify the data in it. Can't the administrator access to the above API gives the permission to modify or achievements to that website?
Reply
#8
The API to modify a user's achievements is separate from that one. If a frontend can modify achievements, and the frontend is open source, it must be possible to discover this undocumented API in a source code file, right? Can you find it?
Reply
#9
Is the API used RetroArch/retroarch.c ?
Reply
#10
It's a RetroArch source file, but not retroarch.c. You're looking for a line of source code that connects to the RetroAchievement's private API.
Reply
#11
@garbear Are you unable to find this, or was this just a test for the applicant? I was able to find the calls to the RA API in RetroArch and from there Google led me to a pastebin of the actual PHP API file.
Reply
#12
(2018-03-29, 15:40)MrTarantula Wrote: @garbear Are you unable to find this, or was this just a test for the applicant? I was able to find the calls to the RA API in RetroArch and from there Google led me to a pastebin of the actual PHP API file.
  
It was a test. I actually mirrored your solution verbatim.
Reply
#13
For ideas on GUI implementation I suggest that you checkout the (failed?) “Ignition” project if you can manage to get hold of the Beta version or just look at its concepts in videos and pictures.

https://www.kickstarter.com/projects/171...e-raspberr

https://github.com/alexjstubbs/io-client

https://github.com/alexjstubbs

Ignition was marketed as a social retro emulator interface which also had online game achievements and leaderboards among friends and the community as one of its main goals.

While the project itself failed (due to being a one-man-show who originally only worked behind closed curtains) the concept itself sounds like an awesome fit for Kodi.
Reply

Logout Mark Read Team Forum Stats Members Help
GSOC 2018 - Interested in project adding "Achievements in RetroPlayer"0