UI/UX - Added a warning that appears when the game has not closed properly in the previous session, advising the player to check the autosaves. - Autosaves in the Recent Projects list now display how long ago they were created. - The Ink Switch Menu now also closes when an ink is right-clicked. - The Mouse Interaction Mode and the Target Simulation Speed are now saved with the project. Fixes - Fixed undo history of some text boxes (such as the assembly and notes editors) not being reset when loading a different project. Also, fixed cases where placeholder text was included at the start of the history. - Fixed File Dialog sometimes having the name of the previously opened/saved project pre-filled in the file name textbox. - Fixed autosaving system not always initiating the save rotation (when the game has just been opened) from the oldest autosave found. - Fixed Target Simulation Speed sometimes changing when switching from the spinbox to the slider widget.
Hi everyone!
I'm glad to announce that the 1.0 update is now available, marking the end of Virtual Circuit Board's Early Access journey!
Check out the full list of changes below.
[hr][/hr]
Blueprint Library
- Added a Blueprint Library that allows players to create their own collection of circuits, complete with titles, descriptions, and tags. The library displays preview images of the blueprints, includes search functionality, and supports tag-based filtering for easy navigation. - Adjusted the blueprint format to support text data blocks for the blueprints name, description, and tags. More details can be found at the Blueprint Specification page in the User Guide.
Sample Projects
- Added a compact version of the 32-bit Computer.
UI/UX
- Added shortcut for changing the current ink variant with Ctrl + Shift + Wheel Up/Down. - Added support for opening a project when a file path is passed as an argument to the games executable file. - Adjusted the Recent Projects list to display autosaved projects separately and include recently opened projects, not just recently saved ones.
Fixes
- Fixed an issue where part of the VMem Editor panel invisibly extended beyond the sidebars limits, blocking input to the board. - Fixed Notes panel incorrectly highlighting words before parentheses. - Fixed selection tiling not including the decoration layers. - Fixed an issue where the Quit Confirmation Dialog would unexpectedly appear after saving a project with a new name (using Save As) if the player had previously canceled the quit operation.
Hi everyone, today I have important news about Virtual Circuit Boards development.
I would like to begin by announcing that the long awaited and highly requested Blueprint Library is now live in the beta branch! With this feature, it is finally possible to conveniently build an easily accessible collection of your circuits, complete with titles, descriptions, and tags. If you are not familiar with the beta branch, you can read more about it in this topic.
The introduction of the Blueprint Library marks a major milestone in VCB's development. It not only improves the process of saving and reusing circuits, but also completes the set of features that I considered essential for the game to provide a fulfilling experience. As a result, Im glad to announce that Virtual Circuit Board will soon be released out of Early Access.
Before we get into what the move to version 1.0 means for VCB's future, I want to thank you, the VCB community, for all the feedback and support during the Early Access stage. When I started this little project of developing a circuit simulator nearly three years ago, I couldn't have imagined it would grow into something that others would find enjoyable to play, even in its Early Access form. Your support and enthusiasm have made this journey incredible.
Developing VCB has been an amazing experience, although as we approach the 1.0 release, I find myself contemplating my next steps. My passion for the project remains strong, but I've been immersed in the topic of circuit simulation for a while now, and I believe its time to begin moving on. For that reason, starting from the 1.0 release, I'll be maintaining VCB with only minor QoL improvements and bug fixes. This shift in development ensures that I can continue supporting the game in the long run without risking being overwhelmed.
I'd like to apologize if any of the features you've suggested didn't make it into the final version, or if any aspect of the game didn't receive as much attention as you had hoped. Once again, I want to thank you for the valuable feedback you shared throughout the Early Access period.
The Blueprint Library will be available in the beta branch for a few weeks before making it onto the main branch.
Virtual Circuit Board will be released as version 1.0 in early October.
The 0.4 update is live introducing a VMem Editor panel, the ability to tile selections, support for assembly macros, and more! Check out the highlights and full list of changes below. [hr][/hr]
VMem Editor
The VMem Editor enhances the workflow of building circuits that interface with the Virtual Memory. Using this panel, we can inspect the VMem when simulating projects, or modify it when the game is in edit mode.
Selection Tiling
Building circuits composed of repeated elements, like memory units, is now much easier thanks to the new ability to right-click and drag a selection to repeat it.
Multicolored Traces
The Array tool can now draw multicolored traces, which comes in handy when working with buses.
Macro Support and Origin Directive
Instructions with expressions can now be simplified thanks to the introduction of macro support. An origin directive has also been added to the assembler, which can be useful for storing data in specific memory locations.
[hr][/hr]
Virtual Memory
- Added a VMem Editor panel. This new menu enables players to inspect the Virtual Memory when simulating projects and modify it when the game is in edit mode. - Added the option to incorporate the external VMem data into the projects file. - Implemented persistent memory with configurable range. The persistent section of the VMem is preserved when the simulation stops, making it possible to store data for future runs. - Address and content latches can now to be toggled in the same tick. The content change will always take precedence (more details available at the Virtual Memory III page in the User Guide). - Fixed rejected input to the address latches not being reported in the Event Log in some cases. - Fixed content latches not actually rejecting input while the VMem was locked, and neither reporting it in the Event Log.
Assembly Editor
- Implemented support for macros. Instructions with expressions like mov | rgA << 2 | rgB can now be simplified to mov rgA rgB. - Added origin directive. Useful for storing data in specific memory locations. - Fixed expressions like x + y z and (x + y) z not being flagged as invalid. - Fixed assembly editor not restoring its previous active line and scroll position after simulation. - Fixed crash caused by expressions with division by zero.
Selection Tool
- Added tiling mode. Right-click and drag a selection to repeat it. - The selections size and tile count are now displayed at the Selection card in the Circuit Editor panel. - Selections can now be rotated with the R key. - Added the option to include empty cells when applying selections. - Changed behavior of pasting with CTRL+V: The current selection is now applied to the board instead of being discarded, while the new selection is positioned at the mouse cursor instead of the viewports center. - Selections are now applied when the project is being saved. - Fixed resizing issues with selections created at the bottom and right edges of the board. - Fixed an issue where selections were not properly created if the mouse button was released while hovering the interface.
Circuit Editor
- Added a Multicolored Traces option to the Array tool. - Added Pass Through Crosses and Ignore Empty Areas options to the bucket tool. - The decoration palette now holds more colors and is saved with the project. - Fixed decorations unexpectedly appearing in circuits due to old decorations in empty areas not being properly discarded during saving. - Fixed board overlay inadvertently being hidden when creating a new project while editing a decoration layer.
UI/UX
- The current tick, as well as the address and state (ready/locked) of the Virtual Memory, can now be seen in the Circuit Editor panel during simulation. - Fixed occasional inaccuracy in the total count of ticks and events displayed on the TPS label's tooltip. - Fixed Ink Switch Menu not automatically closing when entering simulation mode with it open.
Virtual Input
- Fixed Key Name button staying pressed when entering simulation mode. - Fixed input from modifier keys being consumed by the Virtual Input when the game was in edit mode.
Core
- Project saving is now done atomically to safeguard against file corruption.
Simulation
- Fixed tunnel pairs not connecting when placed near the edges of the board. - Fixed Step Mode not saving the first step advanced if the simulation was paused by a breakpoint. [hr][/hr]
Update Notes
The previous build (0.3) is still available through an opt-in branch, in case you wish to keep playing in the old version and update later.
What's Next?
In the next update VCB will get the highly anticipated Blueprint Library!
New Inks, new Virtual Devices, and more!
The 0.3 update is live introducing several new inks, a Virtual Input device for keyboard interaction, a Virtual Display, and more! Check out the full list of changes below. [hr][/hr]
Highlights
- It is now possible to build very compact circuits using the newly introduced Bus, Tunnel, and Mesh inks. These Space Optimization inks enable us to build more things on the board using less space. And, speaking of saving space, with the new Virtual Display we can attach a customizable screen directly on top of our circuits! - Keyboard interaction with circuits, time synchronization independent of simulation speed, and random number generation are now all possible through the Virtual Input device, Timer ink, and Random ink, respectively. - Debugging circuits has been made a little more convenient with the ability to step back the simulation during step mode. Along with the introduction of a Breakpoint ink, the option to simulate only the visible portion of the board, and proper support for toggling multiple latches when the game is paused. [hr][/hr]
Simulation
- Circuit compilation times reduced, especially for large projects. - Simulation optimized. Most circuits have a moderate increase in performance, some may run up to twice as fast. - Overall responsiveness of the game improved when simulating large projects. - Added support for stepping the simulation backward. During Step Mode (when the simulation is paused) the simulation state is saved each time the player steps it forward, making it possible to step back to any saved tick since the simulation was paused. - Added option to compile only the visible portion of the board. This can be useful to view the statistics of a specific area of the board. - Added support for mouse interaction with multiple latches when the simulation is paused. - Added immediate visual update to latches toggled when the simulation is paused. - Mouse interaction now updates the simulation, introducing instant feedback when toggling or pressing latches at low TPS rates, and preventing them from staying enabled when using the Press interaction mode within the span of one tick. - Fixed the latch bug that was triggered when a latch received multiple events in the same tick. - Fixed bug that inadvertently allowed mouse interaction with non-latch components, which resulted in undefined behavior in the simulation. - Fixed components that are automatically toggled by the simulation (like the Clock) inadvertently being able to toggle on input from traces.
Inks
- Added several new inks. The Tunnel, Bus, Mesh, and Wireless inks allow circuits to be much more compact, while the Timer and Random components make it easier to create interactive projects that trigger events based on time and randomness. A breakpoint ink was also implemented to aid in debugging projects. - Added Tunnel ink. Behaves similarly to a cross ink but based on the concept of a pair of entrance and exit points that can be placed further apart. - Added Mesh ink, a more versatile alternative to the Wireless inks. Works similarly to the tunnel by allowing traces, buses, and components touching meshes in different locations of the board to merge together. - Added Bus ink, with 6 color variants. Allows multiple gates and traces to overlap the same space on the board. - Added 4 Wireless inks. Each of the four variants behaves like a single OR gate spread out throughout the board. - Added Timer ink. Toggles based on real life time and its interval can be defined in the order of milliseconds. - Added Random ink. Toggles randomly on the rising edge of inputs based on an user-defined or time based seed. - Added Breakpoint ink. Pauses the game on the rising edge of inputs, and registers the event on the Event Log. - Added the ability to set the clock interval in ticks.
Virtual Devices
- Added a Virtual Display with eight indexed color modes to render images based on a customizable palette, and a RGB mode to render 16M+ colors. The several modes makes it possible to choose the best balance between color depth and memory footprint. The VDisplay can have any resolution as long as it fits inside the board and has a total of 2 pixels or less. Additionally, it does not occupies board space, and its buffer pointer can be modified during simulation. - Added a Virtual Input device to allow interaction with circuits using the keyboard. - Fixed VMem only partially loading the external memory file (vcbmem).
UI/UX
- Added an Event Log to inform the player about relevant game events, like incorrect VMem usage and breakpoint occurrences, and to report problems in the circuit found during compilation, such as the existence of unmatched tunnels. Some event cards can be pressed to focus the camera on the component that triggered them. - Added option to toggle ink symbols for traces (accessible by right-clicking the Symbols Overlay button). - Important compilation and simulation events now are also communicated with an alert displayed at the interface header. - Added a label to the right-click menu of the LED ink indicating the current and maximum amount of colors for the palette. - Added support for entering hexadecimal and binary values in number fields. - Added a subtle autosave indicator that briefly appears beside the menu for recently saved and autosaved projects (clock icon). - Added tooltip to the Mouse Interaction Mode buttons.
Circuit Editor
- Added axis constraint for the selection tool. - Added a button to invert the selected inks on the Filter. - Adjusted the appearance of the Trace Color popup to match the Ink Switch menu and Filter. - Added Statistics card. Available during simulation, the panel shows the total area drawn and the cell count of each ink present in the board. The card also displays how many unique entities the circuits has and the quantity per trace or type of component. The data can be exhibited in absolute values or percentages, sorted by the order that inks appear in the editor, or based on their amounts. - Fixed Array tool drawing only crosses if the repeat value is greater than one while the offset for both axes is zero and auto-cross is enabled. - Fixed LED palette not being parsed correctly when it contained newline characters. - Fixed the right-click menu for picking the trace color not showing any variant selected until the trace color is changed at least once.
Graphics
- Fixed incorrect rendering of the depth effect for inks placed on the top and right edges of the board. - Fixed circuit rendering artifacts that appeared for some players. [hr][/hr]
Update Notes
The previous build (0.2.1) is still available through an opt-in branch, in case you wish to keep playing in the old version and update later.
What's Next?
In the last changelog I mentioned that the Blueprint Library and VMem Viewer were going to be added in 0.3, but I ended up prioritizing other mechanics for this update. Both features are still in the roadmap for future releases. You can read more about plans for future updates in this topic.
Fixed error message "39H" appearing for some players whenever settings or shortcuts were changed.
Update 0.2 - UI Rework
The 0.2 update is live introducing a docking system interface, UI scaling support, and many usability improvements! Check out the full list of changes below. User Interface - Added UI scaling support. - Introduced a docking system that organizes the game's editors and viewers in swappable side panels. The new layout makes it possible to adjust the UI according to your needs by toggling, resizing, and repositioning panels across the new docks and sidebars added in the update. - The cursor coordinates were added next to the hovered ink label, which now changes its background color to the one of the ink below the cursor. - Several small changes were made throughout the UI to improve usability and to accommodate the new docking interface. Circuit Editor - Added an Ink Switch Menu. Press Q to reveal it at the mouse position. - Changed the "space" parameter of the Array tool to independent X and Y offsets. Virtual Memory - Implemented the VMem Settings menu as a panel of the docking system. - Address and content bits are now always visible when the Virtual Memory is enabled. - An yellow and blue gradient is used to color all bits in order to make it easier to identify their endianness. - Added focus buttons to move the camera to the least significant bit, the most, or the center of all bits, for both address and content. Camera - Increased the zoom in and out range. - The camera movement is smoother in high refresh rate monitors. - Panning and zooming actions now have alternative rebindable shortcuts. - Allowed the shortcut to pan the view (middle mouse button as default) to be rebinded. Shortcuts - Buttons for actions with shortcuts now display the assigned keybind in their tooltips. - Allowed the primary and secondary editor actions (left and right mouse buttons as default) to be rebinded, making it possible to use the right mouse button to move the camera. - Allowed actions to be cleared and left unbinded. Graphics - Added support for entity highlighting during simulation, making it easier to visualize all the inks that make up a component or trace. - Added Flat Rendering toggle to disable the depth effect on the circuit. - LEDs are now affected by the decoration layers. User Guide - Changed the User Guide format to a responsive layout. - Added an interactive table of contents. - Example circuits can be pasted into the board. Assembly Editor - Added external assembly editing support. - Added external base VMem support. Other changes - Blueprints can optionally include the decoration layers. - Added a Notes panel with bookmarks support for project documentation. - Added an in-game changelog. Fixes - Fixed issue that appeared for some players where the brush cursor would not be centered with the mouse cursor when launching the game in fullscreen. - Fixed Spinbox widgets inadvertently receiving input from the mouse wheel while disabled and immediately after becoming hidden. - Fixed brush cursor not visually matching the actual pattern being used to draw in some occasions. - Fixed distortions in the board grid that occasionally appeared when zooming in or out. - Fixed color banding in the board. - Fixed animated board background being rendered incorrectly in some hardwares. - Fixed some buttons not receiving input when blocked by their own tooltips.
Update Notes
This update resets the game's settings and shortcuts. The previous update (0.1.2) is available as an opt-in branch in case you wish to keep playing in the old build and update later. Keep in mind that the new 0.2 update can open any projects but once saved they won't load in previous builds, the same applies to blueprints.
What's Next?
The next updates will bring a blueprint library and a VMem viewer to the game.
Update 0.1.2 - Ink Symbols Overlay
Hey all, patch 0.1.2 is now live bringing the Ink Symbols Overlay to make it easier to visually identify Inks without relying on color alone. The update also allows the simulation speed to be manually inputted and introduces other small quality of life changes. You can check the full list of changes below. Additions - Toggleable overlay of symbols on top of inks to improve accessibility. The overlay becomes visible when the circuit is zoomed-in and can be toggled using the button next to the assembly editor toggle, the overlay visibility is remembered across sessions. Currently symbols are not displayed for traces and decoration inks but the ability to configure which symbols are shown and other options will be coming in the future. - It is now possible to manually input the simulation speed by right-clicking the slider widget. Changes - The widget for the amount of ticks to jump during step mode now becomes disabled when the simulation is not paused. - The TPS label no longer oscillates at low tickrates. - The Hovered Ink label is now visible during simulation. Fixes - Fixed a rendering issue with the selection tool that appeared for some players.
What's Next
Currently I've been working on the UI rework and refactoring to lay the groundwork for upcoming features, the next update is expected to show up on the beta branch until the end of August. Also there's now a roadmap listed in the official Discord if you would like to know what is planned for future updates!
Hi everyone! It has been only a week since VCB was released in Early Access but I wanted to say that I am amazed by all the incredible things that you players have already built and shared with the community! I'm currently dealing with the legal/business side of indie development in my country but I'm looking forward to starting improving VCB based on your feedback once I'm done with the paperwork. I'll begin by introducing the most requested feature so far: the toggleable overlay of symbols over inks to improve accessibility. Followed by an UI rework to prepare VCB for upcoming features, with some minor bugfixes and quality of life improvements in between. Further changes and features will be looked into after the UI rework is completed. Thanks everyone for supporting Virtual Circuit Board on its first days of Early Access!
Fixed a security issue in project loading (found by Alexandra Julia Tilch).
It has been a long journey since I started working on Virtual Circuit Board. There were several times during development that I almost gave up on it after losing motivation (like I did with every project that came before it) but I'm glad I kept working on it because I'm very happy about what VCB has become. I'm glad to announce that after more than a year and a half of development Virtual Circuit Board is now available in Early Access! I'm looking forward to seeing what kind of circuits you all are going to be building in VCB!
I'm glad to announce that Virtual Circuit Board is going to be released in Early Access in 2 weeks from now, on the 20th. This announcement may have come sooner than you were anticipating, but in the last two weeks of beta testing (the first was unannounced) I had the opportunity to read the first impressions of the community and to keep working on improving VCB based on the feedback that I've gathered so far. And now Virtual Circuit Board has reached a point where it is ready for the entire community to start having fun with it while I keep developing the game based on your feedback and suggestions! If you signed up to playtest VCB there might still be a chance of you being selected in the next days. After this last round of invites the beta will continue up until the launch week. Virtual Circuit Board will be priced within the range of the other games in the circuit simulation genre currently available on Steam, and it will have a launch discount. I can't wait to see the circuits that you all are going to build when the game becomes available!
Hi everyone! Virtual Circuit Board has recently reached a stage of development where I think it's ready for the community to start getting hands-on access to the game through a beta-testing run. This is a very important phase of VCB's development and I count on your feedback and suggestions to help me in continuously improving the game so it can make a smooth Early Access launch this year. Beta will last a few weeks and starting today I'll be selecting players participating in our Discord community to playtest VCB, so if you havent joined our server yet, nows a perfect time! I can't wait to read your first impressions of Virtual Circuit Board!
Virtual Circuit Board
Reverie Foundry
Reverie Foundry
2022
Singleplayer EA
Game News Posts 13
🎹🖱️Keyboard + Mouse
Very Positive
(237 reviews)
https://www.virtualcircuitboard.com/
https://store.steampowered.com/app/1885690 
[40.16 M]
Virtual Circuit Board, or VCB, is a minimalist sandbox drawing-based logic simulator featuring an assembler and a powerful simulation algorithm. All of it designed to allow you to be free to build and experiment with logic circuits to your heart’s content.
A Sandbox Experience
Being exclusively a sandbox game, in VCB you will set your own goals of what and how you want to build, this comes with the assumption that you already have some basic knowledge about logic gates. Knowing programming concepts will also help you to build advanced computers using the assembler, although it is by no means mandatory, designing by drawing is just as fun! It is up to you to decide how you want to create things in VCB.Powerful Simulation
High-performant deterministic simulation with adjustable speed and the ability to pause and advance by steps. Simulate with a frequency of up to millions of updates per second.Assembler
Assembly editor where you can define your own instructions to create a program that will be assembled to a Virtual Memory that can be accessed by the circuit.Editing and Simulating
Working in VCB is divided in two modes, while editing you can use the drawing tools to modify your circuit, and the assembly editor to write any programs, and during simulation you can see your circuit running and visualize the instructions being executed in the assembler.Drawing-based Interface
Build circuits by drawing color-coded entities like logic gates and traces, and use the specialized tools such as the Array to optimize your workflow by drawing multiple traces simultaneously. Both the electronic components and the traces support multiple input and output connections.Decoration
Customize the appearance of circuits by drawing in the Paint Layers that override the component's default colors. This allows you to create things such as buttons and labels that change appearance depending on the component's state.[ 5951 ]
[ 3198 ]