Page 5 of 6

Re: Prince of Persia port for Roku streaming box

Posted: June 13th, 2016, 7:55 am
by lvcabral
I'm almost finishing the Shadow implementation, only missing the Level 5 appearance.

When I implemented the Level 3 Room 2 checkpoint, I realized that with the limitation of Roku control (shift has to be toggled on/off) it was impossible to reach the checkpoint in time, because the gate would be already closed. So I decided to move the button from tile 8 to tile 2, this way the level can be completed.

Re: Prince of Persia port for Roku streaming box

Posted: June 19th, 2016, 4:15 am
by lvcabral
Beta Release "The Shadow" (v0.10)

This is the second Beta release of the game, the main changes are:
  • All Shadow appearances were implemented;
  • It's now possible to finish Level 3. The button to open room 2 was too far to reach the gate in time with the Roku control limitations;
  • A checkpoint is now in Level 3 Room 2, so if the kid dies after that point, he will revive there;
  • The Skeleton skills were too high, adjusted to the same of the original DOS game;
  • Added a visual indicator (white border) to the Shift mode, it helps a lot to avoid running into an abyss;
  • Bug fixes.
Check the full Changelog at https://github.com/lvcabral/Prince-of-P ... angelog.md

Re: Prince of Persia port for Roku streaming box

Posted: June 19th, 2016, 3:12 pm
by Norbert
Small suggestion: maybe add the dates to the various versions in Changelog.md. This might give readers a bit more perspective, when 0.1 happened, 0.2, etc. Nice to see that you're still working on it. When you wrote that your "work is done" I thought you wouldn't work on it again.

Re: Prince of Persia port for Roku streaming box

Posted: June 19th, 2016, 7:10 pm
by lvcabral
Norbert wrote:Small suggestion: maybe add the dates to the various versions in Changelog.md. This might give readers a bit more perspective, when 0.1 happened, 0.2, etc. Nice to see that you're still working on it. When you wrote that your "work is done" I thought you wouldn't work on it again.
Good idea, I will add the dates.

The "work is done" was about being ready to publish the code, but I still have plans to it, support custom levels, and custom sprites. For that I will have to write a converter from .dat files to the .json (levels) and .png (sprites) formats.

I also would like to have the SNES sprites as an official option, but I still could not found good set of images to work on.

I have also some crazy mashup ideas to use PoP engine and make other classic games using it, will make some prototypes when I have time.

Re: Prince of Persia port for Roku streaming box

Posted: June 25th, 2016, 9:46 am
by David
lvcabral wrote:I also would like to have the SNES sprites as an official option, but I still could not found good set of images to work on.
What about this? viewtopic.php?p=11368#p11368

Re: Prince of Persia port for Roku streaming box

Posted: June 25th, 2016, 10:17 am
by Norbert
Or the pre-made apoplexy images?
These are in png\blue\, png\fawn\, png\silver\, png\lava\, png\green\, png\umber\, png\marble\, png\hallway\, png\jaffar\, and png\intro\.
I've tried to make sure I didn't put any markers on the tiles themselves.
This means you could remove the green outlines with a select by color tool (of, for example, GIMP).
All the tiles would be aligned properly too; all images are 98x130.

Re: Prince of Persia port for Roku streaming box

Posted: June 25th, 2016, 6:46 pm
by lvcabral
Norbert wrote:Or the pre-made apoplexy images?
These are in png\blue\, png\fawn\, png\silver\, png\lava\, png\green\, png\umber\, png\marble\, png\hallway\, png\jaffar\, and png\intro\.
I've tried to make sure I didn't put any markers on the tiles themselves.
This means you could remove the green outlines with a select by color tool (of, for example, GIMP).
All the tiles would be aligned properly too; all images are 98x130.
I have found yesterday that package David published, but for the tiles it would be tricky, the apoplexy ones are simpler, thanks.

Re: Prince of Persia port for Roku streaming box

Posted: June 25th, 2016, 10:52 pm
by Norbert
lvcabral wrote:I have found yesterday that package David published, but for the tiles it would be tricky, the apoplexy ones are simpler, thanks.
You can use
apoplexy -t=x
where "x" is the first letter of the environment (e.g. "b") to check which are the default tiles.

You will see a list that includes, for example (for blue; "b"):

Code: Select all

[ INFO ] Tile 35:
[  OK  ] png/blue/b_00_01_08_01.png
[  OK  ] png/blue/b_00_24_08_01.png
[  OK  ] png/blue/b_00_04_08_01.png
[  OK  ] png/blue/b_00_04_08_01.png
Tile 35 on the apoplexy tiles screen is the mirror. The four images the -t command shows for each tile are, in this order: above space, above pillar, above wall, and above gate. In other words, if you are looking for the default mirror tile where the lower right of the image contains nothing (= above space), then you need "png/blue/b_00_01_08_01.png".

You may still run into problems because of how PoP1 for SNES puts together tiles, but this should get you started.
Norbert wrote:[...]; all images are 98x130.
Oh, except for the level doors, by the way. Again, you can check the tiles screen to see which tile number are the level exit and entrance doors, and then you can use -t to check which images make up these doors by default.

Re: Prince of Persia port for Roku streaming box

Posted: June 30th, 2016, 7:56 pm
by lvcabral
Thanks Norbert, I will start working on it, but I'm afraid the application package is too big now, I will probably have the SNES as a "downloadable mod", I also contacted the author of "Princess of Persia" to have his assets also available as a mod.

BTW I forgot to mention that I released a new version last week, with the "Flip Screen Potion" implementation done.
Beta Release "Flip Potion" (v0.11)

Release Notes

This is the third Beta release of the game, the main changes are:
  • The flip screen potion effect (Level 9) is implemented;
  • Fixes on special events for the Skeleton, Mouse and Shadow;
  • Fixes related to issues when the room has multiple slicers side by side;
  • Several other Bug fixes.
Check the full Changelog: https://github.com/lvcabral/Prince-of-P ... angelog.md

Re: Prince of Persia port for Roku streaming box

Posted: July 5th, 2016, 6:10 am
by lvcabral
The PoP fun never ends :)

I decided to also allow mods in my implementation, so I started adding support to the standard PoP1 XML Format, that worked well and I ended up discovering several bugs (still working on them) by trying different Level Sets.

The graphics are way more complicated, because I need to extract the bitmaps from the dat files with PR, rename them to the sprite names I used, add to a spriteset using TexturePacker, make them transparent. I'm creating batch files for this part, that works well for most characters and objects.

The main work however are the tiles, because ultrabolido decided to use them already composed (that really makes easy to assemble the rooms), but I have no easy way to do it from the bmp files extracted. I'm really considering writing a tool in C# just for that conversion. For now I will document the process so I don't need to rethink everytime I will do a new mod.

I also revamped the menu screens and added a new configuration screen to select the Mod and configure some Cheat Modes, checkout some screen shots:

Image
Image
Image

Re: Prince of Persia port for Roku streaming box

Posted: July 25th, 2016, 9:57 am
by lvcabral
Almost done with the mod support implementation!
I created a tool to convert the PR generated resources to the format I need, so now is very easy to convert any mod for the Roku port.

I still need to support some of the PRINCE.EXE customizations used by some mods.

See below screenshots from the two mods I choose for my tests:

Image

Image

Re: Prince of Persia port for Roku streaming box

Posted: August 7th, 2016, 8:37 am
by lvcabral
Just finished two last remaining features:

- HighScores management
- Support for downloading mods from the web (in addition to the internal mods)

Now just bug fixes for the last beta release (v0.12) I hope to be able to release next weekend.

Re: Prince of Persia port for Roku streaming box

Posted: August 7th, 2016, 9:12 am
by David
Maybe my question is a bit late, but...

Is it possible to run this without having an actual Roku box?
I'd guess most people in this forum don't have one.
Including myself...

Re: Prince of Persia port for Roku streaming box

Posted: August 7th, 2016, 11:27 am
by Norbert
David wrote:Is it possible to run this without having an actual Roku box?
I've also been thinking about this. Roku is a closed platform whose applications use the proprietary BrightScript language. I think the Roku SDK only deploys to Roku. I don't think there's a BrightScript compiler/linker for other platforms. Someone could write a converter from BrightScript to a more cross-platfom language, but it makes more sense to do the reverse and convert something to BrightScript instead. Something like that already exists, Marmalade can deploy to a bunch of stuff including Roku. Not to Linux though, and it's also proprietary software; costs at least $499 to deploy to the desktop. The Unity game engine seems to have (had?) a "Union program" that allowed for deployment to Roku (Muffin Knight still says "Developer:Unity"). Roku, Inc. probably actively tries to prevent people from installing different/modified OSes, which means it's basically a prison (a tyrant device), probably also runs Linux and uses hardware restrictions to keep people out which means tivoization also applies. The real solution is to throw the Roku out the window. Hm, that escalated quickly. :P

Re: Prince of Persia port for Roku streaming box

Posted: August 7th, 2016, 4:21 pm
by lvcabral
Norbert is right, the platform is closed. their strategy now is focusing in TVS, several brands are now licensing their OS. But you need to look this way, there are literally millions of people in US that owns a device or TV with Roku OS, they are in "jail", so I'm making them have some fun by playing PoP ;)
Another interesting aspect of the platform is that it was adopter by most cord cutters here, there is a big community of users that use "alternative" apps/channels to not pay for cable or satellite TV. It's a simpler and cheaper platform to non tech people.