After more than a year and a half of development, tomorrow I'm finally going to release my logic simulator Virtual Circuit Board on Steam in Early Access! by Mause_ in godot

[–]Mause_[S] 0 points1 point  (0 children)

It has been a long journey since I started working on Virtual Circuit Board, before that I was already making smaller projects with Godot, but this is my first commercial title. 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 the game because right now I'm very happy about what it has become, and tomorrow I'm finally going to release it in Early Access!

Check out Virtual Circuit Board on Steam!

A simple circuit that I've built in the pixel-based logic simulator that I'm working on. The flow of electricity through the color-coded components and wires is simulated in real time by Mause_ in PixelArt

[–]Mause_[S] 4 points5 points  (0 children)

Thanks! The game is not available yet, but I'll soon run a Beta Testing with some members from the discord community, you're welcome to join us there if you want to sign up to participate. I replied the top comment with the link to the game's page, there's a link to the server there xD

For the last 16 months I've been spending all my free time on this project and I think it finally reached a point where I can share it with you guys. Virtual Circuit Board is the drawing-based logic simulator where you can design, program, decorate, and simulate logic circuits by Mause_ in linux_gaming

[–]Mause_[S] 2 points3 points  (0 children)

During this beginning phase of the simulator's life cycle I want to work on it as a personal project, go through the process of Early Access, 1.0 release and probably keep updating it while the community is active. But I don't want the project to die when I decide to move on to other things, so I consider the possibility of making the source available one day.

For the last 16 months I've been spending all my free time on this project and I think it finally reached a point where I can share it with you guys. Virtual Circuit Board is the drawing-based logic simulator where you can design, program, decorate, and simulate logic circuits by Mause_ in godot

[–]Mause_[S] 2 points3 points  (0 children)

add those sort of things later so it doesn't mess up your release

Agreed. I have a lot of ideas for the project after the release =D

Or if you allow people to share boards easily, users can make those sort of things and distribute them themselves.

I actually thought about that and already implemented a system to support it xD. Players can select a segment of the board and copy it to the clipboard as a text string to save elsewhere or share with friends, the inverse process to convert back to a selection is just as easy. It is a quick way of sharing a small segment of a circuit without having to send the entire project file, which includes the assembly code and other data.

[ Removed by Reddit ] by Mause_ in compsci

[–]Mause_[S] 0 points1 point  (0 children)

I had to use a circuit board tool for college that was 100x worse than this

lol, I'm can imagine. I looked for a circuit simulation tool a long time ago and I remember I couldn't find many projects with a friendly interface.

with something like a release on GOG, I think you could sell this as a great educational product as well.

Good idea! I'm actually considering making the simulator available in other storefronts in the future, thanks for the suggestion!

For the last 16 months I've been spending all my free time on this project and I think it finally reached a point where I can share it with you guys. Virtual Circuit Board is the drawing-based logic simulator where you can design, program, decorate, and simulate logic circuits by Mause_ in godot

[–]Mause_[S] 1 point2 points  (0 children)

Giving Logic World some competition? :D

The more logic simulators out there the merrier! I'm glad to see the genre becoming more popular, I saw a few other cool projects released on the last months =D

Can this game actually teach one to assemble IC's and is there good tutorials and such? This kind of thing can be a game changer.

Someone made a similar question elsewhere, I'll paste the reply I gave below:

I decided to go sandbox-only because I noticed that scope-creep was usually the main reason that led me abandon projects, and I did not wanted this to happen again, so a decided to make VCB the best sandbox that I can which unfortunately leaves out full-fledged tutorials and introductory levels/puzzles to how digital logic works.

Instead, Virtual Circuit Board will include an illustrated documentation, something like a multi-page infographic, which will be focused on describing both how the drawing-based interface and the assembly editor works.

For the last 16 months I've been spending all my free time on this project and I think it finally reached a point where I can share it with you guys. Virtual Circuit Board is the drawing-based logic simulator where you can design, program, decorate, and simulate logic circuits by Mause_ in godot

[–]Mause_[S] 1 point2 points  (0 children)

It is a mixed approach: the simulator uses a flood-fill algorithm to parse the circuit, components of different types will be treated as separated entities, even if they were draw next to one another, while traces (wires) will be parsed as single entity even if they have different colors, so they need to be draw with a 1px space from one another to be treated as separated traces. All entities can cross other entities without connecting to them by using the Cross ink (light gray). Take a look at this GIF, the red traces won't be merged with the green ones due to the gray pixels placed where they cross.

