How do I make animation of Water sort puzzle pouring?

Not favoritedFavorited Favorited 0 favourites
From the Asset Store
Water Sound consists of 85 seamless loops of water sounds and 5 Thunder sounds.
  • As we can see the tilted tube. I want to make something like that while pouring water to another tube. changing that square color box to look like in image. I know that can be achieved using mesh but I have no idea how.

    Can anybody help me here. I want to make it dynamic means water level should based on water boxes in tube.

  • It’s probably not a true fluid simulation. Ignoring the ripples you can probably get most of the way there by using blend modes to mask the colored rectangles inside the test tubes. If you calculate the areas that the fluid makes in the tube you probably can adjust the height of the rectangles to make it more convincing, but you may be able to get by without that.

    The pouring mostly just would involve checking if the top of a rectangle was higher than the lip of the tube, then placing a vertical column for the pouting into the tube below. Then just gradually lowering and raising the two rectangle heights. You could adjust the column width based on the rate or whatnot.

    The ripples could be added later. They probably are just looping animations, but I guess you could use mesh distort to move the top edge of the sprite in a since wave. Seems fiddly though.

    Considering the behavior of the pouring is very consistent in those games I’d imagine they mostly just reuse a bunch or premade animations instead of something technical.

    Four animations for pouring out of a test tube at the four levels, and four for pouring in for the four levels. Probably less if they are clever.

  • yes looks like premade animations are best way here. I have a doubt here about the situation when I have to pour multi sections of same color water at once. How would I achieve that dynamics system. there can be 2 and 3 same colors at any position and I have to pour them all at once.

    I was thinking to use timeline for the animation but now How would I achieve that with timeline.

  • Mow I'm thinking that if I use masking method that would be rather easy than making animation with timelines. but then issue will be masking sprites will cover large area and will affect nearby other tubes too.

    like this image

    May be I need to mix masking + mesh to avoid large area or masking

  • To do the masking one way would be to have a few sprites stacked bottom to top with different blend modes:

    1. TubeInterior - destination-out

    2. Fluid1- destination atop

    3. Fluid2- destination atop

    4. Back (solid color rect that covers tube) - destination atop

    5. TubeOutline - normal

    Effectively you’re erasing a hole and drawing in that. Lets you mask a lot of things at once.

  • its the same case and masks will override with other tube's mask As mask is taking much space in the above screenshot

  • Use layers with force own texture to isolate masks.

    My personal approach would be to have solid colored layers and dynamically draw precise masks per color/layer for all the tubes at once on a drawing canvas.

  • I made a make a prototype with Claude Code:

    https://github.com/XHXIAIEIN/WaterSortPuzzle

  • XHXIAIEIN Hey Brother!

    How did you manage to make claude listen to your need. I was trying too but it was just making me crazy. Always giving weird results.

    Thanks BTW.

  • How did you manage to make Claude listen to what you actually wanted? I tried too, but it was driving me crazy and kept producing weird results.

    Thanks BTW.

    I built a RAG project that instructs the AI to consult Construct's interface type documentation, the Construct Manual, and similar patterns from example projects before writing event sheets.

    You can start by cloning these repositories:

    github.com/XHXIAIEIN/Construct3-RAG

    github.com/XHXIAIEIN/Construct3-Manual

    github.com/Scirra/Construct-Example-Projects

    -----------

    My workflow is roughly like this:

    I create a new project in Construct and save it as a folder project, then open that project folder in VS Code.

    The first thing I do is initialize a Git repository. Very important.

    Then I manually create AGENTS.md and CLAUDE.md in the project root. These files contain instructions that guide the agent to follow the workflow and proactively consult the reference material. I also use symbolic links to point the project to the local copies of those repositories.

    You can see my example here: AGENTS.md

    After that, you can start Claude Code or Codex with the session opened inside the project folder.

    The agent modifies the Event Sheet JSON directly in the project's source files, without going through the Construct editor. Once the changes are complete, just reopen or reload the project in Construct and test it normally.

    -----------

    Based on my experience so far, using this RAG setup to guide the agent has been extremely reliable.

    I don't use any elaborate prompts. I usually just describe what I want to build. Even with that, the generated event sheets have been close to 100% correct in my tests.

    Claude can now generate complete Construct event sheets while making proper use of Construct's native features, including hierarchies, families, containers, arrays, dictionaries, JSON, custom actions, and functions.

    It also handles more subtle patterns correctly. For example, it knows when to add For Each inside On Timer events, and it can correctly use AJAX to load files data.

    -----------

    One interesting thing I noticed is that a big reason for the high reliability is that the agent created its own build-project.py tool.

    Instead of directly improvising Construct JSON every time, it generates the project through Python and converts that structure into Construct event sheets and project data, including sprites, animations, and other resources.

    That seems to make the whole process much more deterministic.

    -----------

    One small tip when working with coding agents:

    Whenever you finish a specific task, have the agent commit the changes to Git. Then start a fresh session for the next task. Try not to mix several unrelated tasks into one long session.

    In my experience, keeping each session focused on a single task helps reduce hallucinations and makes the output much more consistent.

  • Wow! that's blowing my mind. I'm gonna try this. However I'm not good in prompting nor good in asking questions. I use claude.ai free plan but I have GeminiPro. I'll try with it. I'm so exited for this.

    I still have question like you said you manually create AGENTS.md and CLAUDE.md in the project root. do you use pre-made AGENTS.md and CLAUDE.md and just place them in project's root folder or always create them with custom instructions?

    Thanks for sharing this info.

  • I still have question like you said you manually create AGENTS.md and CLAUDE.md in the project root. do you use pre-made AGENTS.md and CLAUDE.md and just place them in project's root folder or always create them with custom instructions?

    Yes. For a new project, I usually start with a pre-written AGENTS.md template.

    The main purpose of this template is simply to remind the agent to read Construct’s interface/type documentation and related references before making changes, instead of relying on its memory and guessing how Construct works.

    As development continues, I let the agent gradually improve AGENTS.md itself.

    For example, it can record mistakes it has made, my personal preferences, coding conventions, project-specific rules, or anything else that should be remembered for future tasks.

    If the agent does something incorrectly even though I already explained it before, I usually ask it to add that lesson to AGENTS.md so it won’t repeat the same mistake next time.

    Over time, AGENTS.md usually evolves into a kind of project-specific "working memory" and development guide for the agent.

    If it grows beyond around 200 lines, I usually ask the agent to review the official AI/agent best-practice documentation, such as Claude Code’s best practices:

    code.claude.com/docs/en/best-practices

    Then I let the agent reorganize and optimize the instructions itself. Typically, it will keep the important and always-relevant rules in AGENTS.md, while moving more specialized rules into separate files under a rules folder inside .claude/ or (.codex/).

    Those rules can then be loaded or read only when they are relevant to the current task, following a progressive disclosure approach.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • Thanks for the so much info, I'm gonna try this.

  • Thanks for the so much info, I'm gonna try this.

    The model itself also matters a lot.

    So far, I’ve only tested this workflow seriously with Claude Code using Fable 5.1 and Opus 5.

    A strong model can often infer your intent from limited context and fill in the missing pieces on its own. In many cases, even if your prompt is not very detailed, it can still reason from the surrounding project structure and documentation and produce the right result.

    With weaker or free models, the same workflow can be much less reliable. Even when you explicitly tell the model what to do, it may still make incorrect edits, sometimes to the point where the Construct project becomes corrupted and can no longer be opened.

    I tested the same workflow with V4.1 Flash DeepSeek Harness. After it broke the project, I gave it the error logs and spent around ten rounds going back and forth trying to fix everything. Eventually, the project opened again, but by that point the result was still completely off from what I wanted. I ended up having to start over from scratch anyway. That was probably the most frustrating part: after all that debugging, I had burned a lot of time, effort, and money, and still ended up back at square one.

    If your budget allows, I’d strongly recommend trying Claude Code with the $20 plan.

  • I'll try it with Gemini first then'll see where it goes. If I just try to remake some popular games then should I that assume AI knows about this game and I don't have to give a details document as a prompt?

    I usually first use chatGPT for prompt and it gives very detailed prompt and very lengthy too. OR I just can say "I'm just trying to remake this popular game can you make it?"

Jump to:
Active Users
There are 0 visitors browsing this topic (0 users and 0 guests)