ManticoreGamesInc/platform-documentation

Collaboration without Templates

Closed this issue · 1 comments

So we got this tutorial by @mattkaustik that we are currently trying to find a new home for, posting it here for now so it can be discussed:

Collaboration Within Core

Overview

Collaboration can be done simply with everything core provides to you out of the box or with external tools. The methods used in this tutorial are mainly for
team projects consisting between 2 - 4 people for quickly developing games in core. These methods can be expanded on with tools such as
discord and google drive, which will be covered in advanced section.

Team Manager

This role is the person who carries the master version of the game, this is the version of the game that will be published to their account.
This person is highly recommended to also be your programmer for ease of use.

Importing Work to Master Copy

When others have work they are ready to send you it will come inside of a zip folder you need to unpack the zip to the maps folder.

  1. Unzip and save the zip somewhere on your computer incase you need a backup
  2. Locate C:\Users\USERNAME\Documents\My Games\CORE\Saved\Maps\
  3. Paste the unziped Documents
  4. Open core editor and the new files are ready to be opened
  5. Open the files
  6. Copy the work folder you need or any new updates your team have sent you
  7. Close the editor
  8. Open the master and paste now the new files are inside the main game remember to test for errors

Designer Basics

A designer in core is typically someone who is making mostly objects and using kitbashing to make unique things to look at in the world.

Method For Saving Work

This method is for the desinger to properly organize and send their work for the team project.

  1. Open your project in the Core Editor
  2. Right click in the Hierarchy
  3. Select New Folder
  4. Move all your work into this new folder
  5. Save your game with Ctrl + S

Method For Sending Work

  1. Locate the game files you wish to send C:\Users\USERNAME\Documents\My Games\CORE\Saved\Maps\
  2. Right click and pick the option Send to -> then pick Compressed Zip
  3. Choose one of the methods for deliver in the Advanced Team Tools section

Programmer Basics

A programmer typically in core is someone versed in LUA as well as cores standard API.

Basic Saving

As a programmer you can send your team files as needed you can use the following below.

Text Method

  1. Create a script you wish to send
  2. Copy the raw text from this document
  3. Send the raw text to your team
  4. On their end they create a script
  5. Then they paste the code you sent

Template Method

  1. Create the script in the Hierarchy
  2. Right Click it then select Create Template From Script
  3. Right Click it again, find the option Find In Catalog
  4. It will take you to your saved template Right Click the saved template and click Export

Anyone will now be able to drag and drop your script into their project. Remember to be careful to outline the dependencies needed for the
script to your team so the script works properly, alternatively you can do the following.

Desinger Friendly Method

  1. Open your project in the Core Editor
  2. Right click in the Hierarchy
  3. Select New Folder
  4. Move all your work into this new folder.
  5. Save your game with Ctrl + S

Method For Sending Work

  1. Locate the game files you wish to send C:\Users\USERNAME\Documents\My Games\CORE\Saved\Maps\
  2. Right click and pick the option Send to -> then pick Compressed Zip
  3. Choose one of the methods for deliver in the Advanced Team Tools section

Advanced Team Tools For Collaboration

Discord

You can create a team discord for your game and collaborate through voice
You can install Discord using the link to download on their website.
This is the Core Hub Offical Discord Link.

Creating a discord server

  1. Scroll to the bottom of your discord server list via the left panel of discord.
  2. Click the green plus Add a Server
  3. Create a server and fill in the info for the server

Inviting Your Team

  1. Click the name at the top of your new server
  2. Click the option Invite People
  3. You can copy this link and send it to people you'd like to be on the server

Alternatively you can edit this link and change its options from the same screen.

Setting Permissions

Remember to set permissions so that only your team can view the discord files you are dropping in. You can create roles and premissions for
those roles using the following method.

  1. Click on the arrow next to the server name.
  2. Click on Server Settings
  3. Click on Roles

When you first create your server there is only one pre-made role: @everyone. The @everyone role defines the permissions that are enabled for
everyone on your server even if they have no other roles assigned to them.

  1. To create a new role click on the '+'.
  2. Once you have created a role, you can assign specific server-wide permissions for that role by toggling the dials.

Don't forget to click Save Changes to save your changes!

Assigning Roles

  1. Click on the 'Members' tab in the server settings menu.
  2. Click on the plus sign under the member you want to assign a role to and select the role from the drop down window.

This member now has the server-wide permissions that you assigned to that role. Alternatively you can simply right click the user
if they are in a voice channel and assign roles via the roles option.

Sending files

On your teams discord channel or via direct message you can drag and drop files to your team, remember the cap on files for discord is 8MB.
Should you go over this amount you can get a higher cap from discord by purchasing nitro alternatively the free method using google drive is below.

Google Drive

If your file size gets too big for discord (8MB Limit) you can use Google Drive
You can signup for GoogleDrive using the link to their website.

Sending a file

  1. Drag and drop your zip file into your Google Drive
  2. Right click the file once uploaded then pick the option Get Shareable Link
  3. Make sure to set this link from Restricted to Anyone With The Link
  4. Copy the link and send this to your team

Trello

This program is for quickly creating story board type workflow. This will allow you to streamline bugs and patches to your programmer.
You can signup for Trello using the link to their website.

Trello Basics

Using Trello is a straight forward process start by making a board then you create a team and give them the links to the board. Now you
will all be able to edit and create on the board together.

Visual Studio Code

This program is useful for coding together or alone in a more streamlined fashion than cores built in coding platform.
You can download Visual Studio Code using the link to their website.

Hooking Into The Project

You will need to hook into the project files before sharing the live session with your team.

  1. Inside Visual Studio Code go to File then click Open Folder
  2. Locate your games scripts folder C:\Users\USERNAME\Documents\My Games\CORE\Saved\Maps\YOURGAME\Data\Scripts

And you are done and ready to create a live share session.

Collaboration Via Live Share

Live Share is an extension for VS Code that enables real-time collaboration between developers. As you'll see in a second,
you'll have the ability to share a "session" with someone else, allowing them to edit code as well as share a sever and debugging session.

Getting Started

  1. Install the Live Share extension by clicking the extension button located on the left panel
  2. Open the command palette
  3. Type in Live Share and install
  4. Start Live Share
  5. Share link with your team.