- Super Mario 64 içindeki Watch for Rolling Rocks yıldızının, yeni bir A girişi olmadan, başlangıçtan önce devam eden A hold ile alınabildiği 0.5 A press stratejisi açıklanıyor
- A girdisi press, hold ve release olarak ayrılıyor; önceki yıldızdan basılmış A tuşu basılı tutulursa tek bir yıldız için 0.5, tüm koşu içinse ek girdi 0 olarak sayılabiliyor
- Stratejinin özü, Scuttlebug'ın home konumunu taşımak ve oda etkinleştirme sınırını kullanarak onu yukarı çıkarmak, ardından misalignment ve sekmeyle yıldız platformu yüksekliğini elde etmek
- Gerekli yatay hız, sığ su, dik eğim, gate ve out-of-bounds tespitini birleştiren Hyper Speed Walking ile üretiliyor ve hız biriktirme yaklaşık 12 saat sürüyor
- PU hareket rotası, floor collision'ın short dönüşümü, eğime göre değişen syncing speed ve QPU alignment kullanılarak ana haritaya dönmek ve elevator ile yıldız platformuna ulaşmak üzere tasarlanıyor
0.5 A press'in ölçütü
- A press anlık bir giriş değil, press, hold, release olmak üzere üç aşamaya ayrılır
- press, Mario'yu zıplatmak için kullanılır
- hold, küçük kick, suda swim, twirl sırasında yavaş düşüş ve Wing Cap sırasında yavaş düşüş için kullanılabilir
- release için şu anda faydalı ya da önemli bir örnek yoktur
- 0.5 A press, A'ya yeniden basmadan, daha önce basılmış A'nın basılı tutulduğu durumu ifade eder
- Over the Rainbow örneği bu sayım yöntemini gösterir
- cannon platform'a ulaşmak için yalnızca A'yı basılı tutmak gerekir
- ilk cannon ateşlemesi ve ikinci cannon ateşlemesi için ayrı ayrı birer A press gerekir
- yalnızca tek yıldız açısından bakıldığında bu 3 A press sayılır
- tüm A Button Challenge koşusunda, bölüme girişte kullanılan önceki A press basılı tutulup ilk hold gereksinimi bununla karşılanabilir
- bu yüzden Over the Rainbow, tek yıldız için 2.5 A press, tüm koşu içinse ek 2 A press olur
- Watch for Rolling Rocks stratejisinde de level başlarken A zaten basılıdır ve tüm koşu içinde bu giriş önceki bir A press'in devamı olarak sayılır
Scuttlebug taşıma ve yükseltme
- Scuttlebug Transportation, Scuttlebug'ın home konumunun Mario ile çarpıştığında güncellenmesi özelliğini kullanır
- Scuttlebug, home çevresindeki belirli bir yarıçap içinde devriye gezer
- Mario bu yarıçapın içine girerse lunging attack yapar
- Scuttlebug Mario'ya çarptığında, çarpışma anındaki Scuttlebug konumu yeni home olur
- Taşımada bazı kısıtlar vardır
- Scuttlebug kendi native room'unun dışına çıkamaz ve kapıda takılır
- mevcut home konumundan çok daha aşağıdayken duvara yürümeye çalışırsa yok olabilir; bu yüzden taşıma sırasında bundan kaçınmak gerekir
- Amaç, Scuttlebug'ı ve home konumunu Watch for Rolling Rocks yıldızının altındaki köşenin yakınına taşımaktır
- Scuttlebug Raising, rolling rocks room'un etkinleştirme aralığını kullanarak Scuttlebug'ı yukarı çıkarır
- Oda ve içindeki nesneler yalnızca Mario rolling rocks room içindeyken ya da kapının dışındaki küçük yellow region içindeyken etkin olur
- Mario bunun dışındaysa oda siyah görünür, nesneler invisible olur ve hareket etmez
- Scuttlebug etkin değilken bile Mario'ya doğru dönebilir ve lunge başlatabilir
- Mario yellow region'a girip Scuttlebug'ı etkinleştirdikten sonra, Scuttlebug yörüngesinin tepe noktasına ulaştığında Mario yeniden yellow region'dan çıkarsa Scuttlebug düşmez ve o yükseklikte kalır
- Bu süreç tekrarlanarak Scuttlebug sürekli daha yukarı çıkarılır
- Scuttlebug'ın algılama yarıçapı bir sphere değil, yukarı ve aşağı sonsuza uzanan bir cylinder olduğundan, ne kadar yükselirse yükselsin lunge tetiklenmeye devam edebilir
- Bu stratejide Scuttlebug'ın home yönüne lunge yapması sağlanarak tam köşenin üstünde kalması hedeflenir
- Mario, Scuttlebug yarıçapı içinde etkinleştirme yaparsa Scuttlebug Mario'ya doğru lunge yapıp kapı yönüne ilerleyebilir
- Bu yöntem daha hızlıdır, ancak bu stratejide köşe yakını konum gerektiği için kullanılmaz
Misalignment ve yükseklik kazanımı
- Köşenin üst kısmında misalignment denilen bir özellik vardır
- Oyun kodunda floor collision checking ile wall collision checking farklı şekilde işlenir
- Bunun sonucunda 1x1 unit'lik bir bölgede Mario duvar tarafından itilmeden zeminin altına girebilir
- Mario zeminin 79 unit'ten daha az altındaysa zeminin üstüne snap edilir
- Son aşamada Scuttlebug bounce ve ground pound, misalignment ile birleştirilerek Watch for Rolling Rocks platformuna çıkmaya yetecek yükseklik elde edilir
Hyper Speed Walking ve Parallel Universe hareketi
- Gerekli hız Hyper Speed Walking ile elde edilir
- Çok dik eğimlerde Mario normalde ayakta duramaz ve kayar
- Sığ suyla kaplı bir eğimin su altındaki kısmında, yokuş yukarı koşmaya çalışıldığında Mario geriye doğru koşar ve hızı sürekli artar; üst sınır yoktur
- Normalde suya düşüldüğü ya da eğim bittiği için çok fazla hız biriktirmek zordur, ancak gate ve out-of-bounds kullanılarak yerinde hız biriktirilebilir
- gate'in alt kısmı ceiling olarak kabul edilir
- Mario ceiling'in hemen altına fazla yaklaşacak şekilde hareket etmeye çalışırsa oyun konum değişimini reddeder
- Belli bir hız alındıktan sonra yön çevrilip hedeflenen sonraki konum duvarın ötesinde out-of-bounds olacak şekilde ayarlanırsa, oyun Mario'yu out-of-bounds'a koymaz ve yerinde tutar
- out-of-bounds sürekli devam ettiği için gate ceiling'den daha uzun süre hız biriktirilebilir
- Bu stratejide gate açılır, gate ceiling kullanılarak bir miktar hız üretilir, sonra açı out-of-bounds yönüne çevrilerek kalan hız toplanır
- Hız biriktirme yaklaşık 12 saat sürer
PU, QPU ve syncing speed
- Mario'nun position değeri floating point number'dır, ancak floor triangle collision test için short türüne dönüştürülür
- fractional portion kesilip atılır
- fazla büyük ya da küçük sayılar modulo operator ile -32768 ile 32767 aralığına sokulur
- Gerçek konum bu aralığın dışında olsa bile, floor detection için kullanılan konum başlangıçtaki kutunun içine geri döner
- Mario'nun gerçek konumunda zemin olmasa bile, floor detection konumu bir zeminin üstündeyse oyun Mario'yu yerde kabul eder
- Orijinal haritanın kopyası gibi davranan bu alanlara Parallel Universe, yani PU denir
- PU içinde graphics yoktur; elevator, item block, nesne, düşman, coin, star ve wall da bulunmaz
- N64 konsolunda camera PU'ya kadar takip ederse çökme yaşanabildiğinden, bu strateji çökmeden kaçınmak için camera'yı ana haritada sabitler
- Oyun, Mario hareketinin her quarter step'inde zeminde olup olmadığını kontrol eder
- Basit bir PU hareketinde, her quarter step bir zeminin üstüne denk gelsin diye tek seferde 4 PU geçmek gerekir
- Bu 4 PU mesafesine QPU denir
- Gerçek speed ile harekette kullanılan fiilî speed aynı değildir
- fiilî speed, eğimin steepness değerine bağlı olarak gerçek speed'in bir kısmından belirlenir
- eğim ne kadar dikse, aynı speed değerinde fiilî speed o kadar küçük olur
- QPU mesafesi ile quarter step'in tam uyuştuğu speed'e syncing speed denir
- en düşük syncing speed, tam olarak 1 QPU hareket ettiren hızdır
- bunun katları da syncing speed olur ve bir seferde birden fazla QPU geçilebilir
- her eğim için syncing speed kümesi farklıdır
- Secret Aquarium PU hareketi örneğinde, art arda birden çok eğimin syncing speed değerlerini sağlamak gerekiyordu; ilk syncing speed'e ulaşmak yaklaşık 12 saat, ikinci syncing speed'e ulaşmak ise yaklaşık 25 saat sürüyordu
- Watch for Rolling Rocks rotası, 25 saat yerine 12 saatlik hız birikimiyle mümkün olacak şekilde tasarlanmıştır
- gölden yukarı çıkan path, farklı eğimlere sahip onlarca floor triangle'dan oluşur
- bunlar içinden T1'den T6'ya kadar altı triangle seçilmiştir ve steepness değerleri sıkı biçimde azalmaktadır
- bu altı triangle'ın yükseklikleri, alttan üste gereken dikey mesafeyi boşluk bırakmadan kapsar
- rota taslağı, bu triangle'ları sırayla kullanarak başlangıç eğiminin ilk syncing speed'iyle tamamlanır
Son rota ve yıldızın alınışı
- Temel rota, Hyper Speed Walking eğiminden başlayıp göl üstündeki path boyunca yükselmek, 2 elevator kullanmak, Amazing Emergency Exit platformuna gitmek ve oradan Watch for Rolling Rocks platformuna fırlatılmak şeklindedir
- PU hareketi sırasında speed, syncing speed'den biraz düşükse relative forward, biraz yüksekse relative backward hareket oluşur
- cardinal direction'dan açı çok az sapsa bile, QPU mesafesi nedeniyle sideways movement büyük ölçüde büyür
- QPU alignment yönetimi bu yüzden kritiktir
- 4 PU katlarına karşılık gelen grid'e QPU grid denir
- Mario bu grid üzerindeyse QPU aligned durumdadır
- bunun dışındaki pozitif PU hareketleri için out-of-bounds ya da slope change gibi özel koşullar gerekir
- QPU misaligned olunursa ana haritaya dönmek zorlaşabilir
- Göl yolunda T1'den T6'ya kadar her triangle üzerinde speed, ilgili eğimin syncing speed'ine yaklaştırılacak kadar düşürülür; ardından yokuş yukarı ilerlenip bir sonraki triangle'a geçilir
- triangle geçişlerinde QPU alignment değişir, ancak rota sonunda bunlar birbirini götürecek ve yeniden QPU aligned olunacak şekilde planlanmıştır
- altıncı triangle üzerinde zigzag yapılarak ana haritaya yaklaşılır
- PU içinde object bulunmadığından elevator'lar ancak ana haritaya dönüldükten sonra kullanılabilir
- A'nın basılı tutulmasının nedeni, B'ye basarak küçük bir kick yapmak içindir
- kick olmazsa Mario elevator'ın içinden geçer
- kick yapılınca Mario elevator'a binip yükseklik kazanabilir
- Son hareket, Amazing Emergency Exit platformunda kick yaptıktan sonra yön değiştirip Scuttlebug'a doğru launch olmak şeklindedir
- bu hareket sağa 10 PU ve aşağı 3 PU displacement ürettiğinden, ana haritada bitirmek için önceden 3 PU yukarıda ve 10 PU solda konum alınır
- aynı anda relative map konumu da son hareketin mümkün olacağı şekilde ayarlanır
- Scuttlebug, odanın PU sürümüne girildiği anda etkinleşir; fazla düşmeden ona ulaşmak gerektiği için final approach sırasında yalnızca birkaç frame'lik pay vardır
- Sonuçta Scuttlebug bounce ile misalignment üzerindeki ground pound birleştirilerek Watch for Rolling Rocks platformuna çıkmaya yetecek yükseklik elde edilir ve yıldız 0.5 A press ile alınır
1 yorum
Hacker News yorumları
Bunun mükemmel YouTube videosu olabileceğini düşünüyorum
Arka planda harika bir Mario soundtrack'i ve oynanış görüntüleri var, kendi hazırladığı grafikler neler olduğunu görsel olarak gösteriyor ve sesli anlatım da ekranda olanı açıklıyor
Diğer YouTube videolarına ve yorumlara da başvuruyor, inanılmaz derecede ayrıntılı ve bilgi dolu ama bir şey satmaya çalışmıyor
İzlenme uğruna değil, sevgiyle yapılmış gibi hissettiriyor; benim için YouTube'un zirvesi bu
Nörokimya/biyokimya, psikoloji, oyunlar, insan davranışı, kültür ve din ile bunların zaman içinde nasıl değiştiği arasında dolaşıyor; ayrıntılı ve bilgi derinliği yüksek
Benim için YouTube'un zirvesi bu tarz şeyler
Ben arka plan müziğine zor dayanıyorum
pannenkoek'in bilgi derinliği ve analiz gücü gerçekten hayranlık verici
SM64 videolarını izledikten sonra çıtam o kadar yükseldi ki başka oyunlarda benzer düzeyde titizlik ve yapım kalitesi bulmak çok zor geliyor
Şimdiye kadar en çok yaklaşan şey, speedrunner'ların Wind Waker'daki bir bulmacada RNG'yi nasıl alt ettiğini anlatan videoydu
https://youtu.be/1hs451PfFzQ
AsumSaus'un da Melee'nin tuhaf mekaniklerini parçalara ayırdığı çok sayıda videosu var
Neredeyse hepsi harika, seçmek zor ama başlangıç için https://www.youtube.com/watch?v=rA8kpvTBh8Q ve https://www.youtube.com/watch?v=9fo0cPmj4VA iyi olur
Bellek yerleşimini, istenmeden ortaya çıkan bug'ların nasıl çalıştığını, CPU instruction set'lerini ve işlerin donanım seviyesinde nasıl gerçekleştiğini ele alıyor
Şiddetle tavsiye ederim
https://www.youtube.com/@RGMechEx
https://www.youtube.com/channel/UCYDnJiF0_RqSjkjvjRbG1tA
Özellikle Paper Mario'yu sayısız tuhaf yöntemle crash ettirdiği seri bir meme haline gelmişti
Ne yazık ki 2020'den beri aktif değil
Videolar kısa ama analizleri iyi
https://youtu.be/6sPS4yqC72I ya da https://youtu.be/TM7SutJyDCk şiddetle tavsiye edilir
Bu tam anlamıyla saf inek pornosu ve gerçekten harika
Oyunun çarpışma algılamasının gerçekten kayan noktalı değer alıp bunu short'a çevirdiği gibi açıklamalar tuhaf bir şekilde beynimi gıdıklıyor
SM64 gibi bir oyunun piyasaya çıkışından onlarca yıl sonra hâlâ insanları büyüleyip kendine bağlaması çok şey anlatıyor
Günümüz ana akım oyunları arasında, oyuncularda bu seviyede tutkuyu paylaşan yapımlar giderek azalıyor gibi görünüyor
A Button Challenge'ın eksiksiz tarihi
https://www.youtube.com/watch?v=yXbJe-rUNP8
5 saati aşan bir video; arkada açık bırakmak ya da vakit öldürmek için izliyorum
Bu insanların sergilediği bilgi miktarı ve bug istismarı seviyesi akıl almaz
Keşfedilen bazı şeyler gerçekten çılgınca ve zar zor çalışan o kadar çok şey var ki insan şaşırıyor
Bismuth genel olarak da yüksek kaliteli bir YouTuber
“12 saat boyunca hız biriktirme” kısmında koptum
https://youtu.be/kpk2tdsPh0A?t=640
Düşünce yapısı gerçekten çok berrak
İnternette böyle inanılmaz zeki insanların olması güzel
Elbette herkes zihnini istediği gibi kullanmakta özgür ama yaklaşık 30 yıllık bir oyundaki aşırı anlaşılmaz bir bug'a bu kadar yoğunlaşıp, araç desteği olmadan pratikte uygulanması imkânsız bir numaranın teknik olarak mümkün olduğunu kanıtlamaya çalışmak bana gerçekten tuhaf geliyor
Açıklama videosu harika ama altındaki asıl hedef bana saçma geliyor
paralel evrenler mevzusunu seviyorsan, SM64 1-Key speedrun'ını https://youtube.com/watch?v=iUt840BUOYA izlemeni, ardından da Bismuth'un açıklamasını https://youtube.com/watch?v=wjge1bVobN0 şiddetle tavsiye ederim
Büyük ölçüde pannenkoek2012'nin araştırmalarına dayanan gerçekten inanılmaz bir teknik başarı
Paralel evrenler ve onun etrafındaki tüm kavramlar, zemin kontrol kodundaki 16 bit integer overflow yüzünden ortaya çıkıyor
Mario 64 normalde konumu kayan noktalı sayı olarak saklıyor ama çarpışma kontrolünde bunu 16 bit integer'a dönüştürüyor
Gerçekten hayranlık verici
İnsanların bir şeye bu kadar güçlü bir tutkuyla bağlanıp böylesine uç bir adanmışlık göstermesini her gördüğümde etkileniyorum
Benim de beni bu kadar sıkı çalıştıracak düzeyde bir tutku hissettiğim zamanlar çok nadir oldu
Bazen böyle insanların yeteneklerini ve enerjilerini hastalık tedavisi ya da bilimsel atılımlar gibi gerçekten önemli işlere yöneltmesini diliyorum
En azından kendileri açısından da büyük bir potansiyelin boşa gitmediğini hissedebilirlerdi
Sırf bu videoya harcanan emekle bile ortaya düzgün bir araştırma makalesi çıkardı gibi geliyor
Keşke kendi işimde de bu seviyede bir motivasyonum olsa ama genel olarak sadece hayran kalıyorum
Bu kanalı seviyorum
Daha yakın zamanda N64'ün somut teknik ayrıntılarını ele alan bir video da yaptı ve kayan nokta konusunda dikkatli olmak gerekiyor
https://youtu.be/nYDmBdUalgo
Orijinal gönderideki gibi başka tavşan deliği videoları önerebilir misiniz?
Konu hiç fark etmez
Bir şeyin ne kadar derine gidebildiğini gösteren böyle videoları seviyorum
Şu anda en sevdiğim https://youtu.be/_hjRvZYkAgA
https://youtu.be/KVgoy_a_gWI
https://youtu.be/6gjsAA_5Agk
Bu video, 0.5 A input'un ne olduğunu ve neden önemli görüldüğünü de açıklıyor
Mario 64, tuşu bırakma eylemini umursamadığı için koşucular bırakma hareketini ayrıca saymıyor
İstediğiniz anda A'yı bırakmamayı seçebileceğiniz için, minimum A input koşularında A ancak tekrar basmak gerektiğinde bırakılır
Canlı anlatımda 0.5 A'nın ne “anlama geldiği” kısaca açıklanabilir ama böyle bir açıklama olmadan insanların neden buna önem verdiğini merak etmesi çok muhtemel
A'yı basılı tutmanın, Mario'nun A'ya basılmadığındaki hâlinden farklı davranmasına yol açtığını da açıklamak gerekir
İlk durumda A'ya basıp bırakmazsanız, ikinci durum o input'u ödünç alabilir
Havada süzülme gibi basılı tutulma durumunu umursuyorsa, havada olup süzülmeme gibi basılı tutulmayan durumu da zorunlu olarak umursuyor olmuyor mu
Havada süzülür durumdan havada süzülmez duruma geçmek için tuşu bırakmanız gerekir
Ben mi yanlış anlıyorum?
M64'ü yalnızca yaklaşık 5 dakika oynadım ama bir gün oynamak üzere listeme ekledim ve çocukların oyuna kapılmasını sağlayıp kendime de oynama vakti açmak için onları sürekli teşvik ediyorum
İkinci kez zıplamak için önce tuşu bırakmanız gerekir
0.5, aslında tek bir A input'unun birden fazla seviye boyunca sürdüğü fikrine daha yakın
Yüzeyde bakınca “0.5 de ne?” dedirtiyor ama sonuçta sadece bir anlamlandırma meselesi