Hacker Newsnew | past | comments | ask | show | jobs | submit | sergex's commentslogin

Author here. Yeah, the first level is special and perhaps half-baked. It felt like cheating to start with the NAND-gate as the atomic component since transistors are not NAND-gates. So I start with electric relays (since they logically correspond to transistors but are easier to visualize). But I didn't want to get into realistic simulation of electronic circuits with all the complexity this entails.

May I ask how you would have preferred to solve the first level if the game didn't have limitations?


Two relays' outputs in parallel (A.K.A. "top half of CMOS NAND cell"): https://commons.wikimedia.org/wiki/File:Relay_nand.svg

(In real life, I might put a diode OR + single relay-based inverter, but that's too far into analog logic for the essentially digital game)


Is your problem with the user interface, i.e. how to connect wires from input to output, or is is with the logical problem of getting the correct output?


No it means you can either optimize for fewest components or fewest nand-gate. The text could be clearer.


Author here - I would love to do a few layers below the nand gate.


"A few layers" - pun intended?

A CMOS game, drawing the various layers that make up transistors, would be interesting to see.


> I'd like to see the ability to "unbundle" the composite components.

This is a great idea, and you are not the first to suggest it. I just haven't gotten around to implement it.


Yes it has improved a lot. Still more improvements to come!


Author here: The reason you drag from the input rather than output is that a pin can have only one input.


Please ignore. It was completely tongue-in-cheek. Great idea and implementation.


Author here - thank you for the feedback!

The nand-count is based on how you built the components involved. So optimizing a component will have have cascading effects.

"This is the simplest solution!" means the solution with fewest individual components on the canvas. I realize the text could be clearer.


If I could add a few more suggestions:

1. The blue on purple color scheme is a little hard on the eyes. Changing the blue lines and circles to #0f0 green helped a lot. (Green also has strong "on" semantics)

2. My SO and I both had trouble finding the trash can. We both tried to drag components back to the workbench or off of the mat to delete them. A larger trash can icon or just making it red might help.

3. I ran into some z-layering issues (at least on Firefox). Opening a component info bubble from the workbench displays under the mat. Also the "results" popup displays underneath any components that might be on the far side.

Overall great game though! I had a lot of fun with it. Thank you!


Thank you very much for the suggestions.


I see, thanks!

Yeah if you see my comment below I think really it should always be explicit both about whether you used the fewest components and (separately) about whether you used the fewest NAND gates. Currently it seems like you sometimes only get told about one or the other...


In that case it would be useful to see which components could still be optimized on the level overview :)


Love the game. One suggestion I had is that it would be helpful to indicate the number of nand gates in each component. When I'm trying to optimize I'm also trying to remember which is a "cheaper" component - having a number of nand gates associated with each component would help.


Hi author, cool game, you got me hooked! One thing I could suggest for now (I'm still in the Latch level) is that you could go a bit below and start from the transistor itself, like build the nand gate from the transistors..


Yes that would be great!


Author here - It uses TypeScript and the Angular framework. Not because I prefer Angular in particular but because I had to learn it anyway for a work-related project. I think TypeScript is great.


It looks like it is more canvas than svg, yes? Was there a particular canvas library that you used? I ask because I'm working on a side project that feels like it mostly pulls me in an svg direction, so I'm been prototyping with dagrejs and cytoscape.js, but it also has elements of creating (or dragging, like yours) new elements into a graph and connecting them, so I'm regularly torn when deciding on the basic architecture of it.


I'm not using canvas. SVG is used for the connections, the rest is HTML. I'm not using any particular library for the diagrams, since I couldn't find anything suiting my purpose unfortunately.

I would definitely like to improve the look of the wires.


Thanks for replying! Continued good luck with the project.


It is a web site, but it seems they have a "sites" plan for 5$ a month. Looks great, thanks!


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: