Ok, so my latest experiment was implementing a 2D auto-tiling or smoothing algorithm without using any actual tile sets.
You can see it in action here:
https://stonium.co.za/smoothing/
As I used no tile sets, all tiles are drawn solely via a couple of Processing’s basic drawing functions. Namely rect() and quad().
I’ve left the grid view on so that one can more clearly see the effect that placing a tile has on the surrounding tiles quadrants.
The algorithm that I implemented can be seen here:
http://www.codeproject.com/Articles/106884/Implementing-Auto-tiling-Functionality-in-a-Tile-M
This algorithm makes smoothing easy!