c#でゲームを作る2016 第8回
TRANSCRIPT
C#でゲームをつくろう第捌回 06/11
担当: suzusime
自己紹介
京都大学理学部理学科二回生
ID: suzusime(すずしめ)
物理学徒
解析学I中間テスト爆死しました。
今回の内容
Git入門!
ついでにLinux系コマンドの基本的な使い方をやります。
ついでにネットワークの仕組みをさらっとみてみます。
その他やり残した(話したい)ことをやります。
今回で講義フェイズは終わりかなー、と。
Gitとはなんぞや
バージョン管理システムのひとつ。
なかでも「分散型」に分類されるもの。
かなり広く使われている。
Githubとは違う。
バージョン管理システムとは
「歴史」を管理するもの。
バージョン管理システムとは
これだと、どこが変わったのかすぐには分からない。
誰がどういう目的で変更したのかという情報もない。
つらい
もうちょっとちゃんと管理したい。
目録を作ろう。
バージョン管理システムとは
「リポジトリ」(貯蔵庫)と呼ばれる目録に、誰がいつどのように変更したのかという情報を適宜書き込んでいく。
そうしたらあとで流れが追いやすい。
昔の状態に戻すこともすぐにできる。
便利。
分散型バージョン管理システムとは
複数人で開発するときに、リポジトリをどうするかが問題。
分散型では、一人一人が手許にリポジトリを持っている。
何か変更した時には、一度手許のリポジトリに登録した後、それを全体のリポジトリに反映させる。
これによって変更の衝突の管理がしやすくなる。
Githubとは
Gitのリポジトリを置くことの出来るサーバーと、Gitと連携して使える様々な便利機能を提供するWebサービス。
Issueを投げて改善希望をだしたり、PullRequestをだして自分の変更を全体に反映してくれとお願いしたり。
開発用に特化した掲示板がリポジトリ毎に使えるようになっているイメージ。一種のSNSでもある。
Githubは死んだんだ
ですが今回はGithubの使い方については触れません。
Git本来の概念に加えて様々なGithub特有の概念があって難儀なので。
Githubがいつまでもつかも分からない。
この講座では普遍性のある知識習得を目指しています!
黒い画面はこわくない
GUIで使えるGitも存在する(実はVisual Studioにも組み込まれている)のですが、CUI(黒い画面)のGitでやろうと思います。
Gitはunix界隈初のソフトなので、GUIはあくまでCUIを包んだだけという節がある。
黒い画面もこわくはないです。
折角なのでこの機に慣れましょう。
Gitの練習(ローカル編)
覚えるべきは次の4つ!
$ git status
$ git add test.txt
$ git commit –m “最初のコミット”
$ git log
あとは必要になったときに適宜調べる。
Linuxの基本
とりあえず次の5つ
$ ls
$ cd “フォルダ名”
$ less test.txt
$ cp test.txt test2.txt
$ vim test.txt
Vimの基本
i 挿入モードに移行
Esc 標準モードに移行
:w 上書き保存
:q 終了
:q! 変更を破棄して終了
DNS
IPアドレスの直打ちは一般人には難しいので、適当に名前を指定すると繫がるようにしたいです。
そのために使う辞書のようなものがDNSです。
さっきのringo→192.168.220.34は部室の中からだけみえるDNSにはいっています。なので外から $ ssh ringoとしても動かないのです。
ポート
ネットワーク上のコンピュータは通信するための出入り口のようなものをもっています。
例:HTTPは80番ポート、sshは22番ポート
サーバーをたてる
要はポートに来る信号を待ち受けて処理するプログラムを書けばそれがサーバーになります。
サーバーをたてるだけならとても簡単。
持っているそのPCで今すぐやることもできるのです。
サーバーもこわくない、ということだけ覚えておいてほしいかな、と。
スクリプトを読み込む
弾幕の弾の定義とか、ストーリーのテキストとか、そういうものをソースコードに書くと毎回コンパイルしないと行けなくて面倒です。
外部のファイルに書いておいてそれを読み込めるようにすると良い(良さそう)。
スクリプトをどう考えるか
CSVファイルとかそういうのに書くのが楽そうですね。
自分で言語仕様を決めて適当にパーサを書いて読み込むのもあり。
Luaとかそういう既存の組み込み用言語を組み込むのもあり。
CSharpCodeProviderとかいうのも存在します。
外部ファイルの読み込み
System.IO.StreamReader
System.IO.StreamWriter
あたりを使う。
あとはConsole.ReadLine()したときを思い出そう。
その他
だいたいこれで私の話せることは全部話したかな?
何か聞きたいことがあったら聞いて下さい。
適宜誰かに投げます。
次回からの進め方
もうそろそろ課題(?)のゲームを作ってほしいというところです。
後期の最初に発表会をしてこのプロジェクトは終わりにしたいと思います。
それまではここにきて開発する、というので良いかなと。
前期の最後に中間報告会をやります。
小課題
というだけだと途方に暮れてしまうかも知れないので、小課題を出します。
次回(2週間後)までにシューティングゲームを作ってきてください!!!!
素材とかそういうリソースの面は適当で良いです。
とりあえず、「ちゃんと遊べる」ものを作ってきて下さい。
小課題
がんばれ♡がんばれ♡
次回予告
次回は6月25日です。
小課題頑張ってください。
――以上
お疲れ様でした。