サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
掃除・片付け
codeknowledge.livedoor.blog
私が思っている、或いは感じているゲーム制作の現状について、思いのままに書き殴ってみました。これが歴史的に正しいかどうかなんて知りません。あくまでもこれは私が感じたままの内容となっています。だから、そういう目で読んで頂けますと幸いです。 ゲーム制作手法の遍歴今、ゲームを作ろうと思ったら、適当なゲームエンジンを使うのが最も手軽です。私が現状で理解できるのは Unity ですが、それ以外にも UnrealEngine とか、Godotとかいろいろ簡単に使うことが出来ます。しかも、ある程度は GUI 操作で基本的な形は出来てしまうため、あとは、その雛形に則って自分が動かしたい機能を追加していく感じで開発が進んでいきます。 今から40年前、1980年代の Z80 や 6502 に代表される 8bit CPU を搭載したパソコンやゲーム機では、そもそもゲームエンジンという考え方は存在していませんでした
なかなか面白いネタ提示があったので、ちょっと書いてみようかと思います。私にとっての自分史上最大のピンチは、50歳の時に訪れました。それは契約更新打ち切りに依る無職の危機です。それまで正社員だったのですが、会社の合併やらなんやらで色々翻弄されまして、気がついたら(という言い方もおかしな話ですが)契約社員という形になっていました。そして、契約社員になって2年目に、私は次年度契約を更新しないと宣言されてしまいます。 いやー、これにはまいりましたね…。自宅のローン支払いはまだ数年残っている状態です。なんとしても収入を確保しなくてはいけない。とはいえ、東海地方のゲーム関連企業はすでにほぼ頭打ち。そこでリクルート系のかなりの場所に、自分を登録しました。いくつか面接までは行ったものの、年齢がネックになるらしく、どこも採用までは行かない状態でした。最終面接で実際の飛行機の操縦パネルのプログラミングみたいな
プログラミング指南 - Code Knowledge ゲーム制作に関するプログラミング等を主に書き溜めていきます。ただ、どちらかと言えば日記的な書き方が続くと思いますが、そこは温かい目で見て頂ければ。あと、ちょっとしたサンプルやツールのダウンロードも出来るようにしておきます。 前回 Z80 で左右判定を行いました。Z80 ではアナログの扱いではなく 8方向で表現してた事もあり、各方向毎に専用判定を記述することで対応しました。C# ではベクトルで座標を、向きはベクトルや角度で扱っているため、角度毎の専用処理では判定できません。そこで数式を用いて判定することになります。それが外積や内積です。今回は数学的な説明としてではなく、道具としての外積と内積を解説していきます。
なかなか良くできたスイカゲーム系のwebコンテンツがありました。ただ、ちょっとばかり違法な感じでしたが、やっぱり先日webから消え去りました。作者は元ゲームが大好きだったんだろう事はよく分かったのですが、一線を超えてしまったからには、権利保持者からは注意喚起が飛んだのだろうと思われます。では、ちょっとここで思いつくままに、著作権と契約について書き連ねたいと思います。 なお、今現在の厳密な著作権の内容と、私が知っている内容に齟齬が生じている可能性は否めないのでそこはご容赦ください。厳密な内容を求める場合は、下記のリンクを参照してください。https://elaws.e-gov.go.jp/document?lawid=345AC0000000048 著作権簡単に言いきってしまえば、これは法律です。国際条約により各国で共通に保護されています。だから絶対的に守らなければならないのです。著作権には
前回の記事で、メインループからプレイヤーを自由自在に動かせるようになりました。 ですが、キャラはずっと正面を向いたままです。方向に応じた画像表示に入れ替えたら、それなりに見えるのは分かりますが、例えば自動車のように、各方向にアナログ的に回転させて表示しようと思ったら、360度全ての方向の画像を持つわけにもいきません。そこで今回は行列演算を用いて、画像を任意に加工して描画する手法について説明していきたいと思います。 行列演算の基礎知識数学的な説明はここでは一切いたしません。理由は計算そのものは C# が全て勝手にやってくれるためです。そのため、ここでは行列をどう扱うかだけに主眼をおいて説明していきます。 行列は英語で書いたほうが個人的にはわかりやすいです。英語だと Matrix(マトリクス)です。2x2 とか 3x3 とか 4x4 とか縦横に数字が並んでいる多次元配列のような構造をしています
プログラミング指南 - 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 ゲーム制作に関するプログラミング等を主に書き溜めていきます。ただ、どちらかと言えば日記的な書き方が続くと思いますが、そこは温かい目で見て頂ければ。あと、ちょっとしたサンプルやツールのダウンロードも出来るようにしておきます。 レトロPCは最初は安価なカセットテープを記憶媒体として使っていました。その後に登場したのがフロッピーディスク(以下FDと略す)です。カセットテープが何分もロードに必要なところを数秒から数十秒で完了し、かつ、ランダムアクセスが可能なFDは、当時は高価な周辺機器だったにもかかわらず、あっという間に一般に浸透していきました。また、ドライブの価格も一気に値下がりしていったのを覚えています。 ところが、この便利なFDは便利であるが故の問題を抱えていました。それが不正コピーです。ゲームソフトハウスが発売した製品も、簡単に複製でき
X(Twitter)で少し話題になったので、ちょっと私から見たゲームの良し悪しについて、感想を述べてみたいと思います。単に批判する内容にはしていないつもりですが、そのように受け止められる記述があれば、ご指摘いただければ幸いです。ク◯ゲーとはそもそもこの言葉は、どう ... PC-8001mk2でゲームを制作する上で、避けては通れない問題、それがBEEPを使った音楽再生です。この機種は音を出す方法が 2400Hzという固定の周波数しか出せない BEEP のみなのです。まあ、カセットのリレーを使ってカチカチと音を出せなくはないのですが、それはとりあえずこ ... 公式のブログネタに制作中!というお題があったので、昨年から作り続けている PC-8001mk2 用のゲーム制作の進捗状況について、簡単に説明していきたいと思います。このゲームはひみつをときあかす要素もあったりあるので、そういう謎部分に
プログラミング指南 - Code Knowledge ゲーム制作に関するプログラミング等を主に書き溜めていきます。ただ、どちらかと言えば日記的な書き方が続くと思いますが、そこは温かい目で見て頂ければ。あと、ちょっとしたサンプルやツールのダウンロードも出来るようにしておきます。 ども内藤です。知ってる人は知ってる程度のゲーム業界人です。18年ぶりにブログを再開します。以前割と有効だった記事の再掲載であるとか、ツールの公開であるとか、日々の雑談であるとか(きっとこちらのほうが多い気がしますが)、なんとなく不定期に更新していきたいと思います。 で、どこのサービスを利用しようかと悩んだのですが、わりと評判が良さそうだった livedoor Blogで始めることに。定型ブログなら比較的簡単に設置できますね。ただ、ちょっと凝ろうとするとめんどくさい。が、それはもうブログの宿命だから、致し方なしと割り切
このページを最初にブックマークしてみませんか?
『プログラミング指南 - Code Knowledge』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く