Gönderen Konu: Oric üzerinde yumuşak geçişli scroll denemesi ve yeni bir oyun duyurusu.  (Okunma sayısı 52512 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı Pe@ceR

  • RAAT
  • Tedavideki Retromanik
  • *
  • İleti: 321
video00

Bir süredir ne yapalım edelim de amigavari hızlı ekran kaydırma rutinleri ve birbirleri ile çakışmayacak sprite içeren bir oyun yapalım modunda tartışmalar sürerken oldukça hoş ilerlemeler kaydetmişler.

Jonathan Bristow'un ölümünden sonra biraz da onun adına atfedilecek bir oyun olacağını yazmış bu grafikleri geliştiren arkadaş.

Görüntüler oldukça hoş duruyor.

Dileyen olursa demoya ait oric teyp emulasyon dosyasını da ekleyebilirim.

Oyun oynanabilir haliyle elimize geçtiğinde ya da yeni gelişmeler ve videolar geldikçe buradan haber vereceğim.

Çevrimdışı hades

  • RAAT
  • Retro Meraklısı
  • *
  • İleti: 179
Grafikler "Uridium" isimli oyuna ait ve mesajdan anladığım kadarıyla Oric için ilk defa yapılıyor sanırım.

Çevrimdışı Pe@ceR

  • RAAT
  • Tedavideki Retromanik
  • *
  • İleti: 321
Evet. Tabi bu tarz shoot m up tarzı oyunlar vardı ama genelde zeminin boş olduğu sadece uzay gemisi ve düşmanlardan ibaret oyunlardı "xenon 1" gibi.

Xenon 1 Longplay for the 48K Oric-1 / Atmos computer

Oldukça başarılı olsa da tam ekran scroll içeren, ekrandaki objelerin birbirinin üzerinden geçerken çakışma yapmadığı bir grafik yeteneği hiçbir zaman olmadı.

Bu oyun alttan geçen geminin kayması esnasında titremenin bile olmadığı, objelerin altındaki veriyi bozmadığı bir görüntüye sahip olmakla bir ilk teşkil edecek.

Çevrimdışı ExtMod

  • RAAT
  • Retroman
  • *
  • İleti: 99
Spectrum'da smooth scroll içeren bir dolu oyun vardı. Oric'de bu güne kadar yapılmamış olmasına şaştım doğrusu.

Çevrimdışı Pe@ceR

  • RAAT
  • Tedavideki Retromanik
  • *
  • İleti: 321
Belki spectrumun donanım hızının 3.5 mhz olması ile alakalıdır.

1980'lerde olmasa da magnetix gibi birkaç oyunda oric'in limitleri zorlanmıştı tabi ama bu tarz bir oyun yine de ilk sayılabilir.

Magnetix

Çevrimdışı Ref

  • Yönetici
  • Özgür Retrocu
  • *
  • İleti: 2866
  • Advanced User Simulator
    • ae unutmadan
Bir süredir ne yapalım edelim de amigavari hızlı ekran kaydırma rutinleri ve birbirleri ile çakışmayacak sprite içeren bir oyun yapalım modunda tartışmalar sürerken oldukça hoş ilerlemeler kaydetmişler.

Smooth scroll oric'de özellikle zor olmalı. Sonuçta ekran hafızası 1 byte içinde 6 bit pixel, 2 bit renk ise, ekranı kaydırmak için rotate komutu verdiğinizde renk bitleri pixel alanına kayıyorlardır. Bayağı zahmetli bir iş. Tahminime göre tüm grafiklerin önceden kaydırılmış hallerini bellekte tutuyorlardır.

Zx Spectrum oric'e göre daha avantajlı olsa da, sorunumuz aynı. Yana doğru kaydırma söz konusu olunduğunda tüm bitlerin kaydırılması gerekiyor. Bu çok cpu zamanı alan bir iş, bu sebepten grafik bloklardan oluşturuluyor ve tüm blokların önceden kaydırılmış halleri hafızada tutuluyor. Böylece rotate işlemine gerek olmuyor.

C64'de durum çok farklı, onlarda bir komuta bakıyor kaydırma işlemi.

Çevrimdışı Pe@ceR

  • RAAT
  • Tedavideki Retromanik
  • *
  • İleti: 321
Aynen öyle. Kaydırma işlemi text modundaki karakterler üzerinde yapılmak zorunda.

Çevrimdışı Pe@ceR

  • RAAT
  • Tedavideki Retromanik
  • *
  • İleti: 321
Proof of concept (again)

Oyunda ilerleme var..

Çevrimdışı Ref

  • Yönetici
  • Özgür Retrocu
  • *
  • İleti: 2866
  • Advanced User Simulator
    • ae unutmadan
Acaba merak ettim de, bu kaydırmayı yatay değil de dikey eksende yapsa daha kolay olmaz mıydı?

Yatay olunca birsürü bit işlemi lazım, dikey olsa buna gerek kalmaz aslında.

Tabii yatay olması ayrı bir tat. Fakat oyun tipi olarak yukarı gitmeye uyarmış.

Çevrimdışı Pe@ceR

  • RAAT
  • Tedavideki Retromanik
  • *
  • İleti: 321
Haklısın. Ekrandaki zemin aslında 6x8 noktadan oluşan bir sürü karakterden meydana gelen bir matrix ve sürekli bu karakterler üzerinde bit bit kaydırma yapılıyor.

Zamanında River Raid oyununun Oric versiyonunu yapayım diye bir projeye başlamıştım "Oric Raid" diye.

Aslında bu şekilde scroll işlemini karakter olarak kaydırdığım için scroll işlemi makine dilinde yazmış olsam da her seferinde 8 çizgi kayıyor haliye. Bu vatandaşın yaptığı gibi bit bit kaydırabilsem çok daha keyifli bir oyun yapabilirdim.

Bu haliyle scroll çok efektif olmadığı için devam etmemiştim oyuna. Tee 1996 yılından bu projem. Aslında çok ilginç oldu. Ben 96 da bu oyunu programlamaya başladığımda nette paylaşmışım ve unutmuşum. Bendeki dosyalar çoktan kayıptı. Geçenlerde acaba birileri river raid ile uğraşıyomudur diye nette arama yaptığımda alakasız bir sitede Oric raid diye bir dosya buldum. Çalıştırdığımda da içinden kendi programım çıktı ve çok duygulandım  :)

