# Multimedia Fusion

Multimedia Fusion (MMF) ist eine objektorientierte Multimedia-Entwicklungssoftware zur Erstellung von Softwareanwendungen, wie Tools, Spielen, Bildschirmschonern oder Präsentationen für Personalcomputer mit Windows-Betriebssystem. Produziert und vertrieben wird MMF seit 1998 von der Herstellerfirma Clickteam (CT).

## Geschichte

MMF ist der Nachfolger der Programmierwerkzeuge Klik and Play (KNP, 1994 veröffentlicht), The Games Factory (TGF, 1996 veröffentlicht) und Click and Create (C&C, 1996 veröffentlicht). Wie alle seine Vorgänger zeichnet sich auch MMF durch das besondere Programmierungssystem aus, das sogar Programmierlaien ermöglicht, schnell Anwendungen zu programmieren.
Die erste Version von MMF wurde bereits 1998 unter dem Druck des Publishers IMSI von CT veröffentlicht. Diese Version enthielt einige Bugs, die sich erst nach und nach durch Aktualisierungen beheben ließen. MMF wurde bis zu der Veröffentlichung von MMF 2 in der stabilen Version 1.5 vertrieben.
Das Nachfolgeprodukt Multimedia Fusion 2 ist am 30. Juni 2006 erschienen. Es wird 100%ige Kompatibilität zu alten MMF-Projekten versprochen; Erweiterungsobjekte müssen allerdings neu kompiliert werden.

## Einsatzbereich/Programmierung

Eingesetzt wird MMF vor allem im Gamedesign, wobei es besonders bei Hobbyprogrammieren wegen des leicht zu erlernenden Programmierkonzepts beliebt ist. Von Firmen wird MMF fast ausschließlich zu Rapid-Prototyping-Zwecken eingesetzt, da der Funktionsumfang von MMF gegenüber einer Programmiersprache stark begrenzt ist. Mittlerweile wird MMF von professionellen Entwicklern vermehrt zur Entwicklung von Casual Games genutzt.
Das Besondere an der Programmierung ist, dass kein Befehl selbst geschrieben werden muss, sondern nur per Maus ausgewählt wird. So können Syntax-Fehler praktisch ausgeschlossen werden. Des Weiteren ist Multimedia-Fusion bereits mit einer kompletten Basis-Engine, sowie zahlreichen Editoren ausgestattet, die eine extrem schnelle Entwicklung von Software ermöglichen.
Die Haupteditoren, die bei MMF Verwendung finden sind der sogenannte Storyboard-Editor, der Leveleditor und der Eventeditor.
Im Leveleditor kann der jeweilige Frame designt werden. Dazu stehen den Programmierer verschiedene Objekte (auch Extensions (engl. Erweiterungen) genannt) zur Verfügung. Jedes dieser Objekte stellt eigene Funktionen bereit, die Conditions (Bedingungen), Actions (Aktionen) und Expressions (Ausdrücke) ermöglichen. Nachdem die Objekte im Leveleditor positioniert und eingerichtet worden sind, können sie im Eventeditor programmiert werden. Dafür wird die If-Kontrollstruktur benutzt, die mit den unterschiedlichen Funktionen der Objekte verknüpft wird. Anschließend können die Objekte durch Funktionen zueinander relativiert werden. While- oder For-Schleifen können durch sogenannte FastLoops simuliert werden. Des Weiteren gibt es die Möglichkeit Objekte und Befehle zu Gruppen zusammenzufassen, welche an die Programmiersprache C++ erinnert, mit der MMF selbst in weiten Teilen programmiert wurde.
Es gibt die Möglichkeit eigene Objekte zu programmieren und hinzuzufügen, so dass MMF theoretisch um beliebige Funktionen erweiterbar ist. Zurzeit wird sogar an der Implementierung der 3D-Engine Irrlicht, welche aus C++ Kreisen bekannt ist, gearbeitet. Für die Programmierung solcher Objekte sind allerdings fundierte Kenntnisse in VC++ und MMF nötig.
Um die eigene Anwendung auf Logik-Fehler zu untersuchen, kompiliert man das Programm, wobei es möglich ist nur einzelne Abschnitte (Frames) der Anwendung zu kompilieren und zu prüfen.
Wenn ein Bug gefunden wurde, fällt es verhältnismäßig leicht, den Fehler in MMF-Anwendungen auszumachen, da der Eventeditor die Befehle übersichtlich in einer Matrix darstellt und in dieser die Befehle einfach per Drag and Drop verschoben und sortiert werden können.
Diese Art des Programmierens vereinfacht den Entwicklungsprozess erheblich, bringt aber auch viele Nachteile mit sich. So ist MMF wenig performant, da verschiedene Befehle in so genannten Extensions zusammengefasst werden, die nur unter Einbindung des gesamten Objekts verwendet werden können. Dadurch wird unnötig Speicher verbraucht. Ebenso verhält es sich mit den Befehlen der Objekte, die häufig die vom Programmierer der Extension voreingestellte Variablen benutzen, die eventuell überhaupt nicht beansprucht werden. So kommt es, dass selbst Anwendungen, die keinen „eigenständigen Code“ des Programmierers besitzen schon viel Arbeitsspeicher belegen, kompiliert viel Festplattenspeicher verbrauchen und den Computer sogar auslasten können.
Letztendlich bleibt es dem Programmierer selbst überlassen, ob er sich für den einfachen, verhältnismäßig begrenzten und unökonomischen Weg des WYSIWYG-Programmiertools oder den universalen, sehr zeitaufwendigen Weg der Programmiersprachen entscheidet.
Für Gelegenheits- oder Hobbyprogrammierer bietet MMF die Möglichkeit, eigene Ideen relativ schnell und kreativ umzusetzen.

