[Fudgets Home Page]


Thanks to the network transparency of the X Window System, it is possible for a fudget program running on our web server to display its windows on your computer screen!

(But what if I don't have a Unix workstation running X Windows?)

To run a demo, you just have to

  1. Enter the X display to run the demo on:
    (See X Display Name Help for info on what to put here.)

  2. Pick a demo from the list below and click on its button to start it.

  3. (Optional) Write and tell us what you think (about the demos or about this web page).
Note: Some of the demos require a color screen. Network delays & capacity limitations can cause startup times to be long and interaction to be sluggish.
[Fudget Clock in its natural environment]

Fudget Clock

This is a simple clock with a transparent backround. It illustrates that Fudgets supports Run it!

FudPaint - a simple paint program

This is a very simple paint program. One point with it is that illustrates that you can have graphics inside radio buttons. (This has always been possible, but has been made easy in the h12 release.)

See also the FudPaint Gallery!

Run it!

Graph - function plotting

This program allows you to enter a function from real to real (as an expression containing the variable x) to plot its graph. Once you have entered a function you can The expression language supports the usual arithmetic operators, + - * / ^, the trigonometric functions, sin cos tan atan..., and some other functions, exp log sqrt abs sinh cosh...

This kind of application is very suitable for implementation in a functional language since it requires expression parsing, symbolic expression manipulation and evaluation of expressions, all of which is very simple to do in a functional language.

To plot a function, it needs to be evaluated at hundreds of points (depending on the size of the window). Even though a very simple interpreter is used for this, plotting a function usually takes only a fraction of a second.

Run it! (Updated 991215)

Conway's game of Life

This program opens two windows: a simulation window and a control panel. You can add and remove cells by clicking in the simulation window. The control panel allows you to start and stop the simulation and change the size of the cells.

Run it!

Space Invaders

This is the beginning of an implementation of the good old computer game Space Invaders.

You move the gun by pressing the left and right mouse buttons. You fire by pressing the middle mouse button.

The paper Implementing Real-time Interactive Multi-User Games with Fudgets describes the implementation. (This is actually a second implementation, which is slightly more efficent than the one described in the paper.)

Run it!


Escher tile design program, using Fudgets

Author: Rob Noble (rjn@minster.york.ac.uk)

This is my experimental Fudget-testing application which is similar to the program that Sandra Foubister wrote to illustrate interaction combinators*, but with less features.

The screen looks something like this:

  -------------            ---------------
 |             |    ---   |               |
 |             |   | c |  |               |
 |             |   |-h-|  |               |
 | design      |   | o |  |  board        |
 |             |   |-i-|  |               |
 |             |   | c |  |               |
 |             |   |-e-|  |               |
 |             |   |   |  |               |
  -------------     ---    ---------------

  -------------            ---------------
 |finished des.|          |update w. tile |
  -------------            ---------------

                      |   |   |   |   |   |   |   
                      |   |   |   |   |   |   |   
Choice shows the set of tiles you can use. Clicking on one of these tiles makes that one the current tile. This tile is transfered to the design area, and eight rotations/reflections of the tile appear in the 8 left-most boxes of the tools area. Picking one of these reflections/ rotations enables it to be placed on the board. The right four boxes of the tools area enable tiles on the board to be rotated/reflected.

Lines may be added to the design using the left mouse button, and deleted using the right mouse button. Clicking the button underneath design transfers the new design to the currently selected tile in choice, and to the tools area.

Clicking the button underneath board updates the tiles on the board to the currently selected tile (in whatever rotation/reflection the each previous tile on the board was in).

NB. The two update buttons can be a little slow to operate (on my Sun 3/60) because they have a lot of effect on the screen.

Bugs: the grid obscures vertical and horizontal lines in the design area. I could not change the line thickness or colour because the GCChangeAttributes (I think?) command wasn't implemented.

Run it!

Otto and Atoms

These are two board games. Atoms is also called Explode.

Otto is a program that allows you to play Othello against the computer (it does not play a very strong game).

In Atoms two players place stones (atoms) on the squares of a board. When a square is full it explodes and the atoms invade the neighbour squares. This can cause a chain reaction. The purpose is to dominate the board.

Implementation notes can be found in the Fudget solution to the Explode challange in the Glasgow GUI Fest documentation.

Run it!

Run it!


This is an implementation of the game "Noughts and Crosses". In this case, only the user interface is implemented using fudgets, while the arbiter and computer player is implemented as a separate program, written in C++ by Claes Löfqvist.

Run it!


WWWBrowser is a prototype WWW browser implemented using Fudgets in the summer 1994. It supports forms and inlined images.

Since it fetches inlined images in parallel (this is easy to implement using Fudgets) it is ofter faster than browsers like NCSA Mosaic, that fetch one image at a time.

Implementation notes can be found in the Fudgets solution to the HTML browser challenge in the Glawgow GUI Fest documentation.

Run it! Color version.

Run it! Monochrome version. (In case the color version doesn't work on your screen...)

(updated 990415 23:43)

[Fudgets Home Page]
Thomas Hallgren