Prince of Persia port for Roku streaming box

Threads about other remakes and ports.
lvcabral
Vizier
Vizier
Posts: 115
Joined: March 11th, 2016, 10:34 pm

Re: Prince of Persia port for Roku streaming box

Post by lvcabral »

lvcabral
Vizier
Vizier
Posts: 115
Joined: March 11th, 2016, 10:34 pm

Re: Prince of Persia port for Roku streaming box

Post by lvcabral »

Finally I could release v0.8, the video below shows the improvements of versions 0.7 and 0.8



The changeset for v0.8 is:

Code: Select all

0.8 - Guards Fight, Slow Fall Potion, Game Timer, Save Game, Save Settings, Mac sprites (kid, guards, sword)
* Add: Settings Menu: Control Mode, Graphics Mode, Credits
* Add: Default Limit of 10 health lives for the kid
* Add: Game timer (60 minutes default) - Message 2 seconds level, 2 seconds timer
* Add: After death timer: 15s after death, start alert for 6s if no button pressed restart game
* Add: Show guards on each level
* Add: Life indicator of the Guards on the Status Bar
* Add: Guards in all 7 colors - not on JS
* Add: Guard lives matching clothes colors - not on JS
* Add: Guard splash matching clothes colors - not on JS
* Add: Support for Macintosh sprites (Kid, Guards and Sword)
* Add: Fighting behavior for kid and guards
* Add: Disable Shift key "toggle mode" when fighting
* Add: Slow Fall Potion (big green): Float down when falling big heights (L7)
* Add: Back key stop the game and return to Menu
* Add: Menus to Save (from level 3) and Restore the Game state (level, health, time)
* Add: Sound Effects: guard hit, sword attack, sword defense, sword drawn, fight death, hang on fall
* Add: Ported Actor.js and Fighter.js code into charActor.brs
* Add: Ported Enemy.js to charGuard.brs
* Change: OK button now switch between Regular and Debug modes
* Change: Dark mode is now activated with Replay button when in Debug mode
* Refactor: Extracted common methods and properties from charKid.brs to charActor.brs
* Refactor: Moved game loop to gameScreen.brs
* Refactor: Moved the footstep sound to the CMD_TAP on process_command_kid as the original code
* Refactor: Moved VersionInfo to be shown when Debug mode is enabled
* Refactor: Created function FlipHorizontally to avoid duplicating sprites (left, right)
* Refactor: Reduced the size of images using tinypng.com
* Fix: When the fall is from too high with a plate, the kid is slower (L9R16-15-14)
* Fix: Only change to "engarde" when the kid has the sword (L1) - Same bug on JS
* Fix: Guards moves backward instead of turning when the kid is behind him - Same bug on JS
* Fix: Fight mode is ignoring the CharY - Same bug on JS
* Fix: Guards are not falling to lower level (use stabbed frames) - Same bug on JS
* Fix: Try step on a Loose Plate is making it fall
* Fix: Level 6 in "9 rooms mode" shows decoration over the wall
* Fix: Kid splash shows in front of pillar
* Fix: When drinking potion in a palace level the wall decoration disappears (L4R23)
* Fix: Missing tile on the assets: TILE_TORCH_WITH_DEBRIS = 30 - Same bug on JS
* Fix: When Door is opening and kid exit room and come back the door is closed again (L1 and L7)
* Fix: When engarde with back to the wall and retrieve the kid enter inside the wall (L2R4)
* Fix: Jump towards an opening gate fall forever (L7R3)
* Fix: Guard ignores close gate as a barrier
* Fix: Guard is not killed by spikes
* Fix: Sometimes jump to the right into wall crash (L3R12)
* Fix: Sometimes fall forever when jumping until fall - same bug on JS (L1R6 & L4R17-19)
* Fix: Guard fall forever when pushed down (L4)
* Fix: Crash when fatguard falls on the abyss (L6)
* Fix: Dead kid is not pressing the button (L7)
* Fix: Kid alerts the guard that fall forever (L4R17-18)
David
The Prince of Persia
The Prince of Persia
Posts: 2846
Joined: December 11th, 2008, 9:48 pm
Location: Hungary

