Well based on my reading, the rule of thumb would be 1" of fish for every two gallons of water at a max. Keep in mind when you get fish that they will grow, so buy them based on how big they will get as adults when you size for your tank. I would definitely look into getting a few more critters like snails to help with the algae problem. For that size tank, I would probably select one main fish that will be your centerpiece and then based on its potential size, stock the remaining with fishes that may be compatible. Remember that even though you have a 29 gallon tank, you have live rock in there that displaces your water volume, so be careful in adding livestock. Last bit of advice is to make sure that your tank is fully cycled before adding anything else and carefully monitor your levels as you add livestock, one at a time. Good luck
Happiness is defined by the joy we bring to the lives of others, for without that, we ourselves cannot be.