Montage Studio

A platform for building interactive experiences

Introduction

Imagine if you could easily create interactive experiences using scenarios as a building block:

Pick a command 🡆 Pick a target 🡆 See what happens!

This simple concept can be leveraged in presentations, educational apps, even adventure games. Montage Studio will be the platform for building all these with incredible ease. In a matter of minutes you'll be able to create a scene, add visuals, and define interactions.

Development

This is where I'll document the development journey, from wireframes all the way to launch.

December 17, 2022: The Hole in the Ground

In the early stages of a building's construction, it doesn't look like much more than a hole in the ground. It stays that way for a while, making folks wonder if work halted altogether.

Montage Studio is in this stage and will be for a while. It's tempting to take shortcuts right to the eye candy, but patience is key. I'm building the infrastructure, experimenting with caching and state management, piecing together the "engine" bit by bit.

Below is a gif of what the client currently does:

Like I said — a hole in the ground! But a lot's going on under the hood. A "player" component is initializing a manifest with two test scenes, each of which have a number of visuals. When I click a command + a target it creates a "scenario" which is then processed by the engine. One scenario moves a visual to a new location while another changes the scene.

Thanks to Redux toolkit I'm able to manage slices of state and easily consume them in various components. I'm close to an optimal approach to processing scenarios without relying on spaghetti code. Once I'm fully confident in the approach I'll start adding "action processors" one-by-one, and that's where the fun begins!

December 10, 2022: Humble beginnings

It's easy to get "paralysis by analysis" in the early stages of a project. Wireframes are always a good place to start, a way to convert abstract thoughts into something a bit more concrete.

The main challenge/question so far won't surprise any developer: how do I make Montage extremely easy-to-use but also powerful and flexible? If someone wants to make a quick educational app, they shouldn't be overwhelmed with options and/or jargon. They should click a few buttons, upload a few images, and voilà. At the same time, authors should be able to create complex experiences like point-and-click adventure games.

October 14, 2022: Unofficial kickoff

My initial technical goals were clear: build on lessons learned from my previous Tenterhook platform and choose a stack that's built to last. I spent a long weekend in Ocean Shores, WA to set aside distractions and dive into a Udemy course on the MERN stack. The course was phenomenal and convinced me to commit to MERN, and as a bonus I secured the project name/domain.

Bonus: I brought my beloved Murphy and we enjoyed playtime on the beach!