Pages

Scratch Day in Tokyo 2014 に参加して思ったこと(Part 1)

2014年5月20日火曜日
5月17日に 東京大学 情報学環・福武ホールで開催されたScratch Day in Tokyo 2014に参加してきました。
同イベントに参加した方々が既に書かれていると思いますが、「プログラミングバトル」は本当に見ものでした。

あるテーマに沿ったものを2人で作って競い合うもので、作成するものはバトル直前に分発表されます。制限時間は20分。
この20分という時間の中で、テーマのものを作成。作成する工程や出来上がったものを観客が評価し、勝敗が決まります。

バトルは、二戦行われテーマはそれぞれ「テニスゲーム」と「インベーダーゲーム」でした。
正直、20分という時間制限の中で、条件にあったものを作り、かつオリジナルの改造を加えるのは結構難しいことです。だけど、このバトルに参加した戦士たちは途中アクシデントがあったのもののテーマのものを作成し、観客を沸かせておりました。



気付いたことは、プログラムの組み方です。
コードを書き上げるたびにテストをする子もいれば、一気に書き上げたあとにテストをする子。基本的な動作を作成した後に改造を加える子もいれば、作りながら改造していく子。
今回は、中学生以下の試合となりましたが、大人同士のバトルも是非見てみたいと思いました。



Read more ...

第壱拾四回 CoderDojo Sendai 活動報告

2014年5月20日火曜日
5月18日(日)にクラウドガーデンさんをお借りして、第壱拾四回CoderDojo Sendaiを開催しました。
今回の参加者も定員の5人。小学3年生から小学6年生までのキッズが参加してくれました。

初めて参加するキッドは、常連くんのお友達ということでサポートしてもらいつつ、「ねこたたき」を一緒に作りました。

ねこたたきは、もぐらたたきのようなゲームです。画面上のねこが表示・非表示を繰り返し、ユーザーは、表示されているねこをクリックして得点を獲得するルールになっています。
表示・非表示を繰り返す時間を「ランダム」変えたり、「変数」を使って得点を表したりと少し難しめの内容になっております。

このねこたたきというゲーム意外と女の子や低学年の子が意外とハマる仕様になっています。
ゲームの操作方法が簡単な上、「クリックされたとき」のイベントを改造するだけで音出すことができたり、特別なスプライを用意することができるので改造も簡単なことがハマる理由なのかな?と思っています。
女の子は、スプライトや背景を自分で描くことで独自のゲームに変わるので、ゲーム仕様よりもそちらにハマっているようです。

CoderDojoが終了した後は、Minecraftの講義をクラウドガーデンさんのテラスで受けました。Minecraftの大会がやりたいということで、年内に大会を開くこうと思います。
※Minecraft Piもあるし、Scratchで操作もできますし。


Read more ...

第四回CoderDojo Izumi 活動報告

2014年5月12日月曜日
第四回になるCoderDojo Izumiは、根白石市民センターで開催致しました。
参加者は、小学2年生から5年生までの7人で、初参加の子はいなかったので、各自思い思いに作ってもらい、分からないことがあればメンターに質問してもらう形式にしました。



今回もWedoで遊んでもらうことにしました。
キッズは休みもせず2時間ぶっ通しで創作に取り組んでおりました。Wedoは、LEGOブロックの種類が少ないのでブロックの貸し借りをしたり、アイディアを出し合って改良したりと自分たちで考えるという光景をみることができて、改めて「LEGO+Scratch」の効果を知ることができました。




気づいた反省点としては、LEGOブロックの組み合わせ方法が分からず思ったものを作ることができなかったり、最初にどんなものを作るかまとめる時間を取ることも必要だったことです。
CoderDojo Sendaiでも思ったことでしたが、「ねこ逃げ」や「ねこたたき」のようにWedoを使う場合も「導入」を意識したプロセスが必要だと実感しました。
今後もキッズが楽しみながら学ぶ方法を試行錯誤していきたいと思います。


最後にRaspberry PiのケースをLEGOで作ってきたご家庭があったので、こんなワークを開催するのもありだなと感じました。


Read more ...

Amazon EC2にMinecraftサーバーを構築する方法

2014年5月8日木曜日
家が離れている友達とMinecraftで遊びたいという相談を受けたのでAmazon EC2にMinecraftサーバーを建てる方法を書きます。

必要なもの

  1. Amazon のアカウント
  2. SSHクライアント

構築方法

作業の流れ
  1. Amazon EC2にインスタンスを作成
  2. 作成したインスタンスに接続
  3. Minecraft サーバーのダウンロードと設定

