Categories
Uncategorized

Advanced Tutorials

The advanced tutorials have been designed to test your creative and technical abilities, you should only attempt these if you’re confident that you have understood the editor and features of Crayta.

Tags: Level Design, Voxels, Starter Game
Advanced Level Design : Voxels

The first of our level design specific tutorials, this covers how to use the voxel tool to create a terrain and some medieval style buildings in your own game level.

More

Skill Level: 4
Skill Type(s): Artist, Designer
Format: Written
Tags: Level Design, Voxels
Advanced Level Design : Props

The second of our level design tutorials covers how to use the meshes from the asset library to add to the medieval theming of the level.

More

Skill Level: 4
Skill Type(s): Artist, Designer
Format: Written
Tags: Level Design, World, Lighting
Advanced Level Design : Lighting, skydome and fog

The third of our level design tutorials covers how to use the game global settings to affect the time of day, fog and background elements and set the mood of your level.

More

Skill Level: 4
Skill Type(s): Artist, Designer
Format: Written
Tags: Level Design, Particles, Performance
Advanced Level Design : Particles and optimisation

In the finale of our level design tutorial we look at the importance of optimising your level for the player experience. We also cover how to use particle effects to breath some additional life into the environment.

More

Skill Level: 4
Skill Type(s): Artist, Designer
Format: Written
Tags: Serialization, Scripting
Crayta Tutorial: Saving Progress

In this tutorial Andy takes a look at how you can manage save points in a game to control where to load a player as they join. It’s a great way to learn more about the saving and loading API within the Crayta editor!

More

Skill Level: 4
Skill Type(s): Programmer, Designer
Format: Video
Tags: Quick Guides, Game Mechanics, Scripting
Quick Guide – Basic Crafting: How to Craft Items!

Continuing on from last week we’re taking a look at a more advanced crafting system that you can make yourself in Crayta!

More

Skill Level: 4
Skill Type(s): Designer
Format: Video
Tags: Game Mechanics, Scripting
Crayta Tutorial – Basic Crafting: How to Craft Items!

Continuing on from last week we’re taking a look at a more advanced crafting system that you can make yourself in Crayta!

More

Skill Level: 4
Skill Type(s): Designer, Programmer
Format: Video
Tags: Quick Guides, Game Mechanics, Scripting
Quick Guide – Pets That Follow You

Ever wanted your very own pet duck that follows you, well here we are! In this tutorial Andy shows us a simple way to get a companion that follows you in game.

More

Skill Level: 4
Skill Type(s): Programmer, Designer
Format: Video
Tags: Game Mechanics, Scripting
Crayta Tutorial – Pets That Follow You

Ever wanted your very own pet duck that follows you, well here we are! In this tutorial Andy shows us a simple way to get a companion that follows you in game.

More

Skill Level: 4
Skill Type(s): Programmer, Designer
Format: Video
Tags: Quick Guides, Game Mechanics, Scripting, Animation
Quick Guide – Pets Part 2: Entity Timelines

Andy and his duck are back for more learning in Crayta. This time we’re taking a closer look at entity timelines and how they can be used to achieve key-frame animations within the editor.

More

Skill Level: 4
Skill Type(s): Programmer, Designer
Format: Video
Tags: Game Mechanics, Scripting, Movement, Animation
Crayta Tutorial – Pets Part 2: Entity Timelines

Andy and his duck are back for more learning in Crayta. This time we’re taking a closer look at entity timelines and how they can be used to achieve key-frame animations within the editor.

More

Skill Level: 4
Skill Type(s): Programmer, Designer
Format: Video
Tags: Game Mechanics, Scripting
Crayta Tutorial – How to Transform Items

In this weeks tutorial Andy is getting crafty as he shows us his implementation of a crafting system in Crayta.

More

Skill Level: 4
Skill Type(s): Programmer
Format: Video
Tags: Quick Guides, Game Mechanics, Scripting
Quick Guide – How to make things slippery

Ever wanted to make that oil slick voxel slippery for players in your game? Well check out this latest tutorial where Andy covers ways to implement “slippery physics” in your games!

More

Skill Level: 4
Skill Type(s): Programmer
Format: Video
Tags: Game Mechanics, Scripting
Crayta Tutorial – How to make things slippery

Ever wanted to make that oil slick voxel slippery for players in your game? Well check out this latest tutorial where Andy covers ways to implement “slippery physics” in your games!

More

Skill Level: 4
Skill Type(s): Programmer
Format: Video
Tags: Scripting, Inventory, Quick Guide, Game Mechanics
Quick Guide – How to make a Random Reward Generator

In this week’s Quick Guide, Andy takes you through how to create a system where you randomly award powerups, weapons and other such items to players via a chest or other mechanic.

More

Skill Level: 4
Skill Type(s): Programmer
Format: Video
Tags: Scripting, Inventory, Game Mechanics
Crayta Tutorial – How to make a Random Reward Generator

In this week’s Tutorial, Andy takes you through how to create a system where you randomly award powerups, weapons and other such items to players via a chest or other mechanic.

More

Skill Level: 4
Skill Type(s): Programmer
Format: Video
Tags: Game Mechanics, Scripting
Crayta Tutorial – How to make a working furnace

As we continue our tutorial series into all things Mechanical Revolution we’ll start to heat things up and look at how to make a working furnace!

More

Skill Level: 4
Skill Type(s): Programmer
Format: Video
Tags: Game Mechanics, Scripting, Movement
Crayta Tutorial – Working with gears

The Mechanical Revolution season may have ended but that’s not going to stop Andy continuing to show you all things mechanical! This week we’re looking at how to work with gears!

More

Skill Level: 4
Skill Type(s): Programmer
Format: Video
Categories
Uncategorized

Intermediate Tutorials

This set of tutorials will help you to build on your abilities to create more unique and in-depth experiences for your players in Crayta!

Tags: Events, Interaction, Design Basics, Game Mechanics
Using events

By using the events system you can make your character interact with various entities inside of Crayta.

More

Skill Level: 3
Skill Type(s): Designer
Format: Written
Tags: UI, Events
Creating UI

