TUXDB - LINUX GAMING AGGREGATE
 NEWS TOP_PLAYED GAMES ITCH.IO CALENDAR CHAT WINE SteamDeck
 STREAMERS CREATORS CROWDFUNDING DEALS WEBSITES ABOUT
 PODCASTS REDDIT 

 

SUPPORT TUXDB ON KO-FI

MENU

ON SALE

New Twitch streamer aggregation implemented (#FuckTwitch) due to Twitch's API issues (more info on my Discord )



Name

 Turing's Puzzle 

 

Developer

 LevelHead Studio 

 

Publisher

 LevelHead Studio 

 

Tags

 

Singleplayer 

Release

 2021-10-02 

 

Steam

 € £ $ / % 

 

News

 21 

 

Controls

 Keyboard 

 

 Mouse 

 

Players online

 n/a 

 

Steam Rating

 Overwhelmingly Positive 

Steam store

 https://store.steampowered.com/app/1444480 

 
Public Linux depots

 Linux [68.91 M] 




LINUX STREAMERS (0)




Where is the patch?

A lot of really hard work has gone into the next upcoming patch. It has taken a long time to get this one ready though (and it still isn't done yet), so some new players are asking if the game is abandoned. It certainly isn't!

Here is a quick preview of what is going on behind the scenes:
[previewyoutube=38cKko7sViw;leftthumb][/previewyoutube]


[ 2023-08-01 11:12:12 CET ] [ Original post ]

Verilog export added

This update brings a verilog exporter to the game. Verilog is an industry standard hardware description language. With your favorite architecture exported to verilog format, you can theoretically simulate it with other simulators, simulate it on an FPGA (basically circuit simulation hardware) and presumably even get it produced as a chip if you can afford it. However if you are excited to try this out but don't have experience with industry tools, be warned that they are far from as polished from an ease of use perspective, as games like this are. Things can be painful to set up sometimes.

In other news, here are some of the things that were added since last update:
- Added a "Ticks Per Second" counter
- Added UI scaling
- Improved multi select
- Enabled reordering of the left side IO list by drag and drop
- Added bidirectional pins and tri state pins to that IO list
- Deleted the Stack component, created a new version of the "Negative numbers" level and more small iterations like that.
- Also I fixed a ton of long standing bugs

At the moment I am working on improving the programming language that the levels of the game are defined in. Once its updated, players will be able to write and share their own levels / level packs (with full server verified scoring), which will be very exciting. This might take a while though and it is hard to predict exactly how long, since I want to try to do some things I don't have much experience with. I will post more when I figure it out.


[ 2022-09-09 05:32:32 CET ] [ Original post ]

Update note

Color blind mode was finally added. The red "OFF" color is replaced by purple, since green / purple should be differentiable for all major forms of colorblindness. Also the purple is brighter so it can be distinguished from contrast as well. Color blind mode can be enabled it in the options menu.

If you have colorblindness, let me know how well it works!


[ 2022-07-19 18:03:06 CET ] [ Original post ]

The schematic hub is live

Check out the schematic hub, it is finally live and there are already a few really cool things uploaded.

Players who have 10 total upvotes or more between all their uploads on the 10th of August will get a badge on their profile.


[ 2022-07-11 12:01:34 CET ] [ Original post ]

Upcoming new feature - Schematics hub

It is finally time to add the feature that I have earlier referred to as "sharing". This will be in the form of an in game interface called the Schematics Hub, where players will be able to upload architectures or custom components and explore what others have uploaded. Players will be able to upvote, downvote or comment on other architectures and custom components.

You can expect this update within 1 or 2 weeks. After it has released, there will be a limited time opportunity to earn a new badge, more about that here:

[previewyoutube=ES2XZ8Wc6tU;leftthumb][/previewyoutube]











I originally announced that I would be working on this new feature a couple of months ago, but the preparations for it ended up taking a long time. Specifically, I wanted to make an effort not to break shared schematics, so I ended up spending a lot of time agonizing over the details of many of the components. As an example of how far in the weeds I went to try and get everything right, I ended up creating a custom font (with the help of some community members) for the console, so that I wont have to break ascii art in the future. The most time consuming components to get right were the network component, the console and the different RAM options, which ended up taking about one or two weeks each. They were time consuming, not because their implementations were difficult, but because I learned something new after each implementation that made me want to revisit how they worked.

In any case, I can't 100% guarantee that I wont break working schematics from when the Schematics Hub goes live, but I do feel fairly optimistic about it.


[ 2022-06-23 07:25:31 CET ] [ Original post ]

New soundtrack!

New music

Turing Complete now has a new synthwave soundtrack. As with all music, not everyone is going to like it but I personally can't stop listening to it!

You can also find it on Spotify:
https://open.spotify.com/album/1NV5KxX785RrwA5RWIz0j8?si=LlUK4wveTpaMeBT9Mh8r1g


Progress towards sharing

Meanwhile work towards in-game sharing is continuing. Mostly I have been tying up loose ends (like translation) and trying to get to a stable set of components in the game. The goal is to get components stable enough so that shared schematics will never have to be broken by a new update. After finishing these things, actually adding the sharing functionality shouldn't take too long. You can expect more news about this within a few weeks.


[ 2022-05-26 05:46:48 CET ] [ Original post ]

Patch notes

The following was done since the realism patch 3 weeks ago:

- Fixed levels, scores, achievements and other things that were broken as a result of the realism patch.

- 16 bit and 32 bit components were introduced, as well as a 2 bit decoder and word sized NAND, NOR and XNOR.

- The component menu was reworked which was needed to accommodate all the new components. Custom components in the menu are now nested according to the players save folder structure.

- The old 64 bit RAM was replaced by 3 new RAM components, which all have their cost scale with their configurable size. The first RAM has a high gate cost, the second has a high delay cost. The third has a high delay cost, but its delay is amortized over several ticks. This means it effectually adds very little delay to the circuit, making it cheap in both gates and delay, but reading from it takes several ticks to complete. In future levels, more advanced score optimizing builds will likely use a slow cheap RAM for main memory, but cache results with a smaller fast RAM. All 3 RAM components have configurable size and word width.

- ROM was added. This component can only be written to in the sandbox, but its memory is not reset on level change or reset. It can be used for lookup tables in scored levels (where you cannot write to it). For creative builds that don't care about scored levels, this component can also be used as a hard disk in the sandbox. Like the RAM, the ROM component has configurable size and word width.


[ 2022-04-20 21:12:41 CET ] [ Original post ]

Embracing realism and short term roadmap

For a while now I have been working on removing some of the common critiques people had regarding the realism of the game. The main changes have been requiring components to be powered, adding latches and the change you can watch explained in this video.

[previewyoutube=THkYbpz3YEE;leftthumb][/previewyoutube]










It is in a video format, because I wanted to explain the changes thoroughly and I fear the blog post would have been too long.

Because I wanted to announce this large change properly and not have players guess it ahead of time, I wasn't able to really let players know I was working towards this goal of realism and why. But since the cat is now out of the bag, I am excited to once again be able to share the short term roadmap for the game.

With this change, the realism modifications I wanted to make are pretty much done (there may or may not be an option for having an explicit clock at some point, but this would not affect scoring and might be better suited for user generated levels). The next goal is to finally implement in-game sharing. I imagine 3 types of sharing.

1. Architectures: These would be fully fledged machines you can download to your own computer. I imagine this being useful for fantasy game consoles, real world architectures or community architectures. Other players will then be able to share programs for each architecture. So user A can make a game for the fantasy console of user B and so on.

2. Demos: Read only schematics for neat stand alone programs, like the game of life, a mandelbrot explorer or games.

3. Custom components: A way to share custom components or packs of custom components.

All this would take place through in-game UI and there would be upvotes / downvotes and comments. The magic internet points earned by player uploads will be visible on their profile (but you can't get downvoted below 0, so no need to worry about losing points).

In order to get this far though, there is a bunch of stuff I want to do first.

First of all, I want to tie up some loose ends. I need to actually implement the change mentioned in the above video, then fix a bunch of small UI glitches and quality of life issues and I want to finish translation support.

Secondly, I want to get to a stable point in terms of the basic components supported in the game. My opinions of many of these things have stabilized I think and I would like to make an honest attempt at never having to break things that have been committed to the sharing platform. So first I will add a lot of missing sandbox components, like more kinds of RAM, displays, networking and sound. The way the players should interact with these things will take some time to settle, so I will prioritize adding this first. I used to think that I should give players as much power as possible, but my opinion has been refined a bit. Providing players with finished building blocks for everything is like giving players the most powerful weapons in a first person shooter game. It makes them feel powerful but removes a lot of gameplay and fun. Instead I should provide players low level control of the IO of their computer, so they can build anything they want. I also want to have just one easy to understand way to do things and it is OK if it means it takes a bit of work to do common things, as long as it is not extremely tedious. This is also why the Random component was removed.

While we experiment with the sandbox components and give their interface some time to settle, I will add 16 and 32 bit variants of the 64 bit components. I like simplicity and you can use the 64 bit components for 16 or 32 bit operations, by simply ignoring the high bits (for all components except signed less). Further there is a neat symmetry of the byte maker taking 8 bits to produce a byte, while the 64 bit maker takes 8 bytes. However, actually watching a stream of someone building a 16 bit computer it became clear that it is a bit awkward and it just doesn't feel right. I cant see myself ever supporting odd bit widths, since for speed I want all components to map to a single x86 or ARM instruction as much as possible. If you want to build a 107 bit computer, you can still do it, but simple schematics should reduce to simple machine code and if you are doing something complicated, it should be obvious from your schematic.

To support all these new components I will also have to upgrade the component menu, so it doesn't become completely cluttered.

Finally I want to mention that I had originally planned to bring back the old architecture scoring "perf score" system around this time, but thinking about it more, saving this effort in order to get to user generated levels faster is the better plan. User levels is the most important missing feature (although it will take much work) and users will likely create a better architecture scoring systems than I could.


[ 2022-03-18 07:07:45 CET ] [ Original post ]

Patch notes

Components now have to be connected to an input to simulate.

Watched state had a major upgrade. In the component factory, use a "Watchable state" component to decide what state should be exposed on the custom component. This also adds a state indicator visually on the component. With this you can watch multiple different states inside a custom component or watch deeply nested state. You will have to reconnect your watched state the first time you play this patch.

Rendering was made a lot smoother, supporting large circuits.

The max zoom level was increased.

The buildable area of the architecture map was increased 4x.

Save files compressed by 40% by storing wires in a different way

Assembler supports octal numbers

Lots of little bug fixes.


[ 2022-01-30 06:11:26 CET ] [ Original post ]

Console and FileRom have been added

This patch brings the file rom, while the console was added a few days ago.

The console is the first of a couple of display components that are planned. It allows you to print colored characters to a 80x24 display. You can use this for displaying text, creating games or video.



The file ROM loads bytes from any file on your computer. This can for example be used for importing large amounts of data, building file format parsers or using an external assembler.

Both components are unlocked in the sandbox level.


[ 2022-01-02 14:27:40 CET ] [ Original post ]

Introducing the Delay Buffer

After yesterdays controversial patch, a new idea was suggested which was just too good not to adopt. Instead of having the 1 bit memory be the basis for all memory, it is now a new delay buffer component. All the delay buffer does is take an input and output it the next tick.

First of all, this is a good candidate for the simplest possible memory component, which is where we should start.
Secondly, it lets the game introduce memory and related concepts in a more intuitive way.
And lastly, it makes pipelining architectures easier and score optimizing more interesting.

2 new early game levels were added to introduce the concept.


[ 2021-12-27 21:13:02 CET ] [ Original post ]

The SR Latch has been depreciated

The SR Latch component has been depreciated, the "SR Latch" and "Saving Gracefully" levels have been removed and replaced by the level "Odd Ticks".

One of the core ideas of this game has been that you build everything from the ground up and I loved the idea that you start from a single component type, the NAND gate. The SR Latch level was in the game as an excuse to introduce memory, but it was a half-baked trick. This level used different logic than other levels, meaning you couldn't actually solve all other levels using just NAND gates anyway.

The main reasons the SR levels were removed are these:

1. All players who had no experience with electronics got completely stuck in this level. This made it by far the worst level in the game.

2. A lot of electronics majors have criticized the game for not being very rigorous with regards to electronics. But actually the game is not about electronics at all, just as much as it is not about physics or chemistry. The game builds on top of pure digital logic, the "atoms of algorithms". It then explores the semantics of execution through the layers of abstraction, up to CPU architectures and assembly. The concept of an SR Latch is an electronics concept and is a confusing hack in the digital logic rules of this game.

3. In the late game when scoring is unlocked, unlocked components are scored by what the game thinks is the best of the players solutions (which is always minimum NAND + DELAY). But sometimes you would like a different version of a component, where you care more about NAND than DELAY for example. Before you could deconstruct solutions to a combination of NAND, SR Latch and the 1 bit memory. But you could have differently scored versions of the 1 bit memory, so you would want different versions for different level solutions. Now all solutions can be deconstructed to NAND and the 1 bit memory and they both have fixed scores. This means you no longer have the need for different versions of components (since you can deconstruct them to something with fixed cost).

I know this may be quite a surprise to many players, but know that this wasn't an easy decision for me either. The SR Latch and its prior iterations have seen by far the largest number of iterations in the game and have their own simulation engine. But sometimes you have to cut what doesn't work.


[ 2021-12-26 15:17:08 CET ] [ Original post ]

Refactoring patch complete

This patch completely reworks how simulation of schematics work. This should increase simulation speed, fix random crashes from a memory leak and a race condition and make UI components work in fast simulation mode. This might not sound too exciting, but soon I will add more screen components (the old one doesn't work now and will be removed), a new keyboard component, file and networking components.

You may notice that your watched state has been disconnected after upgrading to this patch.


[ 2021-12-23 15:12:22 CET ] [ Original post ]

A debrief and the road ahead

Debrief
The original plan to have a "soft launch" of this game and scale up the player base slowly completely failed. Believing that games don't become popular without at least a bit of marketing, I thought I was well prepared when the game launched. With a handful of active beta testers, I wasn't aware of any bugs or anything I urgently needed to change, but with a high launch discount 500 players joined on launch day and I had to scramble to keep up with. That said I am of course very happy people are interested in the game.

Besides a ton of bug fixes the most noteworthy changes in the 6 weeks since launch are:
- 5(?) new levels
- A few new components and component changes
- A lot of reordering the level tree
- Faster undo / redo system
- Added level search
- Added WASD to pan
- Added the zoom feature
- Added a new control scheme (click to wire)
- Added key remapping
- Reworked the level save system
- Enabled nested components
- Added 64 bit wires and components

The road ahead
In the near to mid term there are 3 major features I am eager to add to the game.

One of them is allowing players to create and share custom levels. To do this I need to upgrade and document the custom scripting language used for levels. Any levels built in this scripting language can also be scored by the server. At some point I want players to be able to browse a wealth of custom levels in game. These levels will be ordered by up / down votes by default and will have server verified scores.

Another thing I want to add is schematic sharing through the sandbox. Here again I want an in game menu for browsing and sharing projects. I imagine players would create music, little games and so on. Before this I want to rework the screen and the sound component and make them work during fast simulation, as well as enabling 64 bit in the assembler.

And a third thing I want to add is content that deals with deeply pipelined architectures. New components and levels are needed for this, as well as a speed up of simulation.

So if any of that sounds exciting to you, stay tuned!


[ 2021-11-20 16:47:40 CET ] [ Original post ]

New save system and how to fix missing IO components

The save menu has been upgraded with the following features:
- Folder support
- Use filenames up to 45 characters
- Add descriptions to your schematics
- Rename custom components without having them disappear in your architectures
- Get a warning before deleting custom components that are also in architectures

Soon to come will be allowing nested components in the component factory.

Also a bug was fixed that might have caused your input or output component to get deleted. If you are stuck on a level with messed up IO components, do the following:
1. Go to the save menu and create a new schematic
2. Copy paste your work to the schematic
3. Delete the old one


[ 2021-11-07 14:20:05 CET ] [ Original post ]

0.158 Beta

WASD movement
New Byte Expander and Byte Compressor that shows signed 8th bit
A bunch of minor improvements to make the early game more accessible
And a few bug fixes


[ 2021-10-14 20:07:40 CET ] [ Original post ]

Fixes performance drops in long play sessions

Some of you have been building large circuits and have been complaining that frame rates started to drop after playing for a while.

This patch should fix that.


[ 2021-10-13 11:57:09 CET ] [ Original post ]

Custom component link moved

This patch contains lots of little updates I want to get out there, but I wanted to give a heads up about the following:

The link from architectures to custom components is now found in the custom component panel. So click on the custom component you want to edit, then click on the wrench in the upper right corner.

(Note it doesn't actually take you to the same schematic as the custom component you clicked on, but it will soon)


[ 2021-10-10 09:55:31 CET ] [ Original post ]

Moved decoder level

In this patch the decoder level was changed and moved to an earlier more natural place. Your old decoder solution will still work but some of it might be outside the level boundaries. If this bothers you, just create a new circuit and solve it again.

Also I apologize for deleting the byte subtractor component the other day without a prior heads up, since it must have broken some players circuits. That wont happen again without notice.


[ 2021-10-07 08:32:48 CET ] [ Original post ]

Changes to the level map

The player base grew by 100x over night so lately there has been a lot quick hot fixes for game breaking bugs. Those were uploaded as soon as I could.

In this patch though, you will likely notice that layout of the level map has changed in the following ways:
- The level architecture level "Output Bit" was removed
- The early game level "Double Trouble" was added to make "Counting Signals" easier
- "Bigger AND gate" and "Bigger OR gate" were moved to the early game

There has been a bunch of typo fixes and a few level specific quality of life improvements. Next short term fix is to the incompatibility with certain Linux distros.


[ 2021-10-05 16:51:58 CET ] [ Original post ]

Get ready for early access!

I am extremely proud to announce that Turing Complete will soon reach a new milestone, we are about ready for early access!

This comes after a huge amount of work, half of which has probably been iterating on level design. "Just" making a good puzzle game is probably difficult enough, but I feel like it has been difficult squared to build a puzzle game that is good enough to stands on its own, while also being confined to a real world curriculum. The levels of this game have probably seen redesign on average about 4 times, while some have definitely been redone more than 10.

In any case, the long grind is over, the foundation is laid and I now want to invite players to enjoy the game and help refine it.

So far I have focussed only on finishing the game and have been so invisible that some even thought the game was dead. But from now on I will try to be more visible, by posting plans, progress and other content here and on YouTube.

I am very excited for what is to come and I hope you will enjoy the game, I can honestly say that it is my personal favorite game of all time!

The game will be available for early access as soon as I have finished a few tweaks and Steam has finished their review. In the meantime, join us on discord or subscribe on YouTube.


[ 2021-09-19 17:04:36 CET ] [ Original post ]