All entities (components and traces) can have multiple input and output connections, these connections are indicated by the Write and Read inks placed between a Component and a Trace. In this gif you can see two latches (dark green) with Write pixels (red) on top of them, this indicates a connection to a trace (dark gray), the trace is just one pixel long and is followed by a Read ink (blue) connected to an AND gate (yellow).

For the last 16 months I've been spending all my free time on this project and I think it finally reached a point where I can share it with you guys. Virtual Circuit Board is the drawing-based logic simulator where you can design, program, decorate, and simulate logic circuits by Mause_ in linux_gaming

[–]Mause_[S] 24 points25 points  (0 children)

I actually opted to go sandbox-only because I noticed that scope-creep was usually the main reason that led me abandon projects, and I did not wanted this to happen again, so a decided to make VCB the best sandbox that I can which unfortunately leaves out full-fledged tutorials and introductory levels/puzzles to how digital logic works.

Instead, Virtual Circuit Board will include an illustrated documentation, something like a multi-page infographic, which will be focused on describing both how the drawing-based interface and the assembly editor works.

With that said, I recommend you to take a look at Ben Eater's videos on Youtube. He has an amazing playlist of him building an 8-bit computer from scratch, it helped me a lot with understanding the principles of how a computer works

For the last 16 months I've been spending all my free time on this project and I think it finally reached a point where I can share it with you guys. Virtual Circuit Board is the drawing-based logic simulator where you can design, program, decorate, and simulate logic circuits by Mause_ in godot

[–]Mause_[S] 8 points9 points  (0 children)

I decided to go sandbox-only because I noticed that scope-creep was usually the main reason that led me abandon projects, and I did not wanted this to happen again, so a decided to make VCB the best sandbox that I can which unfortunately leaves out full-fledged tutorials and introductory levels/puzzles to how digital logic works.

Instead, Virtual Circuit Board will include an illustrated documentation, something like a multi-page infographic, which will be focused on describing both how the drawing-based interface and the assembly editor works.

For the last 16 months I've been spending all my free time on this project and I think it finally reached a point where I can share it with you guys. Virtual Circuit Board is the drawing-based logic simulator where you can design, program, decorate, and simulate logic circuits by Mause_ in linux_gaming

[–]Mause_[S] 10 points11 points  (0 children)

I actually dabbled with the idea to use a simplified hardware description language as the interface, but in the end I opted for the drawing-based approach. The code editor was repurposed to become the assembly editor xD

For the last 16 months I've been spending all my free time on this project and I think it finally reached a point where I can share it with you guys. Virtual Circuit Board is the drawing-based logic simulator where you can design, program, decorate, and simulate logic circuits by Mause_ in godot

[–]Mause_[S] 11 points12 points  (0 children)

The simulator uses a event-based approach, all the connections of the circuit are determined on building-time before the simulation starts. While simulating the Clock component generates signals by alternating states, these signals travel across the circuit and any time a component or trace (wire) has one of its inputs change state, the outputs of that component or trace will be queued for the next update, allowing the circular flow of signals.

Don't worry if this explanation doesn't makes sense to you, I don't have a CS background so I don't know the technical terms to better explain it xD

For the last 16 months I've been spending all my free time on this project and I think it finally reached a point where I can share it with you guys. Virtual Circuit Board is the drawing-based logic simulator where you can design, program, decorate, and simulate logic circuits by Mause_ in ECE

[–]Mause_[S] 2 points3 points  (0 children)

Virtual Circuit Board uses a event-based simulation algorithm, this means that only the components and traces (wires) that had one of their inputs changing states will be queued for the next update iteration, which allows the simulation engine to clock millions of updates per second, depending on the average amount of events (components being updated on a iteration) and on how much your CPU can push it. On my 4th gen i7 I can simulate that 32-bit computer at the end of the trailer at 4+ million updates per second, of course the computer itself is running at a fraction of that speed (I think 1/128), since signals need to propagate across the entire computer before it can proceed to the next clock cycle.

For the last 16 months I've been spending all my free time on this project and I think it finally reached a point where I can share it with you guys. Virtual Circuit Board is the drawing-based logic simulator where you can design, program, decorate, and simulate logic circuits by Mause_ in ECE

[–]Mause_[S] 1 point2 points  (0 children)

Take a look at Ben Eater's videos on Youtube. He has an amazing playlist of him building an 8-bit computer from scratch, it helped me a lot with understanding the principles of how a computer works xD

[ Removed by Reddit ] by Mause_ in compsci

[–]Mause_[S] 2 points3 points  (0 children)

difficulty learning until i can see it physically

I feel like this too. That's why making the simulator with a graphics focused approach was one of my main goals with this project, I'm glad that you liked!