中高生のためのプログラミング教室(2021 夏)

プログラミングを"選べる"人に

by @d_etteiu8383

東京工業大学デジタル創作同好会traP @d_etteiu8383
中高生のためのプログラミング教室(2021 夏)

自己紹介

  • でっていう(@d_etteiu8383)
  • 東京工業大学 生命理工学院 生命理工学系 3 年
  • デジタル創作同好会 traP グラフィック班
  • 3D モデリングしてます →
  • Vtuber とか VR コンテンツに興味あり
東京工業大学デジタル創作同好会traP @d_etteiu8383
中高生のためのプログラミング教室(2021 夏)

あつまれ どうぶつの森

って知ってますか?

東京工業大学デジタル創作同好会traP @d_etteiu8383
中高生のためのプログラミング教室(2021 夏)

マイデザイン機能が好き

  • 32 x 32 のドット絵
  • 15 色使える
  • 服の作成や家具のリメイクに使える
東京工業大学デジタル創作同好会traP @d_etteiu8383
中高生のためのプログラミング教室(2021 夏)

自分で 0 から描くのって難しい

東京工業大学デジタル創作同好会traP @d_etteiu8383
中高生のためのプログラミング教室(2021 夏)

コンピューターにやらせてしまおう

プログラミングの出番

  1. 入力画像を 32 x 32 の大きさにして
  2. 15 色にして
  3. どうぶつの森で使える色に変換して
  4. アシスト画像として出力

Python で 200 行ぐらいのプログラムを書いた。
(今日皆さんに書いてもらうのは JavaScript で最大 300 行ぐらい)

東京工業大学デジタル創作同好会traP @d_etteiu8383
中高生のためのプログラミング教室(2021 夏)

作ってみた

入力画像

変換結果

ゲーム内
東京工業大学デジタル創作同好会traP @d_etteiu8383
中高生のためのプログラミング教室(2021 夏)

プログラミングは手段である

今回の例では「マイデザインを簡単に作りたい」という目的をプログラミングという手段で達成した

  • プログラミングを知らなかった頃は自分で 0 から描くという手段を選んでいた
    → 時間かかる・綺麗に描けない...
  • プログラミングによる画像処理を知って、プログラミングを手段として選ぶことができた
    → 一瞬で綺麗なマイデザインを作れるようになった!

「プログラミングができる人」というより「プログラミングできるかも」と、考えられる人になってほしい

東京工業大学デジタル創作同好会traP @d_etteiu8383
中高生のためのプログラミング教室(2021 夏)

プログラミングの勉強方法

プログラミングはあくまでも手段なので、「プログラミング上達したい!」みたいにプログラミング自体を一番の目的にして勉強するのは(個人的には)あまりおすすめしません。

何か一つ目的を持って、手段として勉強することから始めよう(少なくとも僕はそうしていました)。

今回のプログラミング教室は「シューティングゲームを作ること」が目的。

東京工業大学デジタル創作同好会traP @d_etteiu8383
中高生のためのプログラミング教室(2021 夏)

目的の例

  • ゲームを作りたい!
    • ゲームをきっかけにプログラミング始める人は多い
    • 3DゲームならUnityが有名
  • 自分のブログが欲しい!
    • ネットワークとかの知識も必要になる
  • twitterのBOTを作りたい!
    • 以外と手軽に始められるかも
  • 家電を家の外から遠隔操作したい!
    • 少しレベルが高いかもしれないけどできたら楽しいかも
東京工業大学デジタル創作同好会traP @d_etteiu8383
中高生のためのプログラミング教室(2021 夏)

具体的な目的はないけど

目的が無くても「将来のために」「稼げると聞いた」などの理由でプログラミングをしたい人もいる。
そんな人には競技プログラミングがおすすめ。

競技プログラミングは

  • 問題が与えられて、
  • それを解決するようなプログラムを作成し、
  • 点数を競う

競技です。競技プログラミングは具体的な点数が得られるので目標にしやすい。

東京工業大学デジタル創作同好会traP @d_etteiu8383
中高生のためのプログラミング教室(2021 夏)

今日の教室の目標

「JavaScriptでインベーダーゲームを作れる人」ではなく、
「プログラミングの雰囲気を知り、今後手段としてプログラミングを選べる人」に
なってほしいです。

東京工業大学デジタル創作同好会traP @d_etteiu8383

この資料は<https://d_etteiu8383.trap.show/p4klt-21summer/>にて公開しています。

2020年3月20に発売したゲーム

例えばこれは僕が「おいでよどうぶつの森」や「街へ行こうよどうぶつの森」をやっていた頃の話なんですが、マイデザイン機能を使ってマンホールや足跡の絵を書いてそれを村の地面に貼って装飾しようとしたときに、いざ描いてみるとめちゃくちゃ難しいんですよね。