Bu da benim "Oric raid" demom :)
Oric Raid
 

Çevrimdışı Ref

  • Yönetici
  • Özgür Retrocu
  • *
  • İleti: 2866
  • Advanced User Simulator
    • ae unutmadan
Ben bunu kaçırmışım, şu başlıkta tekrar konusu geçince uyanmıştım:
http://retrojen.org/pano/index.php?topic=457.msg3467#msg3467

Benim de river raid planlarım var, hatta mockup olarak denemeler yapmıştım, şu grafikler zx spectrumda mümkün:


sol=zx spectrum, Sağ=atari2600'ün zx spectrum'a croplanmış hali


Border'ları eklediğimizde böyle birşey oluyor



Çerçeveler aslında açılabiliyor, çerçevedeki 1 pixel büyüklüğü minimum 1x32 olmak zorunda ama river raid için bu sorun değil. Düz çizgiler çizilecek alt tarafı.


Eğer ki multicolor modunda oyun hesapları için işlemci zamanı kalmazsa tamamen monokrom yapmayı planlıyorum.

Hatta konu üzerinde bir süre tartıştıktan sonra Joefish fikri uygulamaya koymaya çalıştı, ortaya seninkine benzer bir demo çıktı:
http://arda.kisafilm.org/fish/Joefish_River_Raid_Tech_Demo_01.zip  (48k model emülasyonunda deneyin)

Tabii buradaki incelik zx spectrum'un 8x8'lik alanda 2 renk kullanabilme limitini kırması. Büyük olasılıkla bunu 128k modellerde 8x2 olarak kolaylıkla halletmek mümkün (swap buffer olduğu için). Günün birinde oturup yazıcam ama önce emekliliği beklemek zorunda kalabilirim :)

Çevrimdışı Pe@ceR

  • RAAT
  • Tedavideki Retromanik
  • *
  • İleti: 321
