Been a difficult week to get work done. I’m noticing how often I say that. Yeah, if it ain’t one thing it’s another. Gotta learn how to get work done even on the weeks when it’s hard to get work done. Okay.
I’ve been continuing work on the detail editor. I am very pleased with how it’s turning out so far, just not with how long it’s taking to turn out that way. That is to say, I am frustrated with only making marginal progress each week, but I feel that it definitely has been progress rather than the false starts which have plagued me in other parts of the project.
So, this week I spent a bit of time adding multiple selection to the editor, as well as adding the capacity to select background elements based on their rendered dimensions as well as their native placement. To decode that gibberish slightly: Each detail has an x and y location, and this is added to the camera movement to determine their position on the screen. However, each detail also has a distance property, and the smaller this is the more pronounced the camera movement’s effect is on the detail’s on-screen positioning. This is a way of simulating 3d perspective using 2d graphics. So, what I’m saying is that it’s possible to select details either with this perspective simulation turned on or off. This could be useful later on when I’m working with a lot of details and they’re getting lost in the complexity.
Here are a couple of screenshots demonstrating the difference, as well as the multiple selection tool:
The differences here are actually less pronounced than they could be because any time a detail is selected both the debug view and the perspective view are made available so that you have a better idea of what you’re doing. In this case, I used background elements for the first image and foreground for the second, which makes it more noticeable since on background elements the perspective projections are hidden behind the debug view of the object.
Anyhoo. All of this progress is all well and good, but it raises questions about where this part of the project is going, because just moving around little balls of color is not good enough. So what’s next?
There’s two things I want to be able to do with this detail editor. 1: Put in static or animated graphics to serve as background elements, and 2: As above, but with particle effects. I’ve been tumbling the idea of how to approach this around in the back of my head, and a form is beginning to take shape.
You get to see the form when it’s done. I’m pretty confident this will work well though.
However! This is as far as I can go on this aspect of the project using placeholder colored balls of light. It’s time to do some actual graphics management. Towards this end, I’ve started creating a GraphicsManager class, a static class which handles graphics requests, loads the graphics, and stores them for future use. In fact, it will even store the most recent access of each graphic, and should even be able to support freeing the less recently accessed nodes to system memory as necessary.
I’m not sure if something like this is already floating around in the actionscript community. If not, I should see about documenting it and making it available once it’s complete, since it should take a lot of the burden of managing graphics and provide them in a convenient centralized location.
Anyway, so that’s the project as it stands. I’m going to be spending a chunk of this week doing a belated XMas vacation with my family, so I may not have a lot done by next week… however, it’s smooth sailing from there, so that should be a good time to get started for real.
It’s 2013! Let’s get this shit going!