## MMF-Anwendungen

Wie bereits erwähnt wird MMF überwiegend zu der Erstellung von Spielen verwendet, obwohl, wie es der Name schon verlauten lässt, eigentlich alle Bereiche der Multimedia-Anwendungen abgedeckt sind. So können verschiedene Objekte beispielsweise mit Webservern, Datenbanken und Mediendateien interagieren. Dadurch werden dem Programmierer eine Vielzahl Möglichkeiten zur Verfügung gestellt, welche die Erstellung von anspruchsvollen Anwendungen erlauben.
MMF Projekte können als Java-Applets kompiliert und auf diese Art in Websites eingebunden werden. Seit März 2010 bietet Clickteam auch eine kostenpflichtige Erweiterung an, die den Export in das Flash-Format ermöglicht, und damit eine weitere Möglichkeit, mit MMF erstellte Projekte auf Websites zu publizieren. Die Publikationsplattform Website nimmt in der Weiterentwicklung von MMF also eine zentrale Bedeutung ein.

## Kurioses

Bereits bei Klik@Play (dem quasi Urgroßvater von MMF) wurde die Möglichkeit der Künstlichen Intelligenz angekündigt, jedoch bis Version MMF2 noch nicht realisiert.
Beispielanwendungen, welche mit MMF programmiert wurden:

### Spiele

* EternalDaughter (RPG)
* Entrance Gate (Action)
* Arunderan (RPG)
* I wanna be the guy (Jump'n'Run)
* Death Cargo (Beat 'em Up)
* Five Nights At Freddy's (Survival Horror)
* Freedom Planet (Jump'n'Run)

## Community

MMF ist Inhalt vieler internationaler Communitys. Die bekannteste und am meisten besuchte ist „The Daily Click“. Diese zeichnet sich durch tägliche Aktualisierungen und umfangreiche Funktionen aus. Eine ebenso interessante Community ist Klick-Me, die sich vornehmlich fortgeschrittenen Benutzern widmet. Die einzige deutsche Community ist Clickzone.de.