It all came together today, which was nice. At least, the part I have been working on did. So I can now edit a level’s “space” (the number of steps you can scroll in any direction). And rather than inputting numbers, it uses a more visually intuitive way, which I’m happy about. It works nicely. I might still show the values at some point, if that makes sense, but for now it doesn’t seem to need it.
You can see the new controls in the following screen shot:
When you’re on the edge of the world in edit mode, you can click the “+” to add more space in that direction. Then the navigation arrow appears. When you’re not on an edge, you get the navigation arrow and, when in edit mode, you get a “-” button that makes the world space one smaller in that direction. The arrows update appropriately.
It works more spatially than, say, entering the bounds as numeric values.
The only niggle for me is the use of the “-” button when not one away from the edge of the world. If the world space is, say, three steps away, hitting the “-” will make it one smaller in that direction, but you won’t see any change (since you’re still not on the edge). The alternative, which might make more sense in the way it’s going to be used, is that the “-” simply removes all space in that direction. (Basically, why would you only want to delete only one in a direction if you’re not on the edge?) I’ll keep that in mind as I move forward as an option. Have to see how it all feels!
In the process of implementing the above, I created some new mechanisms that I’m happy about. A scene when loaded notifies the editor (if it exists). This is handy as things are quite stable at that point, so the game state will exist with loaded data.
The edit buttons are now in their own separate component. Nice and self contained.
Good stuff like that.
I had a thought last night when I was lying in bed “not sleeping” (which occurred when I should have been not “not sleeping” – or, as it’s known more positively, “sleeping”) about a new use for an existing potential component that I only had one use for before. I wasn’t going to bother with it, even though it seemed cool, as I could only think of one use, in one puzzle. But last night, I realized that the new Soojin component behavior opened the door to another use for this other component, which is really cool. Makes it worth implementing.
On a walk tonight, I had a small breakthrough in terms of how the “overworld” could be structured. I have been struggling with this for a while. I knew there would be puzzle levels, but how are they all hooked together? How do you get back to a level (something I wanted)? How are you constrained in the beginning and then set free once you get past the initial training levels? I don’t have all of that worked out, but I have the germ of an idea now, which is quite exciting.
Day 21: This game jam can party now!