Create on-screen UI element to appear when you interact with an object or lose a life.

More

Skill Level: 3
Skill Type(s): Designer
Format: Written
Tags: Triggers, Programming, Scripting, Game Mechanics
A Highly Dangerous Football Game

In this tutorial you will use the team deathmatch starter game and build upon it to create a more dangerous version of football. This covers how to use physics, triggers and the damage function within the scripting API to remix a standard template game.

More

Skill Level: 3
Skill Type(s): Programmer, Designer
Format: Written
Tags: Scripting, Player, Interaction
Introduction to Lua Scripting in Crayta

A basic example covering how a basic script is structured and how to access the API debug tools to spot issues with your code.

More

Skill Level: 3
Skill Type(s): Programmer, Designer
Format: Written
Tags: Coding Basics
Code Editor Shortcut Keys

A basic tutorial on the common shortcut keys you can use to navigate the code editor.

More

Skill Level: 3
Skill Type(s): Programmer, Designer
Format: Written
Tags: UI, Interaction
Introduction to Widgets, building a game UI

How to create a simple UI that will tell you what entities you have collected when you interact with them.

More

Skill Level: 3
Skill Type(s): Programmer
Format: Written
Tags: Networking, Programming
Client/Server relationship and how they communicate

The basics on how to understand the client and server relationship, when you should use each and how to communicate across them.

More

Skill Level: 3
Skill Type(s): Programmer
Format: Written
Tags: UI, Design Basics
Using Fonts in Crayta

How to access additional fonts in Crayta that can be used to improve the styling of your UI elements.

More

Skill Level: 3
Skill Type(s): Designer, Artist
Format: Written
Tags: UI, Interaction, Inventory, Pickups
How to use the Inventory package

The inventory package is one of the packages developed exclusively by the Crayta team. It has a lot of options that can be used to have your player be able to pickup, store and even sell items. This tutorial covers how you can use the package to hold items in an inventory bar and how to re-theme the UI that is displayed.

More

Skill Level: 3
Skill Type(s): Programmer, Designer
Format: Written
Tags: Packages
Packages, migrating level components from one game to another

Packages can be used to share your work with the community so they can remix your contributions into their games. You can also use the package tool to share work between multiple game you’re working on. This guide goes through how to use the community tab to upload/download your packages to migrate between games.

More

Skill Level: 3
Skill Type(s): Programmer
Format: Written
Tags: Design Basics
Getting Feedback – Part One

In the first part of this new mini-series on feedback Andy outlines just some of the ways that you can obtain and process feedback once your brand new Crayta game is published and out in the wild!

More

Skill Level: 3
Skill Type(s): Designer
Format: Video
Tags: Design Basics
Getting Feedback – Part Two

In part two of our feedback mini-series Andy takes us through some of the feedback he has received for his game on stream as well as the various other recommended places. Follow along the process as he looks through it all and updates his game live in the editor!

More

Skill Level: 3
Skill Type(s): Designer
Format: Video
Tags: Design Basics
Getting Feedback – Part Three

In this final part of our feedback mini-series Andy takes us through the changes that he has made to his game based on all of the great feedback that he has received over the previous week.

More

Skill Level: 3
Skill Type(s): Designer
Format: Video
Tags: Scripting, Triggers
Crayta Tutorial – Building Games in 15 minutes

Struggling to get a concept together or never quite able to wrap up a project? In this tutorial Andy shows how it’s possible to make a game in Crayta in as little as 15 minutes! This is a great way to get a core concept worked out that you can then gain feedback on and iterate upon.

More

Skill Level: 3
Skill Type(s): Programmer
Format: Video
Tags: Game Design
Crayta Tutorial – Creating Games WIth Meaning

Sometimes games can be about more than high scores and fastest times, they can be short experiences designed to take the player on a journey of discovery or be thought provoking on a subject you as a creator care about. In this tutorial Andy explains with an example how easy it is to create games with meaning in Crayta!

More

Skill Level: 3
Skill Type(s): Designer
Format: Video
Tags: World, Lighting, Level Design
Crayta Tutorial: Lighting

Tutorials guru Andy Sargeant shows different types of light you can use in Crayta, how to use them effectively, and a variety of dramatic results you can achieve with those lights.

More

Skill Level: 3
Skill Type(s): Artist, Designer
Format: Video
Tags: Voxels
Crayta Tutorial: Voxel meshes

This tutorial explains what voxel meshes are, why you might want to use them, and how to use them in Crayta.

More

Skill Level: 3
Skill Type(s): Artist, Designer
Format: Video
Tags: Inventory, Pickups, Scripting, Spawning
Crayta Tutorial: Traps

Want to make a game in Crayta where players can lay traps for other players? Then this is the tutorial you’re looking for! Consider thinking outside the box and turning what you learn in this tutorial into new types of traps, rewards or surprise events.

More

Skill Level: 3
Skill Type(s): Designer, Programmer
Format: Video
Tags: Scripting, Packages, Spawning, Player
Crayta Tutorial: Working with the game script properties

In this tutorial, Andy will take a deeper dive into the various properties that are available to users on the stock game script. These properties are a great way to define your own game rules without needing to change a single line of code!

More

Skill Level: 3
Skill Type(s): Designer, Programmer
Format: Video
Tags: Voxels, Level Design
Crayta Masterclass: Building games with powerful voxel tools

In this masterclass stream, we’ll be taking a look at the powerful voxel editing tools available in Crayta. We’ll show how you can make beautiful landscapes and use voxels in your own game creations.

More

Skill Level: 3
Skill Type(s): Designer, Artist
Format: Video
Tags: UI, Quick Guides, Scripting
Quick Guide – UI Animations

Want to make your UI more exciting and eye catching? Perhaps you want to signpost UI elements to players at certain times in your game? In this tutorial Andy shows you how you can achieve all of this with UI animations in CSS!

More

Skill Level: 3
Skill Type(s): Designer, Programmer
Format: Video
Tags: UI, Scripting
Crayta Tutorial – UI Animations

Want to make your UI more exciting and eye catching? Perhaps you want to signpost UI elements to players at certain times in your game? In this tutorial Andy shows you how you can achieve all of this with UI animations in CSS!

