About the BeOS Demonstration Applications


The BeOS ships with a number of demonstration applications, located in the /demos directory. These applications highlight different capabilities of the BeOS, and can be fun to play with. You can also use them to show your friends what the BeOS can do.

The demonstration applications are just that -- demo apps. They are not particularly useful, there isn't much documentation (besides this file), and Be makes no promises about stability (although we wouldn't include them if we thought they'd crash your machine all the time). Please use them to play, but don't depend on them.

If you are a programmer, the source code for many of these demo apps, among other things, can be found on the Be web site, in the sample code archive.

3dmov

3dmov is a 3D Kit application which allows you to manipulate 3D objects in real-time, and to drag images and movies onto those interactive 3D objects.

To use 3dmov, double-click the application. A rotating cube will appear in a window. You can do several things with the cube (and with the other objects available from the Options menu).

  • You can grab the object and freely rotate it by clicking the mouse on it and dragging the object around.
  • You can zoom in or out on the object by pressing the left and right arrows on your keyboard.
  • You can drag images onto the surfaces of the object. Sample images are located in the /optional folder (if you chose to install the optional items).
  • You can drag movies onto the surfaces of the object. Sample movies are also located in the /optional folder (if you chose to install the optional items).
  • Different objects are available by choosing from the selections in the Options menu. Note: performance will degrade if you have more than one model running at a time.

BeBounce

The BeBounce application was originally written to demonstrate how applications can communicate with each other in the BeOS. You may also find interesting an article discussing BeBounce which was originally published in MacTech magazine.

When you start BeBounce, a window with a bouncing ball opens. If you start a second copy of BeBounce, its window has no ball, but you can move the windows near each other to open a "path" between them. The ball can bounce from window to window through this path. You can't run more than two copies of our version of BeBounce -- but a programmer could write one that supported more than two launches.

BeLogo

When you start BeLogo, it opens a window with a 3D rendition of the Be logo, which rotates in three dimensions on a black background. The logo is a 3D model, which is mathematically rotated at 120 frames per second. It rotates and whips around, semi-randomly.

BeLogo was designed to take advantage of all the CPU resources it can get (back when a dual 66MHz 603 BeBox was the BeOS "high end" machine), so while it's an interesting way to test the power of the BeOS, you may not want to leave it running when you're trying to get real work done.

Calah

Calah is a strategy game. One person plays against the computer opponent. There are 51 levels of play (0 to 50; I start losing on level 2...). Rules for playing can be found by selecting Rules from the Info menu.

Chart

Chart draws an animated 3D starfield, letting you fly through space. It is an application which demonstrates the performance advantages of BDirectWindow, a graphics API for drawing directly to the screen. It's also just a way cool toy to play with.

Chart has a lot of controls, and can look intimidating, but once you know how to start it going, the rest is stuff you can figure out by fiddling. So, here is a quick tutorial:

  1. Once you launch Chart, you'll want to widen the window. Use the resize section of the bottom-right corner to widen it. This will let you see all of the various controls that line up along the top of the window.

  2. To actually make something start happening, you need to turn on animation, by choosing something from the Animation pop-up menu along the top, and you need to turn on drawing, by choosing something from the Display pop-up menu, right next to the Animation menu. To start with, choose "Slow rotation" and "DrawBitmap".

  3. To make the starfield more interesting, increase the density of the stars, by clicking on the Star Density indicator, which is along the top of the window, and is a button with a "10" in it. Use the slider panel that pops up to increase the density to something interesting, like 60. Close the Star Density slider panel.

  4. The starfield should now be rotating around, with decent animation, but probably not great. You can see the frames-per-second rate of the animation in the Status area, in the top-left corner, labeled "frames/s". This is using the ordinary DrawBitmap API calls to do the screen drawing. They're good (this is the BeOS, after all), but not good enough. It's time to see the power of BDirectWindow!

  5. From the Display pop-up menu, choose DirectWindow to change the way that Chart draws onto the screen. You should notice that the frames-per-second rate jumps quite a bit. And the smoothness of the animation should noticeably improve as well.

You can play with the different controls to see what they do, but here are a few notes about some of the indicators and controls which might not be obvious when experimenting:

  • The colored bar in the top-left corner is a performance indicator. Each "tick" (or chunk) on the bar indicated 12 frames-per-second for the animation speed. Red "ticks" indicated actual frames-per-second drawn, while green "ticks" indicated how many more frames-per-second could be drawn, if you wanted to.

  • You control the actual vs. potential frames-per-second by adjusting the animation refresh rate, using the Refresh rate slider panel, which appears when you click its indicator button, which is a button on the top of the window with a "60" in it (for 60 frames/second desired animation rate).

  • The "2 Threads" checkbox on the left side will tell Chart to use two drawing threads instead of one. If you have a dual-processor system, this will result in a significant improvement in performance, for any drawing method. If you have a single-processor system, it should remain about the same.

  • Free motion animation in the Spiral galaxy is the coolest.

  • Comets are cool, Novas are boring, and you'll have to harass the engineer who wrote Chart to write more code to get Battle to work. Right now it's just a teaser.

Container

The Container application demonstrates Replicant technology. It is an application which can receive Replicants (as can the Desktop).

The three applications that ship with the BeOS that can be replicated are CPU monitor, NetPositive, and Clock. Many third parties have written additional applications with Replicant controls or displays, so you can try those as well.

To use Container:

  1. Double click the application to launch it.
  2. Select Show Replicants from the Be menu -- this will display a little hand on all Replicant items.
  3. Launch an application which uses Replicants.
  4. Find the small hand icon on a Replicant object, and click and drag that hand onto the Container window.

