Blog Post

Articles
3 MIN READ

How I Built This: Grim Depths — A JRPG Prototype in Storyline 360

EmilianoPireddu's avatar
EmilianoPireddu
Community Member
27 days ago

In my work as an e-learning developer, I’ve always tried to go beyond quiz-style gamification. Working on high-quality serious games has shown me that, with Articulate Storyline, you can build real video games. With Grim Depths, I set out to bring the soul of Japanese-style Role Play Games (JRPGs) into learning—turn-based choices, strategy, storytelling, and fantasy atmosphere.

To share the process, I’ve broken the build into three chapters. Each section gives you a quick overview, along with a short video where I go deeper into the details, showing how the mechanics, design, and visuals all come together in Storyline 360.

Gameplay & Mechanics

This chapter starts with the basics. I walk through the vintage roots of Grim Depths and explore how that spirit aligns with a modern learning goal. Then I explain the turn-based core loop, the small dice roll that adds controlled variety, the visual direction, and my key inspirations, the interface choices, and the simple tactical idea that drives every decision.

Key Takeaways:

  • Connect vintage JRPG design DNA to modern learning goals and visual style.

  • See how turn order, party vs. boss stats, and a small dice roll create controlled variety.

  • Learn how interface and feedback design make Health Points (HP), Magic Points (MP), and damage quickly readable.

  • Explore decision-making design: when to attack, guard, or use items based on feedback cues.

Build & Logic

This chapter looks under the hood. I walk through how cue points and variables drive each action and how the game turns calculations into clear on-screen results.

Key Takeaways:

  • Follow the trigger sequence that calculates attacks and HP updates.

  • Learn how guard and boss attacks are resolved with clear, readable outcomes.

  • See how items recharge HP and MP through cue points and variables.

  • Explore how JavaScript adds polish (custom cursor, audio fades, character pop-ups).

Visuals & Animation

This chapter focuses on visuals and motion. I demonstrate how my illustrations are transformed into in-game assets, how I clean and prepare sprites in Photoshop, and how I create the idle loop and impactful attacks, including area attacks, with readable camera movements and sound effects.

Key Takeaways:

  • Refine original illustrations with AI-assisted tools to keep the art style consistent across all assets, without needing third-party images.

  • Apply Photoshop cleanup for precise cutouts, transparent backgrounds, and unified contrast and texture, then export ready-to-use PNGs

  • Assemble sprites into idle loops and custom attack animations using layer-based techniques

  • Stage area attacks with readable camera moves, impactful interpolations, and layered sound effects for extra punch

Try It Out

  • To play Grim Depths on a desktop PC (recommended), download the zip file

    • Download the file and extract it to an empty folder. Double-click Grim Depths.bat to launch. If your firewall prompts you, allow Mongoose to start—it’s a local web server that serves the game at http://localhost.

  • If you prefer the Review version (load times are long), use this link.

💬 Ask Me Anything!

I’d love to hear your feedback and answer any questions about the build. Drop your thoughts in the comments below—I’ll be checking in and responding!

Want to Share Your Build?

Do you have a project you’d love to share with the community? We’re always looking for more “How I Built This” stories. Whether it’s a game, interaction, or unique design, we’d love to feature your process. Drop a note in the comments or reach out to the community team if you’re interested! 

Updated 27 days ago
Version 1.0

10 Comments

  • Wow! Very impressive Emiliano. Your work displays the capabilities of Storyline and you documented it very extensively. Thank you for sharing this gem!

  • I did a small turn-based activity using Pokemon gifs for fun awhile back. It's a lot of work, so you did an amazing job on this!

  • This is an impressive example of pushing Storyline 360 beyond traditional e-learning limits. I really like how you integrated RPG mechanics with learning objectives. Could you share more about how you managed performance optimization, especially with multiple animations and JavaScript triggers running together?

    • EmilianoPireddu's avatar
      EmilianoPireddu
      Community Member

      Thanks for the kind words, johnleofficial​!

      On optimization: I didn’t run a “scientific” pass (time was tight), but I made a few pragmatic choices that helped avoid bottlenecks. In short:

      • Heavy animations prerendered to MP4 and compressed with HandBrake; idle loops as lightweight GIFs to keep CPU low;
      • Few active layers at a time and a clean timeline: show/hide instead of stacking objects;
      • Cue points as a metronome: calculations and JS triggers fire on precise cues, so I avoid continuous setInterval/polling;
      • Minimal JS: no external libraries, very few JS-driven animations;
      • Optimized audio: MP3 at moderate bitrate and short SFX;
      • No heavy Storyline filters (blur/drop shadows) at runtime: I baked those into images and videos.

       

      With these in place, the local build runs smoothly and I haven’t seen noticeable slowdowns, even with multiple animations and a few JS triggers in parallel. Viewing in Review 360 does add a bit of loading time, but that’s a trade-off I can live with!

  • This is incredible work, emiliano. I love how you’ve merged jrpg mechanics with instructional design. The way you used cue points and variables for turn-based logic is brilliant. Did you face any limitations with storyline’s animation timing when syncing the attack or idle loops? Would love to learn more about that part!

    • EmilianoPireddu's avatar
      EmilianoPireddu
      Community Member

      Hi jake_nolan_3933​, thanks so much for the kind words, I really appreciate it!

      On the limitations you mentioned: that was the first real hurdle. At the start I set everything up with idle GIFs and actions shown/hidden via triggers so it all lived in one flow. But the handoff from the idle loop to the attack sequence was never truly clean - there was always a small, noticeable hiccup. In practice I couldn’t reliably align the last frame of the loop with the first frame of the action; between GIF decoding, visibility toggles, and timeline timing, a micro-break would appear and break continuity.

      The fix: inspired by Darkest Dungeon, I added a quick camera push on the action so the cut is “masked” by the transition and the eye reads it as a natural move. Technically, I kept the idle as lightweight GIFs and prerendered the attacks as MP4s; I hook them up with precise cue points, then pull back to the wide shot and resume the idle. This gave me smooth motion and consistent timing.

      The trade-off is complexity: moving to video meant multiplying clips and slides, especially to handle variants when Guard is active. With GIF-only I could have kept the structure lighter and added more combinations (status effects, extra physical/magic attacks, specials), but I couldn’t consistently eliminate that tiny break between loop and action. So I prefer the reliability of prerenders with a camera push and cue points, which gave me a smoother, more readable result across the board.

      • jake_nolan_3933's avatar
        jake_nolan_3933
        Community Member

        That’s a clever workaround. Using the camera push to mask the transition is such a smart move. I can totally see how that small hiccup would break the flow otherwise. The prerendered MP4s sound like a clean trade-off for smoother timing, even if it adds complexity. Really appreciate you breaking that down. Super insightful!

  • johnleofficial's avatar
    johnleofficial
    Community Member

    Amazing work! This shows how far Storyline 360 can go beyond standard e-learning. A quick suggestion—adding reusable templates for battle logic or animation triggers could help others replicate your JRPG framework more efficiently.

    • EmilianoPireddu's avatar
      EmilianoPireddu
      Community Member

      Thanks! I’m not planning to release templates at this time: the build is still a work in progress and repackaging the assets would take too long. I’m working on other larger game-based learning projects and I plan to publish shareable versions. Stay tuned!