# Phun

Phun ist eine 2D-Physik-Engine, mit der man spielerisch die Gesetze der Physik ausprobieren kann. Phun wurde von Emil Ernerfeldt im Rahmen seines Diplomarbeitsprojektes auf der Universität Umeå entwickelt. Später wurde Phun vom Unternehmen Algoryx Simulation AB übernommen, das unter anderem von Kenneth Bodin, dem Diplomarbeitsbetreuer von Emil Ernerfeldt gegründet wurde, und bei der Emil Ernerfeldt auch jetzt arbeitet.
Phun ist gratis für nicht-kommerzielle Verwendung. Algoryx vertreibt eine kommerzielle Version von Phun unter dem Namen Algodoo. Algodoo wurde bei der BETT-Konferenz in London und bei einer BBC-Vorstellung des Intel Classmate PCs vorgestellt und kann seit Sommer 2009 als Demoversion oder kostenpflichtige Vollversion bezogen werden.
Phun gibt es für Windows, Linux und macOS und wurde in 14 Sprachen übersetzt. Lt. Hersteller wurde es mehr als 1.400.000 Mal heruntergeladen und es gibt mehr als 18.000 von Benutzern beigesteuerte Videos und Szenen.

## Überblick

Phun ist eine 2D-Physik-Engine basierend auf der SPOOK-Software für lineare Gleichungssysteme von Claude Lacoursière. Es ist in C++ geschrieben und verwendet GLEW, SDL und Boost (inkl. boost_filesystem).
Der Name „Phun“ ist eine Kombination aus „physics“ (Physik) und „fun“ (Spaß). Gerüchte besagen, dass die Namen auch aus anderen Quellen stammen könnten, wie z. B. der South-Park-Episode "Super Phun Thyme" (die eingebaute Programmiersprache von Phun heißt „Thyme“ (zu deutsch Thymian)), aber Emil Ernerfeldt streitet das ab.

## Geschichte

Die erste öffentliche Alpha-Version von Phun wurde am 31. Oktober 2007 veröffentlicht, seit Dezember 2007 kommen regelmäßig Beta-Versionen heraus. Die letzte offizielle Version ist Beta 5.28. vom 31. März 2009.

## Spielverlauf

Phun spielt in einer Sandbox, in der diverse physikalische Eigenschaften wie Schwerkraft und Luftwiderstand simuliert werden. Diese wirken auf die aus wenigen Basisbestandteilen durch den Anwender zusammensetzbaren Gegenstände. So können auch komplizierte Geräte gebaut werden, wie z. B. mechanische Rechenmaschinen, Boolesche Tore, Raketen, Waffen und Autos. Bei ausreichend leistungsfähigen Rechnern lassen sich auch Flüssigkeiten simulieren.

### Thyme

Thyme (zu deutsch Thymian) ist eine Skriptsprache, die für die Programmierung in Phun entwickelt wurde. Thyme kann benutzt werden, um Szenen zu laden und Variablen der Sandbox wie z. B. die Stärke der Schwerkraft zu steuern. Die Konsole von Phun (zu öffnen mit „F11“) erlaubt es den Benutzern, Thyme-Code einzugeben. Die Konsole bietet dafür Autovervollständigung und Typstrukturen.

## Fangemeinde

Die Phun-Fangemeinde kann ihre Arbeit unter einer Creative-Commons-Lizenz in der Phunbox – einer von der Fangemeinde dafür eingerichteten Website – teilen. Die erste Version der Phunbox wurde am 19. Mai 2008 fertiggestellt, die aktuelle Version (Phunbox2) am 19. März 2009. Anwender können seitdem auch gemeinsam an Szenen arbeiten. Auf Phunbox wurden bisher mehr als 18.000 Szenen hochgeladen. Mittlerweile ist die Phunbox offline und es kann das Portal der kommerziellen Version Algodoo verwendet werden.
Für Phun 4 gab es aufgrund des frei verfügbaren Quellcodes eine Reihe von durch Anwender geschaffenen Erweiterungen, sogenannte „Phun Gears“. Nachdem der Quellcode für Phun 5 aus kommerziellen Gründen nicht freigegeben ist, ist derartiges unter Phun 5 nicht mehr möglich.