サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
デスク環境を整える
codeknowledge.livedoor.blog
プログラミング指南 - Code Knowledge ゲーム制作に関するプログラミング等を主に書き溜めていきます。ただ、どちらかと言えば日記的な書き方が続くと思いますが、そこは温かい目で見て頂ければ。あと、ちょっとしたサンプルやツールのダウンロードも出来るようにしておきます。 Exomizer は圧縮率で ZIP をも凌ぐ大変優れたソリューションです。欠点としては解凍速度が遅いことですが、絶対的な圧縮が欲しい時は、これの選択が唯一無二とまで思っています。例えば、データロードの時間を短くする時も、Exomizer を使って圧縮すれば、その後数秒の展開時間を待つだけで、場合によっては何分も短縮することが出来ます。
プログラミング指南 - Code Knowledge ゲーム制作に関するプログラミング等を主に書き溜めていきます。ただ、どちらかと言えば日記的な書き方が続くと思いますが、そこは温かい目で見て頂ければ。あと、ちょっとしたサンプルやツールのダウンロードも出来るようにしておきます。 前回のハードウェア編からの続きとなります。 続きのクロス開発環境の記事もあります。 PC-8001 の時と同じく、開発そのものは実機ではなく Windows上でのクロス開発環境を整えます。以下の手順で開発を進めます。 z80 テキストエディタでZ80のプログラムを記述する。bin アセンブルする。エラーがあればなくなるまで修正する。p6 エミュレータで実行確認する。必要に応じて p6 形式に変換する。wav 実機で動作確認する。問題なければメディアに記録して完成。 上記作業に必要なソフトウェアを紹介します。 テキスト
乗算に続いて今回は除算、そう割り算です。割り算はA÷Bだと、AからBを何回引けるかという計算なので、単純にA-Bを引けなくなるまで繰り返すと答えが出ます。これまた簡単です。 この処理も乗算の時と同様に、最大で256回ループする可能性がある(1で割れば…ですが)ので、こちらも何とか減らしたいと思います。今回は自分でアルゴリズム検討中に X(Twitter)で有志にいろいろ助けられましたので、そちらのコードを元に検証していきたいと思います。
今、ゲームを作ろうと思ったら、適当なゲームエンジンを使うのが最も手軽です。私が現状で理解できるのは Unity ですが、それ以外にも UnrealEngine とか、Godotとかいろいろ簡単に使うことが出来ます。しかも、ある程度は GUI 操作で基本的な形は出来てしまうため、あとは、その雛形に則って自分が動かしたい機能を追加していく感じで開発が進んでいきます。 今から40年前、1980年代の Z80 や 6502 に代表される 8bit CPU を搭載したパソコンやゲーム機では、そもそもゲームエンジンという考え方は存在していませんでした。何もかもが自作です。そこにあるのは、電源を入れたら特定の場所から CPU が動作し始めるだけという原始の世界です。そして、自分が最初に行うのは、ハードウェアの初期化です。ロットによって初期状態が異なる場合があるため、基本的には自力で全てを管理する必要があ
プログラミング指南 - Code Knowledge ゲーム制作に関するプログラミング等を主に書き溜めていきます。ただ、どちらかと言えば日記的な書き方が続くと思いますが、そこは温かい目で見て頂ければ。あと、ちょっとしたサンプルやツールのダウンロードも出来るようにしておきます。 ブログネタ:【公式】自分史上"最大のピンチ"は? に参加中! なかなか面白いネタ提示があったので、ちょっと書いてみようかと思います。私にとっての自分史上最大のピンチは、50歳の時に訪れました。それは契約更新打ち切りに依る無職の危機です。それまで正社員だったのですが、会社の合併やらなんやらで色々翻弄されまして、気がついたら(という言い方もおかしな話ですが)契約社員という形になっていました。そして、契約社員になって2年目に、私は次年度契約を更新しないと宣言されてしまいます。 いやー、これにはまいりましたね…。自宅のローン
プログラミング指南 - Code Knowledge ゲーム制作に関するプログラミング等を主に書き溜めていきます。ただ、どちらかと言えば日記的な書き方が続くと思いますが、そこは温かい目で見て頂ければ。あと、ちょっとしたサンプルやツールのダウンロードも出来るようにしておきます。 前回 Z80 で左右判定を行いました。Z80 ではアナログの扱いではなく 8方向で表現してた事もあり、各方向毎に専用判定を記述することで対応しました。C# ではベクトルで座標を、向きはベクトルや角度で扱っているため、角度毎の専用処理では判定できません。そこで数式を用いて判定することになります。それが外積や内積です。今回は数学的な説明としてではなく、道具としての外積と内積を解説していきます。
プログラミング指南 - Code Knowledge ゲーム制作に関するプログラミング等を主に書き溜めていきます。ただ、どちらかと言えば日記的な書き方が続くと思いますが、そこは温かい目で見て頂ければ。あと、ちょっとしたサンプルやツールのダウンロードも出来るようにしておきます。 なかなか良くできたスイカゲーム系のwebコンテンツがありました。ただ、ちょっとばかり違法な感じでしたが、やっぱり先日webから消え去りました。作者は元ゲームが大好きだったんだろう事はよく分かったのですが、一線を超えてしまったからには、権利保持者からは注意喚起が飛んだのだろうと思われます。では、ちょっとここで思いつくままに、著作権と契約について書き連ねたいと思います。
プログラミング指南 - Code Knowledge ゲーム制作に関するプログラミング等を主に書き溜めていきます。ただ、どちらかと言えば日記的な書き方が続くと思いますが、そこは温かい目で見て頂ければ。あと、ちょっとしたサンプルやツールのダウンロードも出来るようにしておきます。 前回の記事で、メインループからプレイヤーを自由自在に動かせるようになりました。 ですが、キャラはずっと正面を向いたままです。方向に応じた画像表示に入れ替えたら、それなりに見えるのは分かりますが、例えば自動車のように、各方向にアナログ的に回転させて表示しようと思ったら、360度全ての方向の画像を持つわけにもいきません。そこで今回は行列演算を用いて、画像を任意に加工して描画する手法について説明していきたいと思います。
プログラミング指南 - Code Knowledge ゲーム制作に関するプログラミング等を主に書き溜めていきます。ただ、どちらかと言えば日記的な書き方が続くと思いますが、そこは温かい目で見て頂ければ。あと、ちょっとしたサンプルやツールのダウンロードも出来るようにしておきます。 前回でメインループの基本形が出来たので、このまま次はプレイヤーを動かしてみたいと思います。プレイヤーを動かすのに、上下左右では味気がないので、ここはベクトルを使ってアナログ的に移動させてみます。内容に関しては今回も、前回の続きとなりますので、直接こちらに来てしまった場合は、前回の記事を参照してからお読みください。
プログラミング指南 - Code Knowledge ゲーム制作に関するプログラミング等を主に書き溜めていきます。ただ、どちらかと言えば日記的な書き方が続くと思いますが、そこは温かい目で見て頂ければ。あと、ちょっとしたサンプルやツールのダウンロードも出来るようにしておきます。 今回は、リクエストがあった VS2022 の C# だけでゲームの画面表示を、どうやって実装するかの手順説明となります。簡単ではありますが、細かく説明したために少し記事が長くなっています。まあ、DirectX 使うという選択肢とかもあるんですが、簡単なゲームなら C# .NET のそのまんまでもさほど問題にはならないですね。今時の PC 能力は本当に凄いと思います。 Visual Studio 2022 にて Windows フォームアプリで新しいプロジェクトを作成します。プロジェクト名はここでは GameTest
プログラミング指南 - Code Knowledge ゲーム制作に関するプログラミング等を主に書き溜めていきます。ただ、どちらかと言えば日記的な書き方が続くと思いますが、そこは温かい目で見て頂ければ。あと、ちょっとしたサンプルやツールのダウンロードも出来るようにしておきます。 先日 X (Twitter) でこんなポストを頂きました。 Z80関連の情報を収集していたら、内藤さん(@NAITOTokihiro)の記事がヒット😃https://t.co/JcQKSeTLpn ループは速い方が嬉しいですよね😆 ということで、自分も考えてみました☺️ 数値上はDJNZより速い12clockですけれど、メモリーウェイトは如何程に影響あるものなのでしょうか…🤔 pic.twitter.com/fotBvfVn3Y — D.M.88 (@DM46374635) September 29, 2023
プログラミング指南 - Code Knowledge ゲーム制作に関するプログラミング等を主に書き溜めていきます。ただ、どちらかと言えば日記的な書き方が続くと思いますが、そこは温かい目で見て頂ければ。あと、ちょっとしたサンプルやツールのダウンロードも出来るようにしておきます。 弾を目標に当てるように射出するためには、アークタンジェント(以下、ATAN2と略す)の実装が必須となります。この ATAN2は C言語系ではそのまま使用出来る簡単便利な関数ですが、Z80 では自前で実装しなければなりません。今回はこの関数に相当するルーチンを作ってみます。 テーブル作成ATAN2 の C言語での引数は X成分と Y成分です。以前説明した三角関数で言えば、直角三角形の2辺の長さが決まれば、自ずと角度が出ます。そのため、テーブルを X成分×Y成分で作成すれば、単にそのテーブルから答えを引っ張ってくるだけと
私はこの40年でいろいろな言語を弄ってきました。ここでは昔を振り返りながら、その経験と感想を語っていきたいと思います。多少記憶が曖昧な部分はご容赦ください。 ※ 以下、殆どモザイクが入ります。 私が一番最初に触れたパソコンらしいパソコンと言えば MB-6880L2 です。名古屋の矢場町という場所に当時存在していたカトー無線電気館という場所に展示されていたのを、マニュアルを見ながら BASIC プログラムをぽちぽちと入力して、画面の端から UFO が飛んでくるだけの簡単な内容でしたが、それでも大変感動したのをよく覚えています。 次が MZ-80K です。名古屋の今池にあったユニーの家電売場で展示されていたのが MZ-80K でした。自由に弄らせてもらえたので、学校帰りにぽちぽちとプログラムを作ってました。基本的には BASIC でしたが、敵を複数動かす部分は直接マシンコードを入力してました。
プログラミング指南 - Code Knowledge ゲーム制作に関するプログラミング等を主に書き溜めていきます。ただ、どちらかと言えば日記的な書き方が続くと思いますが、そこは温かい目で見て頂ければ。あと、ちょっとしたサンプルやツールのダウンロードも出来るようにしておきます。
プログラミング指南 - Code Knowledge ゲーム制作に関するプログラミング等を主に書き溜めていきます。ただ、どちらかと言えば日記的な書き方が続くと思いますが、そこは温かい目で見て頂ければ。あと、ちょっとしたサンプルやツールのダウンロードも出来るようにしておきます。 ゲーム制作において、かなり悩ましい問題はこの敵の移動処理です。今回はゲームのタイプに関わらない移動処理について、そのおおまかな考え方について私の実装方法を解説していきます。なお、移動とともに繋がりの深い表示と消去については、日を改めて記事化できればと考えています。 直進と方向転換 まず敵の位置を X,Y とします。そして、敵の進行方向を dir で表します。昔のゲームでは上下左右の4方向が大多数でした。これは X と Y をそれぞれ ±1 すれば位置が変更出来るため簡単だったからです。8方向だと斜め方向は ±0.70
プログラミング指南 - Code Knowledge ゲーム制作に関するプログラミング等を主に書き溜めていきます。ただ、どちらかと言えば日記的な書き方が続くと思いますが、そこは温かい目で見て頂ければ。あと、ちょっとしたサンプルやツールのダウンロードも出来るようにしておきます。 自分が子供の頃は、はっきり言ってド阿呆に分類されてました。5段階評価の通信簿の平均が 3 未満で、5 はひとつもなく 1 はちらほらという状態でした。覚える系が特に苦手で、応用とか創作系はどちらかと言えば得意だったかな。図工で針金をコネてひよこを作ったのは覚えています。 小学校時代はテレビゲームは存在していなかったので、外での遊びは…ちょっと変わってました。板に釘を打ち付けて、ピンボールのようなモノを作って、ビー玉が外れたら私のもの、ポケットに入ったら2個とか3個とか払い戻すような事をしていました。室内だと紙にひたす
デバッグ報告は、伝える側が正しい報告をしないと、現場が混乱します。如何に必要な情報のみを簡潔に報告するのが肝要となります。ここでは、どのようにデバッグを行い、どう報告して、最後にどう決着するのかまでを解説します。 バグを見つけるバグ。名前だけは有名になり、誰もがバグバグと叫ぶ世の中ですが、このバグ、簡単に言えば制作者が意図しない動作を指します。例え問題なく動いていたとしても、制作者が意図していなければ、それはバグなのです。そのため、バグの発見には対象のシステムの仕様を正しく理解する必要があります。 また、事前に何を調査するのか、表にまとめておくと良いでしょう。行き当たりばったりでバグを探しても、最初は出るかもしれませんが、そのうちバグが見つからなくなっていきます。100個のアイテムがあったとして、99個まで正常でも、最後の1個で問題が出る、それがバグなのです。 バグが出やすい箇所はあります
プログラミング指南 - Code Knowledge ゲーム制作に関するプログラミング等を主に書き溜めていきます。ただ、どちらかと言えば日記的な書き方が続くと思いますが、そこは温かい目で見て頂ければ。あと、ちょっとしたサンプルやツールのダウンロードも出来るようにしておきます。 自宅にNASを設置する必要に迫られていたので、ずっと検討していました。ただ、10TBオーバーの RAID-5 まで考えると 4ベイとなりますので、10万円コースとなりましてこれはなかなか厳しいと。そんな中、ラズパイでなかなか本格的な NASが構築できることを知りました。ちょうど、ラズパイ3B+が眠っているので、こちらを本格的に NAS にしようとした、本記事はその運用までの導入記です。 用意したモノ ラズパイ、遊んでたんです。余ってたんです。でも、最近は手に入りにくいみたいですね。私がラズパイの購入時は1万円とちょっ
プログラミング指南 - Code Knowledge ゲーム制作に関するプログラミング等を主に書き溜めていきます。ただ、どちらかと言えば日記的な書き方が続くと思いますが、そこは温かい目で見て頂ければ。あと、ちょっとしたサンプルやツールのダウンロードも出来るようにしておきます。 私は昔から Z80 でプログラムを組む際には自己書き換えという手法を好んで使ってきました。これを使い始めたきっかけは覚えていません。おそらく、当時の内藤時浩クンはこの手法を知った時に「おおおおお!?」と強い感銘を受けて魂に刻み込まれてしまったのではないかと思います。今回はそんな漢のテクニック、自己書き換えについて解説したいと思います。
これから凡そ40回に分けて、私が息子にC言語を教えた内容をブログ化していきます。この資料は2004年の内容となりますので、今となっては古い事も多いので、若干手直ししながらの公開となります。ですが、根本の部分は当時のままとなります。 最初は環境整備からですが、当時の環境である VC6 なんて存在すらしていない状態です。本講座では VS2022 community を使います。VS2022 は厳密には C++ となりますが、C++ 独自の機能はなるべく使わないように進めます。
プログラミング指南 - Code Knowledge ゲーム制作に関するプログラミング等を主に書き溜めていきます。ただ、どちらかと言えば日記的な書き方が続くと思いますが、そこは温かい目で見て頂ければ。あと、ちょっとしたサンプルやツールのダウンロードも出来るようにしておきます。 私たちが日本の教育で高校で習うと思われる三角関数、1:2:√3 だとか、1.41421356(ひとよひとよにひとみごろ)だとか、1.7320508(ひとなみにおごれや)だとか、こんなもん覚えて何の役に立つんだと憤慨したそこのあなた!具体的な勉強理由を教えましょう。それは漢の浪漫!弾幕を作るためです!美しく広がる敵弾に惚れ惚れして見とれて撃沈してしまった、あの処理を作るために三角関数は存在しているのです!(誇張表現 最初の壁はラジアン我々の理解を最初に挫く、忌まわしの言葉ラジアン。だが、安心して欲しい。ヤツは四天王の中
プログラミング指南 - Code Knowledge ゲーム制作に関するプログラミング等を主に書き溜めていきます。ただ、どちらかと言えば日記的な書き方が続くと思いますが、そこは温かい目で見て頂ければ。あと、ちょっとしたサンプルやツールのダウンロードも出来るようにしておきます。 レトロPCは最初は安価なカセットテープを記憶媒体として使っていました。その後に登場したのがフロッピーディスク(以下FDと略す)です。カセットテープが何分もロードに必要なところを数秒から数十秒で完了し、かつ、ランダムアクセスが可能なFDは、当時は高価な周辺機器だったにもかかわらず、あっという間に一般に浸透していきました。また、ドライブの価格も一気に値下がりしていったのを覚えています。 ところが、この便利なFDは便利であるが故の問題を抱えていました。それが不正コピーです。ゲームソフトハウスが発売した製品も、簡単に複製でき
XeGrader ゼグレイダー for PC-8001mkII/SR©2024 Tokihiro NAITO / 針鼠屋©2016 SKIPMORE. USE GRPH OF 1-Bit Rogue.このゲームは、1983年に発売された NEC のパーソナルコンピュータ PC-8001mkII 及び 1985年発売の PC-8001mkIISR で動作する新作です。yanataka さんが発 ... このページは前回と前々回の内容の理解を前提とした、まとめページとなります。そのため、直接こちらに飛んできた場合は、先に準備と実装のページを読んでいただくと助かります。準備 実装 前回までの実装で Z80 のニーモニックのままで、展開処理を実行できる前準備が整いま ... このページでは、Z80 の動作を C# でシミュレートするための技法について解説しています。いきなりこちらに飛んできた場合は
プログラミング指南 - Code Knowledge ゲーム制作に関するプログラミング等を主に書き溜めていきます。ただ、どちらかと言えば日記的な書き方が続くと思いますが、そこは温かい目で見て頂ければ。あと、ちょっとしたサンプルやツールのダウンロードも出来るようにしておきます。 ども内藤です。知ってる人は知ってる程度のゲーム業界人です。18年ぶりにブログを再開します。以前割と有効だった記事の再掲載であるとか、ツールの公開であるとか、日々の雑談であるとか(きっとこちらのほうが多い気がしますが)、なんとなく不定期に更新していきたいと思います。 で、どこのサービスを利用しようかと悩んだのですが、わりと評判が良さそうだった livedoor Blogで始めることに。定型ブログなら比較的簡単に設置できますね。ただ、ちょっと凝ろうとするとめんどくさい。が、それはもうブログの宿命だから、致し方なしと割り切
このページを最初にブックマークしてみませんか?
『プログラミング指南 - Code Knowledge』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く