master
Miloslav Ciz 5 months ago
parent d5534d92d6
commit 6f56253fcc

@ -137,11 +137,13 @@ Trademarks have been known to cause problems in the realm of libre games, for ex
Of [proprietary](proprietary.md) video games we should mention especially those that to us have [clonning](clone.md) potential. [Doom](doom.md) (possibly also [Wolfenstein 3d](wolf3d.md)) and other 90s shooters such as [Duke Nukem 3D](duke3d.md), Shadow Warrior and [Blood](blood.md) (the great 90s [boomer shooters](boomer_shooter.md)) were excellent. [Trackmania](trackmania.md) is a very interesting racing game like no other, based on kind of [speedrunning](speedrun.md), [easy to learn, hard to master](easy_to_learn_hard_to_master.md), very entertaining even solo. The Witness was a pretty rare case of a good newer game, set on a strange island with puzzles the player learns purely by observation. [The Elder Scrolls](tes.md) (mainly Morrowind, Obvlidion and Skyrim) are very captivating [RPG](rpg.md) games like no other, with extreme emphasis on [freedom](freedom.md) and lore; [Pokemon](pokemon.md) games on [GBC](gbc.md) and [GBA](gba.md) were similar in this while being actually pretty tiny games on small old handhelds. [GTA](gta.md) games also offered a great open world freedom and fun based on violence, sandbox world and great gangster-themed story. Advance Wars was a great turn based strategy on [GBA](gba.md) (and possibly one of the best games on that console), kind of glorified [chess](chess.md) with amazing pixel art graphics. Warcraft III was possibly the best real time strategy game with awesome aesthetics. Its successor, [World of Warcraft](wow.md), is probably the most notable [MMORPG](mmorpg.md) with the same lovely aesthetics and amazing feel that would be worth bringing over to the free world (even if just in 2D or only [text](mud.md)). [Diablo](diablo.md) (one and two) were a bit similar to WoW but limited to singleplayer and a few man multiplayer; there exists a nice libre Diablo clone called [Flare](flare.md) now. Legend of Grimrock (one and two) is another rare case of actually good new take on an old concept of [dungeon crawlers](dungeon_crawler.md). Half Life games are also notable especially for their atmosphere, storyline and lore. [Minecraft](minecraft.md) was another greatly influential game that spawned basically a new genre, though we have now basically a perfect clone called [Minetest](minetest.md). [Dward Fortress](dwarf_fortress.md) is also worth mentioning as the "most complex simulation ever made" -- it would be nice to have a free clone. TODO: more.
[Gamebooks](gamebook.md) -- books that require the reader to participate in the story and make choices executed by jumping to different pages based on given choice -- are worthy of mention as an interesting combination of a [book](book.md) and a game, something similar to computer adventure games -- in gamebooks lies a great potential for creating nice LRS games.
As for the [free (as in freedom)](free_software.md) libre games, let the following be a sum up of some nice games that are somewhat close to [LRS](lrs.md), at least by some considerations.
**Computer games:** [Anarch](anarch.md) and [microTD](utd.md) are examples of games trying to closely follow the [less retarded](lrs.md) principles while still being what we would normally call a computer game. [SAF](saf.md) is a less retarded game library/fantasy console which comes with some less retarded games such as [microTD](utd.md). If you want something closer to the mainstream while caring about freedom, you probably want to check out libre games (but keep in mind they are typically not so LRS and do suck in many ways). Some of the highest quality among them are [Xonotic](xonotic.md), 0 A.D., [openarena](openarena.md), [Freedoom](Freedoom.md), Neverball, SupertuxKart, [Minetest](minetest.md), The Battle for Wesnoth, Blackvoxel etcetc. -- these are usually quite [bloated](bloat.md) though.
As for **non-computer games**: these are usually closer to LRS than any computer game. Many old board games are awesome, including [chess](chess.md), [go](go.md), [shogi](shogi.md), [xiangqi](xiangqi.md), [backgammon](backgammon.md), [checkers](cheskers.md) etc. Some card games also, TODO: which ones? :) Pen and pencil games that are amazing include [racetrack](racetrack.md), pen and pencil football etc. Nice real life physics games include [football](football.md), [marble racing](marble_racing.md) etc.
As for **non-computer games**: these are usually closer to LRS than any computer game. Many old board games are awesome, including [chess](chess.md), [go](go.md), [shogi](shogi.md), [xiangqi](xiangqi.md), [backgammon](backgammon.md), [checkers](cheskers.md) etc. [Gamebooks](game_book.md) can be very LRS -- they can be implemented both as computer games and non-computer physical books, and can further be well combined with creating a [free universe](free_universe.md). Some card games also, TODO: which ones? :) Pen and pencil games that are amazing include [racetrack](racetrack.md), pen and pencil football etc. Nice real life physics games include [football](football.md), [marble racing](marble_racing.md) etc.
## See Also
@ -153,5 +155,6 @@ As for **non-computer games**: these are usually closer to LRS than any computer
- [fantasy console](fantasy_console.md)
- [SAF](saf.md)
- [chess](chess.md)
- [gamebook](gamebook.md)
- [tangram](tangram.md)
- [game of life](game_of_life.md)

