All Projects → oklemenz → PrinceJS

oklemenz / PrinceJS

Licence: other
Prince of Persia reimplementation written in HTML5 / Javascript (MS-DOS Version)

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to PrinceJS

template
使用 phaser3 + es6 + webpack4.8.1 配置开发游戏(基本模版)
Stars: ✭ 12 (-98.44%)
Mutual labels:  phaser
save-file-converter
Converter for retro console save files found around the Internet. All common formats for NES/SNES/GBA/N64/TG16/SMS/Genesis/Neo Geo/PS1 supported. Decrypts PSP saves. Converts to and from Retron 5 and MiSTer
Stars: ✭ 56 (-92.7%)
Mutual labels:  retrogaming
FF1Randomizer
A randomizer for Final Fantasy 1 on the NES.
Stars: ✭ 72 (-90.61%)
Mutual labels:  retrogaming
phaser-webpack-loader
Asset loader for Phaser + Webpack.
Stars: ✭ 85 (-88.92%)
Mutual labels:  phaser
vim snake
Classical multiplayer snake game with Vim-style keybinding
Stars: ✭ 16 (-97.91%)
Mutual labels:  phaser
HTML5-Games
手撸主流h5游戏引擎项目源码,配套相关博客。
Stars: ✭ 16 (-97.91%)
Mutual labels:  phaser
opendw
A game engine for Interplay's 1989/1990 DragonWars game
Stars: ✭ 13 (-98.31%)
Mutual labels:  retrogaming
neosdconv
A command line tool to convert Neo Geo roms into the format needed for NeoSD
Stars: ✭ 17 (-97.78%)
Mutual labels:  retrogaming
ChowPhaser
Phaser effect based loosely on the Schulte Compact Phasing 'A'
Stars: ✭ 51 (-93.35%)
Mutual labels:  phaser
hoard-of-bitfonts
turns out I like bitmap fonts
Stars: ✭ 811 (+5.74%)
Mutual labels:  retrogaming
sfxr-qt
Qt port of SFXR, a sound effect generator, to generate retro-gaming like sound effects.
Stars: ✭ 54 (-92.96%)
Mutual labels:  retrogaming
OpenAmiga600FastRamExpansion
4 MB Fast RAM Expansion for the Commodore Amiga 600
Stars: ✭ 27 (-96.48%)
Mutual labels:  retrogaming
es-theme-Super-Retroboy
Super Retroboy Theme for the RetroFlag GPi Case and Small Screens 4:3 Aspect
Stars: ✭ 45 (-94.13%)
Mutual labels:  retrogaming
phaser-boilerplate
Phaser Boilerplate
Stars: ✭ 15 (-98.04%)
Mutual labels:  phaser
anise-cheezball-rising
an exciting new adventure for the Game Boy Color
Stars: ✭ 72 (-90.61%)
Mutual labels:  retrogaming
OpenAmigaMouseTrigger
Control Amiga add-on boards through mouse buttons
Stars: ✭ 21 (-97.26%)
Mutual labels:  retrogaming
phaser-3-palette-swapping-example
Example of using palette swapping on a spritesheet in Phaser 3.
Stars: ✭ 32 (-95.83%)
Mutual labels:  phaser
chip8emu
A Terminal Based Chip-8 Emulator
Stars: ✭ 28 (-96.35%)
Mutual labels:  retrogaming
phaser3-webpack-es6-dev-starter
Development set up for Phaser 3, Webpack, and ES6.
Stars: ✭ 44 (-94.26%)
Mutual labels:  phaser
phaser-typescript-webpack
Another Phaser CE boilerplate using TypeScript and Webpack.
Stars: ✭ 17 (-97.78%)
Mutual labels:  phaser

Prince of Persia (JS) - princejs.com

Prince of Persia reimplementation written in HTML5 / JavaScript (MS-DOS version)

Play Online

  • Browser: https://princejs.com
  • Keyboard
    • Cursor keys: Movement
      • Left/Right key: Move Left/Right, Advance/Retreat
      • Up key: Jump, Climb Up, Block Attack
      • Down key: Crouch, Crawl, Climb Down, Sheathe Sword
    • SHIFT: Drink Potion, Grab Edge, Sword Strike
    • SPACE: Show Remaining Time
    • ENTER: Continue Game
  • Mouse Controls
    • See Touch Controls for Mobile

Play Mobile

  • Browser: https://princejs.com

    • Use Landscape Mode
    • Single Tab
    • Disable Landscape Tab Bar in Browser Settings
  • Add to Home Screen to start as Fullscreen App

  • Reduced difficulty (50%):

  • Touch Controls (tap/drag area on screen, fight mode in brackets):

    Mobile

    • Dragging can be used to trigger continuous move sequences, e.g.
      • Run Jump: Tap Left or Right -> Hold -> Drag in Left or Right corner
      • Jump Grab: (Run) Jump -> Hold -> Drag to Center (Shift)
    • Fight
      • Left/Right: Advance/Retreat
      • Shift: Sword Strike
      • Up: Block Attack
      • Down: Sheathe Sword

Play on Apple Watch

  • Mail/Message
    • Send mail or message to yourself with body: https://princejs.com
    • On Apple Watch open Mail or Message app
    • Click included link to open Browser
  • Siri
    • Tell Siri 'princejs.com' on Apple Watch
    • Watch out for correct localized pronunciation
  • Play using Touch Controls as on Mobile

Play GitHub Version

Play Locally

  • Install Node.js
  • Clone: https://github.com/oklemenz/PrinceJS.git
  • Terminal:
    • npm install
    • npm start
  • Browser: localhost:8080

Options

Url parameters are leveraged to save game state automatically (shortcut in brackets)

  • level (l): Current Level (1-14, default: 1)
  • health (h): Max Health (3-10, default: 3)
  • time (t): Remaining Minutes (1-60, default: 60)
  • strength (s): Guard Strength in "%" (0-100, default: 100)
  • width (w): Game Width in "px" (default: 0 (fit to screen))
  • shortcut (_): Write url in shortcut version (default: false)

Default url looks as follows:

https://princejs.com?level=1&health=3&time=60&strength=100&width=0

Default shortcut url looks as follows:

https://princejs.com?l=1&h=3&t=60&s=100&w=0&_=true

Manual adjustments of url parameters is possible as preset options.

Custom Levels

Apoplexy (https://www.apoplexy.org) can be used to build custom levels. Custom levels can be played performing the following steps.

Single Conversion

  • Save level as XML file in Apoplexy, e.g. ./xml/level1.xml
  • Call convert script, e.g. npm run convert .../xml/level1.xml
    • A JSON file is placed at /assets/maps/, e.g. /assets/maps/level101.json
  • Custom level ids starts beyond 100, e.g. level1.xml gets id 101, etc.
    • An optional second parameter can be used to control level offset
    • e.g. npm run convert .../xml/level1.xml 200 generates /assets/maps/level201.json
  • Start game locally with npm start and open game in browser
  • Change Url and set parameter level to the respective id, e.g. level=101
  • Note: No special events are supported

Batch Conversion

  • Place level files into folder /converter/<xxx>, where <xxx> stands for the offset (default: 100)
    • e.g. /converter/100: place all levels starting with 100 offset
  • Execute npm run convert
  • Corresponding JSON files are placed at /assets/maps/

Level IDs

Converted levels from https://www.popot.org/custom_levels.php:

Credits

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].