มีชื่อสำหรับเทคนิคนี้เพื่อวางกระเบื้องที่มุมของระดับหรือไม่?


9

แนวทางทั่วไปในการพัฒนาเกมเก่าคือการวางไทล์ไว้ที่มุมหนึ่งของระดับเพื่อใช้เป็นข้อมูลอ้างอิง ตัวอย่างเช่น:

ระดับตัวอย่าง

ในระดับนี้ผู้พัฒนาวางชุดไพ่ที่มุมบนซ้าย

แต่มีชื่อสำหรับเทคนิคนี้หรือไม่? ฉันเขียนคู่มือเกี่ยวกับสิ่งนั้นและฉันต้องการตั้งชื่อ

คำตอบ:


8

ฉันไม่รู้ว่ามีชื่อหรือเปล่า แต่นี่เป็นสิ่งที่คุณควรทำเพื่ออนุรักษ์ความทรงจำ

ก่อนอื่นไทล์พื้นฐานมีความละเอียดต่ำมาก - เพียงไม่กี่พิกเซล แต่เมื่อเรนเดอร์มันจะขยายเป็น 2x, 3x, 4x และอื่น ๆ และมี "บล็อก" บนหน้าจออีกมากมาย

ถัดไปเกมที่เก่ากว่าจะมีบล็อกของหน่วยความจำเฉพาะสำหรับการแสดงผลหน้าจอ - สิ่งที่อยู่ในหน่วยความจำนั้นคือสิ่งที่แสดงบนหน้าจอ โปรดทราบว่าหน่วยความจำแน่นหนามากในแพลตฟอร์มเก่าดังนั้นในฐานะนักพัฒนาที่คุณต้องการบันทึกทุก ๆ เล็กน้อยที่คุณสามารถทำได้

ดังนั้นแทนที่จะใส่ไทล์ลงในพื้นที่หน่วยความจำแยกต่างหากคุณเพียงแค่ทำให้พวกมันเป็นส่วนหนึ่งของหน่วยความจำหน้าจอ และสิ่งประดิษฐ์ของหลักสูตรนี้ก็คือมันจะปรากฏบนหน้าจอ

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

เพื่อให้เข้าใจว่าหน่วยความจำแน่นหนาสามารถเขียนโปรแกรมเกมก่อนหน้านี้ได้อย่างไรอ้างอิงจากบทความปี 1983เกี่ยวกับการเขียนโปรแกรมคอมพิวเตอร์ Atari และ VIC "หน้าจอความละเอียดสูงพิเศษของ Atari (และโหมด GTIA 16 สี) ใช้เกือบ 8K แกะ." ดูเหมือนว่าจะน้อยมาก แต่โปรดจำไว้ว่าคอมพิวเตอร์อาจมีหน่วยความจำ 48K เท่านั้นส่วนใหญ่เป็นสิ่งอื่นนอกเหนือจากเกม


ขอบคุณสำหรับคำตอบ! ฉันรู้ว่าเทคนิคนี้เป็นเรื่องธรรมดาสำหรับการพัฒนาคอนโซลเก่า คุณรู้หรือไม่ว่ามันถูกใช้ในการพัฒนาเกมเนื่องจากเรามีหน่วยความจำมากมายตอนนี้
Macabeus

3
@Macabeus เกมที่ทันสมัยทำสิ่งที่คล้ายกันกับหน่วยความจำวิดีโอ ใช่มีหน่วยความจำมากขึ้นและเกมก็ใหญ่กว่า ... บนพีซี มีเกมที่ทันสมัยสำหรับแพลตฟอร์มมือถือ / มือถือ นอกจากนี้การจัดสรรหน่วยความจำทั้งหมดที่คุณจะต้องให้แน่ใจว่าพวกเขาจะไม่ทำให้ประสิทธิภาพการทำงานของ midplay แผนที่พื้นผิวยังคงเป็นความคิดที่ดีเนื่องจากการเปลี่ยนพื้นผิวมีค่าใช้จ่าย หลาย ๆ เกมเก็บรูปแบบต่าง ๆ และย้ายพวกมันเมื่อจำเป็น อันที่จริงระบบอนุภาคบางอันทำงานเช่นนั้น
ธีระโรจน์

มันไม่สมเหตุสมผล หากข้อมูลไทล์ถูกเก็บไว้ก่อน / ข้างข้อมูลแผนที่มันจะไม่แสดงเป็นไทล์เซ็ตตัวอักษร ดูเหมือนว่าจะมีกลุ่มของไพ่สุ่มดูเหมือนตามสีของพิกเซลภายในแผ่นเหล่านั้น เช่นคุณสามารถดูข้อมูล VRAM ในขณะที่ทำการสำรวจหน่วยความจำในเกมมาริโอบางเกม (super mario land 2 และ super mario bros 3) และดูเหมือนว่าจะมีไพ่สุ่ม นอกจากนี้โปรแกรมเมอร์ผู้มีสติในสมัยนั้นจะปรับแผนที่ให้ดีขึ้นไม่มีพื้นที่ว่างขนาดใหญ่
Bálint

คอมพิวเตอร์ทั้งสองเครื่องที่คุณพูดถึงและคอนโซลส่วนใหญ่ต่างก็ใส่ใจว่าคุณกำหนดกราฟิกไว้ที่ใดเนื่องจากคอมพิวเตอร์เหล่านั้นไม่มีท่อกราฟิกที่สามารถตั้งโปรแกรมได้ คอมพิวเตอร์ไม่ได้มีระบบกราฟิกที่เหมาะสมพวกเขาจะต้องกำหนดเป็นตัวอักษร (ในบางกรณีการตั้งค่าพิกเซลก็เป็นไปได้ แต่ช้ามาก)
Bálint

ฉันมีอาตาริ 800 ในปี 1984 แต่มันก็ไม่นานแล้วตั้งแต่ฉันตั้งโปรแกรมหนึ่ง ...
Tim Holt

8

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

สิ่งเดียวกันกับกระเบื้องเนื่องจากโปรแกรมแก้ไขส่วนใหญ่เป็นเพียงโปรแกรม pixelart ขั้นสูงมาก แต่ใช้กระเบื้องแทนสี


ฉันสามารถพูดได้ว่าคำตอบทั้งคำตอบของคุณและทิมโฮลท์นั้นถูกต้องใช่ไหม? มันจะมีประโยชน์เป็นจานสีและประหยัดหน่วยความจำเนื่องจากจานสีจะถูกเก็บไว้ที่ tilemap
Macabeus
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.