More

Skill Level: 3
Skill Type(s): Designer, Programmer
Format: Video
Tags: Quick Guides, Game Mechanics, Scripting
Quick Guide – Stealth

In this weeks tutorial Andy explores ways that we can script cameras to detect players, opening up a whole host of great stealth mechanics and game types. Be sure to check out the package too here: https://forum.crayta.com/t/andys-stealth-package/1253

More

Skill Level: 3
Skill Type(s): Designer, Programmer
Format: Video
Tags: Game Mechanics, Scripting
Crayta Tutorial – Stealth

In this weeks tutorial Andy explores ways that we can script cameras to detect players, opening up a whole host of great stealth mechanics and game types. Be sure to check out the package too here: https://forum.crayta.com/t/andys-stealth-package/1253

More

Skill Level: 3
Skill Type(s): Designer, Programmer
Format: Video
Tags: Quick Guides, Interaction, Simulation
Quick Guide – TrackWorx: Moving Trains on a Track [No Scripting]

Want to get some full functioning trains into your Crayta creations? Look no further than the TrackWorx package made by a member of the Unit 2 Games code team!

More

Skill Level: 3
Skill Type(s): Designer
Format: Video
Tags: Interaction, Simulation
Crayta Tutorial – TrackWorx: Moving Trains on a Track [No Scripting]

Want to get some full functioning trains into your Crayta creations? Look no further than the TrackWorx package made by a member of the Unit 2 Games code team!

More

Skill Level: 3
Skill Type(s): Designer
Format: Video
Tags: Quick Guides, Interaction, Simulation, Scripting
Quick Guide – Using the TrackWorx Package: Part 2

In this tutorial Andy continues looking deeper into the incredible TrackWorx package available in the community tab in Crayta.

More

Skill Level: 3
Skill Type(s): Designer, Programmer
Format: Video
Tags: Interaction, Simulation, Scripting
Crayta Tutorial – Using the TrackWorx Package: Part 2

In this tutorial Andy continues looking deeper into the incredible TrackWorx package available in the community tab in Crayta.

More

Skill Level: 3
Skill Type(s): Designer, Programmer
Format: Video
Tags: Console, Performance
Crayta Tutorial – Using the console and performance window

Andy brings us another tutorial, this time looking at how you can get information from code at runtime and what all the various statistics mean in the performance window.

More

Skill Level: 3
Skill Type(s): Designer, Programmer
Format: Video
Tags: UI, Scripting
Crayta Tutorial: User Interface

Part of designing a multiplayer game includes thinking about which user interface elements are presented to specific players. Find out more about adding and customising text and user interface elements in your game world in this tutorial.

More

Skill Level: 3
Skill Type(s): Programmer
Format: Video
Tags: Quick Guides, Scripting, Performance
Crayta Quick Guide: Object Pooling

Object pooling is a programming pattern used by game developers to manage resources – here’s a quick look at object pooling in Crayta!

More

Skill Level: 3
Skill Type(s): Programmer
Format: Video
Tags: Scripting, Performance
Crayta Tutorial: Object Pooling

Object pooling is a programming pattern used by game developers to manage resources – here’s a quick look at object pooling in Crayta!

More

Skill Level: 3
Skill Type(s): Programmer
Format: Video
Tags: Scripting
Crayta Tutorial: Level Select

Are you creating a game with multiple worlds in Crayta and wondering how you can navigate between them? Find out how you can make a level select screen for your game in this tutorial.

More

Skill Level: 3
Skill Type(s): Programmer
Format: Video
Tags: Coding Basics
Crayta Tutorial: Observer Pattern

Learn more about programming patterns and how you can implement them in this scripting tutorial which features a dodgeball game!

More

Skill Level: 3
Skill Type(s): Programmer
Format: Video
Tags: Scripting, Combat
Crayta Tutorial: Grenades

Curious about how to make a grenade for your game in Crayta? There are many different types of grenades you can make, as well as different ways of doing so. Here’s one suggestion from Andy, feel free to share yours over at the official Crayta Discord server or the forum though!

More

Skill Level: 3
Skill Type(s): Programmer
Format: Video
Tags: Scripting, Combat
Crayta Tutorial: Projectile weapons 1.01

In this tutorial, Andy will show how you can make a rocket launcher in Crayta. There is some scripting involved for those of you who are comfortable with the advanced editor mode.

More

Skill Level: 3
Skill Type(s): Programmer
Format: Video
Tags: Scripting, Combat
Crayta Tutorial: Projectile weapons 1.02

Want to learn how to turn a rocket launcher into a ray gun or magic wand? Script along with Andy in this tutorial!

More

Skill Level: 3
Skill Type(s): Programmer
Format: Video
Tags: Scripting, Physics
Crayta Tutorial: Thrusters

In this tutorial Andy takes a look at how thrusters can be applied as part of Crayta’s built in physics and builds some quite spectacular looking hot air balloons!

More

Skill Level: 3
Skill Type(s): Programmer
Format: Video
Tags: UI, Scripting
Crayta Masterclass: UI Creation

In this Masterclass stream, we will be looking at several aspects of UI creation in Crayta including adding widgets to entities, widget properties and functions, and data binding.

More

Skill Level: 3
Skill Type(s): Programmer
Format: Video
Tags: UI, Scripting, Quick Guides
Crayta Quick Guide: UI Widget Principles

It’s Crayta quick guide time and this week Andy is going through UI widgets and how to build dynamic UI all within the Crayta editor.

More

Skill Level: 3
Skill Type(s): Programmer
Format: Video
Tags: UI, Scripting
Crayta Tutorial: UI Widget Principles

It’s Crayta tutorial time and this week Andy is going through UI widgets and how to build dynamic UI all within the Crayta editor.

More

Skill Level: 3
Skill Type(s): Programmer
Format: Video
Tags: Scripting, Game Mechanics
Crayta Tutorial: Making Arcade Games

It’s Crayta tutorial time and this week Andy shows us how we can make small game mechanics inside of games. In this example we see how to make a “test your strength” hammer game within the Crayta editor.

More

