HPL3/Scripting/AngelScript Fundamentals/Chapter 1 - Introduction
Greetings, reader. Welcome to this tutorial on AngelScript.
If you’re here, that means you probably want to get into modding SOMA or Amnesia: Rebirth, but you don’t know how to program the code that makes the game tick. Don’t worry, everyone has to start somewhere, and hopefully, by the time you are through this tutorial series, you will have enough understanding to get started working on your own mods.
Who This Tutorial Is For
This tutorial will be primarily geared toward people who have never programmed before in any language. If you do have some programming experience, you may just want to do a cursory glance over the tutorial series to just get a handle on what some of the similarities and differences there are between HPL3’s scripting language and other popular programming languages.
While this tutorial does take some looks into the interaction between AngelScript and HPL3, it is not for people who are looking for a comprehensive guide to HPL3 game modding. This tutorial focuses on the AngelScript language specifically so as to hopefully provide a more rounded programming experience. This tutorial will not teach you how to set up a map to make it playable, but once you have created a map, you can use the knowledge in this tutorial to do the scripting for that map and make it come to life.
What is HPL3’s Scripting Language
The language used to program everything that happens within HPL3 is a language called AngelScript. It’s a language specifically developed for use in modding and scripting environments, most notably video games. Some examples of other games that use AngelScript are Amnesia, Amy, DustForce, and Overgrowth.
What Tools Should I Use to Code in AngelScript
Most popular programming languages nowadays use an Integrated Development Environment, or IDE, to speed up and streamline the development process. An IDE typically contains various helpful features, such as an auto-complete feature (when you start typing, the IDE suggests names of various things that you could be looking for), code generation (type in a code word and the IDE creates a full block of code for you), syntax highlighting (color-coding the script to make it easier to understand what is what) or refactoring (a fancy term for renaming all instances of a certain word or name).
Unfortunately, there is no native AngelScript IDE out there (yet). The closest we have to that is to use CodeLite, and reconfigure it so that it works for AngelScript. This process is laid out on a special page in the wiki, which will show you step-by-step how to setup Codelite for AngelScript use.