A central element of LogicWorld is the computation time of circuits or how quickly signals propagate through its elements.
This guide shows some basic builds that play with this aspect of the game.
Introduction and Disclaimer
This is the first time I’m writing a guide on Steam and I only have very few hours of LogicWorld under my belt. So please be gentle with me – constructive criticism is always welcomed though. In this guide I wanted to focus a bit on the time-aspect of LogicWorld, because it wasn’t that apparent to me when I first launched the game, but I think it is an essential aspect of the game.
A bit on terminology in this guide:
In LogicWorld, signals can be in either of two states:
- Active / Red / True / High …….. I will call this state TRUE
- Inactive / Black / False / Low…. I will call this state FALSE
The smallest time-unit – one step of signal propagation – is called a tick.
Setting simulation speed
LogicWorld simulates the propagation speed of signals on its own clock, where one tick represents one time-step. By default, 30 ticks are computed per second.
However, this simulation speed can be changed. In the current version (0.90.1) there is no menu setting for this, but the simulation speed can be changed with the in-game console.
For this guide it is recommended to set the simulation speed to only 1 or few ticks per second.
Bring up the debug console
- Press the [`] key in game – or whatever key you have defined for “Open Debug Console” in the Controls setting.
Enter the command to change simulation speed
- Enter the command server “simulation.rate X“ where X is an integer value, specifying how many ticks per second should be computed.
So signals are propagating through your system. With the simulation speed set to one or a small number of ticks per second, one can easily watch this propagation.
Connections between pegs are instantaneous, but most elements need one tick to convert an input into an output signal. An element with a single input and a single output is the buffer. It’s transfer takes 1 tick, and chaining them in a row is a nice way to visualise the propagation of a signal along the chain.
We can connect such chains in a circular manner and ‘insert’ a TRUE signal at any time and point:
Because signals don’t expire, this will create an endless loop, and the timing of those signals remains stored. As any peg can have multiple outgoing connections without weakening a signal, such loops, once programmed, can be used to ‘generate’ any repeated sequence of TRUE and FALSE signals:
Signal insertion could be done with any of either switches, buttons, or keys, but the downside of these is, that the duration they set a signal TRUE depends on how long the control is activated. Unless correctly timed, one will not get a single-tick signal.
This is not really a problem for a simulation speed of 1 tick per second, but it can get more difficult at regular speeds.
With a tiny bit of logic one can convert a long-duration-signal into a single-tick impulse. The following simple circuit achieves this:
The above depicts the ready-state of the circuit.
Setting the input to TRUE will pass with 1 tick delay:
But the next tick will no longer pass a TRUE signal.
This locked state remains as long as the input is TRUE. Once it becomes FALSE the system requires one more tick before returning to the ready-state of the beginning:
Some simple Tick Canons
A circular chain of programmed buffers can be used to produce a constant stream of arbitrary signal-configurations as shown previously, but there are also some simpler – and more compact – builds that achieve regular signal-patterns.
There are certainly many different ways to build such canons, and finding them is part of the fun of LogicWorld, but to get you started: Here are some examples:
The 2 : 2 Tick Canon
The 1 : 3 Tick Canon
The 1 : 1 Tick Canon
This is it guys!! I am sure that you will love Logic World Beginner’s Guide to Ticks And Time that we have shared with you. We are always open to discussion and suggestions from you. Just let us what you thought about the guide in the comment section.
Also, we would like to thank bejoscha. He is the one behind this wonderful guide.