Much appreciated. I'd like it if people tried the code and gave me some feedback, if possible. No need for anything fancy, just compile, run Oasis 10 and let me know if anything looks wrong, and how good or bad the performance is. Yup, that's the idea! In the long-term, there are a number of things I will/might try (sort of a wish list, in no particular order): Post-processing effects done right with a dedicated "manager" component. Generic lightmapping. The ability to load arbitrary textures with a separate UV set, and combine them on the model using a user-specified blending mode. For instance, an AO texture would use "multiply", while an emissive lightsource could use "add" or "lighten". Moving textures. E.g. a waterfall could "translate" one or more texture layers at differing speeds to create the illusion of falling water. Ground and distance fog. Variable water level. Water is currently represented as a flat plane. It could use a low-resolution heightmap to have different heights in different parts of the map. Fading line-of-sight. Fade between changes to the LOS texture, to give the effect of smooth movement (like in HoMM6). Line-of-sight obstructions. Use a limited raycasting method to prevent units from seeing through walls or buildings (this makes the game more challenging). Terrain erosion for map generation. Simulate the effects of water and/or wind erosion to create more realistic terrains and specialised terrain textures in Atlas. Anyway, I really hope my experiments will not impinge on anyone's territory...!