プログラミング言語Rust入門です.なるべくわかりやすいように解説しました.公式ドキュメントを読んでみたけど,あまりよくわからなかったという人に向いているかもしれません. 誤字や間違いなどのご指摘は以下からコメントをお願いします. https://zenn.dev/mebiusbox/scraps/90bc293a07430d
はじめに 以前、VGS-Zeroというラズパイで動作する自作ゲーム機を紹介させていただきました。 今回、上記の記事でも触れているVGS-Zeroのローンチタイトル「Battle Marine」(下記)をゲームギアに移植してみました。 本書はBattle Marineをゲームギアへ移植した経緯や技術的に苦労した点などを纏めたものとなります。 なお、今回ゲームギア(実機)で動作できるソフトとしてBattle Marineを開発しましたが、セガの公式なライセンス商品ではなく、飽くまでも ゲームギアと互換性のある同人ソフト となります。 何故ゲームギア? Battle Marine のゲームジャンルは「弾幕STG」です。 もしかすると、この点については議論の余地があるかもしれませんが、少なくとも私は弾幕STGとして創ったつもりです。 「Z80のゲーム機」としてはチート級のスペックのVDPを搭載して
A Case against the GO TO Statement. by Edsger W.Dijkstra Technological University Eindhoven, The Netherlands Since a number of years I am familiar with the observation that the quality of programmers is a decreasing function of the density of go to statements in the programs they produce. Later I discovered why the use of the go to statement has such disastrous effects and did I become convinced t
エドガー・ダイクストラ(Edsger Wybe Dijkstra, 1930年5月11日 - 2002年8月6日)は、オランダ人の計算機科学者。1972年、プログラミング言語の基礎研究への貢献に対してチューリング賞を受賞。構造化プログラミングの提唱者。1984年から2002年に亡くなるまでテキサス大学オースティン校の計算機科学の Schlumberger Centennial Chair を務めた。 2002年の死の直前、プログラム計算の自己安定化(英語版)についての仕事に対して ACM PODC Influential Paper Award を授与された。この賞は翌年からダイクストラを称えてダイクストラ賞(英語版)と呼ばれるようになった。 エズガー・ダイクストラと表記されることもある。オランダ語での発音は、IPA表記で /ˈɛtsxər ˈwibə ˈdɛɪkstra/ で、エツハー・
ブレゼンハムのアルゴリズム(Bresenham's line algorithm)は、与えられた始点と終点の間に連続した点を置き、近似的な直線を引くためのアルゴリズム。ブレゼンハムの線分描画アルゴリズム、ブレゼンハムアルゴリズムとも。コンピュータのディスプレイに直線を描画するのによく使われ、整数の加減算とビットシフトのみで実装できるので多くのコンピュータで使用可能である。コンピュータグラフィックスの分野の最初期のアルゴリズムの1つである。これを若干拡張すると、円を描くことができる。 アンチエイリアスをサポートした直線描画アルゴリズム(例えば、Xiaolin Wu's line algorithm)もあるが、ブレゼンハムのアルゴリズムの高速性と単純さは今も重要である。プロッターやビデオカードのGPUといったハードウェアで使用されている。ソフトウェアでは多くのグラフィックスライブラリ(英語版)
かつてのMac OS9までの描画エンジンの主役はQuickDrawが担っていた。GUIなOSでは、文字も含めてすべてをグラフィックとして扱うので、画面に見えているすべてのもの*1はQuickDrawによって描かれていたことになる。描画エンジンは、GUIなOS開発の要となる技術である。その出来が、GUIなOS開発の成否を分けるとも言える。 そして、最初期のQuickDrawは、ビル・アトキンソンがたった一人で開発したそうである。 当時(25年以上前)のCPUは、動作クロックが8MHzという性能だった。(現在は2GHz=2000MHzかつ、複数コアが当たり前) そのような性能であっても、違和感なくマウスで操作できるOS環境にするために、斬新な発想や試行錯誤を重ね、相当な努力の末に開発されたのがLisaやMacintoshであった。 Amazon.co.jp: レボリューション・イン・ザ・バレー
今のPCはグラフィック画面の1ドットが見えないくらい精密な描画をしていますし、APIに座標を指定すればサッと点を打ってくれるのが当たり前なので、どうやって点を打つかなんて気にする必要はまったく無いのですが、8ビットな時代には、必ずしもそんな便利なサブルーチンが提供されているとは限らず、有っても汎用的には便利であっても特定の用途ではパフォーマンスに難があったりして、自力で点を打つ必要に迫られることも無くはありませんでした。 グラフィック画面はVRAMと呼ばれる特定のメモリ領域が使われていて、機種によって構造は大きく異なるのですが、良くある構造はカラープレーンごとに特定のアドレスからビット単位で横方向にデータが並べられて画面の右端まで行くと次の縦方向のデータが続くというものです。 VRAMの構造(例)ですから(0,12)に点を打ちたければ、12は12/8(整数除算)の結果である1をベースアドレ
むかしむかし、グラフィック画面に点を打つのに、自分でアドレスを計算して直接VRAMに値を書き込むことで点を打つ話を以下の記事に書きました。 自分で点を打つ世界 点ですら自分で打たなくてはならなかったくらいなのですから、当然のように線も自分で引かないとなりません。線というのは2つの点を結ぶものですから、2つのXY座標を指定して線を引きます。学校でならったと思いますが、直線の方程式は Y = mX + nですから、2つの点(X0,Y0)と(X1,Y1)を満たすmとnを計算して、XからY(またはYからX)を求める式を作ります。 Y = (Y1 - Y0) / (X1 - X0) ✕ (X - X0) + Y0これでXをX0からX1に変化させながらYを求めて線を描いていけばいいはずです。 【高校】直線の方程式5パターンの求め方をイチから!
ソフトウェアエンジニアリングにおいて大切なのは、人間のことをのぞけば名付けだと思っている。言葉がなければ世界は混沌としたままだけど、そこに名前をもたらすことがものごとを切り分け、ひとつの秩序をもった視点をつくる。この秩序は唯一絶対のものではなくて、なんらかの意志によって導かれたものである。ソフトウェアはあくまでも現実の抽象だから、問題をどういう視点で見るか、という軸があるわけだ。そういう意味では人間のことではある。 適切につけられた名前は、そのことによって他のものとの自然な境界を与えられていて、その他の名付けと一貫性を持っている。そういう名前は既存の名付けの体系になじむので、同じ言葉を使う人々のあいだに受けいられれて、共通のコンテキストに追加される。そして次第に暗黙のものになっていく。 たとえばユーザのフォローがあるSNSのようなウェブサービスをつくるときに、QueueとかBrokerみた
ゲームプログラミングの初心者向け入門書を、10代の少年が完成させた。横浜市磯子区に住む杉山悠真さん(15)の「僕自身、ゲームが大好き。いろいろな人がゲームを作れるようにしたい」という情熱が、全約380ページにも及ぶ力作に結実した。販売に向けた準備や全国の中学校への寄贈に向け、5月末までクラウドファンディング(CF)で支援を募っている。 杉山さんがプログラミングを知ったのは、ゲームが大好きな小学3年生の頃だった。「ゲームを作る側もすごい楽しいんだな」。プログラミングの本を読みあさり、次々と新たな技術を習得。小学6年生までに手がけた作品は800近くにも上った。 「ゲームの作り方が知りたいのに、何で基礎の説明ばっかりなんだろう」。子ども向けの解説本を読むたびに疑問を抱いた。本当に知りたいゲーム作りのノウハウにはなかなかたどり着けない現状を変えようと、実用的な一冊を自らの手で生み出すことを決めた。
ゲームプログラミング入門書、横浜の15歳が完成 「ないなら自分で書く」制作経験盛り込んだ380ページ カナロコ by 神奈川新聞 / 2024年4月22日 11時30分 ゲームプログラミングの初心者向け入門書を、10代の少年が完成させた。横浜市磯子区に住む杉山悠真さん(15)の「僕自身、ゲームが大好き。いろいろな人がゲームを作れるようにしたい」という情熱が、全約380ページにも及ぶ力作に結実した。販売に向けた準備や全国の中学校への寄贈に向け、5月末までクラウドファンディング(CF)で支援を募っている。 杉山さんがプログラミングを知ったのは、ゲームが大好きな小学3年生の頃だった。「ゲームを作る側もすごい楽しいんだな」。プログラミングの本を読みあさり、次々と新たな技術を習得。小学6年生までに手がけた作品は800近くにも上った。 「ゲームの作り方が知りたいのに、何で基礎の説明ばっかりなんだろう」
This course is a deep dive into the world of PlayStation programming! We'll explore the PS1 hardware, understand its sub-components, and learn how to code games using MIPS assembler & the C programming language. We'll also learn how to use a PS1 SDK library paired with a modern development toolchain to be more productive and push fast polygons out of our console. We are about to enter the 5th gene
PC-8001mk2でゲームを制作する上で、避けては通れない問題、それがBEEPを使った音楽再生です。この機種は音を出す方法が 2400Hzという固定の周波数しか出せない BEEP のみなのです。まあ、カセットのリレーを使ってカチカチと音を出せなくはないのですが、それはとりあえずここでは止めておきます。この BEEPで如何に任意の周波数を再生するかという説明と、その過程で制作されたツールと仕様書をまとめて公開していきます。 <!> 注意 本記事に掲載されたツールはフリーソフトという扱いです。このツールをどのようにお使いいただいても構いませんし、出力されたデータを皆様の作成されたゲームに組み込んでいただいても全く問題ありません。表計算データやデータ仕様に関してもご自由にお使いください。その代わりと言ってはなんですが、本ツールを使用した結果については自己責任です。内藤は何も保証いたしませんし、
「自分の未来予測を信じてちょっと意地を張ってみる」 まつもとゆきひろ氏がRubyに型宣言を入れない理由 #17 動的型付け言語と大規模開発 テーマは「動的型付け言語と大規模開発」 まつもとゆきひろ氏:まつもとゆきひろです。Matzチャンネル17回目ということでお送りします。ちょっと前になりますが9月28日に私が技術顧問を始めたクラウドサーカスという会社さんがテックイベントを開催されて、その時のテーマが「動的型付け言語と大規模開発」というテーマでした。 その時に話したこととか、話そうとしたこと、話そうと思っていたんだけど時間の関係で話せなかったことなどを補足する意味も含めて今日はちょっと放送しようかと思います。というか、分量が多いので2回に分けて話そうかなと思っています。 このクラウドサーカスのイベントのテーマは別に私から指定したわけではなくて、先方が「こんなテーマで話したいんだ」とか「聞き
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く