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
AmigaOS is a family of proprietary native operating systems of the Amiga and AmigaOne personal computers. It was developed first by Commodore International and introduced with the launch of the first Amiga, the Amiga 1000, in 1985. Early versions ...
,
MorphOS,
WarpOS,
AROS,
Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
,
macOS
macOS, previously OS X and originally Mac OS X, is a Unix, Unix-based operating system developed and marketed by Apple Inc., Apple since 2001. It is the current operating system for Apple's Mac (computer), Mac computers. With ...
,
Linux
Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
,
Android, and
iOS. 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
A flash drive (also thumb drive, memory stick, and pen drive/pendrive) is a data storage device that includes flash memory with an integrated USB interface. A typical USB drive is removable, rewritable, and smaller than an optical disc, and u ...
. An optional add-on also allows users to compile projects into
APK files.
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.
History
Hollywood has its roots on the
Amiga computer. Inspired by Amiga programming languages like
AMOS,
Blitz BASIC, and
Amiga E
Amiga E is a programming language created by Wouter van Oortmerssen on the Amiga computer. The work on the language started in 1991 and was first released in 1993. The original incarnation of Amiga E was being developed until 1997, when the pop ...
, 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
PowerPC (with the backronym Performance Optimization With Enhanced RISC – Performance Computing, sometimes abbreviated as PPC) is a reduced instruction set computer (RISC) instruction set architecture (ISA) created by the 1991 Apple Inc., App ...
-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
In computing, a virtual machine (VM) is the virtualization or emulator, emulation of a computer system. Virtual machines are based on computer architectures and provide the functionality of a physical computer. Their implementations may involve ...
, but with significant modifications in
syntax
In linguistics, syntax ( ) is the study of how words and morphemes combine to form larger units such as phrases and sentences. Central concerns of syntax include word order, grammatical relations, hierarchical sentence structure (constituenc ...
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 macOS. Since version 4.5 (January 2010) Hollywood is also available with an
integrated development environment
An integrated development environment (IDE) is a Application software, software application that provides comprehensive facilities for software development. An IDE normally consists of at least a source-code editor, build automation tools, an ...
on Windows. Since version 4.8 (April 2011) Hollywood can also compile executables for
Linux
Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
. 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 6.0 was released in February 2015 and introduces support for
OpenGL
OpenGL (Open Graphics Library) is a Language-independent specification, cross-language, cross-platform application programming interface (API) for rendering 2D computer graphics, 2D and 3D computer graphics, 3D vector graphics. The API is typic ...
programming via a dedicated plugin as well as support for the
Raspberry Pi
Raspberry Pi ( ) is a series of small single-board computers (SBCs) developed in the United Kingdom by the Raspberry Pi Foundation in collaboration with Broadcom Inc., Broadcom. To commercialize the product and support its growing demand, the ...
. Hollywood 7.0 was released in March 2017 and introduces
Unicode
Unicode or ''The Unicode Standard'' or TUS is a character encoding standard maintained by the Unicode Consortium designed to support the use of text in all of the world's writing systems that can be digitized. Version 16.0 defines 154,998 Char ...
support and support for
64-bit architectures.
General information
Hollywood's focus is on ease of use and platform independence. It was mainly designed for the creation of games and
multimedia
Multimedia is a form of communication that uses a combination of different content forms, such as Text (literary theory), writing, Sound, audio, images, animations, or video, into a single presentation. T ...
applications. The language set comprises roughly 900 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
A sandbox is a sandpit, a wide, shallow playground construction to hold sand, often made of wood or plastic.
Sandbox or sand box may also refer to:
Arts, entertainment, and media
* Sandbox (band), a Canadian rock music group
* Sandbox (Gu ...
, which makes it impossible for them to crash.
Platform independence
Hollywood was designed to be a completely platform independent programming language. Thus, scripts cannot call any API functions of the host
operating system
An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ...
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.
GUI development
There are several GUI toolkits for Hollywood. RapaGUI is a cross-platform GUI plugin for Hollywood which supports Windows, macOS, Linux, and AmigaOS. RapaGUI uses native GUI controls provided by the respective host operating system giving all RapaGUI applications a native look and feel. MUI Royale is a GUI toolkit for Hollywood which can be used to create GUIs using the
Magic User Interface. Another GUI toolkit for Hollywood is HGui. In contrast to RapaGUI and MUI Royale, HGui draws its GUI controls itself which makes its graphical user interfaces look exactly the same on every platform.
Compiler
A special feature of the
cross-platform
Within computing, cross-platform software (also called multi-platform software, platform-agnostic software, or platform-independent software) is computer software that is designed to work in several Computing platform, computing platforms. Some ...
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.
Development environment
There is no
integrated development environment
An integrated development environment (IDE) is a Application software, software application that provides comprehensive facilities for software development. An IDE normally consists of at least a source-code editor, build automation tools, an ...
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
macOS
macOS, previously OS X and originally Mac OS X, is a Unix, Unix-based operating system developed and marketed by Apple Inc., Apple since 2001. It is the current operating system for Apple's Mac (computer), Mac computers. With ...
and
Linux
Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
versions of Hollywood do not come with an IDE either and can be controlled from the console or else 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.
Hollywood Designer
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.
[Steigerwald, Martin: Multimedia pur. Amiga Magazin 7/2004, pp. 7-9.] 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
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
,
macOS
macOS, previously OS X and originally Mac OS X, is a Unix, Unix-based operating system developed and marketed by Apple Inc., Apple since 2001. It is the current operating system for Apple's Mac (computer), Mac computers. With ...
and
Linux
Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
from the Amiga platform.
References
External links
*
Cubic IDE an IDE for Hollywood
CodeBench an AmigaOS 4 IDE for Hollywood and other languages
An Infochannel created using Hollywood Designer(Norwegian)
the Virtual Amiga Multimedia Player (English & Spanish)
Homepage of KeHoSoftware Hollywood LCARS SmartHome SmartSensor Project (English & German)
{{DEFAULTSORT:Hollywood (Programming Language)
Amiga development software
AmigaOS 4 software
AROS software
Cross-platform software
Integrated development environments
MorphOS software
Presentation software
Procedural programming languages
Video game development software
Programming tools for Windows
MacOS programming tools
Programming languages created in 2002