{"id":9,"date":"2026-10-22T19:23:26","date_gmt":"2026-10-22T19:23:26","guid":{"rendered":"https:\/\/bugzyard.com\/?page_id=9"},"modified":"2026-10-22T19:23:26","modified_gmt":"2026-10-22T19:23:26","slug":"fpga-games","status":"publish","type":"page","link":"https:\/\/bugzyard.com\/?page_id=9","title":{"rendered":"FPGA Games"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Play Basys 3 FPGA games in your browser: the simulation runs on your own PC, no board needed. Pick a game to see how to play it.<\/p>\n<div class=\"vb3-games\" style=\"display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px;margin:20px 0\"><article id=\"game-bee-invaders\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=10\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/bee-invaders.png\" alt=\"Bee Invaders (Space Invaders style) on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=10\" style=\"color:inherit;text-decoration:none\">Bee Invaders (Space Invaders style)<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">Verilog \u00b7 buttons, sprites from .mem files, Clocking Wizard (no .xci)<\/p><p style=\"margin:0 0 10px;font-size:.9em\">btnL \/ btnR (Left\/Right arrows) move, btnU (Up arrow) fires, btnC (Space) resets<\/p><p style=\"margin:0 0 10px;font-size:.8em;opacity:.7\">Source: <a href=\"https:\/\/github.com\/AdrianFPGA\/basys3\" rel=\"nofollow noopener\" target=\"_blank\">AdrianFPGA\/basys3<\/a><\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=game:bee-invaders\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-flapga-mario\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=12\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/flapga-mario.png\" alt=\"FlaPGA Mario (Flappy Bird style) on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=12\" style=\"color:inherit;text-decoration:none\">FlaPGA Mario (Flappy Bird style)<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">Verilog \u00b7 buttons, 3 ROM images, BGM on JXADC<\/p><p style=\"margin:0 0 10px;font-size:.9em\">Wait for the 5 s start screen. btnU (Up arrow) flaps, btnC (Space) restarts<\/p><p style=\"margin:0 0 10px;font-size:.8em;opacity:.7\">Source: <a href=\"https:\/\/github.com\/howardlau1999\/flapga-mario\" rel=\"nofollow noopener\" target=\"_blank\">howardlau1999\/flapga-mario<\/a><\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=game:flapga-mario\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-flappy-qlearning\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=14\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/flappy-qlearning.png\" alt=\"Flappy Bird with Q-learning AI on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=14\" style=\"color:inherit;text-decoration:none\">Flappy Bird with Q-learning AI<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">Verilog \u00b7 USB keyboard (PS\/2), 17 Block Memory ROMs from .coe files, a custom keyboard IP<\/p><p style=\"margin:0 0 10px;font-size:.9em\">Space on the keyboard flaps (keyboard goes to PS\/2 automatically). sw0 = Q-learning mode, btnD = reset<\/p><p style=\"margin:0 0 10px;font-size:.8em;opacity:.7\">Source: <a href=\"https:\/\/github.com\/engine210\/qhoenix\" rel=\"nofollow noopener\" target=\"_blank\">engine210\/qhoenix<\/a><\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=game:flappy-qlearning\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-tetris\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=16\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/tetris.png\" alt=\"Tetris on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=16\" style=\"color:inherit;text-decoration:none\">Tetris<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">SystemVerilog \u00b7 buttons, Clocking Wizard 30 MHz + 25.175 MHz, music on JB1\/JC1<\/p><p style=\"margin:0 0 10px;font-size:.9em\">Press btnC (Space) first to start! btnL\/btnR move, btnU rotates, btnD drops<\/p><p style=\"margin:0 0 10px;font-size:.8em;opacity:.7\">Source: <a href=\"https:\/\/github.com\/deterjan\/FPGA-Tetris\" rel=\"nofollow noopener\" target=\"_blank\">deterjan\/FPGA-Tetris<\/a><\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=game:tetris\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-pacman-vhdl\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=18\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/pacman-vhdl.png\" alt=\"Pac-Man (VHDL, 800x600) on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=18\" style=\"color:inherit;text-decoration:none\">Pac-Man (VHDL, 800x600)<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">VHDL \u00b7 serial terminal (USB-UART 9600 baud), Clocking Wizard 40 MHz, 3 Block Memory ROMs (.xcix)<\/p><p style=\"margin:0 0 10px;font-size:.9em\">Typing goes to the USB-UART automatically: W A S D move. sw0 = reset<\/p><p style=\"margin:0 0 10px;font-size:.8em;opacity:.7\">Source: <a href=\"https:\/\/github.com\/atahanyorganci\/pacman-in-vhdl\" rel=\"nofollow noopener\" target=\"_blank\">atahanyorganci\/pacman-in-vhdl<\/a><\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=game:pacman-vhdl\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-reaction-vhdl\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=20\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/reaction-vhdl.png\" alt=\"Two-player reaction time game (ENEL453) on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=20\" style=\"color:inherit;text-decoration:none\">Two-player reaction time game (ENEL453)<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">VHDL \u00b7 VGA, buttons, switches, 7-segment, buzzer<\/p><p style=\"margin:0 0 10px;font-size:.9em\">sw15 = reset, sw14 = new game, sw13 = start, sw12 = show score, sw11 = set high score, sw10 = clear high score. Player 1 = btnL, player 2 = btnR, btnU\/btnD = rounds to play. Heavy design: runs slowly (about 1 picture every 2 s)<\/p><p style=\"margin:0 0 10px;font-size:.8em;opacity:.7\">Source: <a href=\"https:\/\/github.com\/ewanmay\/ENEL453FinalProject\" rel=\"nofollow noopener\" target=\"_blank\">ewanmay\/ENEL453FinalProject<\/a><\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=game:reaction-vhdl\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-pong-keyboard\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=22\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/pong-keyboard.png\" alt=\"PONG with score text (keyboard) on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=22\" style=\"color:inherit;text-decoration:none\">PONG with score text (keyboard)<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">Verilog \u00b7 USB keyboard (PS\/2), text ROM<\/p><p style=\"margin:0 0 10px;font-size:.9em\">A = up, S = down on the keyboard (goes to PS\/2 automatically). btnR = reset<\/p><p style=\"margin:0 0 10px;font-size:.8em;opacity:.7\">Source: <a href=\"https:\/\/github.com\/Ahtishamu\/PONG-Basys-3-\" rel=\"nofollow noopener\" target=\"_blank\">Ahtishamu\/PONG-Basys-3-<\/a><\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=game:pong-keyboard\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-pong-2player\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=24\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/pong-2player.png\" alt=\"Pong for two players (keyboard) on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=24\" style=\"color:inherit;text-decoration:none\">Pong for two players (keyboard)<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">Verilog \u00b7 USB keyboard (PS\/2), 7-segment score<\/p><p style=\"margin:0 0 10px;font-size:.9em\">Left player W \/ S, right player Up \/ Down arrows. btnC = reset<\/p><p style=\"margin:0 0 10px;font-size:.8em;opacity:.7\">Source: <a href=\"https:\/\/github.com\/RogerQi\/FPGA_Pong\" rel=\"nofollow noopener\" target=\"_blank\">RogerQi\/FPGA_Pong<\/a><\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=game:pong-2player\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-pong-vhdl\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=26\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/pong-vhdl.png\" alt=\"Pong (VHDL, buttons) on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=26\" style=\"color:inherit;text-decoration:none\">Pong (VHDL, buttons)<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">VHDL \u00b7 buttons, switches<\/p><p style=\"margin:0 0 10px;font-size:.9em\">btnL \/ btnR (arrows) move the paddle, sw14 \/ sw15 set the difficulty<\/p><p style=\"margin:0 0 10px;font-size:.8em;opacity:.7\">Source: <a href=\"https:\/\/github.com\/efeacer\/PongGameVHDL\" rel=\"nofollow noopener\" target=\"_blank\">efeacer\/PongGameVHDL<\/a><\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=game:pong-vhdl\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-snake-buttons\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=28\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/snake-buttons.png\" alt=\"Snake (buttons, timed mode) on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=28\" style=\"color:inherit;text-decoration:none\">Snake (buttons, timed mode)<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">Verilog \u00b7 buttons, switches, 7-segment score<\/p><p style=\"margin:0 0 10px;font-size:.9em\">Press an arrow to start; arrows steer. sw15 = timed mode, sw0 = restart<\/p><p style=\"margin:0 0 10px;font-size:.8em;opacity:.7\">Source: <a href=\"https:\/\/github.com\/vladrumyan\/Snake-Game\" rel=\"nofollow noopener\" target=\"_blank\">vladrumyan\/Snake-Game<\/a><\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=game:snake-buttons\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-snake-keyboard\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=30\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/snake-keyboard.png\" alt=\"Snake (keyboard) on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=30\" style=\"color:inherit;text-decoration:none\">Snake (keyboard)<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">Verilog \u00b7 USB keyboard (PS\/2)<\/p><p style=\"margin:0 0 10px;font-size:.9em\">Press btnC (Space is sent to the keyboard, so click btnC with the mouse) to start, then the arrow keys steer<\/p><p style=\"margin:0 0 10px;font-size:.8em;opacity:.7\">Source: <a href=\"https:\/\/github.com\/Claudiolisyus\/SNAKEGAME-VERILOG\" rel=\"nofollow noopener\" target=\"_blank\">Claudiolisyus\/SNAKEGAME-VERILOG<\/a><\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=game:snake-keyboard\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-hc-sr04\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=32\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/hc-sr04.png\" alt=\"HC-SR04 ultrasonic sensor test on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=32\" style=\"color:inherit;text-decoration:none\">HC-SR04 ultrasonic sensor test<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">Verilog \u00b7 ultrasonic sensor on JA, 7-segment<\/p><p style=\"margin:0 0 10px;font-size:.9em\">Turn on the switch for continuous measuring (or press btnD once). Move the distance slider. The 7-segment shows the echo time in clock cycles (hex)<\/p><p style=\"margin:0 0 10px;font-size:.8em;opacity:.7\">Source: <a href=\"https:\/\/github.com\/suoglu\/HC-SR04\" rel=\"nofollow noopener\" target=\"_blank\">suoglu\/HC-SR04<\/a><\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=game:hc-sr04\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-undertale\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=34\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/undertale.png\" alt=\"Undertale-style battle on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=34\" style=\"color:inherit;text-decoration:none\">Undertale-style battle<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">Verilog \u00b7 USB-UART keyboard, sprite images (.list ROM files)<\/p><p style=\"margin:0 0 10px;font-size:.9em\">Type in the UART card (the window&#039;s terminal): Enter = next page, W A S D move the heart, Space = select \/ attack.<\/p><p style=\"margin:0 0 10px;font-size:.8em;opacity:.7\">Source: <a href=\"https:\/\/github.com\/tongplw\/Undertale-Verilog\" rel=\"nofollow noopener\" target=\"_blank\">tongplw\/Undertale-Verilog<\/a><\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=game:undertale\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-xo-game\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=36\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/xo-game.png\" alt=\"Tic-Tac-Toe (XO) on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=36\" style=\"color:inherit;text-decoration:none\">Tic-Tac-Toe (XO)<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">Verilog \u00b7 buttons, VGA<\/p><p style=\"margin:0 0 10px;font-size:.9em\">Arrow buttons (btnU\/L\/R\/D) move the cursor, btnC places X or O. sw15 = reset. Two players take turns.<\/p><p style=\"margin:0 0 10px;font-size:.8em;opacity:.7\">Source: <a href=\"https:\/\/github.com\/rootEnginear\/CPE223_XO-Game\" rel=\"nofollow noopener\" target=\"_blank\">rootEnginear\/CPE223_XO-Game<\/a><\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=game:xo-game\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-sprite-console\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=38\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/sprite-console.png\" alt=\"Sprite game console (space duel) on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=38\" style=\"color:inherit;text-decoration:none\">Sprite game console (space duel)<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">Verilog \u00b7 2 SNES game pads, a small CPU + tile graphics<\/p><p style=\"margin:0 0 10px;font-size:.9em\">Two SNES pads on JA (Gamepad cards; pad 1 = arrow keys + Z\/X\/Enter, pad 2 = I J K L + N\/M\/P). sw15 = reset. A home-made 16-bit console running a two-player space game.<\/p><p style=\"margin:0 0 10px;font-size:.8em;opacity:.7\">Source: <a href=\"https:\/\/github.com\/jccherry\/Sprite_Console\" rel=\"nofollow noopener\" target=\"_blank\">jccherry\/Sprite_Console<\/a><\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=game:sprite-console\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-bang-bang-tank\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=40\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/bang-bang-tank.png\" alt=\"Bang Bang Tank (Tank 1990) on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=40\" style=\"color:inherit;text-decoration:none\">Bang Bang Tank (Tank 1990)<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">SystemVerilog \u00b7 buttons, PmodKYPD keypad, PS\/2 keyboard<\/p><p style=\"margin:0 0 10px;font-size:.9em\">Player 1: arrow buttons move, sw0 shoots. Player 2: the 4x4 keypad on JB (or the keyboard). sw15 = reset.<\/p><p style=\"margin:0 0 10px;font-size:.8em;opacity:.7\">Source: <a href=\"https:\/\/github.com\/halilsahiner\/Bang-Bang-Tank\" rel=\"nofollow noopener\" target=\"_blank\">halilsahiner\/Bang-Bang-Tank<\/a><\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=game:bang-bang-tank\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-flappy-square\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=42\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/flappy-square.png\" alt=\"Flappy Square on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=42\" style=\"color:inherit;text-decoration:none\">Flappy Square<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">Verilog \u00b7 buttons, VGA (3-3-2 colour)<\/p><p style=\"margin:0 0 10px;font-size:.9em\">btnD resets, btnC starts, btnU flaps. Score dots bottom right, best score on the 7-segment display.<\/p><p style=\"margin:0 0 10px;font-size:.8em;opacity:.7\">Source: <a href=\"https:\/\/github.com\/alexswo\/FlappyBird\" rel=\"nofollow noopener\" target=\"_blank\">alexswo\/FlappyBird<\/a><\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=game:flappy-square\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-guitar-hero\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=44\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/guitar-hero.png\" alt=\"Guitar Hero on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=44\" style=\"color:inherit;text-decoration:none\">Guitar Hero<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">SystemVerilog \u00b7 4 external buttons (frets), speaker, 800x600 VGA<\/p><p style=\"margin:0 0 10px;font-size:.9em\">sw0 = start, sw1 = reset. Hit the frets when the notes reach the bottom: keys A S D F (or click the Fret cards).<\/p><p style=\"margin:0 0 10px;font-size:.8em;opacity:.7\">Source: <a href=\"https:\/\/github.com\/buraksibirlioglu\/FPGA-Guitar-Hero\" rel=\"nofollow noopener\" target=\"_blank\">buraksibirlioglu\/FPGA-Guitar-Hero<\/a><\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=game:guitar-hero\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-marble-maze\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=46\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/marble-maze.png\" alt=\"Marble Maze (LED matrix) on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=46\" style=\"color:inherit;text-decoration:none\">Marble Maze (LED matrix)<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">SystemVerilog \u00b7 2 MAX7219 8x8 LED matrices, buttons, 7-segment<\/p><p style=\"margin:0 0 10px;font-size:.9em\">First flip sw0 (reset) on and off once. Choose the level with btnU \/ btnD and start with btnC, then roll the marble with the arrow buttons into the goal hole. The maze is on the LED matrix card.<\/p><p style=\"margin:0 0 10px;font-size:.8em;opacity:.7\">Source: <a href=\"https:\/\/github.com\/yalchinAlv\/MarbleMazeGame\" rel=\"nofollow noopener\" target=\"_blank\">yalchinAlv\/MarbleMazeGame<\/a><\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=game:marble-maze\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-simon-leds\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=48\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/simon-leds.png\" alt=\"Simon (LEDs + 7-segment) on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=48\" style=\"color:inherit;text-decoration:none\">Simon (LEDs + 7-segment)<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">Verilog \u00b7 buttons, LEDs, 7-segment<\/p><p style=\"margin:0 0 10px;font-size:.9em\">sw15 = reset (switch it on and off to start). Watch the LED pattern, then repeat it with the buttons. Score on the 7-segment display.<\/p><p style=\"margin:0 0 10px;font-size:.8em;opacity:.7\">Source: <a href=\"https:\/\/github.com\/ISmillex\/Simon-Game-FPGA\" rel=\"nofollow noopener\" target=\"_blank\">ISmillex\/Simon-Game-FPGA<\/a><\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=game:simon-leds\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-led-pingpong\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=50\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/led-pingpong.png\" alt=\"LED Ping-Pong (two players) on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=50\" style=\"color:inherit;text-decoration:none\">LED Ping-Pong (two players)<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">Verilog \u00b7 buttons, LEDs, 7-segment<\/p><p style=\"margin:0 0 10px;font-size:.9em\">The ball is a light running along the LEDs: player 1 hits it back with btnL, player 2 with btnR when it reaches the end. sw15 = reset. Score on the 7-segment display.<\/p><p style=\"margin:0 0 10px;font-size:.8em;opacity:.7\">Source: <a href=\"https:\/\/github.com\/bizkiwi\/verilog-fpga-pingpong-game\" rel=\"nofollow noopener\" target=\"_blank\">bizkiwi\/verilog-fpga-pingpong-game<\/a><\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=game:led-pingpong\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-atari-pong\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=52\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/atari-pong.png\" alt=\"Atari Pong on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=52\" style=\"color:inherit;text-decoration:none\">Atari Pong<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">VHDL \u00b7 4 external buttons (paddles), VGA<\/p><p style=\"margin:0 0 10px;font-size:.9em\">btnC = start \/ pause. Player A: W \/ S, player B: I \/ K (external paddle buttons on JA and JB). btnU \/ btnD = bigger \/ smaller ball, btnL \/ btnR = smaller \/ bigger paddles.<\/p><p style=\"margin:0 0 10px;font-size:.8em;opacity:.7\">Source: <a href=\"https:\/\/github.com\/mena-david\/Atari-Pong-VHDL\" rel=\"nofollow noopener\" target=\"_blank\">mena-david\/Atari-Pong-VHDL<\/a><\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=game:atari-pong\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-tile-explorer\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=54\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/tile-explorer.png\" alt=\"Tile world explorer on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=54\" style=\"color:inherit;text-decoration:none\">Tile world explorer<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">SystemVerilog \u00b7 buttons, scrolling tile map<\/p><p style=\"margin:0 0 10px;font-size:.9em\">Arrow buttons walk the player around a world bigger than the screen; the camera follows. Water and trees block the way.<\/p><p style=\"margin:0 0 10px;font-size:.8em;opacity:.7\">Source: <a href=\"https:\/\/github.com\/AdvaitParanjpe\/pixelForge\" rel=\"nofollow noopener\" target=\"_blank\">AdvaitParanjpe\/pixelForge<\/a><\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=game:tile-explorer\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-blackjack\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=56\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/blackjack.png\" alt=\"Blackjack on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=56\" style=\"color:inherit;text-decoration:none\">Blackjack<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">Verilog \u00b7 buttons, LEDs, 7-segment<\/p><p style=\"margin:0 0 10px;font-size:.9em\">btnC = new game, btnL = hit, btnR = stand. Your total and the dealer&#039;s on the 7-segment display; LD0 = win, LD2 = lose, LD1 = draw.<\/p><p style=\"margin:0 0 10px;font-size:.8em;opacity:.7\">Source: <a href=\"https:\/\/github.com\/lynzoie\/Blackjack\" rel=\"nofollow noopener\" target=\"_blank\">lynzoie\/Blackjack<\/a><\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=game:blackjack\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-led-arcade\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=58\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/led-arcade.png\" alt=\"Stop the light (LED arcade) on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=58\" style=\"color:inherit;text-decoration:none\">Stop the light (LED arcade)<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">Verilog \u00b7 buttons, LEDs, 7-segment<\/p><p style=\"margin:0 0 10px;font-size:.9em\">A light runs back and forth over the 16 LEDs: press btnC exactly while LED 7 is lit. Each hit makes it faster. btnU resets the score, btnD also the high score. sw0 = hard mode.<\/p><p style=\"margin:0 0 10px;font-size:.8em;opacity:.7\">Source: <a href=\"https:\/\/github.com\/ArmaanKafaipour\/Basys-3-FPGA-Arcade-Game-Verilog\" rel=\"nofollow noopener\" target=\"_blank\">ArmaanKafaipour\/Basys-3-FPGA-Arcade-Game-Verilog<\/a><\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=game:led-arcade\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-dino-run\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=60\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/dino-run.png\" alt=\"Dino Run (Chrome T-Rex) on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=60\" style=\"color:inherit;text-decoration:none\">Dino Run (Chrome T-Rex)<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">Verilog \u00b7 buttons, VGA sprites<\/p><p style=\"margin:0 0 10px;font-size:.9em\">btnU jumps over the cactus, btnD ducks under the birds. Score top right.<\/p><p style=\"margin:0 0 10px;font-size:.8em;opacity:.7\">Source: <a href=\"https:\/\/github.com\/Naresh-812\/Dyno_game_on_basys3FPGA\" rel=\"nofollow noopener\" target=\"_blank\">Naresh-812\/Dyno_game_on_basys3FPGA<\/a><\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=game:dino-run\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-raycast-fps\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=62\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/raycast-fps.png\" alt=\"3D Raycasting shooter on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=62\" style=\"color:inherit;text-decoration:none\">3D Raycasting shooter<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">SystemVerilog \u00b7 PS\/2 keyboard, buttons, 3D raycasting<\/p><p style=\"margin:0 0 10px;font-size:.9em\">Press F2 so your keyboard goes to the FPGA. W A S D move, arrow keys turn, Space shoots, R reloads; btnC starts. sw0 = run (on).<\/p><p style=\"margin:0 0 10px;font-size:.8em;opacity:.7\">Source: <a href=\"https:\/\/github.com\/Exstar63\/2026_LD_Lab_Final_Project\" rel=\"nofollow noopener\" target=\"_blank\">Exstar63\/2026_LD_Lab_Final_Project<\/a><\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=game:raycast-fps\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-square-catch\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=64\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/square-catch.png\" alt=\"Square Catch on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=64\" style=\"color:inherit;text-decoration:none\">Square Catch<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">Verilog \u00b7 buttons, VGA, 7-segment<\/p><p style=\"margin:0 0 10px;font-size:.9em\">Move your square with btnU \/ btnL \/ btnD \/ btnR and catch the targets. btnC resets. Score on the 7-segment display.<\/p><p style=\"margin:0 0 10px;font-size:.8em;opacity:.7\">Source: <a href=\"https:\/\/github.com\/phucthaiv02\/FPGA-project\" rel=\"nofollow noopener\" target=\"_blank\">phucthaiv02\/FPGA-project<\/a><\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=game:square-catch\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-slot-machine\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=66\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/slot-machine.png\" alt=\"Slot Machine on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=66\" style=\"color:inherit;text-decoration:none\">Slot Machine<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">Verilog \u00b7 buttons, switches, 7-segment<\/p><p style=\"margin:0 0 10px;font-size:.9em\">btnD spins the four reels on the 7-segment display, sw0 \/ sw1 stop them; matching numbers score. btnR resets.<\/p><p style=\"margin:0 0 10px;font-size:.8em;opacity:.7\">Source: <a href=\"https:\/\/github.com\/ryandc-yeo\/FPGA-Slot-Machine\" rel=\"nofollow noopener\" target=\"_blank\">ryandc-yeo\/FPGA-Slot-Machine<\/a><\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=game:slot-machine\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-minesweeper-pad\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=68\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/minesweeper-pad.png\" alt=\"Minesweeper (SNES pad) on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=68\" style=\"color:inherit;text-decoration:none\">Minesweeper (SNES pad)<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">Verilog \u00b7 SNES pad via the Gamepad Pmod, VGA<\/p><p style=\"margin:0 0 10px;font-size:.9em\">Start begins (Enter), the D-pad moves the cursor (arrow keys), A opens a square (X key), B flags it (Z key). 5x5 board, 3 mines.<\/p><p style=\"margin:0 0 10px;font-size:.8em;opacity:.7\">Source: <a href=\"https:\/\/github.com\/splexmus\/2110597_minesweeper\" rel=\"nofollow noopener\" target=\"_blank\">splexmus\/2110597_minesweeper<\/a><\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=game:minesweeper-pad\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-pong\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=70\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/ex-pong.png\" alt=\"Pong (one player) on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=70\" style=\"color:inherit;text-decoration:none\">Pong (one player)<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">Verilog \u00b7 buttons, switches, LEDs, 7-segment<\/p><p style=\"margin:0 0 10px;font-size:.9em\">btnU \/ btnD (arrow keys) move the paddle, btnC (Space) restarts, sw0 pauses, sw1 doubles the speed. Score on the 7-segment display, misses on the LEDs.<\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=example:pong\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-race\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=72\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/ex-race.png\" alt=\"IR drag race (two players) on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=72\" style=\"color:inherit;text-decoration:none\">IR drag race (two players)<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">VHDL \u00b7 2 IR sensors, Clocking Wizard IP<\/p><p style=\"margin:0 0 10px;font-size:.9em\">Each player &#039;waves a hand&#039; over an IR sensor: hold Z (player 1) or X (player 2), or click the sensor cards. Every pass moves that car forward; first over the line wins. btnC starts a new race.<\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=example:race\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-sensors\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=74\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/ex-sensors.png\" alt=\"Sensor dashboard on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=74\" style=\"color:inherit;text-decoration:none\">Sensor dashboard<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">Verilog \u00b7 ultrasonic, load cell, 4x4 keypad, 800x600<\/p><p style=\"margin:0 0 10px;font-size:.9em\">Move the distance and weight sliders, type on the keypad (numeric keypad keys or click). sw0 = show distance on the 7-segment display, sw1 = show weight.<\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=example:sensors\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-snake\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=76\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/ex-snake.png\" alt=\"Snake with a USB keyboard on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=76\" style=\"color:inherit;text-decoration:none\">Snake with a USB keyboard<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">Verilog \u00b7 PS\/2 keyboard on the USB port<\/p><p style=\"margin:0 0 10px;font-size:.9em\">Press F2 once so your keyboard goes to the FPGA, then arrow keys (or W A S D) steer and Space restarts. Length on the 7-segment display.<\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=example:snake\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-paint\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=78\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/ex-paint.png\" alt=\"Paint with a USB mouse on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=78\" style=\"color:inherit;text-decoration:none\">Paint with a USB mouse<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">Verilog \u00b7 PS\/2 mouse on the USB port<\/p><p style=\"margin:0 0 10px;font-size:.9em\">Move the mouse over the screen: the left button paints, the right button clears. The switches choose the colour.<\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=example:paint\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-pacman\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=80\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/ex-pacman.png\" alt=\"Pac-Man sprite from a ROM on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=80\" style=\"color:inherit;text-decoration:none\">Pac-Man sprite from a ROM<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">Verilog \u00b7 Block Memory ROM IP (.coe)<\/p><p style=\"margin:0 0 10px;font-size:.9em\">Arrow buttons move Pac-Man, it eats the dots. Score on the 7-segment display.<\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=example:pacman\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-joystick\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=82\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/ex-joystick.png\" alt=\"Star catcher with a joystick on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=82\" style=\"color:inherit;text-decoration:none\">Star catcher with a joystick<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">Verilog \u00b7 Digilent PmodJSTK on JA (SPI)<\/p><p style=\"margin:0 0 10px;font-size:.9em\">Move the ring onto the star: drag the joystick on the card, or keys I J K L, or a USB game controller. H = stick press (yellow ring), U = BTN1 (bigger ring). btnC resets the score.<\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=example:joystick\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-sonar-flap\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=84\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/ex-sonar-flap.png\" alt=\"Sonar Flap (ultrasonic) on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=84\" style=\"color:inherit;text-decoration:none\">Sonar Flap (ultrasonic)<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">Verilog \u00b7 HC-SR04 ultrasonic sensor, VGA<\/p><p style=\"margin:0 0 10px;font-size:.9em\">Your hand height over the ultrasonic sensor sets the bird&#039;s height: drag the distance slider (or the sensor card). btnC starts. sw0 = distance on the 7-segment display, sw1 = easy mode.<\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=example:sonar-flap\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-hand-pong\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=86\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/ex-hand-pong.png\" alt=\"Hand Pong (ultrasonic) on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=86\" style=\"color:inherit;text-decoration:none\">Hand Pong (ultrasonic)<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">Verilog \u00b7 HC-SR04 ultrasonic sensor, VGA<\/p><p style=\"margin:0 0 10px;font-size:.9em\">Your paddle follows your hand above the ultrasonic sensor (5-45 cm): move the distance slider. First to 7 beats the computer. No sensor: sw15 on, then btnU \/ btnD. btnC = new game.<\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=example:hand-pong\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-steady-hands\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=88\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/ex-steady-hands.png\" alt=\"Steady Hands (load cell) on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=88\" style=\"color:inherit;text-decoration:none\">Steady Hands (load cell)<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">Verilog \u00b7 HX711 load cell, VGA<\/p><p style=\"margin:0 0 10px;font-size:.9em\">Press the scale to the target weight and keep it inside the green band for 2 seconds: move the weight slider. 60 seconds per game. btnC starts, sw1 = easy.<\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=example:steady-hands\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-keypad-memory\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=90\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/ex-keypad-memory.png\" alt=\"Keypad Memory (Simon) on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=90\" style=\"color:inherit;text-decoration:none\">Keypad Memory (Simon)<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">Verilog \u00b7 PmodKYPD 4x4 keypad, speaker, VGA<\/p><p style=\"margin:0 0 10px;font-size:.9em\">Watch the tiles light up, then type the same sequence on the keypad (numeric keypad keys, or click the keypad card). One more step every round. btnC starts, sw0 = slower. A speaker on JB1 plays a note for each tile (sw15 = silent).<\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=example:keypad-memory\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-keypad-moles\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=92\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/ex-keypad-moles.png\" alt=\"Keypad Whack-a-Mole on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=92\" style=\"color:inherit;text-decoration:none\">Keypad Whack-a-Mole<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">Verilog \u00b7 PmodKYPD 4x4 keypad, speaker, VGA<\/p><p style=\"margin:0 0 10px;font-size:.9em\">A mole pops out of a hole: hit the key printed on that hole before it hides. Misses and wrong keys cost a life (3). btnC starts. Optional speaker on JB1 (sw15 = silent).<\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=example:keypad-moles\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-math-sprint\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=94\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/ex-math-sprint.png\" alt=\"Math Sprint (keypad) on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=94\" style=\"color:inherit;text-decoration:none\">Math Sprint (keypad)<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">Verilog \u00b7 PmodKYPD 4x4 keypad, VGA<\/p><p style=\"margin:0 0 10px;font-size:.9em\">Answer sums in 60 seconds: type the answer on the keypad, F = enter, E = delete. sw0 adds times tables. btnC starts.<\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=example:math-sprint\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-rock-dodger\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=96\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/ex-rock-dodger.png\" alt=\"Rock Dodger (joystick) on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=96\" style=\"color:inherit;text-decoration:none\">Rock Dodger (joystick)<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">Verilog \u00b7 PmodJSTK joystick, VGA<\/p><p style=\"margin:0 0 10px;font-size:.9em\">Steer the ship with the joystick (drag the stick on the card, or keys I J K L, or a USB game controller), dodge rocks, grab stars. Stick press (H) = shield. btnC starts.<\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=example:rock-dodger\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-pad-racer\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=98\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/ex-pad-racer.png\" alt=\"Pad Racer (SNES game pad) on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=98\" style=\"color:inherit;text-decoration:none\">Pad Racer (SNES game pad)<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">Verilog \u00b7 SNES\/NES game pad, VGA<\/p><p style=\"margin:0 0 10px;font-size:.9em\">Start begins (Enter key or the pad card), Left \/ Right change lane, hold A (X key) to go faster. A USB game controller works too. No pad: btnL \/ btnR \/ btnU \/ btnC.<\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=example:pad-racer\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-matrix-snake\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=100\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/ex-matrix-snake.png\" alt=\"Matrix Snake (8x8 LED matrix) on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=100\" style=\"color:inherit;text-decoration:none\">Matrix Snake (8x8 LED matrix)<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">Verilog \u00b7 MAX7219 8x8 LED matrix, buttons<\/p><p style=\"margin:0 0 10px;font-size:.9em\">Arrow buttons steer the snake on the LED matrix (also shown big on the screen), eat the blinking dot. btnC starts, sw0 = faster.<\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=example:matrix-snake\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-aim-trainer\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=102\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/ex-aim-trainer.png\" alt=\"Aim Trainer (mouse) on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=102\" style=\"color:inherit;text-decoration:none\">Aim Trainer (mouse)<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">Verilog \u00b7 PS\/2 mouse on the USB port, VGA<\/p><p style=\"margin:0 0 10px;font-size:.9em\">Click the targets with the mouse: move over the screen with the left button. Small targets score more. 30 seconds. btnC or right-click starts.<\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=example:aim-trainer\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-typing-rain\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=104\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/ex-typing-rain.png\" alt=\"Typing Rain (keyboard) on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=104\" style=\"color:inherit;text-decoration:none\">Typing Rain (keyboard)<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">Verilog \u00b7 PS\/2 keyboard on the USB port, VGA<\/p><p style=\"margin:0 0 10px;font-size:.9em\">Press F2 once so your keyboard goes to the FPGA, Space starts. Type the falling letters before they land (5 lives).<\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=example:typing-rain\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-reflex-duel\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=106\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/ex-reflex-duel.png\" alt=\"Reflex Duel (2 IR sensors) on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=106\" style=\"color:inherit;text-decoration:none\">Reflex Duel (2 IR sensors)<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">Verilog \u00b7 2 IR obstacle sensors, VGA<\/p><p style=\"margin:0 0 10px;font-size:.9em\">Two players: wait for GO!, then wave over your IR sensor first (Z = player 1, X = player 2, or btnL \/ btnR). Too early is a foul. First to 5. btnC = new match.<\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=example:reflex-duel\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-switch-catch\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=108\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/ex-switch-catch.png\" alt=\"Switch Catch (board only) on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=108\" style=\"color:inherit;text-decoration:none\">Switch Catch (board only)<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">Verilog \u00b7 switches, LEDs, 7-segment, VGA<\/p><p style=\"margin:0 0 10px;font-size:.9em\">An LED lights: flip the switch right below it before the bar runs out (keys 0-9 toggle sw0-sw9, or click). Wrong or slow = lose a life. btnC starts.<\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=example:switch-catch\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-binary-blitz\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=110\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/ex-binary-blitz.png\" alt=\"Binary Blitz (board only) on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=110\" style=\"color:inherit;text-decoration:none\">Binary Blitz (board only)<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">Verilog \u00b7 switches, 7-segment, VGA<\/p><p style=\"margin:0 0 10px;font-size:.9em\">Set the number in binary on sw7..sw0 and press btnC. 60 seconds. btnU skips (costs 3 s). sw15 = hexadecimal mode.<\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=example:binary-blitz\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-number-hunt\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=112\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/ex-number-hunt.png\" alt=\"Number Hunt (serial terminal) on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=112\" style=\"color:inherit;text-decoration:none\">Number Hunt (serial terminal)<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">Verilog \u00b7 USB-UART terminal 115200 baud, VGA<\/p><p style=\"margin:0 0 10px;font-size:.9em\">Type a guess (1-100) in the terminal (the UART card) and press Enter: TOO LOW \/ TOO HIGH. Or set sw6..sw0 and press btnU. btnC = new number.<\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=example:number-hunt\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><article id=\"game-oled-breakout\" style=\"border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff\"><a href=\"https:\/\/bugzyard.com\/?page_id=114\"><img decoding=\"async\" src=\"https:\/\/bugzyard.com\/wp-content\/plugins\/virtual-basys3\/app\/thumbs\/ex-oled-breakout.png\" alt=\"OLED Breakout (Pmod OLEDrgb) on a Basys 3 FPGA (VGA screen)\" loading=\"lazy\" style=\"display:block;width:100%;aspect-ratio:4\/3;object-fit:cover;background:#000;image-rendering:pixelated\"><\/a><div style=\"padding:12px 14px\"><h3 style=\"margin:0 0 6px;font-size:1.05em\"><a href=\"https:\/\/bugzyard.com\/?page_id=114\" style=\"color:inherit;text-decoration:none\">OLED Breakout (Pmod OLEDrgb)<\/a><\/h3><p style=\"margin:0 0 6px;font-size:.85em;opacity:.75\">Verilog \u00b7 Pmod OLEDrgb 96x64 colour OLED, speaker<\/p><p style=\"margin:0 0 10px;font-size:.9em\">btnL \/ btnR move the paddle, btnC launches the ball (and restarts). 3 lives on the LEDs, score on the 7-segment display. sw0 = slower ball, sw15 = no sound.<\/p><a href=\"https:\/\/bugzyard.com\/?vb3_app=1&#038;play=example:oled-breakout\" style=\"display:inline-block;padding:7px 16px;border-radius:7px;background:#4fd1c5;color:#08201e;font-weight:600;text-decoration:none\">Play &#9656;<\/a><\/div><\/article><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Play Basys 3 FPGA games in your browser: the simulation runs on your own PC, no board needed. Pick a game to see how to play it.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-9","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/bugzyard.com\/index.php?rest_route=\/wp\/v2\/pages\/9","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bugzyard.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/bugzyard.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/bugzyard.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bugzyard.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=9"}],"version-history":[{"count":0,"href":"https:\/\/bugzyard.com\/index.php?rest_route=\/wp\/v2\/pages\/9\/revisions"}],"wp:attachment":[{"href":"https:\/\/bugzyard.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=9"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}