Re: Prince of Persia port for Roku streaming box

Post by David »

@2:45: No splash when the prince dies?
@4:06: I think the level 6->7 transition is off by one room.
@4:10: No Mac graphics for the dungeon levels?
@4:28: I see you added the super-jump. :)
lvcabral wrote: * Add: Ported Actor.js and Fighter.js code into charActor.brs
* Add: Ported Enemy.js to charGuard.brs
I guess ".brs" means BrightScript?
lvcabral
Vizier
Vizier
Posts: 115
Joined: March 11th, 2016, 10:34 pm

Re: Prince of Persia port for Roku streaming box

Post by lvcabral »

David wrote:@2:45: No splash when the prince dies?
@4:06: I think the level 6->7 transition is off by one room.
@4:10: No Mac graphics for the dungeon levels?
@4:28: I see you added the super-jump. :)
lvcabral wrote: * Add: Ported Actor.js and Fighter.js code into charActor.brs
* Add: Ported Enemy.js to charGuard.brs
I guess ".brs" means BrightScript?
- No Splash: Ops, will fix that, thanks.
- L6-7: I will double check that
- Mac on Dungeons: It's there, the tiles are still DOS only, but all levels supports Mac, including the 4 and 9 rooms modes
- Super Jump: I saw that in the Assembly code, decided to implement it :) Any official port does have it implemented?
- .brs is the extension for BrightScript but not the one you linked, the correct is this one:
https://sdkdocs.roku.com/display/sdkdoc ... +Reference

This is the language supported by Roku SDK
User avatar
oitofelix
Wise Scribe
Wise Scribe
Posts: 227
Joined: February 17th, 2016, 1:59 pm
Location: Brazil
Contact:

Re: Prince of Persia port for Roku streaming box

Post by oitofelix »

R3 wrote:mebbe someone out there could do a PC mod with Mr. Cabral's patented multi-room feature.
one that would allow the entire computer screen to be filled.
as it is, when I maximize DOSBox, the resolution isn't all that great.

thought of this since we don't have Roku, yet, in our country. :)
The feature you've requested has been implemented in MININIM: viewtopic.php?f=127&t=3794&p=18785#p18785
R3 wrote: oitofelix has his own ideas on what makes a good game.[...]
i prefer more traditional developers. :)
Yes, I have my own ideas on what makes a good game. Whoever does not should not play games at all, let alone develop them.

Although I'm not a developer "traditional" enough (in your own words), the feature you've requested got implemented first by me. What a happy coincidence!

Welcome. :cool:
Bruno Félix Rezende Ribeiro (oitofelix)
MININIM author
lvcabral
Vizier
Vizier
Posts: 115
Joined: March 11th, 2016, 10:34 pm

Re: Prince of Persia port for Roku streaming box

Post by lvcabral »

Macintosh dungeon tiles implemented!

Image
lvcabral
Vizier
Vizier
Posts: 115
Joined: March 11th, 2016, 10:34 pm

Re: Prince of Persia port for Roku streaming box

Post by lvcabral »

lvcabral
Vizier
Vizier
Posts: 115
Joined: March 11th, 2016, 10:34 pm

Re: Prince of Persia port for Roku streaming box

Post by lvcabral »

Palace tiles implemented, mirror tile implemented (the special event, it block walk and run, and allow jump) still pending reflection and shadow.

Image

