Array with Size Increment / Decrement I am trying to make a step-pyramid with hundreds of steps and it is far too tedious to size one step at a time.
My first instinct is to make an array with reference to a scaled object but this yields results with a curved slope.  For example, scaling by .9 produces:
100 x .9 = 90
90  x .9 = 81
81  x .9 = 72.9 ...

Where as what I am trying to simply subtract a value at each step:
100 - 10 = 90
90  - 10 = 80
80  - 10 = 70 ...

The above calculations apply only to the X and Y dimensions while the Z remains constant.
Here is a screenshot.  The pyramid on the left was generated with an array and has a curved slope.  The one on the right is the desired result with a straight slope and was made by hand.

Is there an easy way to generate the pyramid on the right?
The Add Mesh: Extra Objects addon has a step pyramid mesh. However, it has a maximum of 20 steps. That can be fixed though, by editing the script file.  

The location of the addon's initialisation script is shown in the User Preferences window (see the image below, the part marked in green; this shows the location in my installation, and it may differ depending on what OS you're running). The script for the step pyramid is called add_mesh_pyramid.py, and it should be located in the same directory as the &#95;&#95;init&#95;&#95;.py file.
Open the file, locate num_steps and simply change the max value to something that works for you. With hundreds of steps, you may also need to change the min value of reduce_by to something lower.  

To activate it, CtrlAltU to go to user preferences. Click the Add-ons tab, then Add Mesh, then the little check box to the right at Add Mesh: Extra Object. If you want the addon to remain after you close Blender, also click Save User Settings.  

  

I haven't been able to get screenshots from Blender to capture the menus, so I can't show you, but the step pyramid will be available under Add > Mesh > Misc Objects > Step Pyramid. Here's the available settings to tweak it.