ゲームを作りたい!

プログラミングをしているからには、いつかはゲームを作ってみたい。勉強したことを備忘録的に綴るBLOG。

SDL2

SDL2でRPGゲームを作る 〜第11回 バイナリデータを読み込む〜

前回投稿してから約1ヶ月半経過しての投稿になる。 平成から令和に元号が変わるにあたって色々と忙しくなり、なかなか投稿することができなかった。 加えて、資格を取る必要がありOracle silver 12cという資格を取得したのだが、勉強中は趣味の時間が取れず …

SDL2でMAPEditerを作る 〜第5回 保存・読込〜

前回は、保存するときのファイル名を入力するための文字入力Windowを作成したので、後は入力されたファイル名でMAPデータを保存する、そしてそれを読み込む部分を実装する。 バイナリ形式保存 -> 第1回で書いた通りバイナリ形式で保存する。C言語だとバイナ…

SDL2でMAPEditerを作る 〜第4回 文字入力Windowの作成〜

前回は、マップを作る上で役に立つちょっとした機能の追加を行った。今回は、保存・読込の実装をしたのでその辺りを書いていこうと思ったのだが、保存・読込自体よりファイル名を入力するための文字入力機能を作るほうがパワーを使う結果になったので、今回…

SDL2でMAPEditerを作る 〜第3回 機能の追加(マップチップの表示・カーソル座標の表示・スポイト機能)〜

前回までで、マップチップを選択してキャンパスに配置する所まで作成した。今回は現在選択されているマップチップの表示、カーソル座標の表示、キャンパスに配置したマップチップを選択するためのスポイト機能などを実装していこうと思う。 マップチップの表…

SDL2でMAPEditerを作る 〜第2回 マップチップを配置する〜

前回は、マップを描くためのキャンパスを表示する所まで作った。今回は、そのキャンパスにマップチップを配置 できるようにしていこうと思う。 パレット画面の作成 キャンパスにマップチップを配置するためには、配置するマップチップを選ぶ機能が必要になる…

目次

今まで書いた記事の目次。自分用に作っとく。 ここから辿れば見やすいはず。随時(気が向いたときに)更新していく。 SDL2の使い方 ゲームを作るための環境設定 SDL2で文字を表示する SDL2で画像を表示する SDL2で音を鳴らす SDL2でアニメーションを表示する S…

SDL2でMAPEditerを作る 〜第1回 Editerを表示する〜

