Graal3D Scripting Manual: Difference between revisions

From Graal Bible
No edit summary
No edit summary
Line 7: Line 7:
What we will focus on in this Manual is programming our gameplay (scripting the behavior of our Gameobjects, their interactions, the components attached to them...)
What we will focus on in this Manual is programming our gameplay (scripting the behavior of our Gameobjects, their interactions, the components attached to them...)


===== How things work in Unity: =====
==== How things work in Unity: ====
Unity is the leading platform for building 2D, 3D, VR and augmented reality games. It offers a scripting API in C#, allowing us to interact with the unity editor and the games we want to build.
Unity is the leading platform for building 2D, 3D, VR and augmented reality games. It offers a scripting API in C#, allowing us to interact with the unity editor and the games we want to build.


In the Unity editor, we create and add Gameobjects to our scene, we then attach C# scripts to each that will all run upon starting the scene. Unity sort of runs everything for you, it reads through all the lights, cameras, meshes, behaviors… and processes it for you.
In the Unity editor, we create and add Gameobjects to our scene, we then attach C# scripts to each that will all run upon starting the scene. Unity sort of runs everything for you, it reads through all the lights, cameras, meshes, behaviors… and processes it for you.


===== How things work in Graal3D: =====
==== How things work in Graal3D: ====
Since we will be using the Graal Unity Binding, things will be a bit different.
Since we will be using the Graal Unity Binding, things will be a bit different.


Line 19: Line 19:
The 3D Client (which you will have to download) will serve as the Unity editor, mentioned earlier, which contains the base scene where you instantiate your Gameobjects and manipulate them with your GraalScripts.
The 3D Client (which you will have to download) will serve as the Unity editor, mentioned earlier, which contains the base scene where you instantiate your Gameobjects and manipulate them with your GraalScripts.


===== Required Downloads =====
==== Required Downloads ====
'''Unity 2019.4.10f1:''' https://unity3d.com/get-unity/download/archive
'''Unity 2019.4.10f1:''' https://unity3d.com/get-unity/download/archive


Line 25: Line 25:


'''RC:''' http://fp4.ca/windows_rc3_beta.zip
'''RC:''' http://fp4.ca/windows_rc3_beta.zip
==== Tools ====
Unity Tools (''mimic the Unity Editor)'' & Game Functionality Tools ''(warping, fixing graphics, starting minigames...):'' <u>[[Tools]]</u>


== Documentation ==
== Documentation ==
Line 30: Line 33:
*[[Getting Started Examples]]
*[[Getting Started Examples]]
*[[Uploading and Loading AssetBundles]]
*[[Uploading and Loading AssetBundles]]
*[[Documentation]]
*[[3DTutorials|Tutorials]]
*[[3DTutorials|Tutorials]]
*[[Tools]]
*[[Tools]]

Revision as of 04:58, 2 June 2021

Intro

Graal kart start.jpg

Welcome to the Graal3D Scripting Manual!

This Manual comes in handy for beginners wanting to learn Graal3D Scripting, and advanced developers looking to expand their knowledge, as it will contain documentation, examples, tutorials and much more...

What we will focus on in this Manual is programming our gameplay (scripting the behavior of our Gameobjects, their interactions, the components attached to them...)

How things work in Unity:

Unity is the leading platform for building 2D, 3D, VR and augmented reality games. It offers a scripting API in C#, allowing us to interact with the unity editor and the games we want to build.

In the Unity editor, we create and add Gameobjects to our scene, we then attach C# scripts to each that will all run upon starting the scene. Unity sort of runs everything for you, it reads through all the lights, cameras, meshes, behaviors… and processes it for you.

How things work in Graal3D:

Since we will be using the Graal Unity Binding, things will be a bit different.

The Graal Unity Binding is a binding between GraalScript and Unity, it is actually still in alpha, but most functionalities needed are present. The goal of this binding is to mimic the Unity C# scripting system (functions and classes). So if you are familiar with Unity and C#, everything should be easy. If not, then do not worry, I will go over everything step by step and include examples done in C# and compare them to GraalScript for each topic.

The 3D Client (which you will have to download) will serve as the Unity editor, mentioned earlier, which contains the base scene where you instantiate your Gameobjects and manipulate them with your GraalScripts.

Required Downloads

Unity 2019.4.10f1: https://unity3d.com/get-unity/download/archive

The Graal3D Client: https://drive.google.com/drive/u/0/folders/1rpOli0fxnA-Q7-IpYg3rUFJ44M0PsSxd

RC: http://fp4.ca/windows_rc3_beta.zip

Tools

Unity Tools (mimic the Unity Editor) & Game Functionality Tools (warping, fixing graphics, starting minigames...): Tools

Documentation