c#でゲームを作る2016 第8回

28
C#でゲームをつくろう 第捌回 06/11 担当: suzusime

Upload: -

Post on 11-Jan-2017

426 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: C#でゲームを作る2016 第8回

C#でゲームをつくろう第捌回 06/11

担当: suzusime

Page 2: C#でゲームを作る2016 第8回

自己紹介

京都大学理学部理学科二回生

ID: suzusime(すずしめ)

物理学徒

解析学I中間テスト爆死しました。

Page 3: C#でゲームを作る2016 第8回

今回の内容

Git入門!

ついでにLinux系コマンドの基本的な使い方をやります。

ついでにネットワークの仕組みをさらっとみてみます。

その他やり残した(話したい)ことをやります。

今回で講義フェイズは終わりかなー、と。

Page 4: C#でゲームを作る2016 第8回

Gitとはなんぞや

バージョン管理システムのひとつ。

なかでも「分散型」に分類されるもの。

かなり広く使われている。

Githubとは違う。

Page 5: C#でゲームを作る2016 第8回

バージョン管理システムとは

「歴史」を管理するもの。

Page 6: C#でゲームを作る2016 第8回

バージョン管理システムとは

これだと、どこが変わったのかすぐには分からない。

誰がどういう目的で変更したのかという情報もない。

つらい

もうちょっとちゃんと管理したい。

目録を作ろう。

Page 7: C#でゲームを作る2016 第8回

バージョン管理システムとは

「リポジトリ」(貯蔵庫)と呼ばれる目録に、誰がいつどのように変更したのかという情報を適宜書き込んでいく。

そうしたらあとで流れが追いやすい。

昔の状態に戻すこともすぐにできる。

便利。

Page 8: C#でゲームを作る2016 第8回

分散型バージョン管理システムとは

複数人で開発するときに、リポジトリをどうするかが問題。

分散型では、一人一人が手許にリポジトリを持っている。

何か変更した時には、一度手許のリポジトリに登録した後、それを全体のリポジトリに反映させる。

これによって変更の衝突の管理がしやすくなる。

Page 9: C#でゲームを作る2016 第8回

Githubとは

Gitのリポジトリを置くことの出来るサーバーと、Gitと連携して使える様々な便利機能を提供するWebサービス。

Issueを投げて改善希望をだしたり、PullRequestをだして自分の変更を全体に反映してくれとお願いしたり。

開発用に特化した掲示板がリポジトリ毎に使えるようになっているイメージ。一種のSNSでもある。

Page 10: C#でゲームを作る2016 第8回

Githubは死んだんだ

ですが今回はGithubの使い方については触れません。

Git本来の概念に加えて様々なGithub特有の概念があって難儀なので。

Githubがいつまでもつかも分からない。

この講座では普遍性のある知識習得を目指しています!

Page 11: C#でゲームを作る2016 第8回

黒い画面はこわくない

GUIで使えるGitも存在する(実はVisual Studioにも組み込まれている)のですが、CUI(黒い画面)のGitでやろうと思います。

Gitはunix界隈初のソフトなので、GUIはあくまでCUIを包んだだけという節がある。

黒い画面もこわくはないです。

折角なのでこの機に慣れましょう。

Page 12: C#でゲームを作る2016 第8回

Gitの練習(ローカル編)

覚えるべきは次の4つ!

$ git status

$ git add test.txt

$ git commit –m “最初のコミット”

$ git log

あとは必要になったときに適宜調べる。

Page 13: C#でゲームを作る2016 第8回

Linuxの基本

とりあえず次の5つ

$ ls

$ cd “フォルダ名”

$ less test.txt

$ cp test.txt test2.txt

$ vim test.txt

Page 14: C#でゲームを作る2016 第8回

Vimの基本

i 挿入モードに移行

Esc 標準モードに移行

:w 上書き保存

:q 終了

:q! 変更を破棄して終了

Page 15: C#でゲームを作る2016 第8回

ネットワークの話

$ ssh [email protected]

$ ssh ringo

下は部室の中からだけ繫がる

Page 16: C#でゲームを作る2016 第8回

IPアドレス

インターネット上の住所

$ ssh [email protected]

(これも部室の中からだけ)

Page 17: C#でゲームを作る2016 第8回

DNS

IPアドレスの直打ちは一般人には難しいので、適当に名前を指定すると繫がるようにしたいです。

そのために使う辞書のようなものがDNSです。

さっきのringo→192.168.220.34は部室の中からだけみえるDNSにはいっています。なので外から $ ssh ringoとしても動かないのです。

Page 18: C#でゲームを作る2016 第8回

ポート

ネットワーク上のコンピュータは通信するための出入り口のようなものをもっています。

例:HTTPは80番ポート、sshは22番ポート

Page 19: C#でゲームを作る2016 第8回

サーバーをたてる

要はポートに来る信号を待ち受けて処理するプログラムを書けばそれがサーバーになります。

サーバーをたてるだけならとても簡単。

持っているそのPCで今すぐやることもできるのです。

サーバーもこわくない、ということだけ覚えておいてほしいかな、と。

Page 20: C#でゲームを作る2016 第8回

スクリプトを読み込む

弾幕の弾の定義とか、ストーリーのテキストとか、そういうものをソースコードに書くと毎回コンパイルしないと行けなくて面倒です。

外部のファイルに書いておいてそれを読み込めるようにすると良い(良さそう)。

Page 21: C#でゲームを作る2016 第8回

スクリプトをどう考えるか

CSVファイルとかそういうのに書くのが楽そうですね。

自分で言語仕様を決めて適当にパーサを書いて読み込むのもあり。

Luaとかそういう既存の組み込み用言語を組み込むのもあり。

CSharpCodeProviderとかいうのも存在します。

Page 22: C#でゲームを作る2016 第8回

外部ファイルの読み込み

System.IO.StreamReader

System.IO.StreamWriter

あたりを使う。

あとはConsole.ReadLine()したときを思い出そう。

Page 23: C#でゲームを作る2016 第8回

その他

だいたいこれで私の話せることは全部話したかな?

何か聞きたいことがあったら聞いて下さい。

適宜誰かに投げます。

Page 24: C#でゲームを作る2016 第8回

次回からの進め方

もうそろそろ課題(?)のゲームを作ってほしいというところです。

後期の最初に発表会をしてこのプロジェクトは終わりにしたいと思います。

それまではここにきて開発する、というので良いかなと。

前期の最後に中間報告会をやります。

Page 25: C#でゲームを作る2016 第8回

小課題

というだけだと途方に暮れてしまうかも知れないので、小課題を出します。

次回(2週間後)までにシューティングゲームを作ってきてください!!!!

素材とかそういうリソースの面は適当で良いです。

とりあえず、「ちゃんと遊べる」ものを作ってきて下さい。

Page 26: C#でゲームを作る2016 第8回

小課題

がんばれ♡がんばれ♡

Page 27: C#でゲームを作る2016 第8回

次回予告

次回は6月25日です。

小課題頑張ってください。

Page 28: C#でゲームを作る2016 第8回

――以上

お疲れ様でした。