Skill Level: 3
Skill Type(s): Programmer, Designer
Format: Video
Tags: Scripting, Game Mechanics, Quick Guides
Crayta Quick Guide: 1 vs All

In this quick guide Andy takes us through how to adjust the stock game script to create a 1 vs All style game. This can then be used to build a whole host of fun and exciting game modes!

More

Skill Level: 3
Skill Type(s): Programmer, Designer
Format: Video
Tags: Scripting, Game Mechanics
Crayta Tutorial: 1 vs All

In this quick guide Andy takes us through how to adjust the stock game script to create a 1 vs All style game. This can then be used to build a whole host of fun and exciting game modes!

More

Skill Level: 3
Skill Type(s): Programmer, Designer
Format: Video
Tags: Quick Guides, Sockets, Scripting
Quick Guide – Player Sockets: Attaching Objects

In this weeks tutorial Andy show us how we can use sockets to attach entities to the player and create some interesting results!

More

Skill Level: 3
Skill Type(s): Programmer
Format: Video
Tags: Sockets, Scripting
Crayta Tutorial – Player Sockets: Attaching Objects

In this weeks tutorial Andy show us how we can use sockets to attach entities to the player and create some interesting results!

More

Skill Level: 3
Skill Type(s): Programmer
Format: Video
Tags: Quick Guides, Grips, Scripting
Quick Guide – Player Grips & Actions: Weapons

In this weeks tutorial Andy show us how to use Grips and Actions to build upon the sockets we covered last week.

More

Skill Level: 3
Skill Type(s): Programmer
Format: Video
Tags: Grips, Scripting
Crayta Tutorial – Player Grips & Actions: Weapons

In this weeks tutorial Andy show us how to use Grips and Actions to build upon the sockets we covered last week.

More

Skill Level: 3
Skill Type(s): Programmer
Format: Video
Tags: Scripting, Quick Guides
Quick Guide: How to make a game portal!

To continue the construction of Tutorial Springs, Andy will show us how to create in game portals to other worlds and games in Crayta!

More

Skill Level: 3
Skill Type(s): Programmer, Designer
Format: Video
Tags: Scripting
Crayta Tutorial: How to make a game portal!

To continue the construction of Tutorial Springs, Andy will show us how to create in game portals to other worlds and games in Crayta!

More

Skill Level: 3
Skill Type(s): Programmer, Designer
Format: Video
Categories
Uncategorized

Beginner Tutorials

Begin your journey in crating your own games in Crayta! The selection of tutorials will help guide you on how to get the best out of the features within the editor.

Tags: Starter Game, Voxels, Events, Combat
Combat

Build your first capture the flag level inside of Crayta while learning about how to add combat to your game.

More

Skill Level: 2
Skill Type(s): Designer
Format: Written
Tags: Starter Game, Voxels, Level Design
Obstacle Game Mini-series #1: The Elevator Ride

In the first in the Obstacle Game Mini-Series you will learn how to make a moving elevator ride.

More

Skill Level: 2
Skill Type(s): Designer
Format: Written
Tags: Events, Triggers, Interaction, Level Design
Obstacle Game Mini-series #2: The Locked Door

In the second of the Obstacle Game Mini-Series you will learn how to make a locked door that you can open remotely and automatic doors.

More

Skill Level: 2
Skill Type(s): Designer
Format: Written
Tags: Events, Triggers, Packages, Level Design
Obstacle Game Mini-series #3: Spinning Saws

In the third of the Obstacle Game Mini-Series you will learn how to make it looks like you have destroyed a fan to gain access into a new area and how to add spinning saw blades as a obstacle to avoid at all costs.

More

Skill Level: 2
Skill Type(s): Designer
Format: Written
Tags: Movement, Level Design
Obstacle Game Mini-series #4: Flying Cars Jump Puzzle

In the fourth of the Obstacle Game Mini-Series you will learn how to make a jumping puzzle where your player needs to navigate hover cars and industrial cranes.

More

Skill Level: 2
Skill Type(s): Designer
Format: Written
Tags: Voxels, Level Design
Obstacle Game Mini-series #5: Finishing Touches

In the finale of the Obstacle Game Mini-Series you will learn how to use the library of assets to add polish to your level design.

More

Skill Level: 2
Skill Type(s): Designer
Format: Written
Tags: Triggers, Scripting, Game Mechanics
Exploding Barrels

A simple tutorial on how to use triggers to create a barrel that explodes with suitable particle and sound effects to finish the effect.

More

Skill Level: 2
Skill Type(s): Programmer, Designer
Format: Written
Tags: Coding Basics
Variables and Datatypes

A basic tutorial on how to initialise and use variables and datatypes within Crayta and using the API.

More

Skill Level: 2
Skill Type(s): Programmer
Format: Written
Tags: Coding Basics
Functions

A basic tutorial on how to use functions in the Crayta API.

More

Skill Level: 2
Skill Type(s): Programmer
Format: Written
Tags: Coding Basics
Conditionals

A basic tutorial on how to use if statements and the concept of tick in the Crayta API.

More

Skill Level: 2
Skill Type(s): Programmer
Format: Written
Tags: Coding Basics, Physics
Physics

A basic tutorial on how to use the physics components such as thrusters and launch can be used to affect entities in your game.

More

Skill Level: 2
Skill Type(s): Programmer
Format: Written
Tags: Coding Basics
Adding editor properties to Crayta scripts

How to access and customise the properties that you see in the editor from within a game script.

More

Skill Level: 2
Skill Type(s): Programmer, Designer
Format: Written
Tags: Events, Interaction
Event Functions in Crayta Scripts

How to access the existing event functions that are built into the Crayta API. These can be used to hook into events like when a script is initialised, when a player takes damage or logs into the game.

More

Skill Level: 2
Skill Type(s): Programmer
Format: Written
Tags: Coding Basics
Accessing table methods in Lua

How to access the table properties within the Crayta API and knowing when to use the Colon and Dot Operators to access a method.

More

Skill Level: 2
Skill Type(s): Programmer
Format: Written
Tags: Coding Basics
Script variable scope

A basic tutorial on how to set and access local and public variables within the Crayta API.

