MSX1 için Turrican geliyor

Başlatan doMiNO, 01 Mart 2022, 01:47:33

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

Skate

Alıntı yapılan: Ref - 06 Mart 2022, 23:16:26
ekte: Eğer turrican big boss sprite'ı 2.0 aspect değil de  1.0 aspectli bir ekranda olsaydı düdük boss olurdu.

Burada hatalı bir bilgi var Ref. C64'de spritelar 24 pixel genişliğinde ve 48'e expand edilebiliyor. Ama burada sadece 5 tane expand edilmemiş sprite var. Yani 2 pixel genişlikte gözükmesi aslında sprite'ın genişliğini artırmıyor, sadece çözünürlüğünü yarıya düşürüyor. Spritelar 24x21 yerine 12x21 oluyorlar. Sen büyük ihtimalle bunları genişletilmiş sprite olarak düşündün. Eğer multicolor'ı genişletirsen her bir pixel 4 pixele denk gelmeye başlar, feci bir görüntü çıkar ortaya. Ancak hires / tek renk sprite genişletilirse dediğin olur. Burada öyle bir kullanım yok, spritelar orjinal boyutlarında.

Ref

MSX için sonuç değişmiyor, her durumda TV'de o genişlikte bir boss çizebilmesi için iki katı data aktarması gerekecek. c64'de sprite desteği olmasa bile c64 burada düşük ekran çözünürlüğü ile daha büyük sprite avantajına sahip olacak. 

Skate

Alıntı yapılan: Ref - 07 Mart 2022, 09:56:15
MSX için sonuç değişmiyor, her durumda TV'de o genişlikte bir boss çizebilmesi için iki katı data aktarması gerekecek. c64'de sprite desteği olmasa bile c64 burada düşük ekran çözünürlüğü ile daha büyük sprite avantajına sahip olacak.

Muhabbeti uzatmak için yazmıyorum emin ol. Sadece neyi yanlış anladığını netleştirmek için yazıyorum. "iki katı data" demenin sebebi senin hala 1 pixel = 1 bit olarak kabul etmen. O geniş pixeller 2 bit. Yani 8 pixel genişliğindeki bir cursor karesi içinde 1 byte 4 pixeli temsil ediyor. Yan yana 10 cursor karesi kaplayan bir sprite için 10 byte harcanıyor, ister 10 byte'da 80 hires, ister 40 multicolor pixeli olsun. 2 bpp modu yani o sprite'ın kullandığı. Bu durumda MSX ile aralarında bir avantaj / dezavantaj oluşmuyor. MSX'in spriteları ile aynı byte sayısı geçerli. MSX'de 2 bpp modu o şekilde yok biliyorum, başka yöntemlerle spriteları üst üste bindirip fazladan renk elde ediyorlarmış, o da belki sonraki modellerindedir detayına bakmadım. Ama sonuç olarak iki katı data aktarılmasının çıkış noktasının yanlış anlaşıldığını sanıyorum.

Ama bak şöyle bir örnek gösterebilirim sana.

https://csdb.dk/release/?id=211921

Bu introyu yapan arkadaşa aşağıdaki kardan adamı sprite'a convert etmesi için yardımcı olmuştum. Bu kardan adam multicolor çözünürlüğünde görünüyor, yine 2x1 pixellerden oluşuyor (çizilen orijinal grafik multicolor bitmap idi zaten). Ama spritelarda 8x8'lik alana 3 renk gelme gibi bir olay olmadığından, 24x21'lik alan 3 renk paylaştığından, kardan adam da sprite satırı başına 8 rengi geçmediğinden ben şöyle bir yöntem kullanmayı uygun gördüm. Kardan adamın her bir rengini tek renk spritelara çevirdim, bunu yaparken 2x1'lik pikselleri 1x1 gibi düşündüm. Sonra spriteları X'de genişleşttim. Renk karışması olmadan aynı görüntü çıktı ortaya. Orada her sprite satırında (yine multiplexer var) 8 sprite var üst üste, her sprite'da tek bir renk kanalı var.

Bu örnek senin dediğine denk geliyor. Ben 8 bit set ederek ekranda 16 piksellik alanı boyuyorum bunda. Ama Turrican'da o durum söz konusu değil yani.

Ref

Alıntı yapılan: Skate - 07 Mart 2022, 15:08:57
"iki katı data" demenin sebebi senin hala 1 pixel = 1 bit olarak kabul etmen. O geniş pixeller 2 bit. Yani 8 pixel genişliğindeki bir cursor karesi içinde 1 byte 4 biti temsil ediyor. Yan yana 10 cursor karesi kaplayan bir sprite için 10 byte harcanıyor, ister 10 byte'da 80 hires, ister 40 multicolor pixeli olsun. 2 bpp modu yani o sprite'ın kullandığı. Bu durumda MSX ile aralarında bir avantaj / dezavantaj oluşmuyor. MSX'in spriteları ile aynı byte sayısı geçerli.

