Nodachisoft Nodachi Sword Icon
  
@あまじ✎ 2018年5月20日に更新

第0章 はじめに

イチからゲーム作りで覚えるC言語
NEXT : 第1章01 Visual Studio Community 2017 のインストール手順 :

はじめに・C言語でゲームつくろー!

C言語を学びながら無料で使える開発環境でまずはWindowsのコンソール画面(コマンドプロンプト画面)上で動くゲームアプリを作ってみよう、というプログラミング超初心者向けの解説記事をあげていこうと思います。プログラミングが初めてという方でもわかるようにかる~い感じで、でもなるべく初めての方でもわかりやすく読めるように書いていこうと思ってます。

執筆済のリストはこちら

から。お好きなところから読んでいただければと思います。

下のような方へのプログラミング解説

  • プログラミングが初めて。
  • 使うソフトは無料で、C言語をゲームなど作りながら楽しく覚えたい方。
  • C++言語をはじめる前に基礎として、C言語から覚えたい方。
  • ゲームプログラミングの基礎の基礎を覚えたい方。
  • 以前C言語をゆる~く復習したい方。
  • プロも使ってるのと同じ環境でプログラミングしたい方。

あたりの方が読んでいると想定してお話していこうと思います。

ただ、

第二章はC言語自体のチュートリアル的なことをたくさんお話しますので、わかっている方は飛ばしてもらってもまったく問題ございません。

この記事は連載記事なので、順番に読んでもらうことを想定しています。

なるべくスラスラ読んでもらいたいこともあり、最初の方は専門用語は多用せず、まずイメージをつかんでもらうためにあえて簡単な説明に置き換えたり、「後のページで説明します」などと書いていることがあります。(なるべくそういった場合でもページ同士のリンクを貼ったり、参照しやすく心掛がけようと思います)

読んでも意味ないかもしれない方

  • すでにバリバリ C言語で開発しているよ。
  • C11仕様をマスターしてるよ。

というかむしろ、あてはまるような方には誤った表現やより良い情報などあればコメント等で教えていただけるととても嬉しいです。もちろん自分でもなるべく一次情報を確認して正確な用語や情報をもとに書こうと思いますが、間違ったことを書くこともあるかと思いますので、そのあたりはご容赦下さい。

連載記事の中でどんなゲームを作ろうか?

コンソール上で動作する迷路ゲームや、シューティング、ローグライクRPGなどの 2D ゲームを考えています。

このへんは実際に記事を書きながら考えていこうと思います。書いている人も楽しく作れるものを選ぶと思いますので、今はお楽しみということで。

今後C言語を読み書きする予定がある人とか、C言語をはじめて勉強したい、基本をざっとおさらいしたい、思い出したいという人のお役にたてればうれしく思います。

シューティングゲーム(妄想)のイラスト

想定する開発環境

C言語でプログラミングをするためにはCコンパイラなどが必要になります。

2018年4月現在、無料で非常に高性能なCコンパイラはたくさん存在していて、多くはインターネット上で公開されています。

今回の連載記事の中では 個人で無料で使用できる Microsoft社のVisual Studio Community 2017

を使って、開発環境の構築手順からお話していこうと思います。これを書いてる人は、ちょっとしたツール作りに使うのは GCC(GNU Compiler Collection) が多かったりするのですが、Visual Studio はとても完成度が高い統合開発環境が無料で利用できますし、Unity でのゲーム開発でもよく使ったりするので、せっかくなのでこちらをベースに進めていきたいと思います。

具体的な Visual Studio インストール手順とかC言語を使ってプログラミングする環境設定の流れなども、次の章以降お話していこうと思います。

プログラミング言語のトレンド

2018年4月時点でのプログラミング言語のキーワード検索数@Googleトレンドは、以下のような結果です。ご参考までに。C言語は今の "流行り" ではありませんが、ずっと安定して利用されている言語と思われます。

なお、おなじキーワード検索で最新の情報はリンク(Googleトレンド)から確認できます。

C言語の知識ってゲーム作成の役に立つの?

C言語だけでゲームを作ることは今は少なくなっているかもしれませんが、いろいろとメリットがあると思います。あくまで個人の感想ですが、C言語を勉強して役に立つことを書いておきます。

自分が普段使う言語はどちらかというと C# や Java が多いのですが、C言語で知った知識はどの言語を扱うにも役に立っていると思います。

後から出てきたプログラミング言語でもC言語の書き方を参考に作られたものは非常におおいので、最初にC言語を学んでおくと、他の言語への応用も効きやすいと思いますし、スムーズに他のプログラミング言語を学習できると思います。

他のプログラミング言語ではウラで自動的にやってくれる機能を、C言語では自分で意識して作ってあげなきゃいけないことが良くあります。

他の言語なら自動的にやってくれることをC言語では自分で作らなきゃいけない、というのは面倒ですが、その作り方や仕組みを知っておくと、他のプログラミング言語やソフトを使って意味不明なエラーが出た時に、なんとなく原因が予想できることがあります。

また、間違ったプログラムを作ってしまい、開発者が想定していない結果がでちゃう、なんてことをバグと呼びます。よくゲームでもレベルがいきなり最大にできるバグとかあったりしますよね。バグとは「虫」の意味です。実際に機械に虫が入り込んで動作がおかしくなったころから語源がきているようです。

