Making progress on background assets, so it was time to tinker a bit with the colored sky a bit. It's now working ingame - much of it is placeholder, still, but it's slowly getting there!
Here's a more detailed rundown of how the background is built:
The scene is built out of several layers for different parallax and coloration purposes. Essentially, the division is this: "Foreground (=playing field) -> Background (no parallax) -> Background (parallax) -> Far Background (different parallax)".
Depending on each layer's needs, I use a different building approach to keep the overall number of objects required low, and the amount of images loaded in memory as low as possible (still very high, though!). The other main concern is to avoid visual repetition: because of the mid-to-high level of detail on some background elements, any high frequency juxtaposition or tiling makes the repetition obvious and unappealing.
For the foreground, I'm dressing up the playing field logic blocks. Those are placed using a grid for height, but can have varying sizes for length that go off grid. To be sure I cover those areas, I use a combination of a tiling central texture, and cover the edges through 9-patches and overlaid singular "stamps" for the leftover gaps and central detail.
The 9-patches allow me to both tile and stretch the central part of an image depending on the size need of a specific area (usually stretching for smaller platforms and tiling for longer ones).
Here are how those 9-patches are built, segmenting the left and right segment off the center, tiling piece.
For visual variety, I'm using variants of different sizes (smaller edges+center piece, smaller edges+longer center piece, etc) to cover grounds of different length. Once most of the areas are covered, I can put the singular sprites
on the remaining spaces to fine tune control and break off some of the most apparent edges, like the example here.
For the close background, however, I don't have such size concerns, so I'm mostly focused on getting mid-to-big shapes while keeping the objet and texture count low. I've had the best results with tilemapping:
This allows me to create a number of varying shapes using lots of variants for any singular tile while keeping the number of objects as low as possible in the project hierarchy (one for each thematically different tilemap). A base tilemap is composed of 13 pieces (1 central, 4 inner corners, 4 outer corners and 4 edges) though I plan to add variants to each tile on the same texture, and fill out the remaining spaces with "special use" tiles, such as 2-tile wide non-tiling effects.
(Here's the base tilemap without variants for reference).Lastly, for the far backgrounds, the concern is mostly tiling images, so this time tiled backgrounds work best:
(Here's the base tile for the treetops - the mountain range is made out of a repeating tiled background, and additional mountain "stamps" placed on top for different relief).
After that's done (which is not yet - I'm still working on a lot of those :-D), thanks to the separation of layers, I can create the color effect from the concept image: as the sun goes down and the sky color changes, I simply apply a colored filter to the affected layers (the far BG is completely changed, the parallax less so, the close BG slightly tinted, and the playing field is never affected) - this helps have a sense of depth, and allow for an overall tinting of the image, while still keeping the playing area unchanged and the player's reference in regards to what they mechanically encounter.
I'm still working on getting most of the panels and variants I just wrote about done and in the game, and finding the right colors for the colored filters, but the game is getting closer to the intention with every passing day!