peki o geniş pixelleri aslında istese hi-res olarak kullanabilir miydi adam? bilerek mi yan yana iki pixel koyarak yapmış ve detaysız olmasını tercih mi etmiş?

Skate

Alıntı yapılan: Ref - 07 Mart 2022, 16:36:41

peki o geniş pixelleri aslında istese hi-res olarak kullanabilir miydi adam? bilerek mi yan yana iki pixel koyarak yapmış ve detaysız olmasını tercih mi etmiş?

Öncelikle yanlış bir ifadem olmuş "1 byte 4 biti temsil ediyor" demişim, "1 byte 4 pixeli temsil ediyor" olacak tabii ki doğrusu, orijinal mesajı editledim.

İsterse hires olarak kullanabilirdi evet, ama grafik de sprite başına tek renge düşerdi tabii. Yani yine çok renkli bir boss olabilirdi ama bir kısmı bir renk, diğer kısmı başka renk gibi tasarlanması gerekirdi, çok sınırlayıcı olurdu.

C64'ün 2 bpp'yi 2 pixele scale etmesi çoğu platformda olmayan bir özellik. Ama bunu şu şekilde de yanlış algılamamak lazım. C64'de MC modeda pikseller geniş, demek ki bir byte 8 pixele denk geldiğine göre 1 byte ile 2 cursor genişliği alanı kaplayabiliyor. Hayır, 1 byte 4 piksele düşüyor ve yine 1 cursor karesi genişliğine denk geliyor. Diğer 8 bit bilgisayarlarda, örneğin yeni yapım aşamasında olan Commander X16'de ya da MSX1 gibi platformlarda genellikle bu farklı uygulanıyor. 2 bpp grafik modu dediğinde pikseller genişlemiyor ama bu sefer 1 cursor karesine 2 byte harcıyorsun. Avantajın da çözünürlüğü korumak oluyor. Ama bu bir trade off. X16 gibi donanımlarda bunu yapıp 2x ya da 4x scale edebiliyorsun sprite'ı, MSX1'de bu özellik yok. Yani X16'de C64 ile birebir aynı modu, hatta C64 olmayan 2x ekstra scale'i yapabiliyorsun hem X, hem de Y'de. Ama sonuç olarak Turrican'da spritelar genişletilmiş olmadığı için söz konusu durum C64'ün 5 sprite'ının 5x24 = 110 piksellik bir alanı kaplaması. Yani burada hires'i multicolor'ı geç. 5 sprite 110 piksellik alan cover ediyor, ister tek renk ister çok renkli. Çok renkli olursa çözünürlük 55'e düşüyor ama yine 110 cover ediyor. MSX1'de ise 5 sprite maksimum 16*5=80 piksel cover edebiliyor ama maalesef donanım tek satırda maksimum 4 sprite yan yana getirebilmekle sınırlı olduğu için bu 64 piksele düşüyor. Aslında MSX'de sonraki modellerde olduğu gibi tek satırda 8 sprite gösterilebilse hires de olsa en azından 128 piksel, yani Turrican'daki boss'un kapladığı alandan fazlası spritelarla boyanabilecekmiş. Hatta 7 sprite bile 112 piksel ile aynı boyutta, hatta 2 piksel daha büyüğüne izin veriyor. Ama işte 4 sprite sınırı direk bu kullanımı çöpe atıyor.

Bana bu projeyi getirseler, deseler ki MSX1'de Turrican kodlayacaksın, nasıl yaparsın? Boss levelları için bossları mecburen soft sprite yapar, oyunun geri kalanında kurşunlar soft sprite olsa da bu bölümde kurşunları hardware sprite'a dönüştürürdüm. Yani iki alternatifli engine yazardım. Ulaştığın noktaya göre hard/soft spritelar switch edebilirdi. Bakalım arkadaş nasıl bir yöntem izleyecek? Daha da merak ettiğim bossları smooth hareket ederken görebilecek miyiz yoksa 8'er 8'er hoplaya zıplaya mı dolaşacaklar etrafta....

Ref

smooth hareket etmesi için preshifted spritelar gerekir, o büyüklükte spriteları taşımak için 1MB ram lazım ona. Büyük olasılıkla karakter bazlı ilerler

Skate