@ -85,12 +85,41 @@ Besides others gears/wheels can be used to:
*NXOR (equality) gate implemented with gears (counterclockwise/clockwise rotation mean 1/0); the bottom gear rotates counterclockwise only if the both input gears rotate in the same direction.*
### Marbles/Balls
## Buttons/Levers/Sliders/Etc.
Using marbles (and possibly also similar rolling shapes, e.g. cylinders, disks, ...) for computation is **one of the simplest** and most [KISS](kiss.md) methods for mechanical computers and may therefore be considered very worthy of our attention -- the above mentioned marble [rule 110](rule110.md) computer is a possible candidate for **the most KISS Turing complete computer**. But even with a more complicated marble computer it's still much easier to build a "marble maze" than to build a geared machine (even gears themselves aren't that easy to make).
Buttons, levers, sliders and similar mechanism can be used in ways similar to gears, the difference being their motion is linear, not circular. A button can represent a bit with its up/down position, a lever can similarly represent a bit by being pointed left/right. As seen below, implementation of basic logic gates can be quite simple, which is an advantage. Disadvantages include for example, similarly to gears, vulnerability to friction -- with many logic gates in a row it will be more difficult to "press" the inputs.
```
___ 0 ___ 0 ___ 0 ___ 0 ___ 0
_ | _________ _ | _____ | _ _ | _____ | _
| | | | | | | | | | |
| '--o---. | | '-------' | | -----.----- |
|________ | _| |_____ | _____| |_____ | _____|
_|_ --- ---
1 0
1 1 ___ 0 1 ___ 0
_---_________ _---_____ | _ _---_____ | _
| | .-| | | | | | | | | |
| | .o' | | | | __.--'' | | _|________ |
|__'-'____ | _| |__''_ | _____| |_____ | _____|
--- --- _|_
0 0 1
NOT AND OR
```
*Possible implementation of logic gates with buttons.*
### Marbles/Balls/Coins/Etc.
Using moving marbles (and possibly also similar rolling shapes, e.g. cylinders, disks, ...) for computation is **one of the simplest** and most [KISS](kiss.md) methods for mechanical computers and may therefore be considered very worthy of our attention -- the above mentioned marble [rule 110](rule110.md) computer is a possible candidate for **the most KISS Turing complete computer**. But even with a more complicated marble computer it's still much easier to build a "marble maze" than to build a geared machine (even gears themselves aren't that easy to make).
**Basic principle** is that of a marble performing computation by going through a maze -- while a single marble can be used to evaluate some simple [logic circuit](logic_circuit.md), usually (see e.g. [Turing Tumble](turing_tumble.md)) the design uses many marbles and performs sequential computation, i.e. there is typically a **bucket** of marbles placed on a high place from which we release one marble which (normally by relying on [gravity](gravity.md)) goes through the maze and performs one computation cycle (switches state, potentially flips a memory bit etc.) and then, at the bottom (end of its path), presses a switch to release the next marble from the top bucket. So the computation is autonomous, it consumes marbles from the top bucket and fills the bottom bucket (with few marbles available an operator may sometimes need to refill the top bucket from the bottom one). The maze is usually an angled board onto which we just place obstacles; multiple layers of boards with holes/tunnels connecting them may be employed to allow more complexity. { You can build it from lego probably. ~drummyfish }
If it's possible it may be actually simpler to use coins instead of marbles -- as they are flat, building a potentially multi-layered maze (e.g. with shifting elements) can be easier, it may be as simple as cutting the layers out of thick cardboard paper and stacking them one on another.
Also an alternative to having a top bucket full of marbles going to the bottom bucket is just having one marble and transporting it back up after each cycle -- this can be done very simply e.g. by tilting the maze the other way, so the computation is then powered by someone (or something) repeatedly tilting the board one way and back again; this is e.g. how the simple rule 110 computer works -- there the marble also does another work on its way back (it updates the barriers in the maze for itself and its neighbors for the next round of the downwards trip), so the "CPU cycle" has two phases.
NOTE: Balls, or potentially other "falling/moving objects", may be used to perform computation also in other ways than we'll describe further on -- some of the alternative approaches are for example:
- The **[billiard ball computer](billiard_ball_computer.md)** (which also has a great advantage of performing reversible computation).
@ -138,6 +167,8 @@ Some things that can be done with marbles include:
*Above a gear is used to select which hole an incoming marble will fall into (each hole may contain e.g. a flip-flop bit shown above). This may potentially be used to e.g. implement random access memory.*
Here are some **additional tips** for marbles: if you want to allow a marble to be only able to go one way in the maze, you can use a mini ramp (one way it will climb it and fall over but from the other way it just behaves like a wall). You can also utilize helper marbles that can e.g. temporarily lock a moving part (obstacle) in place when computation is in progress (so that the falling marbles don't move the obstacles by bumping into them), the helper marble simply falls into some small hole where it will block horizontal movement of the part that shouldn't move, and later it can be released from this hole (this is super easy with the "changing tilt" approach mentioned above, the blocking marble simply goes up and down while in one position it's blocking, in the other it's not).
### Fluids
Whether the use of fluids/gases (water, air, steam, maybe even sand, ...) is still considered mechanical computing may be debatable, but let's take a look at it anyway.

File diff suppressed because one or more lines are too long

@ -3,7 +3,7 @@
This is an autogenerated article holding stats about this wiki.
- number of articles: 539
- total size of all texts in bytes: 2750891
- total size of all texts in bytes: 2752506
longest articles:
@ -23,6 +23,15 @@ longest articles:
latest changes:
```
Date: Sat Jan 13 02:12:08 2024 +0100
bloat.md
duskos.md
mechanical.md
minimalism.md
music.md
permacomputing_wiki.md
wiki_pages.md
wiki_stats.md
Date: Fri Jan 12 20:42:29 2024 +0100
boat.md
drummyfish.md
@ -44,12 +53,6 @@ rule110.md
wiki_pages.md
wiki_stats.md
Date: Fri Jan 12 04:25:07 2024 +0100
feminism.md
game.md
mechanical.md
wiki_pages.md
wiki_stats.md
Date: Thu Jan 11 23:31:02 2024 +0100
```
most wanted pages:

Loading…
Cancel
Save