At least, this was true in the good old days when Fudgets were created.
The Internet has become more complicated since then, and it is no longer
possible to start the demos from this web page. But
See also the FudPaint Gallery!
+ - * / ^
sin cos tan atan
exp log sqrt abs sinh cosh
This kind of application is very suitable for implementation in a
since it requires expression parsing, symbolic expression manipulation and
evaluation of expressions, all of which is very simple to do in a functional
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.
The WebFudgets Calculator
(a simplified version).
You move the gun by pressing the left and right mouse buttons. You fire by
pressing the middle mouse button.
The 1994 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, and it was improved further in 2017 to make
it a more complete game.)
Try SpaceInvaders ported to WebFudgets.
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.
| | --- | |
| | | c | | |
| | |-h-| | |
| design | | o | | board |
| | |-i-| | |
| | | c | | |
| | |-e-| | |
| | | | | |
------------- --- ---------------
|finished des.| |update w. tile |
| | | | | | |
| | | | | | |
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).
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.
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
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
Try Otto ported to WebFudgets.
Since it fetches inlined images in parallel
(this is easy to implement using Fudgets) it is often faster than
that fetch one image at a time.
Implementation notes can be found in the Fudgets
solution to the HTML browser challenge
Glawgow GUI Fest