Usually, hills are formed from the substrate. Some hold slopes better than others. I've noticed that aquasoil and amazonia will hold it for a while but eventually will level out. 3m colorquartz holds hills like a champ. Rocks can also be used to hold slopes intact. Some dutch aquariums would use "fillers" or whatever you want to call them to form slopes for their "streets" of stems. Just make sure it doesn't rot or break down. I've actually used regular aquarium gravel to make slopes since their heavier and won't easily be moved. Then I would cap that with whatever substrate I want. The regular aquarium gravel is a lot cheaper than those that are made for planted tanks.