Hollywood (programming language)
|Stable release||6.0 / February 22, 2015|
|Operating system||AmigaOS, MorphOS, WarpOS, AROS, Windows. Mac OS X, Linux, Android|
Hollywood is a commercially distributed programming language developed by Andreas Falkenhahn (Airsoft Softwair) which mainly focuses on the creation of multimedia-oriented applications. Hollywood is available for AmigaOS (68k, PowerPC), MorphOS, WarpOS, AROS, Windows, Mac OS X (i386, PowerPC), Linux (i386, PowerPC, arm), and Android (player only). Hollywood has an inbuilt cross compiler that can automatically save executables for all platforms supported by the software. The generated executables are completely stand-alone and do not have any external dependencies, so they can also be started from a USB flash drive.
The Hollywood Designer is an add-on for Hollywood with which it is possible to use Hollywood also as a presentation software and an authoring system.
Hollywood has its roots on the Amiga computer. Inspired by Amiga programming languages like AMOS, Blitz BASIC, and Amiga E, Hollywood author Andreas Falkenhahn began development of Hollywood in Spring 2002 after finishing his A-levels. Version 1.0 of the software was released in November 2002, but only for 68000-based Amiga systems. A month later, a native version for the PowerPC-based MorphOS followed. Support for WarpOS was introduced with Hollywood 1.9 which appeared in Spring 2004 together with the first release of the Hollywood Designer, a tool which can be used to create presentations with Hollywood. AmigaOS 4 is supported since March 2005. Starting with version 2.0 (released in January 2006), Hollywood is using the Lua programming language as its virtual machine, but with significant modifications in syntax and functionality. Starting with version 3.0 (January 2008), Hollywood for the first time also runs on two non Amiga inspired operating systems: Microsoft Windows and Mac OS X. Since version 4.5 (January 2010) Hollywood is also available with an integrated development environment on Windows. Since version 4.8 (April 2011) Hollywood can also compile executables for Linux. Hollywood 5.0 was released in February 2012 and introduces support for video playback and vector image formats like SVG. Starting with version 5.2 Hollywood also supports Android.
Hollywood's focus is on ease of use and platform independence. It was mainly designed for the creation of games and multimedia applications. The language set comprises roughly 500 different commands from the following fields of application: 2D graphics, sound, file system operations, text output, animations, sprites, layers, transition effects, image manipulation, saving of images and video files, time and date functions, input functions (keyboard, joystick, mouse) as well as mathematical operations and string functions. Programming in Hollywood is done via so called Hollywood scripts (using the file extension *.hws). These scripts are compiled dynamically and can be converted into stand-alone executables. All Hollywood programs run inside a sandbox, which makes it impossible for them to crash.
Hollywood was designed to be a completely platform independent programming language. Thus, scripts cannot call any API functions of the host operating system directly and are limited to the inbuilt command set. Text rendering is also implemented via a platform independent font backend that ensures that TrueType text looks exactly the same on every platform. Furthermore, all versions of Hollywood support Amiga specific file formats like IFF ILBM images, IFF 8SVX sounds, or IFF ANIM files, to be fully compatible with scripts written on an Amiga system.
A special feature of the cross-platform compiler that comes with Hollywood is the ability to link all external files (including fonts) into the executable to be built automatically. This makes it possible to create programs which consist only of a single file and can thus be easily transported and distributed. Additionally, the Hollywood compiler can compile scripts into Hollywood applets (using the file extension *.hwa). These applets are smaller than regular Hollywood programs, but they can only be started on systems that have Hollywood installed. Finally, it is also possible to export Hollywood scripts as AVI videos.
There is no integrated development environment for the Amiga compatible version of Hollywood. On these systems, Cubic IDE and Codebench can be used to develop with Hollywood as these have support for the Hollywood language through plugins. On Windows, Hollywood comes with an integrated development environment that can be used to create Hollywood scripts. The Mac OS X and Linux versions of Hollywood don't come with an IDE either and can be controlled from the console or they can integrated into other IDEs.
Hello World program
A Hello World program in Hollywood could look like this:
Print("Hello World!") WaitLeftMouse End
The code above opens a new window on the desktop, prints the text "Hello World!" in white letters and waits for the left mouse button before quitting. The opening of the window is automatically done by Hollywood. If not otherwise requested, Hollywood will automatically open a new window in the resolution of 640x480 for every script.
|Stable release||4.0 / June 17, 2012|
|Operating system||AmigaOS, MorphOS, WarpOS|
The Hollywood Designer is an add-on for Hollywood that allows the creation of presentations and kiosk systems with Hollywood. The software uses a WYSIWYG-compliant interface based on slides. Users can create as many slides as desired and fill them with texts, graphics, and sound. Hollywood Designer will then run the slides one after another or in a predefined order. Various transition effects are available. Additionally, it is possible to create applications which require user interaction, like kiosk systems.
All projects created in Hollywood Designer are displayed using Hollywood and can thus also be compiled into stand-alone executables or video files. Advanced users can also embed custom code inside their projects. Through custom code it is possible to access the complete command set of Hollywood.
Technically speaking, Hollywood Designer does nothing else but automatically generate scripts for Hollywood according to the layout defined by the user in the GUI. The process of generating scripts and running them using Hollywood is entirely hidden from the user so that programming skills are not necessary for using Hollywood Designer. However, because Hollywood Designer merely generates scripts for Hollywood, the latter is a mandatory requirement for Hollywood Designer.
The first version of Hollywood Designer was released in April 2004. Currently, the software is only available for Amiga compatible operating systems. However, thanks to the Hollywood cross-compiler, it can also save stand-alone executables for Windows, Mac OS X and Linux from the Amiga platform.
- Features of Hollywood, http://www.hollywood-mal.com/features.html
- Johnson, Magnus: Interview with Andreas Falkenhahn. Total Amiga 21 (2005), pp. 14-15.
- Schaefer, Robbie: Hollywood Multimedia. AMIGAplus 132 (2003), pp. 24-26.
- List of projects that use Lua. http://www.inf.puc-rio.br/~roberto/lua-uses.html
- Hollywood Portal, http://www.hollywood-mal.com/index.html
- Preinsack, Anton: Interview with Andreas Falkenhahn. Amiga Future 78 (2009), p. 14.
- Christoph, Michael: Hollywood 3 on Windows. Amiga Future 71 (2008), pp. 26-27.
- Cornelius, Martin: Hollywood 4.5 or Multimedia is back. Amiga Future 83 (2010), pp. 30-31.
- Hollywood plugin for Cubic IDE, https://code.google.com/p/hw4c/
- Codebench IDE with Hollywood support, http://codebench.co.uk/
- An info channel done with Hollywood Designer, http://www.ferrule-media.no More details: http://www.amiga.org/forums/printthread.php?t=49890
- Williams, Robert: Hollywood 1.9 and Designer. Total Amiga 18 (2004), pp. 18-22.
- Gutjahr, Christoph: Hollywood 1.9, Malibu and Hollywood Designer. The Triple Dream Factory. AMIGAplus 147 (2004), pp. 44-47.
- Williams, Robert: Hollywood 2.0 The Sequel. Total Amiga 23 (2006), pp. 40-42.
- Steigerwald, Martin: Multimedia pur. Amiga Magazin 7/2004, pp. 7-9.
- Official homepage and forums
- Homepage of the developer
- Cubic IDE, an IDE for Hollywood
- CodeBench, an AmigaOS 4 IDE for Hollywood and other languages
- An Infochannel created using Hollywood Designer (Norwegian)
- VAMP, the Virtual Amiga Multimedia Player (English & Spanish)