Bu tekniğin fayansları bir seviyenin köşesine koyması için bir isim var mı?


9

Eski oyunların geliştirilmesinde çok yaygın bir yaklaşım, döşemeyi referans olarak kullanmak için bir seviyenin köşesine koymaktır. Örneğin:

örnek seviye

Bu seviyede, geliştiriciler sol üst köşeye bir dizi fayans koydu.

Ancak bu tekniğin bir adı var mı? Bununla ilgili bir el kitabı yazıyorum ve buna isim vermek istiyorum.

Yanıtlar:


8

Bir isim olup olmadığını bilmiyorum, ama bu hafızayı korumak için yapacağınız bir şey gibi görünüyor.

Birincisi, temel bir karo çok düşük çözünürlükte - sadece birkaç piksel. Ancak oluşturulduğunda, 2x, 3x, 4x vb. Büyütülürler ve ekranda çok daha "blokludurlar".

Daha sonra, eski oyunların ekran görüntüsüne ayrılmış bir bellek bloğu olacaktır - bu bellekte ne olduğunu ekranda gösterilen şeydir. Eski platformlarda hafızanın ÇOK sıkı olduğunu unutmayın, bu nedenle bir geliştirici olarak yapabileceğiniz her şeyi kaydetmek istersiniz.

Bu yüzden döşemelerinizi ayrı bir bellek alanına koymak yerine, ekran belleğinizin bir parçası haline getirirsiniz, böylece biraz tasarruf edersiniz. Ve bunun eseri elbette ekranda görünmeleri.

Bellek erişimi açısından, erişilen belleğin ekran belleği veya değişken depolama için kullanılıp kullanılmadığı önemli değildir. Temel olarak, eski oyunlarda bellek yönetimi çok basitti ve sadece bir bellek bloğu mevcuttu. GPU yoktu, bu nedenle programlama için ekran görüntüsüne karşı ayrı işlemci ve bellek fikri yoktu.

Hafızanın önceki oyunları ne kadar sıkı programlayabileceğine dair bir fikir vermek için, 1983 tarihli Atari ve VIC bilgisayarlarının programlanmasıyla ilgili bir alıntı , "Atari'nin süper yüksek çözünürlüklü ekranı (ve 16 renkli GTIA modları) neredeyse 8K VERİ DEPOSU." Bu çok az gibi görünüyor, ancak bilgisayarın belki de sadece 48K hafızaya sahip olduğunu unutmayın, bunların çoğu oyunun yanı sıra başka şeyler tarafından da alındı.


Cevap için teşekkür ederim! Bu tekniğin eski konsollarda gelişim için yaygın olduğunu biliyorum. Şu anda oyun geliştirmede kullanılıp kullanılmadığını biliyor musunuz, çünkü şu anda çok fazla belleğimiz var mı?
Macabeus

3
@Macabeus modern oyunları video belleği ile benzer şeyler yapar. Evet, çok daha fazla bellek var ve oyunlar da daha büyük ... PC'de. Mobil / taşınabilir platformlar için modern oyunlar var. Ayrıca ihtiyacınız olan tüm belleği ayırmak, performans ortalamasının bozulmasına neden olmayacaklarından emin olun. Doku atlası hala iyi bir fikirdir, çünkü dokuları değiştirmenin bir maliyeti vardır. Birçok oyun modelleri görünmez olarak saklar ve gerektiğinde hareket ettirir. Aslında, bazı parçacık sistemleri bu şekilde çalışır.
Theraot

mantıklı değil. Döşeme verileri harita verilerinden önce / yanına depolanmışsa, gerçek döşeme kümesi olarak görünmez. Bu fayansların içindeki piksellerin renklerine göre bir grup rastgele görünen fayans gibi görünecektir. Örneğin, bazı mario oyunlarında (süper mario land 2 ve super mario bros 3) bellek keşfi yaparken VRAM verilerini görebilirsiniz ve bir grup rastgele fayans gibi görünüyor. Ayrıca, o günlerde herhangi bir aklı başında programcı haritaları daha iyi optimize eder, büyük boş alanlar olmazdı.
Bálint

Hem bahsettiğiniz bilgisayarlar hem de konsolların çoğu, programlanabilir grafik boru hatlarına sahip olmadıkları için grafikleri nerede tanımladığınız umurundaydı. Bilgisayarların düzgün bir grafik sistemi bile yoktu, bunlar karakter olarak tanımlanmalıydı (nadir durumlarda, pikselleri ayarlamak mümkün ama gerçekten yavaştı)
Bálint

1984'te Atari 800'üm vardı, ama bir tane programladığımdan beri bir süre geçti ...
Tim Holt

8

Bu bir palet. Bazı sanatçıların renklerle yaptıklarını görüyorsunuz. Kolay erişim için birkaç ana renkten oluşan bir grup hatta aralarında bir degrade çiziyorlar. Bir sonraki rengi seçmek için bir seçici aracı kullanmak, renk seçici çarkına gitmek, birkaç dakika boyunca onunla uğraşmak ve resmin geri kalanıyla eşleşmesi için dua etmek çok daha kolaydır.

Çoğu döşeme düzenleyicisi sadece çok gelişmiş pixelart programları olduğundan, ancak renkler yerine çinilerle aynı şeydir.


Her iki cevabın da siz ve Tim Holt'un cevabı doğru diyebilirim, değil mi? Palet tilemapta depolandığından palet olarak yararlıdır ve belleği korur.
Macabeus
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.