Experimental Tileset, Lights, Ship Data
Hey Folks! I managed to get a new tileset done in order to experiment more with lighting and layouts. This one uses 10x10 tiles instead of the last one's 32x32. Also, this one has a single, dedicated material type per tile, while the last one was "straddling" 2 or 3 materials per tile.
The result? A mixed outcome. See for yourself:
First, the good. Lighting behaves better now. You can see several places where walls have light differences on one side vs. the other. This can be different-colored lights, or light/shadow differences. So score one improvement.
Also, the smaller 10x10 grid size means the lightmaps look a bit better. Shadows cast around corners and other obstacles are more discernable, and look a bit better as a result. The old 32-pixel tiles were so large that one rarely saw these shadow "rays" on the map. Score two.
Finally, the map itself can support more detail per human-sized area. The walls can be thinner, and the room/exterior shapes more detailed. One can get closer to the desired aesthetic they seek using smaller tiles. (I.e. better layout resolution)
Now for the bad.
The small tiles look positively boring compared to the 32-pixel ones:
Smaller tiles have less room for detail, so they have less going on per-tile. And what's more, their small size means they repeat more to cover the same area as a larger tile. Lose one mark for repetition.
Smaller tiles also have the issues with pathfinding/walking overlapping with larger human sprites. It's fixable, but it's more work to setup. (E.g. adding special non-walkable floor tiles to "pad" between wall and floor). Lose another mark.
Finally, the increased tile count means the engine has to work harder when calculating lighting, pathfinding, and other per-tile algorithms. This can be mitigated by limiting the frequency of said calcs, but it's already an issue with as few as a dozen lights in the scene.
Now, to be fair, these pluses and minuses are not all equal. Performance isn't a huge concern in a game like this, where I can probably only calculate lighting or pathfinding when something major changes.
Also, it isn't exactly fair for me to compare the snazzy 3-part (outer cladding/structure/and inner wall), 32-pixel tiles against 10-pixel tiles with only the cladding and interior walls. The smaller tiles could have more variants to break up the patterns. I could add a set of structural tiles to sandwich in between cladding and interior walls, etc. I could even add a few multi-tile pieces (e.g. a sloped corner that spans 2-3 grid squares) to spruce things up.
However, I'm also having doubts now that I see the lighting in action. For example, certain inner corner tiles are completely black due to being surrounded, despite lights being near. And the harsh transition looks bad. (See the top of the ship, where the outer white and inner blue light hit the jagged slope.)
And while watching Mal walk around the ship with his line of sight sweeping rooms is cool, I'm not sure it'll be fun. Nor may it be sensible if I decide all crew LOS can be seen at once.
Food for thought, this is. Though, this is exactly why prototyping is good!
Oh, and in other news, this switch to 10x10 grid exposed some tilemapping bugs that I fixed today. And also prompted me to write code to save and load the working ship layout to a file between sessions. So not a total loss by a long shot!
Anyway, I'll let this steep in my brain overnight. Tomorrow, maybe I'll try adding a few more tile types to spice things up. See if it resolves any doubts. Or maybe it's time to switch back to crew sim for a bit, and make more "game" to play. We'll see!