i dont really know what 3d programming is.... everything basically works the same as in a 2d game. only difference was the player movement has to respect the camera, identifying the z-coordinate to stand at on the heightmap was quite a feat, but thankfully that code is reusable. the tulips are done using gl instancing and shaders. the noise and bloom are shaders i wrote too.