Kodi Community Forum
RetroPlayer Test Builds (updated for Nexus) - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Support (https://forum.kodi.tv/forumdisplay.php?fid=33)
+--- Forum: Game support (https://forum.kodi.tv/forumdisplay.php?fid=292)
+--- Thread: RetroPlayer Test Builds (updated for Nexus) (/showthread.php?tid=173361)



RE: RetroPlayer Test Builds (updated for Leia) - MrTarantula - 2017-07-06

(2017-07-06, 21:45)garbear Wrote: By Multiplayer I meant Netplay, which can be generalized to all forms of game streaming, including GameStream. So yes, my next target includes GameStream.

I knew you meant netplay, but I didn't know that it included gamestream. This will be awesome to see implemented.


RE: RetroPlayer Test Builds (updated for Leia) - garbear - 2017-07-06

(2017-07-06, 22:05)FoxForceFive Wrote: It would be brilliant if you could get a save working, even just a single save per game would be great.

I'll admit, this is mostly laziness on my part. Autosave shouldn't take more than an hour or two to hammer out. Check back tomorrow for builds that include autosave.

(2017-07-06, 22:05)FoxForceFive Wrote: That retroachievement site is cool, but doesn't it need to use their altered emulators to track the achievement in game?

No, RetroArch has achievement support and they use the same libretro cores that we do.

When I rewrite RetroPlayer (starting any day now), achievement support will be built-in.

(2017-07-06, 22:05)FoxForceFive Wrote: It's a shame thumbnail creation can cause stuttering, the reason I think it's essential is because by their very nature you'll tend to use them repeatedly in each level of a harder game & it's hard to keep track of them without a thumbnail.

Agreed, anything can be made faster, it just takes time. Back when I wrote the savestate database, disabling the thumbnail took less time than properly fixing the problem Smile I'll make sure this is addressed before the v18 final release sometime next year.

(2017-07-06, 22:05)FoxForceFive Wrote: Regards sharing saves & gameplay data through p2p, is there a reason it wouldn't be able to be set up as per the video or music library in mysql? Or do you mean that the library would be shared that way, but saves & gameplay data would need to be handled differently?

MySQL is too brittle to trust with my saved games and achievements. I plan to use a content-address p2p database to archive and share my saved game data.


RE: RetroPlayer Test Builds (updated for Leia) - FoxForceFive - 2017-07-06

Wow. That would be fantastic, (the auto save build) thank you.

I hadn't realise retroarch had achievement support (I've read very little about it & only played round with installing it briefly before I discovered this project. Having just had a quick look at that achievement site it would be a great addition. I have to admit, when playing new console games there's much that annoys me, but a notification pop up for a particularly difficult or random notification is one of the best things about modern gaming.


RE: RetroPlayer Test Builds (updated for Leia) - garbear - 2017-07-07

(2017-07-06, 23:16)FoxForceFive Wrote: Wow. That would be fantastic, (the auto save build) thank you.

I've opened PR12434. Jenkins is backed up right now, but I'll try to upload a test build tomorrow.


RE: RetroPlayer Test Builds (updated for Leia) - Powerhouse - 2017-07-07

garbear is on a Roll, all bow down to his mighty coding.

Holy cow dude, I can't wait for each of your builds to come out. Each one is so much better. Keep up the AWESOME WORK.


RE: RetroPlayer Test Builds (updated for Leia) - MrTarantula - 2017-07-07

(2017-07-07, 04:46)garbear Wrote:
(2017-07-06, 23:16)FoxForceFive Wrote: Wow. That would be fantastic, (the auto save build) thank you.

I've opened PR12434. Jenkins is backed up right now, but I'll try to upload a test build tomorrow.

Could you let me know which branch and commit you're building? My build machine is a 6 year old Core i3 so builds take a little while.


RE: RetroPlayer Test Builds (updated for Leia) - Julipo - 2017-07-07

For savestates and in game saves I hope that we can (I don't know if it can be done now) stablish the working forlder (so I can set any folder as save states folder in my computer), and, inside of these folders, give the possibility to have some organizaition, like RetroArch has, that you can have a folder for core: [save state folder]/[core]/game.1.state (and .png for his screenshot)

This is more for file organization, and have the possiblity to add the states, saves and screenshots folders in Dropbox folders (for example).


RE: RetroPlayer Test Builds (updated for Leia) - garbear - 2017-07-07

(2017-07-07, 15:48)MrTarantula Wrote: Could you let me know which branch and commit you're building? My build machine is a 6 year old Core i3 so builds take a little while.

I'm building my retroplayer-18alpha1 branch. I rebase every week or two, so make sure you stay up to date. When we move to beta phase I'll cease rebasing and create a new branch for each release (e.g. retroplayer-18beta1, etc.)

(2017-07-07, 19:35)Julipo Wrote: For savestates and in game saves I hope that we can (I don't know if it can be done now) stablish the working forlder (so I can set any folder as save states folder in my computer), and, inside of these folders, give the possibility to have some organizaition, like RetroArch has, that you can have a folder for core: [save state folder]/[core]/game.1.state (and .png for his screenshot)

This is more for file organization, and have the possiblity to add the states, saves and screenshots folders in Dropbox folders (for example).

The problem is that this requires a database to keep track of game and savestate metadata.

My vision is actually a complete saved data manager, where you can manage, import and export data using web standards as much as possible for maximum data survival.


RE: RetroPlayer Test Builds (updated for Leia) - Julipo - 2017-07-07

(2017-07-07, 19:50)garbear Wrote:
(2017-07-07, 19:35)Julipo Wrote: For savestates and in game saves I hope that we can (I don't know if it can be done now) stablish the working forlder (so I can set any folder as save states folder in my computer), and, inside of these folders, give the possibility to have some organizaition, like RetroArch has, that you can have a folder for core: [save state folder]/[core]/game.1.state (and .png for his screenshot)

This is more for file organization, and have the possiblity to add the states, saves and screenshots folders in Dropbox folders (for example).

The problem is that this requires a database to keep track of game and savestate metadata.

My vision is actually a complete saved data manager, where you can manage, import and export data using web standards as much as possible for maximum data survival.

You will not use directly the file system, like other emulators? I was asuming (because is the only example that I have until now) that save states will be a file in the file system, so open a save state is direct:

If I open "My Test Rom.zip" (that contains My Test Rom.gba") with mGBA the emulator and I load the 2nd slot the save state is in: [save states folder]/mGBA/My Test Rom.2.state with screenshot [save states folder]/mGBA/My Test Rom.2.png

And you can list all statates (if you want to do a listing) searching: [save states folder]/mGBA/My Test Rom.*state

But you are speaking of databases, that I supose that is more Kodi friendly. You will write in game saves in database too?

But if all of these go to a DB I will need to check how is your approach before to comment and suggest things. The only requirement is that in-game save states (no matters if we need to a web and click "Export" to get a file) need compatible with actual emulators (for example, I had some snes games that I move his in game saves to other emulator and they work, of course, renaming the file to the other emulator convention). I supose that this is not a problem because is the game (the core) who writes the in-game save.


RE: RetroPlayer Test Builds (updated for Leia) - garbear - 2017-07-07

(2017-07-07, 20:38)Julipo Wrote: You will not use directly the file system, like other emulators? I was asuming (because is the only example that I have until now) that save states will be a file in the file system, so open a save state is direct:

The problem is that a savestate isn't just the ".state" file. There is real-world metadata associated with the state, such the emulator used, the save time, the play time (both in-game and wall time), ROM identifiers, and a screen shot. In PR12434 I save these to the harddrive alongside the ROM like this:

Code:
Chrono Trigger (U) [!].smc   (the ROM)
Chrono Trigger (U) [!].sav   (the state)
Chrono Trigger (U) [!].xml   (the metadata)
Chrono Trigger (U) [!].png   (screenshot, not implemented yet)

I plan to switch to a key-value database to hold this information. We can then sync to the filesystem, either automatically or when the user presses an "Export" button.

(2017-07-07, 20:38)Julipo Wrote: You will write in game saves in database too?

Yes, I plan to use a key-value database which supports arbitrary data, including metadata, savestates, and even games themselves. (Ponder that last one.)

(2017-07-07, 20:38)Julipo Wrote: The only requirement is that in-game save states (no matters if we need to a web and click "Export" to get a file) need compatible with actual emulators (for example, I had some snes games that I move his in game saves to other emulator and they work, of course, renaming the file to the other emulator convention). I supose that this is not a problem because is the game (the core) who writes the in-game save.

Libretro cores should have savestates that are interchangeable with the emulator they're based on. Of course, savestates aren't compatible between different emulators. However, it might be possible to create a Python script that is able to convert savestates between emulators.

Exporting is no problem. Importing is a problem, because the associated metadata is missing. We could get by without knowing the play time or date, but knowing which libretro core produced the save is mandatory.


RE: RetroPlayer Test Builds (updated for Leia) - linkinsoldier - 2017-07-08

Is there a possibility to send connected controllers to sleep after some (calibrateable) time? My ps3 controller seems to be running until it's out of battery, even though kodi is in power saving mode


RE: RetroPlayer Test Builds (updated for Leia) - MrTarantula - 2017-07-08

(2017-07-08, 14:44)linkinsoldier Wrote: Is there a possibility to send connected controllers to sleep after some (calibrateable) time? My ps3 controller seems to be running until it's out of battery, even though kodi is in power saving mode

When you're done playing, you have to hold the PS button until the light turns off. I remember it being brought up, so I'm sure it will be implemented.


RetroPlayer Test Builds (updated for Leia) - linkinsoldier - 2017-07-08

Thanks, I will try it later! However "automatic power save" would be better I guess, at least as long as it can be calibrated [emoji6]


RE: RetroPlayer Test Builds (updated for Leia) - linkinsoldier - 2017-07-08

I tried to disable the controller during playback, unfortunately I failed... Should this also work during video playback?


RE: RetroPlayer Test Builds (updated for Leia) - MrTarantula - 2017-07-09

It's not dependent on anything in Kodi. Think of it like hard-powering your phone. Hold the button for ~10 seconds and it will shut off.