tech_note

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

those_days_when_i_was_playing_scratch.md (4507B)


      1 ---
      2 title: Scratchで遊んでいたあの頃
      3 tags:
      4 - scratch
      5 private: false
      6 updated_at: 2025-12-21 12:13
      7 id: null
      8 organization_url_name: null
      9 slide: false
     10 ---
     11 ※この記事は元々仲間内でAdvent Calendarを作るために書いたものですが,計画が頓挫したので,こっちで公開しています.
     12 
     13 せっかくの機会ですので,私の昔話をしようと思います.
     14 私がまだ,小学生だった頃,Scratchでシューティングゲームを作る本を買ってもらって,それにかじりついていました.
     15 
     16 当時読んでいた本はこれです.まだ売ってるんですね.もうどういう経緯で買ってもらったのか覚えてないくらいなのに.
     17 - [Scratchではじめよう! プログラミング入門](https://bookplus.nikkei.com/atcl/catalog/15/B29200/)
     18 
     19 当時はプログラミングを学ぶという気はなくて,新しいおもちゃを手に入れたみたいな感覚でした.
     20 私の昔からの癖なのですが,本の通りに作るのって,完成したものを見ると作りたいって思うんですけど,いざ本の通りに作りはじめると,単なる作業になってしまうので,本のとおりに作らなかった記憶があります.Scratchをやる前(始めた後もかな)LEGOで遊んでたんですけど,本の通りに作って,ちょっと遊んだらすぐに部品取りにしてたましたね.
     21 
     22 本に使われてるアセットが配布されていたんですけど,あんまりブラウザに明るくなかったので,自分で敵の絵を描いてみたいなことをしてました.それで見た目もあんまりだし,敵の動きが単純化されすぎていて,規則的で面白みがないなぁと思ってしまって.まともに完成させてプレイをするまえに改造に入ってましたね.でも自律的なプログラムを書くには技量が無かったので,その方面での改造は諦めました.
     23 
     24 ただ,シューティングゲームが好きだったんです.StarWarsのXウィング,当時はあれが好きで,ああいうことができるゲームが作りたくて,自機が前に進んでいって,矢印キーで左右にカーブして,前にビームを放つ方法を思いついたんです.そこからは本とか無視してひたすらプログラムと向き合ってましたね.でも,Scratchってオブジェクトの管理が基本的には絶対的な座標なので,打ったときの自機の向きでビームを発射する方法が思いつかなくて,そんなときに自機の向きを参照する(エンジニア向けに言うとオブジェクトのプロパティを参照する)ブロックをビームのオブジェクトの向きにぶち込むと良いことに気づきまして.あれはとんでもなくおっきな発明だったと思いますが,今からすれば「関数」そのものですね.
     25 
     26 あとは,当時見てたテレビ番組で「プロジェクトX」のタイトル?のパロみたいなのが流れた事があって,それを任意の文字列で再現するやつとか作ってましたね.5000兆円ジェネレーターの動画版みたいなやつ.
     27 
     28 それと同時に小学校でViscuitというのを紹介されて,そこでジャッキーチェンみたいな動きをする棒人間アニメを作ってたんですが,集団行動っていう日体大かな?の演目の棒人間アニメをScratchで作ったりしてました.非常に懐かしいです.
     29 
     30 個人的に重宝したのが,黒板(ホワイトボード)ですね.
     31 ペン機能をガッツリ使いたいと思って作ったのですが,友達と話してるときに図を書く用途で使ったりしてました.
     32 
     33 とまあ,昔話に花を咲かせましたところで,次への導入です.
     34 
     35 私は中学1か2年のときに,Scratchの重大な機能不足に直面しました.
     36 3Dが恐ろしく扱いにくいんです.点の大きさと距離関係で遠近法を使い,透明なキューブをマウス操作でくるくる回せるプロジェクトを作ってる人はいましたが,3Dのオブジェクトを使ってなにかゲームを作るとかは非常に難しい!
     37 そう思った私はググりまして,Unityという解決策に行き着きます.
     38 
     39 ではまた次回お会いしましょう!