ฉันกำลังพยายามหาพื้นฐานของการพัฒนาเกม C64 ที่ผ่านมา BASIC และฉันสามารถใช้คำแนะนำในสิ่งที่พื้นฐานมาก แต่สำคัญ: อะไรคือสิ่งที่อยู่บนหน้าจอจริง ๆ แล้วจะวาดอย่างไร?
ดูที่Katakis / Denaris :
มีอย่างน้อย 9 อย่างบนหน้าจอ:
- แถบคะแนนด้วยแบบอักษรที่แตกต่างกัน
- ตัวเรือเอง
- ดาวเทียมที่ติดอยู่กับเรือสามารถถอดออกได้
- ขีปนาวุธอาวุธรอง
- ขีปนาวุธอาวุธหลัก
- วัตถุเคลื่อนที่ (อาจเป็นเรือศัตรู)
- แถบสถานะที่มีภาพของเรือจำนวนชีวิตและสามส่วนที่สามารถเติมได้
- แถบชาร์จอาวุธหลักสามารถเติมจนจบ
- สตาร์ฟิลด์เลื่อนในพื้นหลัง
- (ไม่ใช่หมายเลขบนหน้าจอ) วัตถุที่เป็นของแข็งเช่นหินหรือผนังโลหะที่เป็นส่วนหนึ่งของพื้นหลัง
C64 รองรับเพียง 8 sprite ต่อเส้นสแกนแนวนอนดังนั้นฉันไม่คิดว่าทุกอย่างที่อยู่ตรงกลางของหน้าจอจะเป็น sprite หรือไม่ ฉันจะสมมติว่าสิ่งใดก็ตามที่ต้องมีการปะทะกันจะเป็นสไปรต์ (เนื่องจากฉันสามารถรับการตรวจจับการชนกันของฮาร์ดแวร์กับสไปรต์) ได้ นอกจากนี้อาวุธของฉันสามารถยิงกระสุนมากกว่าหนึ่งลำ - เรือของฉันดาวเทียมและกระสุน 6 อันก็จะเรียงกันเป็น 8 ครั้งต่อเนื่อง (ดูประมาณ 50 วินาทีในวิดีโอ)
นอกจากนี้เกมกราฟิกแบบไหนที่จะใช้เช่นนี้? คู่มือการเขียนโปรแกรมแสดงรายการโหมดบิตแผนที่ซึ่งจำเป็นต้องแก้ไขหน่วยความจำหน้าจอโดยตรง นี่เป็นโหมดที่ฉันควรทำงานเป็นปกติหรือไม่ ฉันจะเขียนองค์ประกอบที่ไม่ใช่สไปรต์ทั้งหมดเข้าด้วยกันเพื่อนำมาประกอบบนหน้าจอได้อย่างไร
สิ่งต่าง ๆ มากมายในคะแนนและแถบสถานะเป็นแบบคงที่ ("พื้นที่: 01" หรือ "กรอบ") ดังนั้นฉันเดาว่าฉันจะเติมพวกเขาเพียงครั้งเดียวเมื่อระดับเริ่มต้น สิ่งที่ต้องอัปเดต - คะแนนแถบชาร์จที่ด้านล่าง - จะได้รับการอัปเดตโดยการเติมหน่วยความจำหน้าจอด้วยสีดำแล้ววาดคะแนนใหม่ทุกเฟรม
หรือฉันต้องวาดทั้งหน้าจอในทุกเฟรมหรือไม่?