前回マップを作ろうとした所、データの持ち方がよろしくないことが判明した。今の状態のままだと配列と数値の持ちかたの関係でマップチップをひと桁の数値にしか割り当てることができない。 ぱっと思いつく、もっと多くのマップチップを扱う方法(ふた桁以上…

SDL2でRPGゲームを作る 〜第10回 NPCを動かす〜

週にだいたい一回の投稿でやっとこさRPG作成もこれで十回目の投稿になる。作成スピードが遅いのでいつになったら遊べるレベルに到達できるかわからないが今度は二十回目を目標に作成していきたいと思う。 では、今回もRPGゲームを作っていこう。 前回はNPCの…

SDL2でRPGゲームを作る 〜第9回 NPCの表示〜

前回は暗転処理を実現した。移動時にフェードアウト・インが起きることで違和感なくマップ間が移動できるようなった。今回は、いままでプレイヤー・キャラクターだけで、ぼっち感が漂っていたのでNPCの表示を考えてみようと思う。 NPCを表示するためには NPC…

SDL2でRPGゲームを作る 〜第8回 移動時の暗転処理〜

前回はマップ間移動を実現した。これで、マップファイルを凝ればかなりRPGっぽくできるようになったと思う。 しかしながら、移動であとひとつ実現したいと思っているのが移動時の暗転処理(フェードイン・アウト)。 ドラクエなんかだと移動時に一旦暗くなって…

SDL2でRPGゲームを作る 〜第7回 マップ間移動〜

前回はマップを外部ファイルから読み込んで使うようにしてみた。 ファイルから読み込めるようになったことで、変更したいときにわざわざコンパイルしなおさなくても容易に変更ができるようになった。 今回は、マップ間移動ができるようにしていきたいと思う…

SDL2でRPGゲームを作る 〜第6回 マップの読み込み〜

前回はプレイヤーをピクセル単位で表示させることで滑らかな動きができるようにした。 今回は、マップをどうにかコードにベタ打ちではなく外部から読み込むなどして容易に作成変更修正ができるようにしたい。 外部ファイルでマップを定義する とりあえず、コ…

SDL2でRPGゲームを作る 〜第5回 滑らかな移動〜

年末年始と色々とバタバタして中々プログラムを組む時間&BLOGに記録する時間が取れなかったため久しぶりの更新になってしまった。今年どれだけゲーム作りに時間を避けるかわからないができる範囲で進めていこうと思う。 前回はプレイヤーを画面の中心に固定…

SDL2でRPGゲームを作る 〜第4回 プレイヤーは常に画面の中心〜

前回は猫に向きを与えて進行方向を向くようにした。いい感じになってきた気がするが何かが違う。 何が違うのか考えてみると、プレイヤーが画面のあちこちに移動してしまっているのに違和感を感じるのだ。 SFCのドラクエなんかを思い出すと主人公は常に画面の…

SDL2でRPGゲームを作る 〜第3回 キャラクターに進行方向を向かせる〜

前回はマップとの当たり判定を実装して猫を草地に閉じ込めることができた。しかしながら、どの方向に動いても 常に右向きの状態で移動していた。今回はキャラクターに進行方向を向かせる方法を考えたい。 表示画像の変更 まず、今まで使用していた画像は以下…

SDL2でRPGゲームを作る 〜第2回 マップとの当たり判定を入れる〜

前回はマップを表示する方法を考えた。しかし、マップとの当たり判定がなかったためにキャラクターが画面外に 出て行けてしまっていた。今回は当たり判定を実装して、前回表示した草地にキャラクターを閉じ込めたいと思う。 あと、前回とりあえずマップを表…

SDL2でRPGゲームを作る 〜第1回 マップを表示する〜

前回の投稿から間が開いてしまったが、その間にどんなゲームを作りたいかをつらつらと考えてみた。 自分がどんなゲームをしていたかを思い返すと、ドラクエやFFといったRPGをよくやっていたように思う。 クロノ・トリガーなんかは何周したかわからないくらい…

SDL2でマウス入力を検知する

今回はSDL2を使用してマウス入力の検知をする。 キーボードに次いでマウスからの入力ができればゲームの操作性が色々と考えられるようになって来るから楽しくなってくるよね。 では、早速マウス入力の検知はどのようにすればできるの調べていこう。 マウスイ…

SDL2でキーボード入力を検知する

今回はSDL2を使用してキーボード入力の検知をする。 キーボードからの入力ができるようになるとゲームっぽい何かが作れそうな気がしてくるよね。 では、早速キーボード入力の検知はどのようにすればできるの調べていこう。 キーイベントを検知する -> ここ(…

SDL2でアニメーションを表示する

今回はSDL2を使用してアニメーションを表示していこうと思う。 基本的には-> ここの記事のコードをベースにしている。 アニメーションさせる画像の準備 今回アニメーションに使う画像は以下である。 16×16の画像が4枚横につながっていて16×64の画像になって…

SDL2で音を鳴らす

前回はウィンドウ上に画像を表示する方法を調べた。 今回はSDL2を使用して音を鳴らす方法を調べて行きたい。 音楽ファイルの準備 今回は、.oggファイルと.wavの2種類の音源を用意した。 .oggは、.mp3のような圧縮ファイルらしいが同じビットレートだと.mp3よ…

SDL2で画像を表示する

前回はウィンドウ上に文字を表示する方法を調べた。 今回はウィンドウ上に画像を表示する方法を調べていこうと思う。 表示する画像の用意 今回表示に使う画像は以下である。 この画像は、KonaLinuxに標準で入っていたAzPainterを使用して作成した。 WEBで探…

SDL2で文字を表示する

先日は、C言語+SDL2でプログラムをするための環境を整えてウィンドウを表示するコードを書いた。 今回はそのウィンドウ上に文字を表示してみようと思う。 ちなみに、SDL2の日本語リファレンスは-> ここを参照。 使用する関数はリファレンスを確認しながら使…

ゲームを作るための環境設定

SDL2のインストール 特に理由はないが、C言語+SDL2を使ってゲームを作っていこうと思った。 趣味で作るものなのであまり深く考えず使いたい言語で行こうと思う。 私は現在、Debian系のkonalinuxを使用している。調べたところ、SDL2は以下のコマンドで簡単に…