Well done! Procedural generation is good, might just need to consider placement logic around things like pick up and obstacles.