UNDO in Behaviour Editor: A suggestion



  • DO UNDO!

    How to implement UNDO, an ideal:

    A) Have/Build/Design/Evolve an intermediary script language representative of everything possible within the Behaviour and Scene Editor. Parse everything done in both editors into this language the moment it’s done. Live. It’s a very light weight, 1:1 representation of screen activities, plus user created strings/naming and should be incredibly performant for that reason and because it’s incremental changes you’re doing. Use multi-dimensional arrays to store and reference each piece of the verbal puzzle in a mapping that’s meaningful to yourselves and the editors' representations of what’s being done by users and your internal/underlying frameworks' capabilities and methodologies.

    B) Record the information about the nodes on screen, in x/y, size, etc… just xml or something similar that describes the visual aspects of the node relative to its universe. Every node has this information in some form or another. Probably a plist. I don’t know. I haven’t looked at what your app does. But you’re obviously already doing this in some form or another.

    C) Use one of the many database facilities provided by Apple (and third parties) to manage changes in these things as you respond to user input

    —————

    Perhaps the problem is part A. I don’t think you have this. And I think this is probably an even bigger oversight than not having Undo in the Behaviour Editor

    It should have been common sense to make this intermediary “language” so amongst many other things you could:

    1. Output everything for transport/conveyance/convenience as a script language
    2. Make porting easier to any and all platforms that you’re interested in later on
    3. Permit modularity of core component changes like renderer, particle engine, sound engine, etc.
    4. Provide two compatible modes of user entry: textual and visual coding in a 1:1 mapping
    5. Help those learning visual coding to conceive of the command based nature of programming
    6. Help script based learners understand and analyse large relationships in visual form

    etc etc etc..



  • @Deeeds I like your sunglasses B)



  • @Aidan-Oxley the sunglasses are nice, but they don’t look that great on him.
    Is that actually his picture? It’s not how I imagined he looked. The smile was the first hint.