らだい
296K posts

らだい
@tw_rdi
ども犬です。 パポタ作ってます。 パラダイム・パラダイスの「らだい」と覚えてネ。 AI時代に人間の強み探求する犬。暗号暴落真君。
犬小屋 Se unió Mart 2010
1.4K Siguiendo1.7K Seguidores
Tweet fijado
らだい retuiteado

ちゃんと中望遠で撮ってるし
カメラを吊るし撮りしてるからガチ。
ヴィズマーラ恵子🇮🇹@vismoglie
警備のおじさん、前職はカメラマンなのかな。的確なポージング指導。絶対転職した方がいいと思う。
日本語
らだい retuiteado

【関東で強風注意報が発表中】
今日4日(月)は関東南部を中心に強風が吹き荒れています。瞬間的に暴風となることもあるので注意が必要です。
ウェザニュースアプリ利用者による体感報告でも東京湾エリアを中心に「外出危険」レベルの強風という体感報告が寄せられています。
weathernews.jp/news/202605/04…


日本語
らだい retuiteado
らだい retuiteado
らだい retuiteado
らだい retuiteado
らだい retuiteado
らだい retuiteado
らだい retuiteado

らだい retuiteado
らだい retuiteado
らだい retuiteado

らだい retuiteado
らだい retuiteado
らだい retuiteado

自己書き換えプログラムによる最適化の話
BLAZING STARとPULSTARをリードエンジニアとして担当致しました
PULSTARはそもそもVIEW POINTからの系譜であり、そちらへもテクニカルアドバイザーとして参戦しておりましたが
晴れて自分の作品としてPULSTARを実装し、BLAZING STARへ昇華していきました
BLAZING STARもとても好評を頂き大変有り難かった
が、NEO GEOという全く同じハードウェアでPULSTARを超える為に、何百もの工夫をしました
当時のゲームプログラム業界は血で血を洗う最適化と表現の群雄跋扈時代
一サイクルでも多く稼ぐ、芸術的な、それこそ思考競技と言える様な切磋琢磨時代でした
そんな中一つ、現代では馴染みのないテクニックを
プログラムコードは通常RAMへ展開されますが、という事は、自分自身を書き換えるプログラムもあり得ます
これはその一つである弾幕を扱うループ処理
言語は勿論MC68000アセンブラ
数十~数百を彩る弾幕を、現代で言えばそれこそECSの様にキャッシュを意識したコーディングが出来れば良いのですが、なにせ当時です
最適化の肝はCPUクロックの削減徹底
for 弾 in 弾幕群
update 弾
こんな言語はありませんが、全員判ってくれますね
これが無駄なんです
あの頃のアセンブラ界隈では、ループ処理すら無駄。無駄無駄無駄
CPUクロックが足り無くて仕方がありません
そこで僕はこんな事を
: 前提
弾 update
弾 update
弾 update
弾 update
↓
以下管理RAMが許すまで同じ処理を書いておく
: フレームの頭
このフレームでは「弾」が100個ある。じゃあ、100個目に「rts(ループを抜ける)」命令を上書きする
: この、手作りの料理みたいなRAMの上で実際にCPUを走らせる
: rtsに書き換えた部分を「弾 update」へ書き戻す
:毎フレームこれを行う
馬鹿馬鹿しいほどのストイックさです
これにより、ループにまつわる「変数iはn以上か?そうでなければループ」という処理すらを省いています
実効値で2倍以上の効率化です
いつの時代も、コーディングにおける最適化は芸術だと思います
なにより、楽しい
Pixel Cherry Ninja@PixelCNinja
I'm coming to the conclusion that Blazing Star is the best horizontal Shmup ever made. Can you name a better one?
日本語



