Tomorrow is the great release day of the code. I will do it regardless of the state of the game, I had a couple of really busy weeks :(
lvcabral
Vizier
Vizier
Posts: 115
Joined: March 11th, 2016, 10:34 pm

Re: Prince of Persia port for Roku streaming box

Post by lvcabral »

I need one more day to fix some bugs before the release.
lvcabral
Vizier
Vizier
Posts: 115
Joined: March 11th, 2016, 10:34 pm

Re: Prince of Persia port for Roku streaming box

Post by lvcabral »

I just published the source code at:
https://github.com/lvcabral/Prince-of-Persia-Roku

The private channel is updated with v0.9.3070, it has all the cut scenes and the game is fully playable (let me know if you found issues), the only major features missing are the "Shadow" appearances and the "Flip Potion" effect.

Here is the changelog:

Code: Select all

0.9 - Cut Scenes, Special Events, Mac sprites (tiles, enemies), Skeleton, Mouse and Jaffar
* Add: Game Opening Story
* Add: Game Cut scenes before levels: 2, 4, 6, 8, 9 and 12
* Add: Game Final Scene and Story
* Add: Scene for the end of the game by timeout
* Add: Music played on level exit (level 4 different and no song after level 12 and 13)
* Add: Events: Level 1 - Initial gate close is a button pressed on room 5
* Add: Events: Level 3 - Skeleton in room 1 will raise if the exit door is open
* Add: Events: Level 4 - The exit room song changes after the exit door is raised
* Add: Events: Level 4 - A mirror will be placed at room 4 and music played (once) when the exit room is opened
* Add: Events: Level 8 - If exit door is raised the mouse will show up at room 16 (kid needs to be at least 12.5s at the room)
* Add: Events: Level 12 - Tiles will appear automatically to create a bridge on room 2 to 13
* Add: Events: Level 12 - Entering room 23 go to level 13
* Add: Events: Level 13 - No health regeneration or remaining time shown on restarting the level
* Add: Events: Level 13 - Loose tiles above rooms 16 and 23 will fall when kid enters.
* Add: Events: Level 13 - Leaving room 3 from the right play a music and after that Jaffar goes engarde
* Add: Events: Level 13 - After Jaffar dies the button on room 24 is pressed to open exit door when kid enter room 3
* Add: Events: Level 13 - After Jaffar dies, screen flashes several times white, and show remaining time, the countdown stops
* Add: Events: Level 14 - The final scene shows entering room 5
* Add: On Final level 14 the screen is changed to Classic Mode (1 room) - Can't move back to previous level
* Add: Menu now can me moved both in vertical and horizontal control modes (thanks renojim)
* Add: Mirror tile on Palace sprite set - Not on JS
* Add: Support for Macintosh sprites (scenes, dungeon and palace tiles, TROBs, Enemies splash and life, skeleton and Jaffar)
* Add: Guard check for barrier and only advance if the path is free
* Add: Kid check for barrier and only go engarde if the path is free
* Fix: Sometimes Running-jump crosses closed gates
* Fix: Kid being stabbed to death does not show splash (thanks David!)
* Fix: Shift mode not working on Horizontal Control mode (thanks gmaster28)
* Fix: Pillar (id=25) is masked out when kid is climbing (L5R2) - Same bug in JS
* Fix: Debris tiles are being painted above the tile on the right
* Fix: Grab to the Left is hanging on the wrong tile - same bug on JS (L4R16, L5R10R7, L1R7) - Same bug in JS
* Fix: Falling after hang between Palace pillars the kid land on air (L5) - Same bug in JS
* Fix: Running into a tapestry shows kids face on the other side, same on gates (L10R1)
* Fix: Guard is not killed by slicer
* Fix: MOBs when falling off the screen on horizontal change is not working (L2)
* Fix: When two plates fall side by side only one debris is shown on floor (L1 & L2)
* Fix: When a plate fall over another plate it's not dropping those and the sprite get's stuck (L13)
* Fix: Kid on BlockX = 9 moving right do not change camera focus
* Fix: Kid can't walk through an open gate when it's on the right edge
* Fix: Kid was not sheathing the sword when opponent fall to other Y
* Fix: If kid is really close to the wall and do a turnengarde sometimes there is a crash in opp_left_side and opp_right_side
* Fix Guard hit when back to a wall, enter the wall (L2)
User avatar
Norbert
The Prince of Persia
The Prince of Persia
Posts: 5743
Joined: April 9th, 2009, 10:58 pm

Re: Prince of Persia port for Roku streaming box

Post by Norbert »

Nice moment, to publish code after putting a lot of work into it. :)
Maybe also add a changelog file on GitHub that combines the logs of all versions?
User avatar
Coco
Sultan
Sultan
Posts: 130
Joined: February 1st, 2013, 3:58 pm

