Power Player is a runtime that turns PowerPoint slides into an interactive game and media engine by editing objects visually and scripting in JavaScript via slide comments.

Stars

5

7-day growth

No data

Forks

0

Open issues

0

License

No data

Last updated

2026-07-29

AI repository intelligence
FR-AI / ANALYSIS

Why it is worth attention

It uniquely repurposes PowerPoint's visual editing capabilities into a full game development environment, blending familiar slide design with JavaScript scripting for rapid prototyping.

Who it is for

  • Game developers who use PowerPoint for prototyping
  • Educators creating interactive lessons
  • Multimedia designers wanting interactive presentations
  • Hobbyists exploring unconventional game engines

Use cases

  • Rapidly prototyping 2D games with drag-and-drop visuals
  • Building interactive storybooks or educational modules
  • Creating interactive presentations with game-like interactions
  • Teaching programming concepts using a familiar design tool

Strengths

  • Visual editing directly in PowerPoint with layer hierarchy
  • JavaScript scripting with a concise API for objects, collision, and audio
  • Built-in game loop (onUpdate) and input handling
  • Ability to spawn, query, and remove objects dynamically

Considerations

  • Windows-only standalone runtime
  • Requires semicolons at end of each statement
  • Must disable auto-correct in PowerPoint to avoid quote conversion issues
  • Limited object types (Sprite, Text, Group) and no asset import pipeline details

README quick start

Power Player

Power Player is a runtime player that executes code and assets authored in PowerPoint, enabling the development of games, interactive media.

  • Standalone : Windows

Instructions

1. Visual Editing

Edit objects directly on the slides. Define object names and layer hierarchy using the Selection Pane (Home > Select > Selection Pane).

2. Scripting

Write JavaScript directly in the slide's Comment section to control objects, set up game loops, and handle player input.

  • Invoke the function with 'this' as the Game Instance.
  • Using this.var["varName"] to defined a global(Game) variable.
  • Using let / var to defined a temporary variable.
  • Auto convert to ', to '.
  • Using spawnObject to duplicate an object results in a new instance named with the format [originalName]-[uuid].
  • Disable auto correct option : File -> Options -> Proofing -> AutoCorrect Options
  • A semicolon ; is required at the end of each statement.

Class & Functions

3. Objects

Example

  • Make a button and switch to other slides.

    {
        let b = this.getObject("buttonObject");
        b.interactive=true;
        b.on("pointerdown",()=>{
            this.switchSlide(2);
        })
    }
    
  • Control player.

    this.onUpdate=(delta)=>{
    

Description

A PowerPoint runtime player executes code and assets contained within a pptx file.

Related repositories

Similar projects matched by category, topics, and programming language.

react
Featured
react GitHub avatar

react

React is a JavaScript library for building user interfaces with declarative, component-based, and cross-platform design.

Web DevelopmentFrontend Frameworks
246,741
TanStack
Featured
TanStack GitHub avatar

router

TanStack Router is a type-safe, data-driven React router with built-in caching, prefetching, and nested layouts, while TanStack Start extends it into a full-stack SSR framework.

Web DevelopmentFrontend Frameworks
14,861
CatsJuice
Featured
CatsJuice GitHub avatar

sticker-forge

Sticker Forge is a WebGL tool that turns text or uploaded images into interactive stickers with a simulated peel-and-reveal effect, offering a Web Component and imperative API.

JavaScript
627