Yincognito wrote: ↑May 14th, 2023, 6:54 pm
If it's a nightmare, then most likely you do something wrong or you're overcomplicating things.
A distinct possibility......
but when I said it's a nightmare, I did not mean that in the way you thought I meant. But I fully admit could be over complicating it). What I actually meant was for me this has been extremely challenging... (Not because of my reading issue). Most of the code I am using is fairly basic (certainly by the standards of a "sage"). I'm still fairly new to this, the issue has been what I would call the i'ts "Layers of complexity", where one thing affects another, and the ability to integrate things that have not been written yet. I would imagine that IF you had this idea and thought "What a good idea" I have no doubt that you could do it in no time and much better. But as I don't have anywhere near your level pf experience, it's taken me a fair time to work out some "practicalities" that you would already know how to do.
On occasion it's also taken me some considerable time to find out that something wont actually work, then to find a work around to get a similar result. I'm not complaining, I have learnt so much doing this.
Bottom line, it makes no sense to build things modularly and integrate them with one another if they are radically different in design and functionality;
Agreed....... Which is one reason why once this framework is finished, I need to revise pretty much most of my previous experimental work to make it compatible so that they can all share and "Play Together"
Ironically one of the remaining parts of "The Playground" that I'm working on now, it making the code modular, so that can also be shared. The first working version of this will mainly share graphics, and animations not only easier to do (I have cracked that), For two reasons, firstly It offers more immediate "Bang for your Buck" in that it demonstrates and offers an immediate useful advantage. Secondly, at the moment my level of experience is such that basically I would still have to write a new skin first. then and only then would I be able to cut out chunks of code from it and put them into a code module to be re included in the skin (but then also available for other skins to @include).
Probably a long winded way of doing this..... But it's the only way I can do it at the moment, with my current level of experience.
It makes no sense to write the same code ten times for similar skins if you can integrate them and make them share the similarities by writing the code a single time for all of them. Each of these two situations requires its suited approach.
100% agreed on that.......
Unfortunately I did not even have this idea until recently (I could not have thought of it earlier, I simply did not know enough to even dream of doing this), So most of what I had previously done and was working needs revising to meet that criteria. Initially I will settle for doing the minimum amount just to make it all "compatible", so that all the graphics and animations are "shareable" and so there are some compatible skins for the playground are quickly available. So that there is immediately some point in having the playground infra-structure in the first place, so that others are not presented with the "chicken and egg" situation I faced when attempting to start this.
Making all the coding modular will be more work, but is the final objective, and clearly has amazing potential, so even the first version of this "infra-structure" will have the basic ability to do that built in, however there wont initially be much modular code to take advantage of. As I start revising all my previous experiments, I'll first make them work in the playground, then start pulling chunk of code out of them, to be "@included" back into them, and thus be available as plug in modules for other skins.......
Well that has always been the final objective.... And ideally with no coding needed from the end user..... Other than at most adding and @include, but on my own stuff I'm hoping even that wont be needed. And that's what I meant by Nightmare, It's the "Layers of complexity" required to be able to make the process as easy as possible to eventually use and ideally, for want of a better word, to make it "Fully Automatic" with my own skins...........
Which was why I was interested in the possibility of a conditional @include statement. I had already had a good look and thought there was no way to do that. But I asked you, as with you considerable experience there was a possibility that you knew of something I did not even know existed, possibly called something totally different, that I would never guess in a million years. I found a "Work Around", not ideal, does not offer the full potential of a conditional @include, but it works. So I'll use it for now, so I can get on..... Once I have this actually finished to the point where I can post it.
Then (and only then) I'll ask if there is any possibility of having a Conditional @include in future. No point asking until people can see why it could be such a good improvement, so I wont even ask at the moment, the probably reaction is why on earth would you need that? what good would it be? Surely you know if there is a file to include, why on earth do you need to have a conditional statement in case it's there?
Totally fair questions, but I don't want to use up time explaining, I would rather show the working "infrastructure" then point out how much better it could be "IF"(condition)@Include... was available.
I may be wrong, but I doubt if the idea of including things that have not been written yet is common, It might even actually be a new concept.
Anyway I agree with everything you said.
And I will be interested in your feedback when I have the first usable version of this done so you can actually see it in use. This first version will be fully working, it will also be far from finished, and certainly far from "Optimized", but hopefully it will be enough to see it's potential.
Keith