Custom level creation/Getting started: Difference between revisions

From Turing Complete
No edit summary
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
{{Breadcrumbs|Alpha Branch|Custom level creation}}
{{Breadcrumbs|Alpha Branch|Custom level creation}}
{{Early-access-version|0|1346}}
== Preparation ==
== Preparation ==
# Use your favorite <code>git</code> tool to fork the main <code>tc_campaign</code> repository from https://github.com/Stuffe/tc_campaign.
# Use your favorite <code>git</code> tool to fork the main <code>tc_campaign</code> repository from https://github.com/Stuffe/tc_campaign.
Line 16: Line 17:


Each level is stored in a separate directory containing several files:
Each level is stored in a separate directory containing several files:
* [[Custom level creation/circuit.data|<code>circuit.data</code>]] is the default level layout, allowing the inclusion of locked (red) components, suggested components, etc.
* [[Custom level creation/circuit.data|<code>circuit.data</code>]] is the default level layout, allowing the inclusion of indelible (red) components, suggested components, etc.
* [[Custom level creation/meta.txt|<code>meta.txt</code>]] contains the bulk of the level metadata including the level's display name, level log text, level dimensions, default assembly ISA, default assembly code, and several other bits of data.
* [[Custom level creation/meta.txt|<code>meta.txt</code>]] contains the bulk of the level metadata including the level's display name, level log text, level dimensions, default assembly ISA, default assembly code, and several other bits of data.
* [[Custom level creation/ui.txt|<code>ui.txt</code>]] contains metadata regarding images and text properties (font, size, etc.) used in the display panel at the bottom of the screen.
* [[Custom level creation/ui.txt|<code>ui.txt</code>]] contains metadata regarding images and text properties (font, size, etc.) used in the display panel at the bottom of the screen.

Latest revision as of 00:46, 15 January 2025

wip
wip

This page descibes the early access verion 0.1346 Beta. It may not be completely correct for the the current stable version, nor the latest unstable version. Help us update it, and you get a cookie.

Preparation[edit | edit source]

  1. Use your favorite git tool to fork the main tc_campaign repository from https://github.com/Stuffe/tc_campaign.
  2. Make sure the game is closed and that Steam has completed it's cloud sync (if enabled).
  3. Navigate to your game installation directory in your OS' file system (eg: Explorer in Windows, Finder in MacOS).
    • In Steam, you can right-click Turing Complete in your library list and select Properties → Installed Files → Browse.
  4. Delete the existing campaign directory. You can back it up first if you like, or just trust Steam's Verify integrity of game files functionality to repair everything if needed.
  5. Clone your fork: git clone https://<your repository>/tc_campaign.git campaign

You should now be able to start Turing Complete with your newly-cloned campaign files.

It is highly recommended that you push changes to your repository regularly in order to avoid Steam updates overwriting files unexpectedly, or otherwise conflicting with your work.

Getting started[edit | edit source]

The easiest starting point is to copy an existing level that is similar in style to what you're trying to create.

Each level is stored in a separate directory containing several files:

  • circuit.data is the default level layout, allowing the inclusion of indelible (red) components, suggested components, etc.
  • meta.txt contains the bulk of the level metadata including the level's display name, level log text, level dimensions, default assembly ISA, default assembly code, and several other bits of data.
  • ui.txt contains metadata regarding images and text properties (font, size, etc.) used in the display panel at the bottom of the screen.
  • test.si is the code the game will run to initialize and perform testing of the player's circuits.

Naming conventions[edit | edit source]

Your new level directory should be named in all lowercase, with words separated by underscores (_), a style known as "snake case". This is to ensure maximum compatibility across platforms.

The level's display name (from meta.txt) does not have to be related to the directory name (for example, the Storage Cracker level is located in the directory binary_search). It is of course more convenient for everybody if the display name and the directory name are correlated in an obvious manner.

The console[edit | edit source]

Several steps throughout the level creation process will require you to input commands into the game console . To access the game console , open the main menu by clicking the "hamburger" icon () in the upper left corner and then press q. A small console window will appear in the upper right where you can enter any required commands.