More

Skill Level: 2
Skill Type(s): Programmer
Format: Written
Tags: Templates, Voxels, Design Basics
Voxel meshes and templates, when to use each

Covering how to use the voxel meshes and template tools to create reusable assets for your game and when you should use each of them.

More

Skill Level: 2
Skill Type(s): Designer
Format: Written
Tags: Programming, Schedules
Coroutines in Crayta. Using Schedules and OnTick

A basic tutorial on how to use the game tick and the schedule function to control when your game updates.

More

Skill Level: 2
Skill Type(s): Programmer
Format: Written
Tags: Player, Programming, Spawning
The relationship between Player and User

The basics on what makes up your player avatar and when best to use the user or the player templates.

More

Skill Level: 2
Skill Type(s): Programmer
Format: Written
Tags: Player, Events, Sockets, Grips
Player Animation: Grips, Actions and Events

Grips can be used to make your player behave like they are holding a weapon or carrying an item in their hands. This guide will go through the types of grips that are available and some sample code on how to implement it on your player.

More

Skill Level: 2
Skill Type(s): Programmer
Format: Written
Tags: Programming, Player, Camera
Adding Camera Shake

Camera shake can help sell the effect that the player is firing a powerful weapon or is near an explosion and is causing the landscape to move under their feet. This tutorial covers how to implement two types of camera shake effect on your player camera.

More

Skill Level: 2
Skill Type(s): Programmer
Format: Written
Tags: Combat, Player, Packages, Game Mechanics
Using the Combat Improvements

The combat package is one of the packages developed exclusively by the Crayta team. From time-to-time we include new features in Crayta itself and roll this back into our own packages. This guide covers the new features that have been added back into the combat package and how to access them in your games!

More

Skill Level: 2
Skill Type(s): Programmer
Format: Written
Tags: Starter
Uploading images for your game

How to upload images to our companion site so that you can access them and apply them to your game.

More

Skill Level: 2
Skill Type(s): Artist, Designer
Format: Written
Tags: Starter Game, Scripting
Creating with example games in Crayta

Looking for inspiration for your next game or want to learn more about how certain mechanics work in Crayta? Watch as we create new games from our example games and learn how you can take them and make them your own.

More

Skill Level: 2
Skill Type(s): Designer, Programmer
Format: Video
Tags: Packages
Crayta: Stock Packages

In this stream, we’ll be taking a look at some of the stock packages (such as the inventory, health and the shop) that come with some of our starter games. We’ll show how they can be installed and added to your game in basic mode and then used to create custom gameplay.

More

Skill Level: 2
Skill Type(s): Designer, Programmer
Format: Video
Tags: Events, Challanges, Game Design
Crayta Tutorial: Making games out of Creator Challenges

In this tutorial Andy takes a look at interesting ways that Creator Challenges can be used as the main mechanic within a game. Follow along and create fun ways to further engage players into your games!

More

Skill Level: 2
Skill Type(s): Designer, Programmer
Format: Video
Tags: Packages, Game Mechanics, Design Basics
Crayta Tutorial: Obby Components

Find out how you can use the Obby Components package: https://forum.crayta.com/t/obby-obstacle-course-components/517/7

More

Skill Level: 2
Skill Type(s): Designer
Format: Video
Tags: World
Crayta Tutorial: World Settings

Learn about world settings and rendering settings in Crayta, and how they can have quite a dramatic impact on the player’s experience of your game.

More

Skill Level: 2
Skill Type(s): Designer, Artist
Format: Video
Tags: Templates, Design Basics
Crayta Tutorial: Templates

Find out how you can create and edit templates in Crayta in this tutorial.

More

Skill Level: 2
Skill Type(s): Designer, Programmer
Format: Video
Tags: World
Crayta Tutorial: World Tree

Find out how, why and when you would use the World Tree (which contains all the entities in your game) in Crayta. It’s useful to keep your World Tree tidy…as your game grows, you’ll want to keep it easy to edit!

More

Skill Level: 2
Skill Type(s): Designer, Artist
Format: Video
Tags: Voxels, Scripting
Crayta Tutorial: Voxel health

Wondering about how you can set voxels to be healed or damaged in your game in Crayta? Find out more through Andy’s example here which is set in a mining game where players have to collect resources.

More

Skill Level: 2
Skill Type(s): Designer, Programmer
Format: Video
Tags: Coding Basics
Crayta Tutorial: Script properties

In this tutorial Andy takes a deeper look into how script properties are defined and the various ways in which these properties can be customised to make scripts really powerful for other users.

More

Skill Level: 2
Skill Type(s): Designer, Programmer
Format: Video
Tags: Scripting, Events, Interaction
Crayta Tutorial: Working with events

In this tutorial Andy takes us through how you can easily build game logic by using the Events system, which allows you to minimise the amount of coding you have to do, or even doing away with it altogether! The events system is accessible in both advanced and basic mode so take take a look and see how you can use it in your games.

More

Skill Level: 2
Skill Type(s): Designer, Programmer
Format: Video
Tags: Starter Game, Scripting, Triggers, Spawning
Crayta Tutorial: Changing the game objectives

In this tutorial we’ll take a look at some simple steps to change the game objective when working with a starter game, opening up a wide variety of possible game types!

More

Skill Level: 2
Skill Type(s): Programmer, Designer
Format: Video
Tags: Triggers, Checkpoints, Game Mechanics
Crayta Tutorial: Checkpoints

In this tutorial Andy takes a look at checkpoints in games and how you can create your own to get players respawning at the correct place in your games!

More

Skill Level: 2
Skill Type(s): Programmer, Designer
Format: Video
Tags: Starter, Templates, Packages
Crayta Masterclass: Templates and Packages

In this masterclass stream, we’ll be taking a closer look at how players can create templates to help with their game creation and also share their creations through the community tab via packages.

More

Skill Level: 2
Skill Type(s): Designer, Programmer
Format: Video
Tags: Design Basics
Crayta Masterclass: Game Design

In this masterclass stream, we’ll be taking a look at the best practices for designing and planning when it comes to game creation in Crayta.

More