You have created a Replicant and can now close the replicated application. The functionality of the Replicant object will still be available from the object in Container.

Flight

Flight is a simple flying and shooting game. It isn't much of a flight simulator, if you're used to full-blown games on the PC or Mac, but then it only takes 78K on your hard drive.

When playing Flight, you fly across a barren landscape and shoot down unarmed helicopters (for 1 point) and other players (for 10 points), while trying to avoid crashing (losing 5 points), shooting down a team mate (giving the other team 10 points), or getting shot down yourself.

Flight works best if you set the screen resolution to 800 by 600 or higher. At lower resolutions, you can't see all of Flight's windows without overlapping.

When you start Flight, a darkened window opens: Dawn doesn't break until you start a game. You can ally yourself with the yellow or purple team by choosing the appropriate item from the Options menu. To start a game, choose Play Game from the Play menu.

When the game begins, Flight's main window provides a cockpit view of a plane flying through a landscape populated by unarmed helicopters. The crosshairs in the center of the window are for aiming your "weapon."

The keyboard is the default way you control the game. On your keyboard, use the arrows in the numeric keypad to steer (the up arrow points your nose down, etc.). Use the left and right arrow keys to the left of the numeric keypad to increase and decrease your speed. Shoot by pressing the right Shift key.

You can choose Map from the View menu to open a window that shows your plane's position in the landscape. Unarmed helicopters are represented by black dots. The other commands in the View menu control how wide a view is displayed in the window.

FontDemo

FontDemo shows off the speed and versatility of the BeOS using fonts. When you start up FontDemo, two windows open: A Display window that shows text in a particular font and size, and a Controls window which allows you to affect the displayed text.

The controls for FontDemo all affect the displayed text in real-time. What you see is truly what you get. Use the Size scroll bar to change the size of the font in the Display window. Use the Shear scroll bar to shear (or slant) the text. Use the Rotation scroll bar to rotate the text.

Check and uncheck the Anti-Aliased Text checkbox to see what the fonts look like with and without the anti-aliasing functionality built into the BeOS. Change the text to display by editing or replacing the text in the small text box below the checkbox and pressing the Enter key.

Selecting one of the fonts in the Font list shows the text in that font (and the same for the Style list). Click the Cycle Fonts button to have FontDemo cycle through all of the available fonts and styles.

GL Teapot

The BeOS includes Silicon Graphics' industry standard 3D language, OpenGL. GL Teapot demonstrates OpenGL on the BeOS. When you launch the application a 3D teapot will be displayed and rotated in a window. The frames per second that the teapot can be drawn on your system is displayed at the bottom of the screen. The rate is likely to be low (10-15 fps), since most OpenGL implementations are accelerated by hardware and the BeOS implementation is currently software-only (but hardware is coming, soon).

You can add teapots, and change rendering parameters and lighting via the menus. You can also change the characteristics of a teapot by holding down the secondary mouse button, or its keyboard equivalent, and clicking on a teapot. A context-sensitive menu will appear, from which you can change the parameters for that teapot.

Kaleidoscope

Kaleidoscope is a simple line-drawing application. It opens a window where it draws patterns of colored lines as fast as it can. It's interesting to see the effect of multiple Kaleidoscope windows on your system performance; open as many as you can stand...

Mandelbrot

The Mandelbrot application demonstrates the power of multithreaded programming under the BeOS. It draws images based on the "Mandelbrot set," a set of mathematical formulas invented by Benoît Mandelbrot, the Polish mathematician.

Mandelbrot takes advantage of the additional processors in multi-processor machines by using one thread to compute the odd lines of the image and a second thread to compute the even lines. The BeOS will automatically distribute these calculation threads among multiple processors, taking full advantage of the extra processors in your system.

It's interesting to zoom in on areas of the image in the window. Drag across an area you'd like to zoom in on. Mandelbrot will recalculate and draw the image so that the area you dragged across fills the window. You can do this indefinitely (the Mandelbrot set allows infinite resolution). To zoom out, hold down the Shift key and click in the window.

You can choose a color palette from the Palette menu. You can choose the level of iterations you want from the Iterations menu. The higher the number of iterations, the more precise -- and time-consuming -- the calculations used to draw the image. A higher iteration value is more important as you zoom further into an area of the image.

Minesweeper

Minesweeper is a game of logic and deduction (and a bit of luck), where you attempt to locate all of the mines on a grid without blowing any of them up. Your score is the time it takes to flag all of the mines, with faster times being better.

When you start Minesweeper, a window opens with a grid of squares, representing a mine-infested sea. When you click in a square, a number tells you how many mines are in the eight squares adjacent to it. With practice, you can deduce from the numbered squares on the board where the mines are.

The number at the top left of the window tells you how many mines remain unflagged. The seconds that have elapsed since you clicked the first square are displayed at the top right.

You flag a square you know contains a mine by clicking on it with the secondary mouse button (or its keyboard equivalent). If you want to flag a square as a possible mine, you can mark it with a question mark by clicking it with the secondary mouse button twice; click again to clear the question mark.

If you click on a square that hides a mine, it blows up, and the game is over. The smiling face turns to a frown and all the mines are displayed.

If you flag all the mines, you win. If you had one of the best winning times, a panel prompts you to enter your name. You can choose Best Times from Minesweeper's main menu to see who the current leaders are and how well they did.

To start a new game, whether you won or lost, click on the face. As you get better, you may want to increase the challenge. Choose Intermediate or Expert from the main menu to start a game with a larger, more perilous sea.



BeOS Release 4
Copyright © 1998 Be, Inc.