Difference between revisions of "HPL3/Scripting/AngelScript Fundamentals/Chapter 1 - Introduction"

From Frictional Wiki
Jump to navigation Jump to search
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
{{shortPageTitle}}
 
{{shortPageTitle}}
 
{{AngelScriptGuideMenu}}
 
{{AngelScriptGuideMenu}}
 +
__NOTOC__
 
'''Greetings, reader. Welcome to this tutorial on AngelScript.'''<br>
 
'''Greetings, reader. Welcome to this tutorial on AngelScript.'''<br>
 
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.
 
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.
Line 16: Line 17:
 
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).
 
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.
+
The most optimal tool we have for HPL3 is [[CodeLite]], after configuring it so that it works for AngelScript. This process is laid out in the. [[HPL3/Scripting/Setting up CodeLite|'''Setting up CodeLite''']] page.
  
 
==What Other Resources Can I Use For Help==
 
==What Other Resources Can I Use For Help==
 
You can check around in other sections of the HPL3 wiki. There is a lot of documentation on how certain things work within HPL3, from a function reference (we’ll get to those later) to recommendations on how to import custom assets. There is documentation for AngelScript as well, which you can view on the [http://www.angelcode.com/angelscript/sdk/docs/manual/doc_script.html AngelScript website]. You can also ask for help or guidance on the [https://discord.com/invite/frictionalgames Frictional Games Discord Server].
 
You can check around in other sections of the HPL3 wiki. There is a lot of documentation on how certain things work within HPL3, from a function reference (we’ll get to those later) to recommendations on how to import custom assets. There is documentation for AngelScript as well, which you can view on the [http://www.angelcode.com/angelscript/sdk/docs/manual/doc_script.html AngelScript website]. You can also ask for help or guidance on the [https://discord.com/invite/frictionalgames Frictional Games Discord Server].
 +
 +
{{NavBar|||HPL3/Scripting/AngelScript Fundamentals|AngelScript Fundamentals|HPL3/Scripting/AngelScript_Fundamentals/Chapter 2 - Structure of a Script|Chapter 2 - Structure of a Script}}
 +
 +
[[Category:HPL3 Scripting]]
 +
[[Category:English]]

Latest revision as of 22:11, 15 August 2020

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).

The most optimal tool we have for HPL3 is CodeLite, after configuring it so that it works for AngelScript. This process is laid out in the. Setting up CodeLite page.

What Other Resources Can I Use For Help

You can check around in other sections of the HPL3 wiki. There is a lot of documentation on how certain things work within HPL3, from a function reference (we’ll get to those later) to recommendations on how to import custom assets. There is documentation for AngelScript as well, which you can view on the AngelScript website. You can also ask for help or guidance on the Frictional Games Discord Server.