October 2021 - Tutorial Challenge - Core Contexts [CLOSED]

Dates

Start Date: October 22, 2021
Due Date: November 15, 2021 (by end of day, Pacific Time)

Payment

Each entrant is eligible for a payment of up to $350, with a minimum of $50 if the entry meets the minimum standards. The exact payment amount for each entrant will be based on the quality of the entrant’s work.

Description

Core has several different contexts that can affect the behavior of objects and code. As explained in the Core API there are five types of contexts: Non-Networked (Default) Context, Client Context, Server Context, Networked Context, and Static Context.

The goal of this tutorial is to provide a thorough explanation of each context so that creators understand the purpose of each context, and when to use each context.

Topics

Contexts are fundamental to Core so it is important that the tutorial is written for all skill levels. It may be helpful to begin the topic with a general overview of the client and server architecture used in game engines like Core, so that people understand the difference between a client and server.

For each context, give a thorough explanation of the context including its purpose, benefits, when to use it, and other important aspects. Provide numerous examples of use cases and the game elements that are best suited for the context.

It is essential for creators to know when to use the proper context. This applies not only to scripts, but also to models, effects, sounds, triggers, etc - basically anything that can be added to the hierarchy. When a creator adds something to the hierarchy, they should know which context it should go in.

Also be sure to include a section that explains the basics on how to add and use contexts in the hierarchy. Note that with nested contexts only the outermost context has any effect.

There are several more advanced topics that are important as well.

  • The performance of a game is significantly impacted by contexts. For example, Networked Contexts have a big impact on performance since both the client and server are involved. Creators should understand how they can optimize their game with the proper use of contexts.

  • Security is also important when considering contexts. A Client Context is inherently insecure since it can be manipulated by a player or hacker. A Server Context is much more secure since it resides only on the server, and thus should be used for important game scripts.

  • A Lua module takes on the context of the calling script. It is possible for the same module to be instantiated in multiple different contexts in a game, essentially creating separate distinct modules for each context.

Requirements

  • Publish a written and/or video tutorial on this topic to the Core forums as per the instructions in your application acceptance message.

  • Provide tutorial assets (models, scripts, UI, etc) in Community Content or an editable public game, and include a link within the tutorial. This allows creators to open the final project in Core.

  • Video tutorials must have voice overs in English.

Judging Criteria

  • Your work will be judged based on the Judging Criteria.

  • The above link also contains important information about best practices and other topics.

Questions?

If you have any questions, then please visit the challenge board channels on the Core VIP Discord server.


HOW TO APPLY

How To Apply

For instructions on how to apply, please visit the Tutorial Challenge Board Application Form post.


SUBMITTING YOUR WORK

Submitting Your Tutorial

  • Your application acceptance message includes instructions on how to publish your tutorial.
  • Entrants must publish their tutorial by the deadline listed in the challenge in order to be considered for payment.
  • Failure to publish your tutorial on time may affect your eligibility for future challenges.

MORE INFORMATION

More Information

For more information about the rules, judging criteria, and other important information please visit the Tutorial Challenge Board Rules post.