Kodi Community Forum

Full Version: Doubts regarding project idea on Achievements in RetroPlayer
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
Hello,
I am Shardul Semwal, a second year Computer Science undergraduate at Indian Institute of Technology, Mandi, India.
I was going through structure and design of KODI and the project ideas for GSOC.
This project idea of "Achievements in Retroplayer" seems interesting and I searched some of the sites for the relevant information. I founded that RetroArch integrated with RetroAchievements so that players can get information about their rankings and other stuffs.
There was a site https://koditips.com/retro-games-kodi/#H..._Retroarch, here I found that RetroArch can be launched in Kodi. So I am expecting that after launching, achievements can be seen on KODI also.
Please help me whether I am thinking right on this about it, as if achievement can be obtained through retroarch on KODI then what exactly we need to do on this issue.
I am also not sure whether this forum is suitable for posting doubts or only for project submission so pardon for any mistake.
Hello Shardul,

You don't need RetroArch to play games in Kodi as Kodi has RetroPlayer for that. RetroPlayer is not as feature rich as RetroArch but it is native to Kodi, therefore you don't need to install anything else to play games. GSoC 2017, 2019 and 2020 all had big features added to RetroPlayer (like shader support and a saves manager) and this proposal aims to extend RetroPlayer's functionality even more, by adding native achievements support.

Please do reach out if you have more questions!
Currently I am building Kodi for Linux, it is taking some time as we have to install a large list of packages according to the guide given by : https://github.com/xbmc/xbmc/blob/master...E.Linux.md.
Regarding this project:
I think linking the user to the retroachievements.org is fair choice as there can be a certain section of user who are not interested in this section of achievements so only those user who needs this section will see his/her achievements.
I am not very sure but we can perform this task in a way similar to what retroArch has done with the help of "rcheevos library". User will need to create his/her profile on RetroAchievements and then we would have a option in Kodi in Game menu which will link the user with RetroAchievements.
Please guide me about what should I do for getting more deeper insights of this problem.
Hi,

I have already added some support for the rcheevos library (and the account linking you are saying)  for my gsoc project last summer so the achievements project will continue from there. For a deeper insights you can check this branch https://github.com/garbear/xbmc  which has the integration of the rcheevos library ready. Also you might want to check this repo https://github.com/garbear/game.libretro...s/rcheevos where all the rcheevos calls are happening.
Thanks for the guidance!!

I checked the branch https://github.com/garbear/xbmc , so basically we have integration with rcheevos library.
We need to make a system which will take data from retroachievements and interpret this data into a specific language(here it should be C language as rcheevos is a set of C code) and then pass the result to rcheevos and since we have integrated Kodi with rcheevos so when recheevos will evaluate Achievements,Kodi will also obtain it.

Can you please guide whether the process I am thinking is right and if it is, then please guide me whether in proposal we have to tell these ideas how we will do the project or should provide some code related to it.
(2021-04-02, 13:17)Shardul Wrote: [ -> ]Thanks for the guidance!!

I checked the branch https://github.com/garbear/xbmc , so basically we have integration with rcheevos library.
We need to make a system which will take data from retroachievements and interpret this data into a specific language(here it should be C language as rcheevos is a set of C code) and then pass the result to rcheevos and since we have integrated Kodi with rcheevos so when recheevos will evaluate Achievements,Kodi will also obtain it.

Can you please guide whether the process I am thinking is right and if it is, then please guide me whether in proposal we have to tell these ideas how we will do the project or should provide some code related to it.
In this branch we have a load data function https://github.com/garbear/xbmc/blob/ret...os.cpp#L60 but since I didn't need the achievements portion, only the rich presence script, I discard it. You will have to store it somewhere and then you will have to pass it to game.libretro since there is all the communication with rcheevos (that is because game.libretro has access to the emulator memory iirc). Now about the proposal, @gusandrianos can help you with that.
Hey, I've been a bit busy with work lately, glad @NikosSiak helped you out. Please make sure to have the proposal posted here before sending it to GSoC, to get some feedback!
(2021-04-04, 22:27)gusandrianos Wrote: [ -> ]Hey, I've been a bit busy with work lately, glad @NikosSiak helped you out. Please make sure to have the proposal posted here before sending it to GSoC, to get some feedback!
Hello @gusandrianos , I have a doubt regarding the timeline portion of the proposal.

As per I understand till now, since @NikosSiak have implemented a way for user to login to their RetroAchievement account,
So I will need to start from here, so i am thinking there should be a condition which will ask user whether they want achievement portion, after it we will loaddata from RetroAchievement and pass the result to rcheevos library for processing it, then we will need to code in game.libreto whose output will be the required Achievement.
 
If this procedure is true, then I have a doubt regarding exact distribution of timings on the timeline portion of the proposal as I am not very sure of each and every step how much time will they take.
So please guide whether we could be flexible sometime during GSOC with timings of the sub-tasks
Hello mentors, 

Please review this proposal.

https://docs.google.com/document/d/1jcq5...sp=sharing
Sorry for the last post, this is the final proposal link:

https://docs.google.com/document/d/1DpVy...sp=sharing
@gusandrianos , @NikosSiak 

forget to mention in last post
Hello, @Shardul, sorry for the delay, been busy. We will review it tonight and get back to you with feedback.
(2021-04-11, 07:29)Shardul Wrote: [ -> ]@gusandrianos , @NikosSiak 

forget to mention in last post

Hi @Shardul,
sorry for the delay we were both busy with work, I have left you some suggestions to the doc you sent (nothing big just some grammatical nitpicks), also if you have started working on an issue you should also write that
Hello @NikosSiak , @gusandrianos , thanks for the suggestions. I will try to correct all the mistakes and will submit the proposal before 13th of april.
Hi @Shardul.

Formatting:
I would shorten the proposal in general but that's a nitpicky thing to comment on.
As I commented on the Google doc, try to minimize the spacing between sections and keep it equal

Content:
I wouldn't say the timeline is very accurate. It is unrealistic to plan to complete the project and open a PR in the first month, coding wise.
The codebase is new and even if you manage to fix some "Good first issues" as you mentioned, it is unlikely it will help you very much with RetroPlayer,
as it is a very specific part of a massive project. It is normal to get overwhelmed and lost for some time while starting.
You will cut some lost time if you manage to build Kodi for your platform and all the add-ons needed beforehand, although that isn't a major time waste in general.

You should not be in a hurry to complete the coding part in the first month, you should take your time and ensure you're going in a good pace but not burn out day and night,
nobody is pushing and nobody is expecting you to work on it 10 hours a day.

It is also not necessary to work on documentation. As long as you have some basic guidance on how someone gets it up and running, you're good, we don't need anything fancy.

Please, make sure to fill out the "Possible mentors" section too.

All in all, the proposal looks good to me, you seem to get the point of what we are trying to do with this project and I like how you have researched some of the tools needed to do it.

If you change your proposal according to the feedback we gave you, please make sure to submit it and finalize it on GSoC's website as the deadline is very close.

Thank you and good luck!
Pages: 1 2