Builtin extra textures

#1

For the longest time the only texture included with builtins was the particle_blob.png

This texture is useful but I think it would be more useful to add some more general shapes for general blank project prototyping. Like the addition of a simple solid square would help with certain quick prototyping.

Some thoughts for extra shapes:

  • They should not dramatically increase the builtins size as a whole, the entire addition should be less than 100KB ideally more like 25KB
  • They should all be white if a smaller texture size is used, larger would allow some variations
  • They should all be 32x32 px
  • They should be generally useful
  • They should follow the naming convention of particle_ if intended as a particle otherwise maybe shape_ or just the name
  • They should be included in a secondary included tilesource, not editing particle_blob.tilesource but be maybe builtin_particles.tilesource, which itself should include particle_blob.png as the first space
  • The new builtin_particles.png should be 320x320 px so 10x10 grid (or smaller) this size would allow plenty of room to add a variety of useful default shapes (with possible non-solid-white variations) - over time new shapes could be suggested and added
  • The new tilesource should have extrusion of 2 for shapes which touch the edge
  • The art can be a mix of pixel art and soft edges but should favor soft edges
  • The tiles should be generally useful as particles or building blocks - think like a variety of useful game designs from platformer to match 3

The 1-Bit Kenny path may have some useful inspiration / textures to grab, though these textures are 16x16 and not 32x32 and are also a bit too game specific.

Here is a not super thought out example for a reference point, this results in a 8.77 KB PNG. A full 100 piece grid would likely be between 40 and 50KB at this rate, and there would be no rush to fill it unless people have good general use suggestions with a focus on what shapes would be useful for the kind of quick prototypes the blob is currently being used for since it’s the only shape that’s included.

2020-08-12%2014_18_41-Window

In reference to this post

If this was implemented, it would be useful to have tint be able to be set within the animations of a tile source (along with directly on sprite components as another way to set it / override it). That way from a white heart multiple heart colors can be included as animations like red or gold without increasing texture size.

10 Likes

#2

Thank you for the feature request. I think this has come up a few times in the past, but it has never been given much priority. Or maybe another explanation is that someone needed to have an opinion about which shapes to include, and once they were in there we would have to live with them forever.

So let’s collect some ideas for the first couple of shapes here. I think your guidelines regarding hard and soft edges is good. I’m not sure about size yet of individual images, but 32x32 is probably a good size.

Should it be a tilesource or an atlas? With an atlas we could provide shapes of different sizes.

3 Likes

#3

Atlas would give more flexibility along with the ability to reduce overdraw, but if an atlas is used there should be some conformity of size for building block style shapes, as in ones useful for making a platformer or a match 3 for example.

An advantage tilesource has is it’s useful for gui/sprites and tile maps. So maybe there could be a tilesource for size conforming shapes, and an atlas for perhaps larger/more irregular but still useful shapes if people can come up with ones they would want.

0 Likes

#4

Why not both? If they’re not included in the project, they don’t add weight to the bundled project, so it shouldn’t be a problem, right?

2 Likes

#5

The two assets that we always carry over are pixel.png (1x1 transparent pixel) and pixel_solid.png (1x1 white pixel). Them being 1x1 means that scaling the sprite by WxH would result in a WxH rectangle.

We usually add them to any GUI atlas that we work with, as they’re great for container gui nodes.

3 Likes

#6

Yes, these are really useful!

2 Likes