Home

> 4D Blocks

> Version 1

  Scene Language
  Kinds of Blocks

Version 1

Version 1 of 4D Blocks lets you fly around and look at a set of stationary blocks, in either 3D or 4D. There is no clipping and no physics.

How to play:

  1. Install Java if you don't already have it.
  2. Download the file blocks-v1.zip.
  3. Unzip into a folder somewhere.
  4. Get a command prompt and set the current directory to the "out" folder.
  5. Type the command "java Maze" and get familiar with the controls for the maze game. The blocks program uses the same navigation controls. Be sure to learn the slide controls, they're very useful for blocks. (You can find them in the Options screen on Keys tab # 3.)
  6. When you're ready, use the menu command "Load Geom" and pick the file "scene" in the "data" folder. The initial scene is a simple 3D one with one block. You can press 0-9 to change how the blocks are drawn.
  7. You can edit the scene file to comment / uncomment different blocks that are already in there, or you can add new blocks of your own. See Scene Language for details about the scripting language. When you switch to 4D you'll want to hit "0" so you can see the correct block outlines.
  8. If you get ambitious you can define your own block types using the same scripting language. See Kinds of Blocks if you're looking for ideas.
Notes and limitations:

  1. The blue grid is a mat that the objects sit on. Your motion is unconstrained except that you can't go below the plane of the mat. In particular, you can go through the blocks.
  2. Please don't use the "Save" command in geom mode, I have no idea what it will do.
  3. Clipping is minimal and inconsistent. It's easy to tell which faces of an object should be visible and which shouldn't, so that feature is in there, but it's hard to clip, so that feature isn't. Check out this 3D picture to see what the problems are. The mat shows through the blocks, and the blocks show through each other. The right half of the picture has been hand-edited to have the correct clipping so you can see the difference.