Learn Core for Global Game Jam¶
Welcome to Core¶
Welcome Global Game Jammers!
Core is a complete game development, publishing, and multiplayer hosting platform that combines ease of use with professional polish. In this document, you will find an essential outline of the systems in Core and directions to the tutorials and tools that will get you creating right away.
This year, Manticore Games sponsored a Global Game Jam Diversifier to make a game in Core that incorporates Community Content by another Global Game Jammer. Here you can learn where to start, what Community Content is, and all the ways you can leverage Core to quickly iterate through your game idea.
Coming from Other Platforms¶
This documentation has a collection of introductions intended to specifically orient creators coming from game engines, like Unity, and other User Generated Content platforms, like Roblox and Fortnite.
If you have experience from an engine or platform that is not included here you can submit a pull request or create an issue on the Core Documentation GitHub to share your knowledge!
Core games are locally stored files, and collaboration within games usually happens with GitHub. The template system and Community Content system are another way for creators to build pieces to integrate into projects.
Building with Frameworks¶
Core Frameworks allow you to start a project with functioning game logic, and to focus on the level design and world-building aspects. These tutorials will walk you through a few of the available game types.
Community Open Games¶
Beyond Core Frameworks, there are hundreds of Community Games that have been marked "Open for Editing" by their creators that can be used as a base. A few examples are listed below:
Tower of Terror is an obstacle course game where players leap up a tower with randomized levels that get progressively harder, made by NicholasForeman. It is an excellent example of how to spawn distinct levels using the template system.
Murder Mansion by standardcombo is a betrayal game set in an ominous mansion where players collect clues to survive attack by a randomly-assigned murderer. You can use it as a framework for a hidden identity game, or just use the mansion environment, as seen in games like Spider Bite.
Tycoon Framework created by Aphrim, the Tycoon Framework is the basis of several successful Core games where economic prosperity is the goal.
Race to the Finish Template or Mount Racer - Test Track by WaveParadigm provide the basic architecture of a racing game, including one that uses player's custom mounts found in the Core My Collection menu.
Abilities are the primary way to make player interactions and animations. They have several different phase events and can return data about where the player was targeting when used. You can also find a complete list of the available Animations and Animation Stances.
The Terrain system in Core allows you to generate terrain from height maps or sculpt terrain from the ground up, and includes the ability to paint with materials and generate foliage.
Creating Art in Core is done primarily through kitbashing. There are no imports, so new models are created using the primitives in Core. After that, structures like Groups and Templates allow you to treat these as a single object.
Weapons in Core can be used for a variety of tools, and allow you to spawn VFX and audio templates, VFX trails, projectiles, and decals for where those projectiles impact. There are a number of weapons templates in Core Content and even more custom weapons available on Community Content.
The Game Components found in Core Content include lots of completely coded systems to bring more functionality to your game, including scoreboards, nameplates for players, and resource pickups.
Core uses a Lua API to script games. While it is possible to build games entirely using all the components made by Core and other Core creators, being able to read and write some scripts is extremely useful for building unique experiences.
- The Lua Lightbulb Tutorial is a complete tutorial that introduces Lua, and the way scripts and objects interact in Core.
- The Lua Style Guide will give a more experienced coder a quick overview of how lua is implemented in Core.
There are also a number of videos currently available on the CoreGames YouTube Channel which can show how to tackle challenges at any experience level.
Community Content is a massive collection of props, scripts, costumes, weapons, and complete game systems created and shared by creators for others to use. Core is designed to easily incorporate these different pieces into games, and facilitates easy collaboration between artists and programmers through the Template system.
Example: Building a Bustling Town with Virtually No Scripting¶
One example of how you can use Community Content is for creating an area full of NPCs that can be interacted with or are just going about their business. There are two components of Community Content that can allow you to build this:
- Choreographer by Chris allows you to drag scripts into folders to create sequences of animations that can loop and trigger events.
- Dialogue System with NPCs by Hani created for the CoreHaven game by ManticoreGames, this robust dialogue system will allow you to create dialogues with animations and attach them to NPCs. Find the script called DialogsLibrary_Conversations to follow the format of the example conversation and build your own.
Other Key Community Content¶
The NPC AI Kit by standardcombo is the most downloaded Community Content template, and the most popular way of creating enemy NPCs which can spawn when players are nearby, pursue players across NavMesh areas defined by visible plains, and take and give damage in combat.
- A related and equally useful tool is the NPC Costume Script by standardcombo, that allows you to create customized NPCs by attaching objects to their sockets. The chicken in Farmer's Market, for example, was actually made by connecting objects to the Raptor Animated Mesh.
EaseUI & Ease3D by NicholasForeman are a library of Easing Functions that can be applied to create smooth movement clientside for 2D UI elements and 3D objects.
Team META has created a collection of useful creator tools, from leaderboards to inventory systems to victory screens.
Day Night Sky by Rasm will allow you to add a day-night cycle to your project with no extra effort, adding life and polish to a project instantly.
Universal Object Spawner by standardcombo will allow you to continually spawn copies of objects, so players never run out of a resource, equipment, or weapon.