Graal3D Scripting Manual: Difference between revisions
No edit summary |
(Added a section to link to the form to get access to testbed3d server to start development.) |
||
(30 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
== Intro == | == Intro == | ||
[[File:Graal kart start.jpg|center|frame]] | |||
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 contains 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. | 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 Worlds Client (which you will have to download) will serve as the Unity base scene where you instantiate your GameObjects and manipulate them with your GraalScripts. | |||
==== Required Downloads: ==== | |||
'''Unity 2020.2.2f1:''' <nowiki>https://unity3d.com/get-unity/download/archive</nowiki> | |||
'''The Worlds Client:''' <nowiki>https://www.graalonline.com/playerworlds/downloads/file?name=WorldsSetup64-518.exe</nowiki> | |||
'''RC:''' More here ([[Creation/Management/Remote Control|RC]]) or download directly here http://fp4.ca/windows_rc3_beta.zip | |||
==== Get Started With Testbed3D Development: ==== | |||
After downloading Unity, the worlds client, and RC3, you can now submit through the google form below to be given access to testbed3D and start your GS2 and Graal3D scripting journey. | |||
[http://fp4.ca/windows_rc3_beta.zip https://forms.gle/4oYnmKzQ85MVDyB99] | |||
[[File:RC3 testbed3D.png|center|frameless|388x388px]] | |||
Once you login in RC3 and see "Testbed3d" in your server list congratulations you have been accepted and can now start development on the Testbed3D server. | |||
==== Tools ==== | |||
In-game Unity Tools (''mimic the Unity Editor)'' & Game Functionality Tools ''(warping, fixing graphics, starting minigames...):'' <u>[[Tools]]</u> | |||
== Documentation == | == Documentation == | ||
==== Unity ==== | |||
* [[Overview On Unity Basics]] | * [[Overview On Unity Basics]] | ||
==== AssetBundles ==== | |||
* [[Uploading and Loading AssetBundles]] | |||
*[[Placing GameObjects in NPC]] | |||
==== Examples and Tutorials ==== | |||
*[[Getting Started Examples]] | *[[Getting Started Examples]] | ||
*[[3DTutorials|Tutorials]] | *[[3DTutorials|Tutorials]] | ||
*[[ | *[[Unity UI]] | ||
==== Classes, Functions and Variables ==== | |||
* [https://quattro3d.graalonline.com/Documentation/ Quattro3D Scripting] |
Latest revision as of 11:33, 1 December 2021
Intro
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 contains 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 Worlds Client (which you will have to download) will serve as the Unity base scene where you instantiate your GameObjects and manipulate them with your GraalScripts.
Required Downloads:
Unity 2020.2.2f1: https://unity3d.com/get-unity/download/archive
The Worlds Client: https://www.graalonline.com/playerworlds/downloads/file?name=WorldsSetup64-518.exe
RC: More here (RC) or download directly here http://fp4.ca/windows_rc3_beta.zip
Get Started With Testbed3D Development:
After downloading Unity, the worlds client, and RC3, you can now submit through the google form below to be given access to testbed3D and start your GS2 and Graal3D scripting journey.
https://forms.gle/4oYnmKzQ85MVDyB99
Once you login in RC3 and see "Testbed3d" in your server list congratulations you have been accepted and can now start development on the Testbed3D server.
Tools
In-game Unity Tools (mimic the Unity Editor) & Game Functionality Tools (warping, fixing graphics, starting minigames...): Tools