バグ(虫)のイメージ

バグ(虫)のイメージ

実際にソフトを開発するときにおかしな結果(バグ)が出たりして、原因を探ってみるとバグはC言語で書かかれたプログラムの中ある、なんてこともあります。そんな時C言語を知らないと意味が分からない、なんてこともあるかと思います。

少なくとも最初のほうは黒い画面の上にテキストを出して表現する「コンソールゲーム」を考えています。画像等をあまり用意する必要がないから、というのが理由です。

おかげでプログラムをどう動かすか、の仕組み(アルゴリズムといいます)そのものに集中してお話できると思いますが、その分ゲームとしては見栄えはしないのが残念ですね。

黒い画面でいろいろテキスト表示して操作するアプリを CUIアプリとよびます。CUIはCharacter User {}Interface といい、「黒い画面にコマンドを表示したり、入力してもらって操作するアプリ」をイメージしてもらえばと思います。

それに対して、最近の普通のゲームやWindows上のソフトは GUIアプリとよばれます。

Graphical User Interface の頭文字をとっていて、「グラフィックを表示して使えるアプリ」とイメージしてもらえればと思います。

無事にこの連載記事が書き終わったら、次はC言語の GUI のプログラミングを追加で記載して、その中で今回の連載でつくったものを2D や 3D の画像などを使ったもうちょっと見栄えするアプリにしてもいいのかな、と考えています。

ちなみにコンソール画面は下みたいな真っ黒な画面でコマンドをキーボードから入力して実行できる、テキスト入力・出力が可能な画面(ウィンドウ)です。

Windows10のコンソール画面

Windows10のコンソール画面

どのC言語のバージョン?

C言語は2018年4月時点で一番新しい、C11というバージョンのプログラミングの文法や仕様を調べながら記事にしようと思います。

C言語の歴史は長く、いろいろ進化しています。

この記事をかいてる人が(最初にちゃんと)読んだC言語の本は、とても有名な「The C Programming Language」(Brian W.Kernighan & Dennis M.Ritchie)の英語初版(1978年出版)ですが、もはや書いてある仕様も古くC言語としての文法もいろいろと拡張されています。この最初のころのC言語は俗に K&R仕様 とか呼ばれてます。K&Rは作者の名前からとってるみたいですね。

その他

時間があれば、記事に小さくイラストとかも入れていきたいです。

文字ばかりだと退屈になりますし、個人的にはイラストの練習にもなって上達できたらうれしいと考えていたりします。

せっかくゲーム作成を題材にした連載記事でもあるので、ゲーム関連っぽいのを。

この連載記事では「ぷらんく」という名前のキャラクタの挿絵を入れていこうと思います。

※「ぷらんく」は Programming Language Cから、かわいいと思う響きを抜粋して名前にしてみました。

ぷらんく ちゃん ぷらんく ちゃんが座って本を読んでいる

週に一度くらいのペースを予定しています。楽しみながら、自分でもC言語への学習を深めつつ、でもシリーズを完成させるのを第一目標にしてお話していきたいと思います。

非常に参考になったサイトさまや、参考文献など

ページの更新履歴

更新日 更新内容
2018.6.21 イラストやアイキャッチを修正
イチからゲーム作りで覚えるC言語
NEXT : 第1章01 Visual Studio Community 2017 のインストール手順 :
 
 
送信しました!

コメント、ありがとうございます。

なんかエラーでした

ごめんなさい。エラーでうまく送信できませんでした。ご迷惑をおかけします。しばらくおいてから再度送信を試していただくか、以下から DM などでご連絡頂ければと思います。

Twitter:@NodachiSoft_jp
お名前:
 
連絡先:
 
メッセージ:
 
戻る
内容の確認!

以下の内容でコメントを送信します。よろしければ、「送信」を押してください。修正する場合は「戻る」を押してください

お名前:
 
連絡先:
 
メッセージ:
 
Roboto からの操作ではないという確認のため確認キーを入れてください。
確認キー=95
戻る
 / 
送信確認へ
コメント欄
コメント送信確認へ

関連ありそうな記事(5件)です!

ゲーム等で使えるつなぎ目のないループするテクスチャ画像の作り方

#ツール#ゲームプログラミング✎ 2021-01-24
ゲームなどで使えるループ画像、パターンテクスチャのツール、手動での作り方をまとめ
広告領域
追従 広告領域
目次
第0章 はじめに
第0章 はじめに
はじめに・C言語でゲームつくろー!
はじめに・C言語でゲームつくろー!
下のような方へのプログラミング解説
下のような方へのプログラミング解説
読んでも意味ないかもしれない方
読んでも意味ないかもしれない方
連載記事の中でどんなゲームを作ろうか?
連載記事の中でどんなゲームを作ろうか?
想定する開発環境
想定する開発環境
プログラミング言語のトレンド
プログラミング言語のトレンド
C言語の知識ってゲーム作成の役に立つの?
C言語の知識ってゲーム作成の役に立つの?
どのC言語のバージョン?
どのC言語のバージョン?
その他
その他
非常に参考になったサイトさまや、参考文献など
非常に参考になったサイトさまや、参考文献など
ページの更新履歴
ページの更新履歴
Nodachisoft © 2020