Example
no ELC#533
Bonjour Heroes.
I tried and tried and tried. After a hundred prompts, I give up.
(new message, Tuesday evening)
I decided to give it a second chance. Because I'm a little afraid I ruined the challenge. I hope to see something good from someone else, to hide my terrible failure.
I place an image.png of the Earth that I name “Earth.”
Here is the prompt: Apply a circular motion to the object named Earth, around the center of the slide (screen size 128x720), starting from the object's initial position. Make one revolution in 10 seconds.
This time, I spoke to the BetaThing in English, in case any terms were misinterpreted, even though the interface is in French and it responds to me in French. And I added “Please” because, contrary to the cliché, the French are very polite.
Result: none. Once the trigger was created, depending on the original position of the Earth object on the screen (in the middle, or top left, or bottom right), I got a linear movement of a few pixels, or the object disappeared (off screen) and a piece of the trajectory (non-circular), or nothing at all.
I don't really see any difference when I talk to ChapGPT and have to explain how Storyline works.
I tried it with a linear movement, and it works very well. But then again, I already knew how to do that.
I'll let the BetaThing rest. I'm afraid I've offended it.
11 Replies
- JodiSansoneCommunity Member
I agree with you! This challenge was a workout. I had to ask 3 or 4 times to get my request to work the way I expected. This new feature didn't do what I wanted it to do...it did what I told it to do. :) I also tried being polite in my requests. I hope you figure it out!
- ThierryEMMANUELCommunity Member
Thanks JodiSansone . As Bono says: “I still haven't found what I'm looking for.” I like your expression, very apt. “This new feature didn't do what I wanted it to do...it did what I told it to do.” I wasn't expecting miracles, nor did I expect to stop thinking or working because I'm using AI. But I haven't figured out how to tell it more simply and precisely what it needs to do. In my particular case, of course.
- JodiSansoneCommunity Member
I downloaded your file to see if I could get it to work. I was able to get the planet to circulate, I think, but it was off the slide. I couldn't get it to begin from the top position of the trajectory ellipse. I even asked another GPT to create the code. I couldn't figure it out!
- ded2Community Member
I was bummed it doesn't seem to work with images/vectors, only shapes.
- ThierryEMMANUELCommunity Member
Unfortunately ded2 , I had also tried with a simple oval shape, replacing the image of the Earth (but after 100 test prompts, I wasn't sure anymore). I just double-checked. The oval element is correctly identified (it moves), but depending on its initial position, the same random problems described above appear. I think it's this particular trajectory (circular or flattened circular) that causes headaches for the BetaThing, not the type of element. At least, in my particular case.
- Lori_MorganCommunity Member
ThierryEMMANUEL Thank you for sharing your process and outcomes so openly. It’s a great reminder to explore new approaches and strategies—and to keep going, even when it feels challenging. I truly appreciate it!
- NedimCommunity Member
Hi ThierryEMMANUEL Let me just pick up from this thread.
The issue with your script is how the orbit center is calculated and how translate() is being used.
Orbit center is offset incorrectly:
const centerX = startX + ellipseWidth / 2;
const centerY = startY + ellipseHeight / 2;startX and startY are the absolute positions of Earth object on the slide. By adding ellipseWidth / 2, you’re shifting the center of the ellipse far to the right of the object’s current position. This is why Earth object immediately jumps off-screen as the orbit is being calculated relative to a wrong center.
Another problem is that translate() moves an object relative to its current position, so feeding it absolute slide coordinates makes the object jump far off-slide. To orbit correctly, the values passed to translate() must be offsets relative to the object’s starting position, not absolute positions.How it looks now (wrong – absolute coordinates):
earth.animate([{ translate: `${earth.x}px ${earth.y}px` }], ...);How it should look (correct – offsets relative to start):
earth.animate([{ translate: `0px 0px` }], ...); // starting at current positionThe orbit center is critical so the object always moves relative to a defined center. This center can be the slide center or another object (like a sun or focal point). Incorrect or undefined center causes the object to appear offset, off-slide, or move in unintended directions. Best practice: explicitly calculate the orbit center based on the target, and use it as the reference for all motion calculations.
Even if I fix the positioning issue, I encounter another problem related to keyframe timeline interpolation. Your script defines only five keyframes: start, 90°, 180°, 270°, and 360°. Linear interpolation between these points along an ellipse does not create a smooth curve; instead, it produces noticeable “zig-zag” segments.
Let’s skip this part for now and try generating a script by prompting the AI Assistant. As we discussed in our previous conversation, let’s start with our first prompt. Use only an Earth image and an avatar on the slide, as shown in the attached example story file.
Prompt 1 (orbit around avatar):
Animate the Earth so that it orbits around the Avatar in a smooth circular motion. Use the Storyline JavaScript API to ensure accurate and consistent positioning. Define adjustable variables for speed, orbit radius, and angle to control the animation dynamically.
Prompt 1 (orbit around slide center):
Animate the Earth so that it orbits around the center of the slide in a smooth circular motion. Use the Storyline JavaScript API to ensure accurate and consistent positioning. Define adjustable variables for speed, orbit radius, and angle to control the animation dynamically.I was satisfied with the code generated in the first iteration. In the attached story, there are a few code snippets I created outside of Storyline and two that were later generated using the AI Assistant.
Please review all the code, experiment with it, and check the positioning. Let me know your thoughts.
- ThierryEMMANUELCommunity Member
Thanks for all these explanations, Nedim. Once again, I’m learning a lot. You’re obviously right—my code had issues. But the PROBLEM is that it’s not MY code; it’s the AI assistant’s. And if I’d been able to provide all those details to it, it could have corrected the code, and I could have written it. So, back to square one: what’s the point?
The part I can improve is how to write better prompts. But in this specific example, I REALLY spent 4 hours writing commands, describing the failures in detail, reporting the console output, simplifying my requests to start simple and then improve. And I never got results like the ones you seem to have gotten so quickly. So, I think, even though you might not realize it, you’ve helped the assistant MUCH more than the assistant has helped you, thanks to your knowledge. Which is something I’m not yet capable of doing... Back to square one. Thanks again.
I’m keeping the modified file because I often use code that works (yours, for example 👍) to tell the assistant: study this working code and modify it JUST to do this extra thing. At least it starts with good ideas (not mine 😀).
- NedimCommunity Member
No problem, anytime ThierryEMMANUEL. I totally agree with you about the AI assistant’s functionality. Prompting is important, but so is our time, especially if it takes too many iterations to execute exactly what we need. It would be much more useful if the assistant actually understood the Storyline environment and had a more context-aware API. Don't hesitate to reach out whenever you get stuck.