Alıntı yapılan: Ref - 07 Mart 2022, 22:48:29
smooth hareket etmesi için preshifted spritelar gerekir, o büyüklükte spriteları taşımak için 1MB ram lazım ona. Büyük olasılıkla karakter bazlı ilerler
Eğer diskten yükleme özellikleri gelişmişse, oyun devam ederken arkaplandan yükleme yapılabiliyorsa bu sorun olmaz. Turrican'da boss'a ulaşırken genellikle tekrar önceki haritaya dönemeyeceğin bir pozisyona sokuyor seni. O nedenle o noktada haritanın artık ulaşılamayan kısımlarına boss'u yükletebiliriz. Ama yükleme çok yavaş ya da oyun devam ederken arkaplandan yükleme imkansız ise tabii bu plan suya düşer.

dodogildo

Bu proje, geçen süre zarfında acayip bir noktaya gelmiş. MSX1'de kalma ısrarı için tebrik etmek lazım:

https://www.file-hunter.com/Homebrew/?id=turrican

Ref

Alıntı yapılan: dodogildo - 17 Nisan 2025, 17:11:19
Bu proje, geçen süre zarfında acayip bir noktaya ulaştı. MSX1'de kalma ısrarı için tebrik etmek lazım:

https://www.file-hunter.com/Homebrew/?id=turrican

bidakka bidakka bidakkaaaa....

bu bu nasıl kule bu?!

[attachment=0,msg15066]

resmen kandırıldık. Diyorum msx böyle kule çizebilse olay başka boyut alırdı, doğrusu burada, işte gerçek msx1 kulesi bu.

c64 gibi bir hires-lores multicolor gibi bir mod farklılığı var sanırım. bu versionda renkren taviz verip çözünürlüğe vermeyi tercih etmişler.

unay

Amstrad CPC az anlar, çok sever.

doMiNO

Alıntı yapılan: Ref - 17 Nisan 2025, 17:34:02
bu bu nasıl kule bu?!

[attachment=0,msg15066]

Bu fotoda kötü çıkmış! Kulemiz aslında daha yakışıklı ama fotojenik olmadığı için fotoğraflarda azıcık kötü çıkıyor. Hem siz kule ırkçılığı yapacağınıza oyuna odaklanın arkadaşım. Mis gibi yaptı adam işte oyunu.

unay

WIP18 videosu.
Aynı ekranda 8 e kadar hareketli düşman saydım.

Giuseppe birader yaptı sayılır bu işi.

Amstrad CPC az anlar, çok sever.

Ref

Alıntı yapılan: doMiNO - 19 Mayıs 2025, 11:34:38
Bu fotoda kötü çıkmış! Kulemiz aslında daha yakışıklı ama fotojenik olmadığı için fotoğraflarda azıcık kötü çıkıyor. Hem siz kule ırkçılığı yapacağınıza oyuna odaklanın arkadaşım. Mis gibi yaptı adam işte oyunu.
yani ne bileyim, kule tam istediğim gibi olmadıkça oyundan keyif alamıyorum...

Alıntı yapılan: unay - 24 Temmuz 2025, 21:55:59
WIP18 videosu.
Aynı ekranda 8 e kadar hareketli düşman saydım.

Giuseppe birader yaptı sayılır bu işi.
Yapmışlar cidden ne kadar büyük emek var şurda insan bazen hayret ediyor.

Spriteların yanıp sönmesi biraz kötü olmuş, düzgün bir multiplexer sıkıştıramamışlar araya herhalde. belki sonra hallederler.

doMiNO

Alıntı yapılan: Ref - 25 Temmuz 2025, 05:32:15
Spriteların yanıp sönmesi biraz kötü olmuş, düzgün bir multiplexer sıkıştıramamışlar araya herhalde. belki sonra hallederler.

Fakirler gibi multiplexinge ihtiyacımız yok; rabbim nasip etmiş, 32 sprite kullanabiliyoruz çogşükür. Ayrıca multiplexer ile düzelecek bir şey değil o. MSX'in donanım kısıtlamasının sonucu. Aynı yatay satırda 4'ten fazla sprite olunca böyle oluyor. Her güzelin bir kusuru olur deyip görmezden gelmeyi tercih ediyoruz biz. Beterin beteri vardır diyerek kendimizi avutuyoruz. Göz kanatan rezil bir paletimiz olsaydı daha mı iyiydi diyerek mutlu oluyoruz.

Skate

Turrican remake'i yapmak yerine orijinal bir oyun üretmiş olsalar, level design'ı da MSX1'e göre biraz özelleştirseler bence yine herkesin beğeneceği ve "2025'te MSX'te müthiş bir platform oyunu" şeklinde paylaşacağı bir iş olurmuş. Turrican'dan fazlasıyla esinlenebilir, benzer silahlar kullanabilirlermiş. Böyle olunca proof of conceptten öteye geçemiyor. Harika iş çıkarmışlar ama sonuç MSX'te yapılması imkansız bir görüntüde değil.