Page 6 of 7

Re: Prince of Persia port for Roku streaming box

Posted: August 7th, 2016, 4:45 pm
by lvcabral
When I moved to work here in US (back in 2011) I got a "smart TV" to the living room and a "dumb" TV for my bedroom, so I purchased a Roku to have Netflix available there. I also had a hard drive with my movies and music that was connected to my wi-fi network but it also could not be played by my "dumb" TV neither by Roku.

That's why I decided to learn Brightscript, to develop a media player to implement support for the HipServ API (my Seagate HD has it) and see my movies laid down at by bed :)

So I kept developing for the platform as a "free time" hobby.

Re: Prince of Persia port for Roku streaming box

Posted: September 6th, 2016, 5:11 am
by lvcabral
Finally released the "Feature Complete" version!

Here is the Changelog:
https://github.com/lvcabral/Prince-of-P ... angelog.md

And the Demo video:


Re: Prince of Persia port for Roku streaming box

Posted: September 6th, 2016, 10:58 am
by Norbert
Congratulations, it looks polished.
So, is this something you'll be able to make into a Roku channel?
I did search this and didn't find your PoP.
Maybe unofficial channels can only be found using a Roku?

Re: Prince of Persia port for Roku streaming box

Posted: September 6th, 2016, 4:00 pm
by lvcabral
Norbert wrote:Congratulations, it looks polished.
So, is this something you'll be able to make into a Roku channel?
I did search this and didn't find your PoP.
Maybe unofficial channels can only be found using a Roku?
Thanks Norbert, have you found your name in the video?

The channels can be published as public and private. The public ones needs to be tested by Roku team and are searchable on the store, the private ones are only installable using a link provided by the developer.

There are several sites that index the private channels.

I don't plan to publish it as a public channel, I already published the link to install it in several forums.

Re: Prince of Persia port for Roku streaming box

Posted: September 6th, 2016, 6:50 pm
by Norbert
lvcabral wrote:Thanks Norbert, have you found your name in the video?
Yeah, one of the highscore entries, and also for the Prince of Wateria mod. ;)
lvcabral wrote:I don't plan to publish it as a public channel, I already published the link to install it in several forums.
Ah, I see.

Re: Prince of Persia port for Roku streaming box

Posted: September 11th, 2016, 9:52 am
by David
lvcabral wrote:And the Demo video:
At 3:40, do I see a standing jump over a 4-tile pit?
Maybe the video should show a bit more from the Mac graphics? Currently only the intro scene is shown using them. (at 2:00)
Norbert wrote:I did search this and didn't find your PoP.
That's a strange search: The only two things that actually have "Prince" in their names are listed last.

Re: Prince of Persia port for Roku streaming box

Posted: September 11th, 2016, 12:36 pm
by Norbert
David wrote:
Norbert wrote:I did search this and didn't find your PoP.
That's a strange search: The only two things that actually have "Prince" in their names are listed last.
What's even stranger is that if you do the search yourself (simply enter "prince" in the input field), it only gives the two matching entries, and if you then keep using Enter on the URL bar it sometimes lists the two matches first and sometimes last.

Re: Prince of Persia port for Roku streaming box

Posted: September 11th, 2016, 5:18 pm
by lvcabral
David wrote:At 3:40, do I see a standing jump over a 4-tile pit?
You saw right, it is a bug that I left as a "trick". The limitation we have with the remote control, not being able to press two keys at the same time for more than 1 frame, makes very hard to make some run-jump-hang moves, so besides the "shift toggle mode" I also made simpler to hang in some extreme situations. In a word "playability".
David wrote:Maybe the video should show a bit more from the Mac graphics? Currently only the intro scene is shown using them. (at 2:00)
I will make a playthrough video alternating the graphics, also including a mod I did with PoP 1.4 tiles (no custom levels)
David wrote:That's a strange search: The only two things that actually have "Prince" in their names are listed last.
Roku's web team sucks.

Re: Prince of Persia port for Roku streaming box

Posted: July 10th, 2019, 6:55 pm
by lvcabral
Some douchebag changed the skin of my port and published as his own work at the Roku Channel store:
https://channelstore.roku.com/details/2 ... sco-prince

I reported to Roku, not sure if they will take down.

Re: Prince of Persia port for Roku streaming box

Posted: July 10th, 2019, 7:42 pm
by Norbert
lvcabral wrote: July 10th, 2019, 6:55 pmSome douchebag changed the skin of my port and published as his own work at the Roku Channel store: [...]
Hm, that's annoying...
I hope Roku will take theirs down.

Re: Prince of Persia port for Roku streaming box

Posted: August 23rd, 2019, 6:31 pm
by lvcabral
Last time I came here with bad news (the "pirated" channel was removed by Roku). Now I bring good news!

For a long time I was thinking in creating some kind of emulator for Roku, so my games could be playable for people that don't have the device, as Roku never provided such application. The issue was the fact that I would need to write a compiler or interpreter for BrightScript, the Roku scripting language, and that seemed to me as a too big of a challenge. It was until I found this project: https://github.com/sjbarag/brs

This is an open-source command line tool that some Hulu developers are creating that implements a full interpreter for BrightScript, and that was the foundation I needed to develop my project. I immediately started collaborating with them, implementing the missing parts of the language (lots of thing are still pending), and I went and created a feature branch (brsLib) in my fork of the project to give it a try on the viability of this project.

As I'm not a TypeScript/JavaScript developer, I've been learning a lot about the stack and finally I managed to create a working prototype, I'm very happy :D ! The remote control emulation was the most complicated feature to find a solution, as brs, being an interpreter, is basically a big-infinite-synchronous-nested-loop, and even moving it to a "web worker" to free the browser UI thread, Javascript does not implement any way to to stop the web worker and process the event log. After nights of investigation I discovered SharedArrayBuffer() and it did the trick.

Below is a video of the emulator running one of the early prototypes of Prince of Persia with no code changes! The performance is bad as the code is repainting every single tile every frame, and as an interpreter things get slow. I will work to improve both the emulator and the sample code to make it faster.


Re: Prince of Persia port for Roku streaming box

Posted: August 24th, 2019, 2:58 pm
by 4DPlayer
That is good news!

Re: Prince of Persia port for Roku streaming box

Posted: August 24th, 2019, 5:13 pm
by oitofelix
Congratulations! Keep up the good work! :)

Re: Prince of Persia port for Roku streaming box

Posted: September 3rd, 2019, 7:43 pm
by lvcabral
Advanced a lot with the emulator, it can now run my remake of Lode Runner (instructions to test on the release below)
https://github.com/lvcabral/Lode-Runner ... /v0.17.700

I'm now in the process of making Prince of Persia run smoothly (as much as possible) on it. PoP is a challenge because the emulator is an interpreter and it get's slow with too many instructions to paint the maps and the trobs and mobs.

The adaptation is needed because the emulator does not support all BrightScript features (yet) so I need to make it to a minimun denominator. Soon you guys will be able to try my port! That was something that always frustrated me in this project, very few people has access to a Roku outside USA, with this, more people will be able to play my version of the game :)

Re: Prince of Persia port for Roku streaming box

Posted: September 4th, 2019, 10:38 am
by Norbert
lvcabral wrote: September 3rd, 2019, 7:43 pmSoon you guys will be able to try my port!
Sounds good, take your time.