Amazon EC2にインスタンスを作成

  1. Amazon Web Services にサインインして、AWSマネジメントサービスを開きます。
  2. サービスの選択画面で、EC2をクリックします。
  3. Launch Instance をクリックします。
  4. Amazon Linux AMIのSelect をクリックします。
  5. Next:Configure Instance Details をクリックします。
  6. Next: Tag Instance をクリックします。
  7. Name を追加して、Next: Configre Security Group をクリックします。
    ※Nameしか設定していませんが、他に必要な項目があれば、追加してください。
  8. Security group nameとDescriptionに値を入力します。
  9. Type を Custom TCP Rule に設定します。
  10. Protocol を TCP に設定します。
  11. Port Range に 25565 を設定します。
  12. Source に Anywhere を設定し、0.0.0.0/0 を入力します。
    ※IPが分かれば、誰でも 25565で接続できる設定なので注意してください。
  13. Review and Launch をクリックします。
  14. Launch をクリックします。
  15. Create a new key pairを選択します。
  16. Key pair nameに「MinecraftServer」を入力します。
  17. Download Key Pair をクリックして、接続する鍵を取得します。
    ※ダウンロードした鍵はSSH接続で必要になりますので、保存したパスを忘れないようにしてください。
  18. Launch Instances をクリックします。
  19. インスタンスの作成が完了したら、IPアドレスを確認してください。

作成したインスタンスに接続

使用するOSによって方法が異なるので注意してください。今回は、Macから接続する方法を記載します。
  1. ターミナルを起動して、下記のコマンドを実行します。
    ※自分の環境では、鍵を$HOME/Downloadに保存しました。
    ※.ssh がないときは、移動する前に mkdir $HOME/.ssh コマンドを実行します。
    ※xxx.xxx.xxx.xxxには、インスタンスのIPアドレスを入力します。
mv $HOME/Downloads/Minecraftserver.pem.txt $HOME/.ssh/Minecraftserver.pem
chmod 400 .ssh/Minecraftserver.pem
ssh -i Minecraftserver.pem ec2-user@xxx.xxx.xxx.xxx
 ログインに成功すると下記のようなログが表示されます
The authenticity of host 'xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx)' can't be established.
RSA key fingerprint is 6f:ea:6d:7b:31:f2:da:c8:14:09:35:50:a1:ca:39:8d.
Are you sure you want to continue connecting (yes/no)? yes
       __|  __|_  )
       _|  (     /   Amazon Linux AMI
      ___|\___|___|
https://aws.amazon.com/amazon-linux-ami/2014.03-release-notes/
1 package(s) needed for security, out of 18 available
Run "sudo yum update" to apply all updates.
[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ 

Minecraft サーバーのダウンロードと設定

まずは、Javaのバージョンを確認します。
バージョンが表示されないまたは、エラーになるときには、Javaがインストールされていない可能性があります。
$ java -version
java version"1.7.0_55"
OpenJDK Runtime Environment (amzn-2.4.7.1.40.amzn1-x86_64 u55-b13)
OpenJDK 64-Bit Server VM (build 24.51-b03, mixed mode)

wget コマンドを使ってサーバープログラムをダウンロードします。
※2014年5月現在の最新バージョンは1.7.9です。バージョンが上がったときは適宜読み替えてください。
$ wget https://s3.amazonaws.com/Minecraft.Download/versions/1.7.9/minecraft_server.1.7.9.jar

s3.amazonaws.com (s3.amazonaws.com) をDNSに問いあわせています... 207.171.187.117
s3.amazonaws.com (s3.amazonaws.com)|207.171.187.117|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 9604581 (9.2M) [application/java-archive]
`minecraft_server.1.7.9.jar' に保存中
100%[======================================>] 9,604,581   1.78MB/s 時間 5.4s
2014-05-07 13:59:18 (1.69 MB/s) - `minecraft_server.1.7.9.jar' へ保存完了 [9604581/9604581]

javaコマンドを使って、minecraftサーバーを起動します。
$ java -jar minecraft_server.1.7.9.jar nogui
Read more ...

Minecraftでマルチプレイヤーサーバーを起動する方法(仮)

2014年5月7日水曜日
CoderDojo Sendaiに通うキッドからMinecraftサーバーの建て方について質問があったので、まとめました。

目的

友達と同じワールドで一緒にプレイする

手順

  1. ここからmincraft_server.x.x.x.jar をダウンロードします。(2014年5月7日現在は、1.7.9)
  2. ターミナル(コマンドプロンプト)からコマンドを実行してサーバーを起動します。
  3. Minecraftを起動してマルチプレイヤーモードを開始します。

ダウンロード時の注意点

  1. Minecraftのページにログインが必要です。
  2. ダウンロードしたファイルの保存先を忘れずに。
minecraft_server.x.x.x.jarの「x.x.x」にはバージョン番号が入ります。ブログを書いたときのバージョンは、1.7.9なので、minecraft_server.1.7.9.jarとなります。

ターミナルからコマンドを実行する(Mac)

  1. ターミナルを起動します。
  2. cd コマンドでダウンロードしたフォルダ(ディレクトリ)に移動します。
  3. java -Xmx1024M -Xms1024M -jar minecraft_server.x.x.x.jar と入力して、サーバーを起動します。

コマンドライン(ターミナル)の使い方が分からないと難しいかもしれません。
分からない箇所は、コメントに残こしてください。補足説明を書かせて戴きます。
Read more ...