กลับไปหน้ารวมไฟล์
vga-boulder-crash-110546.md

เมื่อก่อนพี่เคยดูวิดีโอของคนที่ทำการ์ดจอ VGA ขึ้นมาเอง เลยเกิดอาการอยากทำอะไรสักอย่างกับ VGA ขึ้นมา แต่ตอนนั้นยังไม่มีความรู้พอ ก็เลยมาจบที่โปรเจกต์วงจรง่ายๆ แบบนี้แหละน้อง พอทำเสร็จแล้วก็เริ่มเบื่อกับข้อความบนจอที่มันนิ่งๆ เลยคิดว่า... มาทำเกมกันดีกว่า! พี่ไม่ใช่คนที่สร้างสรรค์สุดๆ หรอกนะ แต่พี่มีเพื่อนที่เคยเล่นเกมสนุกๆ เกมนึง เลยเอามาทำใหม่ แล้วยัดลงไปในจอ VGA นี้แหละ

ไลบรารีที่ต้องใช้อยู่ตรงนี้เลยน้อง ต้องมี vga กับ Adafruit graphics ด้วยนะ

รายละเอียดเทคนิคแบบจัดเต็ม

การสร้างวิดีโอสไตล์ 8-Bit รีโทร

โปรเจกต์ VGA Boulder Crash นี้คือการทดสอบขีดจำกัดของ Arduino ด้วยการสร้างสัญญาณวิดีโอ VGA แบบเรียลไทม์ทั้งหมดผ่านซอฟต์แวร์ล้วนๆ

  • จังหวะสัญญาณความเร็วสูง: ใช้ไลบรารี VGAx หรือ TVout ในการ "bit-bang" สัญญาณพัลส์ "HSYNC" และ "VSYNC" ที่จอมาตรฐานต้องการ ต้องเขียนโค้ดที่แม่นยำระดับไซเคิลเพื่อให้ภาพนิ่งที่ความละเอียด 640x480 (ความละเอียดที่เรนเดอร์จริงข้างในจะต่ำกว่านี้)
  • ลอจิกฟิสิกส์และการชน: จัดการเกมเอนจิ้นง่ายๆ ที่ให้ "Boulders" (ภาพบิตแมป) ตกลงมาจากด้านบนของจอ Arduino จะคำนวณการชนแบบ bounding-box ระหว่างผู้เล่นกับก้อนหินในทุกเฟรม

ด้านฮาร์ดแวร์

  • R-2R Resistor DAC: โชว์จุดเด่นของการใช้เครือข่ายตัวต้านทานง่ายๆ เพื่อแปลงสัญญาณดิจิทัลจากพินของ Arduino ให้เป็นสัญญาณสีอะนาล็อก $(R, G, B)$ ตามมาตรฐาน VGA

ข้อมูล Frontmatter ดั้งเดิม

title: "Vga Boulder Crash"
description: "A fun game on a vga screen with a insane 4 FPS!"
author: "28cweaver"
category: ""
tags:
  - "games"
views: 452
likes: 0
price: 1499
difficulty: "Intermediate"
components:
  - "1x Jumper wires (generic)"
  - "1x Through Hole Resistor, 68 kohm"
  - "1x Analog joystick (Generic)"
  - "1x Arduino UNO"
  - "1x Resistor 220 ohm"
tools: []
apps:
  - "1x Arduino IDE"
downloadableFiles: []
documentationLinks: []
passwordHash: "f28506485ad7bd8281fd3122a3f289f9a9f6283edf5b7ccb9a31392f2ac90c01"
encryptedPayload: "U2FsdGVkX1+AYTrgJm55iVhg3IapieoqzJ2ReNfEbU3uK4xKY2yMOndA8fEYDJ2A4LSfTfOwixEwJOX2NpBea2VV5sqYwnE4t8Iox+jRV7A="
seoDescription: "Experience Vga Boulder Crash, a fun game on a vga screen running at 4 FPS. Perfect for Arduino enthusiasts."
videoLinks: []
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/vga-boulder-crash-110546_cover.jpg"
lang: "th"