Re: Prince of Persia port for Roku streaming box

Post by Coco »

If all programmers here joined their efforts into working together, for all these years, they could have recreated the game from scratch with new graphics and all :idea:
Says I, who does nothing, just crtisizing people who actually took some effort for making better expirience :mrgreen:

This four screen view looks cool. The 'feel' of the game will change completely.

Also, can anyone import graphics from Prince of Persia classic?
lvcabral
Vizier
Vizier
Posts: 115
Joined: March 11th, 2016, 10:34 pm

Re: Prince of Persia port for Roku streaming box

Post by lvcabral »

Norbert wrote:Nice moment, to publish code after putting a lot of work into it. :)
Maybe also add a changelog file on GitHub that combines the logs of all versions?
Indeed Norbert!

I just added the changelog and all pending features and bugs:

https://github.com/lvcabral/Prince-of-P ... angelog.md

https://github.com/lvcabral/Prince-of-P ... oku/issues
User avatar
oitofelix
Wise Scribe
Wise Scribe
Posts: 227
Joined: February 17th, 2016, 1:59 pm
Location: Brazil
Contact:

Re: Prince of Persia port for Roku streaming box

Post by oitofelix »

README.md wrote:Disclaimer: This source code shall not be used commercially or sold in any form, the objective of this project is educational.
Unfortunately this restriction makes the game proprietary software. Quoting from GNU's project and FSF's free software definition page:
GNU project wrote:“Free software” does not mean “noncommercial”. A free program must be available for commercial use, commercial development, and commercial distribution. Commercial development of free software is no longer unusual; such free commercial software is very important. You may have paid money to get copies of free software, or you may have obtained copies at no charge. But regardless of how you got your copies, you always have the freedom to copy and change the software, even to sell copies.
I know it's becoming cliché, but I can' help but note that MININIM has no such restriction. It's licensed under GLPv3+ and its documentation is under FDLv1.3+.

Ps: Furthermore the published source code has no accompanying license. How will people know their rights when they put theirs hands on the source code? Usually software without license fall automatically under the "All rights reserved" scenario of copyright law. That's unfortunate.
Bruno Félix Rezende Ribeiro (oitofelix)
MININIM author
lvcabral
Vizier
Vizier
Posts: 115
Joined: March 11th, 2016, 10:34 pm

Re: Prince of Persia port for Roku streaming box

Post by lvcabral »

oitofelix wrote:
README.md wrote:Disclaimer: This source code shall not be used commercially or sold in any form, the objective of this project is educational.
Unfortunately this restriction makes the game proprietary software. Quoting from GNU's project and FSF's free software definition page:
GNU project wrote:“Free software” does not mean “noncommercial”. A free program must be available for commercial use, commercial development, and commercial distribution. Commercial development of free software is no longer unusual; such free commercial software is very important. You may have paid money to get copies of free software, or you may have obtained copies at no charge. But regardless of how you got your copies, you always have the freedom to copy and change the software, even to sell copies.
I know it's becoming cliché, but I can' help but note that MININIM has no such restriction. It's licensed under GLPv3+ and its documentation is under FDLv1.3+.

Ps: Furthermore the published source code has no accompanying license. How will people know their rights when they put theirs hands on the source code? Usually software without license fall automatically under the "All rights reserved" scenario of copyright law. That's unfortunate.
Well that's just to protect me, I do not own the brand neither the assets, they belong to Ubisoft, so I can't make it free for commercial use.
Post Reply