2018年11月
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  

Amazonウィジェット

  • お気に入り
  • 書籍ランキング

AdSense

  • 広告
無料ブログはココログ

« C言語で作るシューティングゲーム | トップページ | dsPIC DSPライブラリを試しに使ってみた。 »

2018年10月21日 (日)

<続>C言語で作るシューティングゲーム

まずは動画をお楽しみください。
※最初は無音ですが、途中で効果音が鳴ります。



一作目を作ってから、しばらくは別なプロジェクトに精を出していた。
2013年ごろはARドローンやラズパイに夢中だったのである。

ARドローンを動かすためのツールや、シミュレーションをするために、Processingを使っていた。グラフィカルな処理がものすごく簡単にかけるので、とても面白いツールだった。
Processingでも沢山のゲームを作ってみたのだが、それは別の機会に紹介しようと思う。



本作は2017年から製作を始めて、秋ごろまで続いた。
前作ではできなかった中ボスや移動砲台を実装しようと、いろいろと策をめぐらしてからのスタートだった。

これもやはりC言語で書いた。しかしDXライブラリは、前に使ってから日が経っていたので使い方を完全に忘れていた。全く同じ作業を繰り返すことはしたくないなと思い、別なライブラリを使うことにした。

どうせなら英語ドキュメントを読みこなす訓練にでもなればいいなと思って、SDLを選んだ。SDLは海外ではメジャーなライブラリではあるが、ゲーム専用というわけではないのでサポートしている機能があっさりしていることと、日本語の情報が少ないことが影響してそれほど流行していなかった。

SDLはバージョンが二つあり、SDL2というのが新設されていた。
SDLは詳しい日本語サイトが見つかったけれど、SDL2は本当に英語のみのようだった。
それでもサンプルが載っている英語サイトがたくさんあったので、SDL2を選ぶことにした。

Lazy fooというサイトで、とてもありがたいサンプルプログラムを提供してくれる。
ここのプログラムを一通り試せば、DXライブラリと同じように使いこなせるようになった。

SDLはスプライトの表示が簡単で、画像を貼るときに透明色の指定をするだけでいい。
DXライブラリの時はマスク画像を作ってそれをもとに透明になる部分を抜いて、などと難しいことがあったような気がする。

しかしTextureとSurfaceというややこしい概念があり、これを理解して使わないとスムーズに動かすことができない。グラフィックボードのメモリに転送するしくみに関係していて、これを活用することで高速な描画が実現しているのだ。

SDLは軽量で、一度使うととても便利で、マイコンから受けたデータをグラフにするツールなんかもこれで作った。openGLと連携しているので、ポリゴンの描画とか3Dも使える。



« C言語で作るシューティングゲーム | トップページ | dsPIC DSPライブラリを試しに使ってみた。 »

C言語」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/518723/67294418

この記事へのトラックバック一覧です: <続>C言語で作るシューティングゲーム:

« C言語で作るシューティングゲーム | トップページ | dsPIC DSPライブラリを試しに使ってみた。 »