Tam da aklıma görüntülere bakınca o gelmişti. Yai her bir karakter için sadece 1 zemin bir de yazı rengi olması gerekirken mesela helikopterin pervanesi ve gövdesini, evlerin çatı ve duvarlarını nasıl farklı renkte yapmışlar :) Oric'de her satır ayrı renge boyandığından sıkıntı yok ama spectrum için görüntüler şahane. Demoyu da emulatörde çalıştırdım. Tam ekran piksel piksel kaydırma da çok hoş. Uçağı sağa sola kaydıramıyoruz benim demodaki değil mi, sadece scrolldan ibaret bir demo ?

River Raid Walkthrough, ZX Spectrum

Burada tam ekran scroll yapan bir river raid oyunu gördüm aslında spectrum için. Gayet başarılı. Sesler iğrenç ama :)

Çevrimdışı witchdoktor

  • RAAT
  • Normalleşmiş Retroman
  • *
  • İleti: 757
C64'de durum çok farklı, onlarda bir komuta bakıyor kaydırma işlemi.

Abartma, duyan da her işi GPU yapıyor sanacak! :)

Ama C64'ün ciddi avantajları olduğu kesin. 'Çokrenkli Karakter Modu' + ekranı yatay veya dikey eksende 8 piksel hassasiyetinde konumlandırabilmesi işleri kolaylaştırıyor. Bu sayede saniyede ortalama 50x(2000/8)=12500 byte'lık kaydırma yapmanız yeterli oluyor 1 piksel/frame sabit hızda 50FPS kaydırma için. Bitmap modu işin içine girdiğinde işlem gücü daha da artıyor; 50x(10000/8)=62500 byte. Bunların içine tabi ki oyun vb'deki kullanıcı etkileşimleri ve değişken hızlar girdiğinde optimal değerlerin üstüne çıkılıyor. Ama en azından bit kaydırma işlemleri ile uğraşmıyorsunuz.

Bu arada Pe@ceR'ı da kutluyorum. Tüm platformlarda en azından bu kadar aktif birer kişi olsa bu forum tadından yenmezdi. Kendisini C64, Speccy ve Schneider konusunda da aktif çalışmaya davet ediyorum ;)

Çevrimdışı Ref

  • Yönetici
  • Özgür Retrocu
  • *
  • İleti: 2866
  • Advanced User Simulator
    • ae unutmadan
Abartma, duyan da her işi GPU yapıyor sanacak! :)

Heh, tabii c64 uzmanı değilim ama bildiğim kadarıyla $d011'in ilk 3 biti vicII scroll register'ı. Oradaki adresin ilk üç bitini 0-7 arası set ederek ekranın tamamını kaydırıyorsunuz istediğiniz oranda. 0'dan 7'ye vardığınızda tüm karakterleri bir kat aşağı kopyalayıp tekrar registerı o'a alıp devam ediyorsunuz. Daha ne olsun? Komut bile demem ben buna, ram'deki bir adresi modify ediyorsunuz. (diye biliyorum, hiç denemedim, hatam varsa düzeltmek gerek tabii)

sta 0
lda $d011

Kabul iki komut.

Alıntı
Burada tam ekran scroll yapan bir river raid oyunu gördüm aslında spectrum için. Gayet başarılı. Sesler iğrenç ama

Aslında ben o portu gördükçe "acilen baştan yazmalıyım" diyorum oyunu :)
Basic oyunu gibi birşey. Neyseki 1 piksel kaydırma var :) O da 1 frame'e sığmamış, yırtıla kırıla kaydırıyor. Spectrumda Dikine kaydırma ucuz bir işlem. Oric'de daha da kolay olur eminim. Tabii 1mhz 6502 ile kolay olmayacaktır.

Çevrimdışı Pe@ceR

  • RAAT
  • Tedavideki Retromanik
  • *
  • İleti: 321
HIRES ekranda tam ekran makine kod ile kaydırmayı denemiştim. Kesinlikle oyun oynamaya elverişli değil ve çok yavaş kalıyor.

@witchdoktor övgüler için teşekkür ederim :) Spectrum'la hç haşır neşir olamadım arkadaşta görüp özenmek dışında. C64 ün scroll yanında hardware sprite olayına bitiyorum ben. Karakter matrixi tanımla, hop x numaralı sprite'i görünür yap. Çarpışmalar bile ek koda gerek kalmadan denetlenebilsin. Bu işleri Oric'de yapmak için sayfalarca kod girmek ve kafa patlatmak lazım + yapsak bile hız yetmeyecek malesef :)