Computations of channel flow with rough walls comprising staggered arrays of cubes having various plan area densities are presented and discussed. The cube height h is 12.5% of the channel half-depth and Reynolds numbers (uτh/ν) are typically around 700 – well into the fully rough regime. A direct numerical simulation technique, using an immersed boundary method for the obstacles, was employed with typically 35 million cells. It is shown that the surface drag is predominantly form drag, which is greatest at an area coverage around 15%. The height variation of the axial pressure force across the obstacles weakens significantly as the area coverage decreases, but is always largest near the top of the obstacles. Mean flow velocity and pressure data allow precise determination of the zero-plane displacement (defined as the height at which the axial surface drag force acts) and this leads to noticeably better fits to the log-law region than can be obtained by using the zero-plane displacement merely as a fitting parameter. There are consequent implications for the value of von Kármán's constant. As the effective roughness of the surface increases, it is also shown that there are significant changes to the structure of the turbulence field around the bottom boundary of the inertial sublayer. In distinct contrast to two-dimensional roughness (longitudinal or transverse bars), increasing the area density of this three-dimensional roughness leads to a monotonic decrease in normalized vertical stress around the top of the roughness elements. Normalized turbulence stresses in the outer part of the flows are nonetheless very similar to those in smooth-wall flows.