Here is a quick tutorial on how to make rocks without any modeling or sculpting and minimal texturing. It's a fully procedural process, so once you make one object, you can easily create multiple variations. This is not a way for creating your hero objects, but it's great for set dressing - it's fast and each time you get a different look.
1. 3dsmax Modifier Stack / Debris Maker
To get initial rock shape you can either use Debris Maker (much faster) or build you own stack of modifiers (more customization). You start with a box, then add Spherify and Turbosmooth (try to create a quite dense mesh). Now it's a matter of creating a combination of Displace and Noise modifiers using various procedural maps such as Cellular, Bercon Noise, Dent or Speckle. Once you are happy with the shape, export it as obj file.
2. Zbrush NoiseMaker
Import obj file to ZBrush and add few subdivision levels. Open NoiseMaker (Surface tab) and tweak settings to your liking. This will give you that final high fidelity surface detail. You can stretch noise in one direction to get water drains layers. Once you are happy with result, hit ok and then Mask by Noise. This will give you a mask following your noise pattern. For quick solution you can go to Deformation tab and use Size to add deformation uniformly across the whole mesh or you can use brush to paint noise only on areas you want. You can repeat that process multiple times until you get nice layered and rich texture.
Now that you have your final sculpt duplicate the Subtool. Use ZRemesher to do retopo low res version and then UV Master to do automatic unwrapping. TIP: ZRemesher doesn't always hit target resolution of the mesh so if you are after specific polycount you might want to use Decimation Master first and then ZRemesh decimated geo. Now export High and Low res meshes to obj.
Start a new project in Substance Painter and load Low-res mesh. Use Hi-Res mesh to bake textures (panel on the left). This will give you maps such as AO and Cavity used by mask generators. I didn't spend much time on that stage, but you can take as much time as you need depending on how detailed textures you need to get. My process was simple: I painted base layer with low contrast rock texture, then duplicated this layer twice. On one I used levels to darken the texture and on the other to brighten it up. Then I used Mask Generators to mask out those layers (Dirt on dark one and Edge Damages on bright one) to get texture shading following shape of the rock. Last layer was a bit of moss masked using MG Dust. Once you are happy with the texturing export channels and you are done! Import Low-res obj to you host application add textures from Substance Painter that's it.
I hope you will find it useful!