
Circuit Artist é um jogo de desenho e simulação de circuitos digitais.
🔧 Reformulei o motor de simulação para usar uma simulação orientada a eventos com atraso variável, levando em conta a topologia dos fios para criar um mapa de distância/atraso de propagação baseado no cálculo de atraso de Elmore para árvores. Também considera fanout de NANDs, então você tem coisas como quanto maior o fanout, maior o atraso, árvores propagando de forma diferente de "linhas", etc., para ter uma simulação mais "precisa" para que os jogadores possam jogar/desenvolver intuição para projeto de circuitos reais (mais ou menos).
🔍 As distâncias são mapeadas para pixels para que os jogadores possam visualizar os fios "propagando" com brilho, o que acho legal e ajuda a entender como as coisas funcionam. A renderização é feita em tempo real com alguns shaders.
🕤 Também adicionei um design baseado em delta na simulação para permitir que a simulação seja pausada e controlada para frente e para trás para que os jogadores possam interagir com ela. Particularmente útil para depurar circuitos "cíclicos".
🍰 Os jogadores também podem adicionar camadas como no Photoshop (até 3 camadas), e os fios das camadas podem conectar com camadas vizinhas, embora NANDs sejam permitidos apenas na camada inferior. Fios nas camadas superiores têm uma velocidade de "propagação" maior.
🏆 Adicionei um sistema de campanha de ritmo mais lento para que novos usuários possam resolver problemas aos poucos e aprender conceitos gradualmente, testando/refinando soluções e acompanhando o progresso. Ainda está no início, planejo adicionar mais coisas depois.
👜 Adicionei uma interface de inventário para colocar blueprints, para que os jogadores possam construir sua biblioteca e reutilizá-la, o que também adiciona uma nova dimensão de progressão ao jogo.
🔉 Adicionei um pouco de som aos circuitos, para que quando simulam, eles "bipam" em função da atividade do circuito.
:godmode: A simulação também não é mais "imediata"; os jogadores podem construir seus próprios relógios no modo sandbox apenas explorando o mecanismo de atraso. Componentes síncronos/clock não funcionarão de graça, é preciso torná-los eficientes, adicionando uma dimensão extra de desafio/diversão ao jogo.
🚧 Há também uma fórmula/cálculo simplificado de energia para explorar a eficiência energética do circuito versus velocidade (embora ainda não esteja totalmente desenvolvido no jogo).
Confira o documento de física para mais informações (em andamento)
Para Windows, você pode usar CMake + Visual Studio.
git clone https://github.com/lets-all-be-stupid-forever/circuit-artist.git
cd circuit-artist/
git submodule init
git submodule update
mkdir build
cd build/
cmake ..
make
|
|
|
|
|
|
|
|
|