Skill Level: 2
Skill Type(s): Designer
Format: Video
Tags: Level Design, Quick Guides
Quick Guide – Volume Select

In this quick guide Andy takes a brief look through one of our more powerful voxel editing tools, Volume Select. In you’re interested in building amazing worlds and game designs in Crayta then this tool is a great one to master!

More

Skill Level: 2
Skill Type(s): Designer, Artist
Format: Video
Tags: Level Design
Crayta Tutorial – Volume Select

In this tutorial Andy goes through one of our more powerful voxel editing tools, Volume Select. In you’re interested in building amazing worlds and game designs in Crayta then this tool is a great one to master!

More

Skill Level: 2
Skill Type(s): Designer, Artist
Format: Video
Tags: Quick Guides, Console, Performance
Quick Guide – Using the console and performance window

Andy brings us another tutorial, this time looking at how you can get information from code at runtime and what all the various statistics mean in the performance window.

More

Skill Level: 2
Skill Type(s): Designer, Programmer
Format: Video
Tags: Quick Guides, Level Design
Quick Guide – How to build your own social hub space

Crayta is about more than game creation, in this tutorial Andy shows us just how easy it is to create a hang out space for you and your friends. Think of the parties, events and fun that can be had in your very own custom world!

More

Skill Level: 2
Skill Type(s): Designer
Format: Video
Tags: Level Design
Crayta Tutorial – How to build your own social hub space

Crayta is about more than game creation, in this tutorial Andy shows us just how easy it is to create a hang out space for you and your friends. Think of the parties, events and fun that can be had in your very own custom world!

More

Skill Level: 2
Skill Type(s): Designer
Format: Video
Tags: Coding Basics
Crayta Tutorial: Vectors

Find out what vectors are and how and why you’d want to use them when creating a game in Crayta. Feel free to script along with Andy in this tutorial if you’re interested in making homing missiles or robots that will follow you around!

More

Skill Level: 2
Skill Type(s): Programmer
Format: Video
Tags: Coding Basics, Physics
Crayta Tutorial: Physics

Here’s an introduction to some of the physics possibilities in Crayta. Creating a game and wondering how to add physics to certain items in it? Check out this tutorial by Andy Sargeant!

More

Skill Level: 2
Skill Type(s): Programmer
Format: Video
Tags: Design Basics
Crayta Tutorial: Challenges

Find out how the challenge system in Crayta works in this tutorial. What kind of challenges would you implement in your game for players to tackle? Remember to use the “Challenges” tag when you publish your game so players can search for it.

More

Skill Level: 2
Skill Type(s): Programmer, Designer
Format: Video
Tags: Quick Guides, Coding Basics
Crayta Quick Guide: Variables 1.01 Introduction

Here’s a quick introduction to variables and how you might use them. Andy talks about variables in the context of a timer here, which might be useful for your game!

More

Skill Level: 2
Skill Type(s): Programmer, Designer
Format: Video
Tags: Quick Guides, Coding Basics
Crayta Quick Guide: Variables 1.02 Limiting object requests

Find out what an object request is and why you should get into the mindset of optimising your scripts when you create a game.

More

Skill Level: 2
Skill Type(s): Programmer, Designer
Format: Video
Tags: Quick Guides, Coding Basics
Crayta Quick Guide: Variables 1.03 Scope

In this quick guide, Andy talks about how creators can use variable scope in ways to make it easier and better for coding.

More

Skill Level: 2
Skill Type(s): Programmer, Designer
Format: Video
Tags: Coding Basics
Crayta Tutorial: Conditional statements in Lua

In this tutorial, Andy will show how you can use conditional statements to affect your game logic in Crayta. Feel free to script along in the advanced mode of Crayta’s editor!

More

Skill Level: 2
Skill Type(s): Programmer
Format: Video
Tags: Voxels, Quick Guides, Scripting
Quick Guide – Working with Voxels in Code

Have you ever wanted to make a wallpaper gun or insta-bridge weapon? Well look no further! In this quick guide Andy shows us some of the amazing things that we can do in lua code when it comes to working with Voxels.

More

Skill Level: 2
Skill Type(s): Programmer
Format: Video
Tags: Voxels, Scripting
Crayta Tutorial – Working with Voxels in Code

Have you ever wanted to make a wallpaper gun or insta-bridge weapon? Well look no further! In this quick guide Andy shows us some of the amazing things that we can do in lua code when it comes to working with Voxels.

More

Skill Level: 2
Skill Type(s): Programmer
Format: Video
Tags: Quick Guides, Camera, Scripting, Movement
Quick Guide – Multiple Cameras: Change POV in lua

In this weeks tutorial Andy shows how we can use the camera primitive in games to give the player a different perspective.

More

Skill Level: 2
Skill Type(s): Programmer, Designer
Format: Video
Tags: Camera, Scripting
Crayta Tutorial – Multiple Cameras: Change POV in lua

In this weeks tutorial Andy shows how we can use the camera primitive in games to give the player a different perspective.

More

Skill Level: 2
Skill Type(s): Programmer, Designer
Format: Video
Tags: Coding Basics
Crayta Masterclass: LUA Scripting and the API

In this Crayta Masterclass, we’ll be taking a closer look at the Lua scripting side of Crayta as we build a football game from scratch.

More

Skill Level: 2
Skill Type(s): Programmer, Designer
Format: Video
Tags: Sounds
Crayta Tutorial: Sounds for jailbreak game

Here’s a quick guide on how you can add lots of drama and tension into your game by layering sound in Crayta.

More

Skill Level: 2
Skill Type(s): Programmer
Format: Video
Categories
Uncategorized

Starter Tutorials

New to Crayta? This beginners guide will give you modules that will teach you the basics of how to use the tools and editor to create your own games!

Tags:Starter
Basic Workflow Tutorial

This first tutorial will show you how to get started with using the starter games to create a game template and how to use the editor inside of Crayta.

More

Skill Level: 1
Skill Type(s): All
Format: Written
Tags:Starter, Packages
How to use packages

Learn how to get started with the asset library and how to use packages to start building your game out of the pre-made content.

More

Skill Level: 1
Skill Type(s): All
Format: Written
Tags:Starter
Crayta Masterclass: Creating games in basic mode with a controller

In this Crayta masterclass, we’ll be showing you how you can create a game in Crayta using only the basic mode of the editor and a controller.

More

Skill Level: 1
Skill Type(s): All
Format: Video
Tags:Starter
Crayta: Basic Mode walkthrough

New to Crayta and want to learn more about creating games and environments in basic mode only? In this stream, we’ll be breaking down the controls and features of our basic mode to help players unleash the power of creation from the comfort of your living room!

More

Skill Level: 1
Skill Type(s): All
Format: Video
Tags:Accessibility, Localisation, Starter
Crayta Tutorial: Accessibility and Localisation

In this tutorial, Andy runs through a whole bunch of accessibility and localisation options available in Crayta.

More

Skill Level: 1
Skill Type(s): Programmer
Format: Video
Categories
Uncategorized

Uploading images for your game

Overview

You can upload images for your game in the creator companion site, here: https://create.crayta.com/images. There are two categories of images that you can upload – the regular images, shown in the “Temporary image storage” tab, and UI images, shown in the “My UI images” tab.

Regular images are those which can be used as promotional or supporting imagery for your game, such as the game card that players will see on the “Play” page, or the images you see in the details of a game when you select it in the “Play” page.

UI images are images which you can use in the UI (user interface) within your game. For example, you might have an icon for each team in your game that you want to display on the scoreboard, or an image to use as a painting in your in-game saloon.

Uploading images

Head over to the developer companion site linked above to upload images for your games. For regular images, use the “Upload” tab, and for UI images, use the “Upload UI Image” tab.

Make sure your images are less than 1mb in size, and they should be in jpg or png format. When you upload a new image, it will first need to be approved before you can use it in your game. This process should take less than 24 hours.

Any images you upload will appear in your images tab. You’ll see their approval status above – once the image is marked as “approved”, you will be able to use it for your game.

Note that for the regular images, there is a maximum limit of 6 images at a time on the “Temporary Image Storage” tab. These images become permanent when you use them, e.g. when you make them a game card or a promotional image. At this point, you are free to delete them from the temporary storage, and they will remain where they’ve been used.

For the UI images, you are free to upload as many of these as you like, and when approved they will become permanent.

Using images

You can use your approved images in the Create > Games section of the companion website: https://create.crayta.com/games. Select one of your games, and then use the tabs to select a cover image, or supporting images.

Using UI images

Once a UI image is approved, you will be able to use its URL to have it appear in your game. You can find this URL on the “My UI Images” tab. Copy this URL, and then you can paste it directly into Crayta in a widget, or into a script property that will pass it to a widget to be displayed. You can handle this yourself, through the widget HTML directly, or with a combination of widget and Lua code. Alternatively, you can use the Simple Image package, documented here – https://forum.crayta.com/t/simple-image-package/527

Categories
Uncategorized

Code Editor Shortcut Keys

Context: Editor Window

Ctrl+O – Open document (works outside source editor too)
Ctrl+S – Save document
Ctrl+Shift+S – Save All open documents
Ctrl+F4 – Close document

Ctrl+Z, Alt+Backspace – Undo
Ctrl+Y – Redo
Ctrl+X, Shift+Del – Cut
Ctrl+C, Ctrl+Ins – Copy
Ctrl+V, Shift+Ins – Paste
Ctrl+A – Select All

The usual text navigation behaviours with ctrl/shift + arrows/home/end/pageup/pagedown

