GithubHelp home page GithubHelp logo

lvcabral / prince-of-persia-roku Goto Github PK

View Code? Open in Web Editor NEW
94.0 10.0 15.0 12.14 MB

A port of the classic game Prince of Persia (1989) to Roku (BrightScript)

Brightscript 100.00%
roku prince-of-persia game platform-game

prince-of-persia-roku's Introduction

Prince of Persia for Roku

A port of the classic game Prince of Persia (1989) to Roku streaming devices and TVs

Prince of Persia for Roku

About the Project

I started this project, in Februrary of 2016, as a programming excercise while I was learning more about Roku Brightscript 2D gamming API.

This port was made using the (unfinished) HTML5 version developed by @ultrabolido as a starting point, and the original Apple II Assembly code by Jordan Mechner as a reference for the functionalities. I also got a lot of help from the Prince of Persia Modding Community, where I could get tools, assets and all my questions answered on the Forum, thanks guys!

With the high resolution of the current Full HD TV's I had the idea to implement a new feature for the game, never before seen on Prince of Persia ports, the multi-room mode, this way instead of only being able to see the current room you are playing at, now you can see 4 (2x2 mode) or even 9 (3x3 mode) rooms at the same time. This feature I created gives (literally) a new perspective to the game.

There are two selectable options of sprites, the classic MS-DOS (1990) and Macintosh (1992) versions, all levels and cut scenes are already implemented. In addition to that, it also supports Mods with custom levels, graphics and sounds. Some examples, converted from the Community DOS Mods, are available in the source code.

How to Play

Recommended devices

Roku Ultra, Roku Premiere(+), Roku 4, Roku 3, Roku 2 HD (3000X), Roku 2 XD (3050X), Roku 2 XS (3100X), new Roku Streaming Sticks (3800X, 3810X), new Roku Express (3900X, 3910X) and the 4K Roku TV's (6000X, 7000X, 8000X).

Development Evolution Videos

Below links to some preview videos I published on YouTube during the development:

Other Projects

You should also take a look at my other retro-game remake projects Lode Runner for Roku and Donkey Kong for Roku, Moon Patrol for Roku.

Legal Notes

Disclaimer: This source code shall not be used commercially or sold in any form, the objective of this project is educational. Any usage/publication of this code shall be explicitly authorized by the author.

Copyright (C) 2016-2019 Marcelo Lv Cabral
http://lvcabral.com

Twitter: @lvcabral

prince-of-persia-roku's People

Contributors

lvcabral avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

prince-of-persia-roku's Issues

Level 12 - Shadow appears to fight at room 15

On level 12 when kid enter room 15 from 18 the sword disappears and the shadow appears to fight, If kid put sword down and run to the shadow they are reunited. As soon as the "success" song starts to play the kid is on "leap of faith" mod and can walk over the spaces to the left until get to the next room.

Synchronization is not consistent among multiple Slicers

Sometimes two (or more) slicers side by side are not in sync, but that is not consistent, if you leave and enter the room several times those will be in different timing.

The original game has that consistent, example: Level 8 Room 4

help with code

I see that you have enough knowledge want to see if you could help me with a problem I have in my Brightscript is I'm doing a style like netflix but the problem is that when entering the secion movie takes too long to get that slow loading and can not Select a movie to finish loading could help me with that problem.
@lvcabral

Level 3 - Skeleton after fall do not show in the right place

On level 3 when Skeleton falls from room 1 to room 3, the original game shows it back up at tile 15 (X=5,Y=1), even when it falls from the left side for room 1.

The fix for this will require a creative solution for multi-room modes, once the room below is visible.

Several issues on Level 3 special events

  • Check point on room 2 should be at tile 6 not 9
  • Skeleton is arising too early, must wait kid touch the ground
  • Skeleton after fall is not going to the right position and waiting the kid
  • Skeleton is not dying when falling from room 3.

kid jumping up in endless loop

somehow the kid kept jumping, as if I was holding the 'up' button. Even after he died and the game restarted, he kept jumping in an endless loop. eventually he stopped when he went up to the upper level...

Use Roku remote in a more native game controller way

Pretty cool, like the work you've done here!

After installing, it seems like in order to play the game, you need to hold the Roku remote in the upright position and use the OK button for actions. It would be more playable to hold the controller sideways and use the A or B buttons, like a real game controller.

Level 9 - Reversal Potion (big green)

At level 9 if the kid drinks the big green potions (const.POTION_INVERT = 4) the screen will be flipped upside down, if another of those potions are drank the screens go back to normal.

Add High Score screens

In the original game, after the final scene the player can save your time and name on a highs core screen.

We need two screens developed, one to enter the name and other to be shown at the Settings Menu with the higher scores and names.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.