Alt+], Tab – Indent selection
Alt+[ – Unindent selection

Ctrl+Mouse Scroll Wheel – Zoom In/Out
Ctrl++ – Zoom In
Ctrl+- – Zoom Out

Ctrl+F – Find
Ctrl+H – Replace
F3 – Find Next
Shift+F4 – Find Previous
Ctrl+G – Goto line
Alt+M – Goto function

Ctrl+Tab – Next document
Ctrl+Shift+Tab – Previous document (though Stadia currently thinks you’re trying to trigger the platform overlay with Shift+Tab)

Ctrl+Space – Open auto-complete list

Context: Auto-complete List

Tab, Enter – Accept suggestion
Esc – Close
Up, Down – Prev/next suggestion

Context: Find/Replace Panel

F3 – Find Next
Shift+F4 – Find Previous
Alt+R – Replace Next
Alt+A – Replace All
Alt+C – Toggle “Match Case”
Alt+W – Toggle “Match Word”
Esc – Close

Context: Open Dialog

Enter, Click – Open selected document
Ctrl+Enter, Ctrl+Click – Open selected document, but don’t close the dialog (to make opening lots of things easy)
Up, Down – Prev/next document
Esc – Close

Categories
Advanced Tutorials Uncategorized

Adding editor properties to Crayta scripts

Preface

All Crayta scripts can have properties that can be edited directly in the editor. This is a powerful concept both for easily testing values, and reusing the script on different entities to produce new kinds of behavior each time.

In this tutorial we will learn how to add properties in scripts as well as learn all the different types of properties available.

If you are coming from Unity or Unreal to Crayta you will recognize this concept and find that it works in a similar manner.

In Unity or Unreal to expose properties to the editor you add public properties to your script class or in a UE blueprint you expose this by setting Instance Editable. In Crayta you add a child table to the Script.Properties table of your script.

In Unity or UE the exposed properties appear in the Inspector or Details windows respectively in the editor, and in Crayta they exist in the Properties window.

In Unity and UE you can use editable properties to edit values or reference objects, in Crayta you can do the same.

Adding properties in a script

When creating a new script, Crayta will add by default an empty table named Properties (often called the property bag) to your script.

If your script is named HealthScript then the property bag will be initially an empty Lua table:

Health.Properties = {}

To add a new property you append a child table (a Lua associative array) to the properties table with a number of options (key/values) in it:

Health.Properties = {
   { name = "maxHealth", type = "number"}
}

Below you can see the property bag of the main script used in the Health package.

And here is how these properties are exposed in the editor:

Property options

There are different types of properties (text, number, entity, template etc) which we will explain in detail in the next section. Though there are a number of property options that are available to all property types:

  • name – string
    • The property name that will appear in the editor.
  • type – string.
    • All available types are explained in the next section.
  • tooltip – string
    • A tooltip message that appears when hovering over the element in editor.
  • editable – bool (default:true)
    • False hides the property in the editor UI. Useful if you want a property just for replicating data to clients, and want to keep the UI tidy by preventing the user from being able to see/edit it.
  • editableInBasicMode – bool (default:true)
    • False hides the property, but only in basic mode.
  • container – string (default:nil)
    • Possible values: “” (empty string or nil), “array”
    • Setting this to “array” will present the property as an array of the given type, allowing the user to add and remove values. Each array element, and the “length” field is inherited from a template individually. Any array property of a type that supports default values can set an array of defaults too, eg container="array", default={1, 2, 3, 4}
  • visibleIf – function(properties) (default: nil)
    • Specify a function that returns true or false to conditionally show or hide a property based on another. The function is passed a parameter to access the rest of the properties on the script. For example, you might hide an “clipSize” property on a gun if it has a boolean “infiniteAmmo” property set to true: visibleIf=function(properties) return not properties.infiniteAmmo end
  • group – string
    • Includes this property in a collapsible group of the given name in the editor. Sub-groups can be specified by entering multiple names separated by |, eg group="Lighting|Sky Light".
               function(properties) return 
                  properties.allowRespawns == true
               end

This function should return true when the property should be shown on the UI, false to hide it. Useful for keeping the UI tidy by hiding irrelevant options. The function’s properties parameter provides access to the other properties (just as you would access with self.properties in a script)

Property types

  • number
    • Optional extra attributes:
      • default – number (0)
      • min/max – number – sets the min/max value that can be entered into the editor UI. Doesn’t apply at runtime.
      • stepSpeed – number (default: 1) – adjusts how fast the number changes with a gamepad
      • slowStepSpeed – number (default: 0.1) – as above, but when pressing the ‘slow’ modifier
      • fastStepSpeed – number (default: 10) – as above, but when pressing the ‘fast’ modifier
      • allowFloatingPoint – bool (default: true) – allow/disallow decimal numbers in the editor UI. Doesn’t apply at runtime.
      • options – table, a list of allowed values, either named: {Slow = 0.25, Normal = 1, Fast = 2, Ludicrous = 100}, or unnamed: {0.25, 1, 2, 100}
      • editor – string (default: chosen automatically based on other settings; either enum, int or float). Changes the widget displayed in the editor. Possible values: int, float, seconds, days, slider.
  • string
    • Optional extra attributes:
      • default – string (“”)
      • options – table – a list of allowed values, either named: {Monday = “Mon”, Tuesday = “Tue”, Wednesday = “Wed”}, or unnamed: {“Monday”, “Tuesday”, “Wednesday”}
  • text
    • Similar to string, but localisable. Uses a Text type at runtime.
  • boolean
    • Optional extra attributes:
      • default – boolean (false)
  • vector
    • Optional extra attributes:
      • default Vector.Zero or any other Vector value using Vector.New(1,2,3)
      • stepSpeed – number (default: 1) – adjusts how fast the number changes with a gamepad
      • slowStepSpeed – number (default: 0.1) – as above, but when pressing the ‘slow’ modifier
      • fastStepSpeed – number (default: 10) – as above, but when pressing the ‘fast’ modifier
  • vector2d
    • Optional extra attributes:
      • defaultVector2D.Zero or any other Vector2D value using Vector2D.New(1,2)
      • stepSpeed – number (default: 1) – adjusts how fast the number changes with a gamepa
      • slowStepSpeed – number (default: 0.1) – as above, but when pressing the ‘slow’ modifie
      • fastStepSpeed – number (default: 10) – as above, but when pressing the ‘fast’ modifier
  • rotation
    • Optional extra attributes:
      • defaultRotation.Zero or any other Rotation value using Rotation.New(0,90,0)
      • stepSpeed – number (default: 1) – adjusts how fast the number changes with a gamepa
      • slowStepSpeed – number (default: 0.1) – as above, but when pressing the ‘slow’ modifie
      • fastStepSpeed – number (default: 10) – as above, but when pressing the ‘fast’ modifier
  • color
    • Optional extra attributes:
      • default Color.New(1, 1, 1, 1)
  • event
    • An event property allows you to broadcast a message to a number of listeners all at once.
    • Each event can have one or more listeners. 
    • Using the Send function available on the event will trigger all listeners, passing on any parameters given to it:
       -- using the send method on an event property
       self.properties.myEvent:Send(myParam)

There are two ways to setup a listener in the editor:

  1. Specifying an entity in the world (or in the same template) like a normal entity property.
  2. Specifying an entity within any template.

Then as a final step you choose a script on that entity and a function within that script. In the first case, which is the simplest, only the specified entity will receive the event (when using the send method).

In the second case, the event will be broadcasted to every instance of that entity in the world, including any entity that is spawned after the game starts. This is quite powerful when you have to inform all entities of the same type for a certain event e.g. all chests have to refill or all doors have to close.

For more advanced uses, there is a Listen method available on the event property which allows you to add a listener to an event procedurally, in code:

gameManager.properties.OnMatchStart:Listen(self, "SwitchOn")

This method accepts two arguments:

  • A script component, usually that would be set to self, the script where this method is used from.
  • A function name, which will be the method in that script which will be called when the event is broadcasted.
  • [asset type]
    • The following asset types can be easily referenced by any script using a property with one of the following types:
      • templateasset, voxelasset, meshasset, soundasset, worldasset, effectasset, scriptasset, widgetasset, skydomeasset, innerhorizonasset, outerhorizonasset, gripasset, colorgradingasset, postprocessasset, skymeshasset, skylayerasset, voxelmeshasset
MyScript.Properties = {
    { name = "greenVoxel", type = "voxel"}
}

Here is how a script exposing multiple properties to the editor, looks like:

You can also set a generic style and then specify the asset type by using is to clarify the asset type that can be assigned:

MyScript.Properties = {
    { name = "greenVoxel", type = "asset", is = "voxelasset"}
}