リュウグウノツカイのように

深海で悠々と暮らしたい

ゲーム専門学校卒、ブログはじめました。

まえおき

最近、地方のゲーム専門学校を卒業したのですが、全く別の職業に就職しました。
地方で働きたかったんですが、ゲーム会社がなかったんです。

そこで、専門学校から今まで理解したことを活かそうと思い、YouTubeを始めました。

www.youtube.com

主にゲームプログラミングに関するチャンネルです。特に「DXライブラリ(https://dxlib.xsrv.jp/)」という、元々はゲーム専門学校の授業教材だったそうな仕組みを活用した、ゲーム開発の解説をしています。

初めてのキチンとしたブログ運営ですが、少しでも有益な情報となるよう、がんばります。

ブックマーク

公式ブログの用途

  • Youtubeの公式ブログがなかったので作りたかった。「公式ブログ」という響きの良さ。

  • Youtubeの動画もある程度たまってきたので、各動画のプログラムをポイント解説。

  • 動画にするまでのモノでもない、こぼれ話やコラム、ミニテクなんかも書く予定。

  • 参考書籍やサイト、動画のレビューなんかもしてみたい。

  • 地方のゲーム専門学校がどういう所か見せてやろう。調べても情報がないのです。

※コピペできる形のソースコードは、あまり掲載しません。ごめんなさい。

なぜ「リュウグウノツカイ」なの?

残念ながら、在学中に授業で教えられたプログラムや教材は、あまりにも物足りないモノでした。
プログラミングのメイン講師は1人であり、ゲーム業界出身の講師ではありません。その分、熱意を感じたのが唯一の救いでしょうか。 地方の専門学校に入学を考えていたとしても、専門学校選びは複数を見たほうが良いと実感したのです。

それと同時に、地方の専門学生が学ぶ機会の少なさ・質の低さがあるのならば、少しでも役に立ちたいなぁと考えたのが、YouTubeを始めたきっかけです。 もちろん、専門学校の講師となり、教える仕事に就いてもいいかなぁとも考えました。しかし、昨今の教師の仕事は学校管理が大半だと聞き、諦めました。教えるだけを行う仕事では、喰っていけないのかもしれません。教えたい欲は、様々な形で発散できますから。

プログラムは在学中に考えたものをベースに、独学で思いついたことを再構築し、「インターネット」という深海に放り投げることにしました。

上部の真ん中にいるのが、リュウグウノツカイ

リュウグウノツカイという生き物は銀色の深海魚で、水深200mぐらいのところで暮らしているそうです。そのため、普段は滅多にお目にかかることができません。でも、たま~に水面近くに現れることが多く、ニュースになったりします。もしかしたら、何かを伝えたいのでしょうか。もしかしたら、意外と気まぐれな生き物なのかもしれません。

そう、深海からフラ~と水面に現れては帰ってゆく、リュウグウノツカイのように。

プログラマよ、書を捨てよ,街へ出よう

まえがき

 「書を捨てよ,街へ出よう」という書籍があります。 bookmeter.com

 なんともアバンギャルドな内容で、名前から想像できない目次。今の若者であれば刺激・ツヨメであり、間違いなく悪書行きな気もします。この本の内容はさておき...今回はプログラマが街へ出る重要性について、なんとな~く語ります。

実世界をインプット

 プログラミングほど仮想現実な創作活動はありません。一般の人が見ると「どうやってるの?」と魔法使いのように思われます。そんな活動の源の1つは「こんなの作ってみたい!!」という模倣魂ではないでしょうか。ゲームにしろ、アプリにしろ。特にプログラムを始めたてのときは、言語を覚えるのでアップアップですが、言語に慣れてくると開発意欲が湧いてきます。

知らない人から見れば魔導書
(そういえば、DirectXの本で「魔導書」の名がついている本がありました。こういうことか・・・?)

覚えてどうするの?

 最近のプログラマ志望やITエンジニア志望って、どうしても「○○覚えたい!」という風潮があるように思えます。順番が逆だと思うんです。だって、例えばDIYしたいとして、先に「ノコギリの使い方覚えたい!!」ではなく、「おしゃれな本棚作りたい!!」が先に来るはず。※道具マニアを除き。

 でもプログラムには実態がありません。一般の人は、なかなか実態をつかむことができず、結果的に「Python覚えたい!!」「Python覚えりゃ最先端!!」と思ってしまうんじゃなかろうか。

 ゲームエンジンも同じで、「マリオみたいなゲームを作りたい!!」と思って開発するならいいものの、漠然と「ゲーム作りたい!」としか考えていなかったり、「Unityの操作ができれば神」と思ってたりするのかもしれません。違います。

 プログラミングも目標がなければ、長続きしませんし、モチベも湧きません。

プレイヤーであり、プログラマでもある。

目標なんてあるわけない

 周囲のクラスメイトが良く話していたのは「目標なんてあるわけない」という言葉。特に卒業制作では、チームで一つの作品を作ります。本来ならワクワクするこのイベント、全くやる気無しなんです。だって作りたい目標がないから。

 そもそも、入学を決めた理由も「PCに毎日触れるから、なんとなく」が3割を占める専門学校。もちろん、入学試験の面接などで豊富を語るハズなんですが、少子高齢化な社会において、面接で落とす専門学校はそうそうありません。目標なく何となく入学するからこそ、クラスのモチベは下がり続けてしまいまうんです。雰囲気に呑まれてはダメです。抗いましょう。レジスタンス!!!

雰囲気に抵抗しよう!

作りたい目標を見つけるには?

 目標を見つけるためには、色んなモノに興味を持ち、その裏側を想像することが大事です。スマホゲーム以外にも、ゲーム技術が生かされている現場は多々あります。Unityは使い勝手が良いので、Vtuberの下地になっていたり、デジタルアートな現場で使われていることも。Unity使いなら、何となく見極めができるはずです。

Unityっぽい気がしませんか?

 さらに街の「システム」にも目を向けましょう。デジタルサイネージが流行っていますが、アレの技術は何でしょうか?レジのPOSシステムや、電車の時刻表、ATMの動作だって「どんな風に処理されているかな?」と思えば、それ即ちプログラミングです。

現在地取得+アニメーション+全車両同期・・・ワクワクしませんか?

書を捨てよ,街へ出よう

 私が生きている世の中は、残念ながらまだまだ実世界ベースで、メタバースが来るのはもうちょっと先です。PCやスマホの前では、デジタライズされた世の中しか見ることができません。

 世の中はもっと広く・深く・美しいんです。外に出る刺激と共に、新たなアイディアを見つけるために、街へ出てみませんか?

プログラミング以外の趣味について思うこと①

まえがき

 以前、趣味について思うことを書き留めました。ryugu44.hatenablog.com  学生時代も今も「趣味はプログラミングです!」と言えるでしょう。最近は時間がない&ブログが楽しくて、動画を出せていないのも事実ですが...。しかし、最近になって、別の趣味を見つけてしまい、もう大変。プログラミング狂の私が思う、プログラミング以外の趣味について思うことを付け加えます。

お仕事がIT関係なら

 お仕事がシステムエンジニアさんやWebプログラマさん、カスタマエンジニアさんなど、IT関係であれば、多少なりともプログラムに触り、IT技術と仲良くなり、正直お仕事でお腹いっぱいな方もいると思います。業界的にも「自分で勉強し続ける」セカイなので、一生勉強といっても過言ではないIT業界。その慣習についていけず、ドロップアウトすることもあるでしょう。

 もちろん、勉強を続け知識をアップデートし続けることは、この業界とっても重要。ただ、人間はリフレッシュが必要な生き物。プログラミング自体がリフレッシュとなっている一部のプログラミング狂を除き、だいたいの技術者が、別の趣味を持っています。車・ゴルフ・釣り・趣味...いろいろです。

 ネットの世界を調べると、休みの日もず~~~っとプログラミングを覚えなくては行けない風潮が漂っていますが、それができる人・できない人がいるんです。そしてお互いに相容れない関係なんです。

 また、趣味=陽キャリア充という風潮も組み合わさり、まるで休みの日がキラキラしている人は勉強を怠っている=ITエンジニアに向いていない!と考えたくもなります。特に学生の狭い視野では、なおさらです。

陽キャの趣味?

お仕事がゲーム業界なら

 お仕事がゲーム業界の方って、休みの日は自社・他社問わずゲームをすることが多いようです。なぜこのゲームが売れているのか、なぜこのゲームはクソゲーと言われるのか、食わず嫌いせずゲーム漬け。仕事もゲーム開発。ゲーム三昧の日々をおくって羨ましそうですが、これも人によります。グルメさんやDIYが好きな方もいるはず。似ているようで、ゲーム業界の休日の過ごし方はIT業界と違う雰囲気がします。

げーむざんまい、も仕事のウチ

確かに時間は無くなった

 私の趣味はアウトドアでソコソコ時間が掛かってしまい、長いときには1日がかり。あぁ、こんな時間があればプログラミングできるなぁ・・・と学生時代の私なら1000%思ってました。でも今は全く思いません。この趣味が自分に合ったんです。そのためYoutubeは更新が止まり、登録者のみなさまには「ごめんなさい」という思いが強いですが、更新はしますので気長にお待ちくださいませ。

 人生、時間の使い方は限られています。1日の時間の使い方も限られています。有限ではない時間をコスパ良く生活するのが現代人のアーバンライフ時間をかける、というのがこの世で一番ぜいたくなことかもしれません。「プログラミング < 趣味」な今の私の生活は、プログラマとしてはあるべき姿ではないように感じます。本当にそう思いますか??過去の私よ。

おひさまのチカラ

 自宅に何日でも居ることができるコモリストな私。何時間でもプログラムを組んじゃいます。でも、このド暑い真っ青な夏空を見てしまうと「あぁ、外に出て趣味しよ」と思ってしまいます。クソ暑いのに。金もかかるのに。

 外に出て、短時間でもおひさまの日差しを受けると健康によいことは、様々な研究から証明されている気がします。逆におひさまの日差しが浴びれないと、調子が狂う人もいるようです。 style.nikkei.com

 お外に出て、おひさまの光を浴びたり、日向ぼっこすることは、ちょうどいい量なら安眠効果やリフレッシュ効果があります。私もずいぶん良く眠れる&朝起きれるようになりました。ただ、このクソ暑い夏の時期は危険すぎます。浴び過ぎもシミ・そばかすの原因になりますから、用法用量を正しく守って、適切な時期に行ってくださいませ。

この画像を見たとき、何かしら刺激はありましたよね?

デジタルな刺激

 デジタルで得られる刺激は、残念ながらデジタル処理されているので、メタ的な部分までは感じ取ることができません。動物園のライオンが吠えている動画を見るとのと、実際に吠える瞬間に立ち会うのと、どちらがダイナミックでしょうか?動物はアナログな人間です。皮膚や足から伝わる振動、耳ではない部分から伝わる、このメタ的振動は、残念ながらデジタル化がまだ出来ていません。プログラミングの刺激は、PCの前に座っているだけでは「デジタル=量子化=整理された」刺激しか、味わうことしかできないのです。

デジタルは余分を削ぎ落とす

別ベクトルの刺激

 プログラミングの刺激って「自分で動いた通りにできた!!」という内向的な刺激が多い気がします。逆に、新しい知識や技術を知る外交的な刺激は何かの副産物として生まれることが多いです。「内向的8:外交的2」ぐらいの割合でしょうか。

 それが、プログラミング勉強会みたいなモノに参加すると、途端に割合が「内向的2:外交的8」とひっくり返ります。自分の知っているコトでも「その手があったか!」とか「同じ人いるんだ~」とか、様々な刺激を与えます。多分、コンサル系が好きな人の理由と同じなのかもしれません。それが故にキラキラした場所で、カッコつけてorオドオドして参加しないことありますが、思い切って参加するといいでしょう。絶対に成長できるはずです。コミュニケーション能力も上がりますよ。過去の自分よ。

どんな方向になっても良いんです。
 もちろん、勉強会以外にも、今は空前のキャンプブーム。ゆるキャンの映画が迫り、私も楽しみな限りです。新型コロナウイルスによるアウトドアブーム。3密を避けた趣味は、結果的に人々の心を癒やしたのかもしれません。もちろん感染予防対策は万全に。

新たなヒラメキ

 外に出ると案外、新たなひらめきが生まれます。極端なハナシ、プログラミングで行き詰まるりトイレに行って「あ!!!!!これだ!!!!!」とヒラメクことは誰しもあるはず。1日寝かせれば思いつくことも良くあります。プログラミング中はプログラミングしか考えません。昼飯とか夕飯とかどうでも良くなります。睡眠でさえ、思考の邪魔となります。

睡眠しない体になりたい
 でも・・・やっぱり休憩したほうが効率が上がるはず。プログラミングができない場所に強制的に降り立つことで、新たなヒラメキが湧き出ます。忘れないようにメモしましょう。ボイスメモも便利です。書くと忘れることも、声のメモならすぐできます。お試しあれ。
ひらめきはプログラマの友

不自由という自由

 そう、人間は皮肉なもので。「不自由な所では自由を考え、自由なところでは不自由になれない」不思議ないきものです。授業中にテロリストが襲ってくる妄想は誰もがしたはず。逆に休みの日に「今日は何しよ?」とぼけーっとなることも、誰しも経験するはず。これは、プログラミングでも大いに関係します。

不自由だからこそ?
 プログラマからPCを取り上げたらどうなるでしょうか?発狂します。おやめください。でも不自由な場所でもプログラミングのことを考えちゃうのがプログラマ。むしろ、そういう場所の方が捗ることがあるんです。デスクにず~~っと座りっぱなしより、ちょっと休憩と言いながら自販機へ・・・という行動も、決してサボっている訳ではなかったんです。学生のときには「サボってるんだぜ」と思ってましたが。

あとがき

 プログラマがプログラミングを趣味にするのはいい事だと思います。でも、それ以上に外は広く、自分を成長させるキッカケが詰まっています。勉強するとき、リフレッシュするとき、仕事をするとき。メリハリをつけられるのも、社会人として重要なスキルかもしれません。もちろん新型コロナウイルス対策は万全に。熱中症対策もしっかりと。

大海を知るのも、いいもんです

「教えられない教員」について思うこと

まえがき

 専門学校に通っていた頃、なんとなく気づいてしまったことがあります。「教えられる」先生と、「教えられない」先生。授業を受けると、似たような言語なのに、こんなにも違うのか・・・と思ってしまいます。両者とも「先生」と言われる職業なのに、なぜ違うのか。特に「教えられない」先生について、なぜそうなってしまったのか、勝手に想像します。

技術不足のため

 専門学校の教員というのは、最先端かつ深い知識を持っていそうなイメージですが、そうでもありません。試しに自分の学校の「教員募集」のページなんかを見てみると、「エッそのレベルで募集するの!?」と思うこともしばしば。だって教員不足なんですもの。応募のハードルは下げたほうが良いです。HighからLowまで網にかかります。そんなこんなで技術が無くても、熱意と話術で教員の座を勝ち取ったんだと思います。

 話術はともかく、熱意は大事です。指導熱心な先生になりますから。でも、いくら指導熱心でも、技術が無いのに教えるというのは辛いこと。特にIT系・ゲーム系は「システムエンジニアプログラマ経験がある」が教員募集のキーワードなので、インフラ系もWeb系もアプリ系もゲーム系も、み~んな同じ括り。そのため、Webエンジニアにゲームプログラミングを教えさせたり、アプリ系エンジニアにネットワークを弄らせたり。完全に雇用のミスマッチが起こっています。特に田舎では。専門外を教えることになった先生も、また被害者なのかもしれません。

他で学べる機会が多くなったため

 IT系・ゲーム系の学習は、必ず専門学校で学ぶ必要がなくなった時代。分かりやすい書籍、無料で学べるWebサイト、親切なSNSの皆さん。教えてくれる人は、学校以外にもたくさん、いらっしゃるんです。そんな親切に頼ってラクをしている可能性も、ゼロではありません。「もっと教えるのが上手な人に教えてもらえばいいじゃないか」。いやいや、あなた先生ですよね?プライドとかお持ちにならないのでしょうか?拗ねているのか捻くれているのか分かりませんが、職務放棄せず教える仕事を全うとしてほしいです。

調べれば解決できるため

 インターネットの普及は、専門知識を手軽に得られるいい時代となりました。一方で、初心者は間違った専門知識に気づけないこともあります。また、インターネットは正しいことしか掲載されないと思う学生もまだいます。優秀な学生は、学校の授業よりも自分で勉強し、先へ先へ進もうとします。壁にぶち当たって、先生に質問します。そこで言われる言葉ランキング1位は「それ、調べてみればいいじゃない?」。失礼ですが、既に調べているんです。単に知らないのか、時間がないからあしらわれるのか分かりませんが、あまりにも冷たい回答です。

 もちろん仕事では「コレについて知りたい。ココまで分かっている。コの部分が分からない」と具体的に質問すべきです。ただ、ここは学校で、学び舎です。まだ仕事モード全開ではなく、ヒヨッコがヒヨヒヨいる状態。質問の仕方を教えてあげたり、上手く学生の質問を汲み取るのも指導の一環ではないでしょうか?学生が優秀だからって、何でも自己解決できるわけ無いんですよ?

都合の良いアクティブ・ラーニングの考え方

 アクティブ・ラーニングとは、学生が自ら学ぶべきことを考え、調査し、成果を発表するような授業スタイル。2020年ぐらいから流行し、専門学校でもHPやパンフレットを見ると大々的にアピールしています。世はまさに大・アクティブ・ラーニング時代。

 アクティブ・ラーニングは学生が主体の学習方法。先生は暖かく見守るメンター的立ち位置です。つまり「合法的に教えなくても良い」というふうにも捉えられます。更に学生が自ら考え調べるので、先生の専門知識は無くてもOK。「最先端の授業をしている」と伝えられますし、色々な事情で「教えられない」先生にとっては、ラクそのもの。都会よりも田舎で流行っているのは、そういった裏事情があるのかもしれません。

釣った魚に餌をくれ

 名称は何であれ、学校で勤務している以上、人に教える仕事に就いている以上、教えるという責任が発生します。学生は学校に通い「先生の授業」を聞きたいんです。「学校に通う」のは目的ではありません。最近は教科書を買っても使わなかったり、そもそも授業は自習みたいなモノも増えつつあります。

 学校の「教える」以外の仕事は大変かもしれません。ですから、ある意味では先生も被害者。誰がこの状況を作っているのか分かりませんが、少なくとも現在の学生募集主義で利益主義なスタイルで、釣った魚に餌をやらない学校は、いくら見た目を派手にキレイにしても、評判は落ちます。

 田舎の専門学校がよく謳う「長年、地元で愛されて」というフレーズ。愛されているのか、単に時間が経過しただけなのか分かりませんが、就職活動や入社してから「あれ?○○専門学校の卒業なのに、コレ習わなったの!?」と驚かれます。とはいえ、企業も計画採用をしなくてはいけませんし、毎年採用をしているので急にストップするのも印象が悪い。ただ、地方のIT企業もU・I・Jターンを狙って首都圏から採用をかけつつあります。さらに良い学生を取りたいんです。まさか...考えたくは無いですが・・・地元を諦めたのかもしれません。

教えるフリをするだけの仕事、じわじわと確実に跳ね返ります。

最近の技術書について思うこと

まえがき

 高校までの教科書って、ほとんどが文部科学省が認可している由緒正しき書籍。しかし専門学校や大学は話が別です。教授の書いた本、なぜか購入を勧められたタッカイ高い本。最近の技術書は、そんなニーズを汲み取ってか、少し方向性が変わったように思います。ふと、自分の本棚や本屋さんの技術書棚を見て思ったことを、なんとなくまとめます。

昔の書籍は難しかった

 図書館などで2000年代に発行されたプログラミング書籍を読んでみると、言葉は堅苦しく、書いてある内容も難解で、とにかく難しいイメージでした。昔は読者が技術を求める熱量が多く、書籍をなんとしても読み解いて知識を手に入れたい情熱があったんだと思います。それに、筆者も読者に「分かりやすさ」「楽しさ」「継続できる工夫」などは考えず、とにかく使い方を述べている書籍が多かったです。そのため、2000年~2020年ぐらいの専門学生が購入する教科書は、堅苦しい系の本で、今の学生が読むと拒否反応が出そう、そんな書籍な気がします。

小学校プログラミング必修化で変わった?

 もしかしたら、コレがきっかけなのかもしれません。小学校プログラミング必修化。小学生向けの書籍って実に上手く出来てるんです。図鑑や小説など、小学生でも飽きずに読み終わる工夫があります。プログラミングについても、小学生に分かりやすく伝えるために、面白く伝えるためにエンタメ化。その流れが技術書にも来ているのかもしれません。一節によると、大人でも未経験なことは、中学生が理解できることが限度だと言われています。いくら大人とはいえ、未経験なことを説明してもらうには、小学生向けのエッセンスが重要だったんです。

 さらに拍車を掛けたのは、新型コロナウィルスによるIT活用。ふだんPCを好まない人でも、テレワークなどで一人でPCを利用するようになりました。周囲には教えてくれる人はいません。だからこそ、「1週間で分かる」「サルでも分かる」「30時間でマスター」など魅力的なタイトルがつけられ、不安感を払拭させる書籍がどんどこ登場しているんだと思います。

使い方から作り方へ

 本来、技術書を読む理由は「技術が欲しいから」だと思います。では、得た技術で何をするのでしょうか?最近の書籍にありがちなのは「ゲームができる」「アプリを作れる」「実際に体験しよう!」などの成果物主義な書籍。本来、何を作りたいのか想像するのが技術者なんじゃないかな~と思っちゃいますが、最初から理想像を見せつけるスタイルなのが、最近の書籍だと思います。もちろん、成果物ができて達成感は生まれますが、応用は効くのでしょうか?その言語の基礎をまんべんなく理解しているのでしょうか?

 特にクリティカルなのは、書籍を読んでも応用ができないこと。プログラミングは自分で考え、自分で作るしかありません。もちろん、最初のウチは見よう見まねで何かを模写して作るのはいいと思います。でも、作るだけで満足せず「こんな機能欲しいな~」とか考えるのがエンジニア。作って・ハイ・おしまい!!だけでは、もったいなさすぎるんです。

読者は離れる

 昔と今が違うのは、読者が学ぶ手段について。昔は書籍で十分だったのが、今では無料でプログラミングが学べるサイトも登場。わざわざ書籍を買うというリスクを侵さずに、学習することができる良い時代なんです。でも、出版社からすれば、溜まったもんじゃありません。様々な魅力ある学習コンテンツに負けないサービスをするために、目標があって、絵も可愛くて、イラストも豊富で・・・読者を掴んでは離さない工夫を凝らしているように思います。過剰サービスとも言える技術書のエンタメ化は、専門学校で採用される教科書にも影響を及ぼします。

学生を飽きさせない

 昔の堅っ苦しい書籍を購入すると、どうしても拒否反応が生まれるのが最近の学生。単純で質素な表紙が配布されると、どこからともなく「えー」「こんなので勉強するのー」といった声も。ところが、最近の教科書はあら不思議。魅力的な表紙に、しっかりとした目標。おやおや、今度は「すげぇー!」「ゲーム作れるんだってよ!!」と楽しそうです。これで学生の満足度もUP、学生のやる気も向上したように思えます。保護者も納得。最近の「作る系」教科書は、学生のウケが良いんです。内容は別にして。

自由という不自由

 昔の技術書のように、ただ技術を載せているだけの書籍は、技術を身につけられますが、何が作れるかは想像次第。自由という不自由がありました。最近の技術書は、目標を明確にしがちです。勉強する方にきちんとレールを引いてあげることで、個人で学習するときにも迷わず・挫折せず・楽しく学ぶことができます。個人で学ぶ分には、今の流れはとっても良いと思います。

専門学校・・・ですよね?

 ただ、受け入れがたいのは専門学校で、こういう系の教科書を採用しちゃう話。だって専門学校ですから、講師が教えてくれるんですよね?まさか、読めば分かる系の最近の書籍を採用して、教える手間を省いているんじゃないでしょうか?と思う授業、実はありました。学校の先生というのは、教える以外にも仕事があるようで大変そうです。でも、先生って教えるのが一番のしごとですよね?一番省いてはダメな部分なんです。

 学生が一番期待しているのは、この先生ならではの楽しく分かりやすい授業です。教科書に書いてある通りのことを、その通りに伝えて、質問は自分で調べましょう・・・それって、本当に授業と言えるんでしょうか?

教える手間だと思わないでほしい

 最近の技術書、ひょっとしたら専門学校の先生よりも教え方が上手で、知識も豊富な本が多いかもしれません。専門学校の先生の能力レベルも、失礼ながらピンキリです。特に田舎は技術者が少なく、特にゲーム系はゲーム会社に居なくても・ゲームを組んだことがなくても・ゲームを組みたいと思う気持ちで採用しちゃうなど、技術レベルは学生と一緒では?と思っちゃうときもあります。

 本来は学校ごとに秘伝の資料があり、教科書は要らないはず。でもわざわざ教科書を買わせるのは、学生が1人でも学べるようにという愛か、それとも教える手間だとコスパを考えているのか、それとも教えられる能力がないのか・・・いずれにせよ、学校に通っているのですから、教科書+αの技術習得に期待してしまいます。

 例えば、実際にプログラミングでココを気をつけたほうが良いよ~とか、こんな書き方があるんだよ~とか、お仕事でこんなモノ作ったよ~とか、その先生ならではの情報があると、学生は喰い付きます。というか私がそうでした。学校に通い、講師が直々に教える価値とは何でしょうか。

技術が無いので適当に教えよう! な~んて、思ってませんよね?

技術書任せでラクしてコスパ高! な~んて、思ってませんよね?

出版社に勧められたから買った! な~んて、思ってませんよね?

 もう少し、講師の技術向上と学生に目を向けて、教科書を選んで欲しいと思いました。

専門学生の靴について

まえがき

以前、地方のゲーム専門学校はどんなところなのか、簡単に動画をまとめたことがあります。 youtu.be 動画では、主にどんな学生が多いのか紹介していますが、今回はニッチな部分を攻めましょう。ずばり「靴」について。中学では白い運動靴がメジャー、高校でも制服指定と同じように、靴が指定なところもあるようです。突然、自由から放り出される靴事情。ニッチな部分を赤裸々に語ります。

登下校のシンボル、アレが無い!?

 専門学校に入学してシンプルに驚いたのは「学校内は土足が基本であり、昇降口が無い」こと。地方の高校、まだまだ校内は上履きやサンダルの着用が多く、土足OKは少ない方。でも専門学校はすべからく土足。土足の衝撃です。

教室内も土足

 たまに土足NGの教室もありますが、基本的には教室内も土足OKです。靴の裏ってあんまり見る機会が無く、ちょっと汚いイメージ。そのため、床も汚いなぁ・・・と思ってしまいます。もちろん、床の掃き掃除はこまめにやってくれているんだと思いますが、水拭きやワックスなどは年に1回ぐらい。つまり、年に1回しか床をキレイキレイする機会が無いんです!!潔癖症でなくても、床にコンビニで買った食べ物などを直置きするのはやめましょう!

靴で性格が分かる!?

 人を観察するのが好きで、よくクラスメイトを観察していました。靴フェチなんでしょうか?変な趣味です。残念なことに、靴でその人の性格が分かるときもあります。分からないときもあります。決めつけは良くありませんから。でも「意外とそういう靴いっちゃうんだ~」とか「あ~そんな感じなんだ~」とか、分かっちゃいます。おしゃれは足元からと言いますが、そもそもおしゃれの概念が薄いのがIT・ゲーム系専門学校。オシャレすれば陽キャと避けられ、冬はチェック柄が60%を占める・・・そんな非オシャレ空間と言っても良い中で、靴は他のライバルと差をつける絶好の機会?なんです。

スニーカー系が多い

 結局はスニーカー系が多いんです。スニーカーと言ってもピンキリ、種類も豊富で悩みますが、大学生が選びそうなスニーカーを選んでおけば安心です。ABC-MARTとかで売ってそうな。逆にホームセンターで売ってそうなスニーカーも多いです。本人の履き心地や買いやすさにも左右されますが、多少は若者らしいスニーカーを選んでおいたほうが、友人づくりもしやすいのではないでしょうか。

ABC-MARTで売ってそうな靴

ホームセンターで売ってそうな靴

 あと、学校内って階段移動が多いんです。男子はさておき、女子はハイヒールで辛そうでした。段差も意外とあります。何かと動きやすい靴の方がいいかもしれません。

暑くてもサンダル系はヤメテ

 正直に申し上げます。ただ人の体臭なので仕方がありません。が、防ぐことはできると思うんです。本人の努力次第です。私も最低限は気をつけてます。だからこそ、スメハラと言われてしまいそうですが・・・足が臭いんです...教室内は空気の流れも無いのでこもるんです。局地的にゲリラなんです。そんな震源地に当ってみてください。悲しい気持ちになります。サンダル系でもいいんですけど、せめてできる限りのケアを。本人に言うとスメハラなので、誰も言えませんが・・・。

せっかくだから、オシャレを楽しもう!

 専門学校、特にIT・ゲーム系はオシャレとは無縁地帯。逆におしゃれすると「色気づいちゃって」とか「彼女いるんだゼ」とか、良く分かんないコトを言われます。お前らホントに18歳か。別にモテる必要も無ければ、学校は勉強に来る場所なのでオシャレとは無縁で良いと思います。周囲はさておき、靴は性格が出やすい持ち物の1つ。そして意外と見られています。専門学生だってオシャレしたい!!おしゃれな学生を増やしたい!!

せっかく新天地なんですから、思い切って楽しめばいいと思うんです。

趣味について思うこと

まえがき

 趣味、持ってますか?小さな趣味、人には言えない趣味、いろんな趣味があっていいと思います。中には趣味が無くて悩んでいる人もいるでしょう。ただ、ゲーム開発者やプログラマーの半数はこう答えるでしょう。「ゲーム開発/プログラミング が趣味です」と。私も学生のウチはそうでした。今回は趣味について、最近思うことを語ります。

趣味を仕事にしたい!

 私は小さいころ、「ゲームをつくる人になりたい!」と卒業文集に書いていたそうです。専門学校に通って、結局はゲームに関係のない仕事に就きましたが、少しでも人生のうちゲーム開発ができたことは、人生の中でも強く印象に残り続けるでしょう。専門学生のときは夢を追える一番キラキラした時期。ぜひ、後悔しないよう、夢を追い続けてください!!!

学生時代はコーディング狂

 私は学生時代、バリバリのプログラム狂でした。ホントに朝から晩までプログラム。自分のチカラが身につく瞬間がサイコーに良かったんです。プログラムなら何時間でも組んでて飽きず、ご飯を食べ忘れることもしばしば。そのお陰?か、今ではYoutubeにも情報を流せるまで成長しました。

 就職してから、全く関係のない業務に携わるときも「あ、コレはプログラミング的に考えると、コレを先にしないとだな~」と考えたりするので、まだまだ狂ってるんだと思います。今は時代が優しくて、これを論理的思考力と呼びます。一昔前なら面倒くさい人間呼ばわりでしたが、良い時代になりました~。

満足できる今がイチバン?

 普段やっていることと180度違うモノ、例えばデスクワーク多めならお外へ、外回り系が多いならおうち時間など、180度違うモノを試すと刺激は輪廻します。よく聞く「アレのために仕事をがんばろう」状態です。最近の若者(私もですが)は物欲もあまり無い上にデフレで育ってますから、そんな気持ちにならない人が多い中で、さらに自己完結型な半径20cm趣味で生きていますから、当然夢も希望も無くなります。現状で満足できますし、現状で満足できなくなるのも怖いんです。現状維持ができれば、無駄にお金も時間も使う必要はありません。究極にコスパが良い状態です。今はそう思っていて良いと思います。若気の至りです。

お外はたのしいよ

 最近、お外に出る新しい趣味ができました。お仕事もキホンは屋内なので、お外の情報は新鮮です。新型コロナウィルスの影響でまだまだ遠出はできませんが、田舎でも近場でも遊びに行けるところはたくさんあるんです。きっと、学生時代の私に外に出る趣味ができた、な~んて言ったら確実にドン引きします。

 例えば、ゲーム開発を仕事にしたとしましょう。あなたは晴れてメインプログラマーの座を勝ち取りました!夢のゲームプログラミングの毎日。楽しくて仕方ないと思います。最初のウチは。仕事で程よい刺激が生まれれば良いですが、消化不良を起こすこともしばしば。そんなときに、あえて180度違う角度で趣味を持ってみましょう。何も大きなことをしなくていいんです。おうち周辺をお散歩、観光地をブラブラ、美術館や博物館に行ってもいいでしょう。

外に出る=陽キャ ではない

 根っからのコモリスト(※おうちに籠もるのが好きな人の意)な私。アニメやゲームも大好きですから、学生時代は外に出る発想は全くありませんでした。何だか外に出るって陽キャなイメージで。加えて、若干の厨二病が入ってたんでしょう。「家に籠もってプログラミングガチ勢になることが偉い!」みたいな。「外に出てる時間は無駄なだけ」とか。今思えば、外の世界を知るのが怖かったのかもしれません。

趣味が持つ2つの意味

 面接で聞かれる質問で上位にあるのが「あなたの趣味は何ですか?」は、必ず趣味を聞きたいワケではないようです。趣味には2つの意味があり、体を動かす「アクティブ」と、体を休める「リラックス」です。

 例えば、よく答案例として挙がる「スポーツ・ランニング」なんかは、体に刺激を与えてリフレッシュする「アクティブ」な趣味。「読書・料理」なんかは、心に癒やしを与えてリフレッシュする「リラックス」な趣味。共通するのは「リフレッシュ」できること。

 つまり、リフレッシュできれば、人に言える範囲で趣味なんぞ何でもいいんですぞ。

趣味をスマートに。

 リフレッシュできるからと言って「寝る」を趣味にしても良いの?という話にもなりかねません。趣味はリフレッシュ以外に「刺激を受ける」という大事な側面もあります。刺激を受けすぎても大変ですが、なさすぎるのも大変です。

 おそらく、最近の「趣味が無い」と言ってしまう方は、手軽に刺激を得る方法を知ってるんです。スマホゲーム、YoutubeサブスクリプションSNS・・・自身の半径20cm以内で「刺激&リフレッシュ」を得られます。わざわざ趣味を持つ必要なんて、ないんだと思います。私もかつて、そう思ってました。

ネットで何でも解決できる!?

 なんでも便利になった世の中、以前ネットの掲示板で「観光地に行くだけ無駄」論争をみたことがあります。GoogleMapで観光地に行けるのに、ワザワザ行くのはアホだと。レビューサイトで観光地の情報が書いてあるから、行かなくても分かるんだと。考え方は人それぞれですから割愛しますが。

 私が思うに、オンラインミーティングをしたとき、間のとり方や雰囲気が分からず困っているという経験や記事を良く見ます。学生も、普段はノリの良い先生が、オンライン授業だとイマイチ・・・という経験があるかもしれません。残念ながら、オンラインは雰囲気を伝えられません。最近の言い方だとメタ認知ですね。このメタ的要素が、人間の刺激&リラックスに大きく作用すると思います。

 動物園に行って生のどうぶつを見るか、動物図鑑で見るか、どちらがダイナミックでしょう。確かに、同じ動物を見るという目的は達成されますが、ダイナミックというメタ情報(雰囲気)は、現地に行かなければ分かりません。真の意味で心を満たせるのは、まだこの時代の技術では難しそうです。

趣味のもう一つの側面

 プログラミングやゲーム開発が趣味だ!と言えるのは素晴らしいことだと思います。でも、開発中は上手く作業できることが少なく、難航することも多いです。気晴らしにゲームするか・・・とスマホゲー。SNSを巡回し、気づいたら2時間も触っていた・・・なんてことは誰しもあるはず。そんなスマホ系趣味と違い、一般的に趣味と呼ばれるモノには、まだ違いがあります。

  • 推理小説を読み「終わる」
  • 恋愛映画を見「終わる」
  • 料理を作り「終わる」
  • 「ゴール」までランニングする

 おそらく、趣味の1つの特徴は「終わりがある」ことだと思います。適度な終わりが、自分の「やりきる力=達成感」を伸ばすヒントにも繋がっているんです。

趣味を持って良いんです。

 個人的には「趣味」という言葉に、どうしても「リア充」「陽キャ」「コスパが悪い」など、根暗なキーワードを並べ立て拒否する傾向がありました。でも趣味は始めるモノではなく、出来るもの。いろんなモノに手を出してみて、続ければ趣味になるんです。続かなくても、色んな刺激は仕事でもプライベートでも生きがいになるはず。今は合わない趣味でも、人生のどこかで再開し趣味になることだってあるはずです。食わず嫌いは良くありません。最後に、趣味の良いところをおさらいしましょう。

  • 刺激&リラックスできる→身も心もリフレッシュできる
  • 適度に区切り/終わりがある→達成感を育てられる→自信がつく
  • メタ認知はデジタル化できない→現地の「雰囲気」で初めて満足できる

 世の中、決してコスパだけで語れなコトがあるんです。特にメタ認知の具合は人によって違います。だから、どんなに小さくてショボい趣味でも良いんです。まずは自宅周辺のお散歩から初めてみるのはいかがでしょうか。慣れ親しんだ道でも、知らない発見があるかもしれませんよ?

DXライブラリ/エフェクト描画/配列とアドレスの関係

まえがき

まずはこちらを御覧ください。 youtu.be

この動画では、DXライブラリを用いたアニメーション描画の例を解説しています。 ただ・・・あまりにもプログラムの解説が少ない!もっとちゃんと解説して!という意見がありそうなので、ブログで補足します。

分割のおさらい

 DXライブラリでは、DrawDivGraph関数を使い、1枚の画像を複数の画像に分割し、メモリ内に保存します。メモリ内に保存された画像たちは「ハンドル」という管理番号でプログラム上は扱い、配列でまとめて管理されることで、DrawGraph関数などの描画関連で使用されます。

分割のイメージ

配列を画像に合わせる

 悲しいことに、エフェクト画像は、画像の分割数が違うことがあります。

分割数のちがい

 プログラムで吸収するのも良いですが、下記のようにイチイチ分割数を定めていては大変。

#define DIV_MAX_20 15    //分割数
#define DIV_MAX_20 20    //分割数

int Handle[DIV_MAX_15];  //分割数15用のハンドル
int Handle[DIV_MAX_20];  //分割数20用のハンドル
//キリがない・・・

動的に作成するとは?

 C言語では「メモリを動的に確保する」という技術があります。残念ながら、プログラムが動いている最中に配列が伸び縮みするワケではありません(出来ないことも無さそうですが)。プログラムが実行するとき、状況に合わせて必要なメモリを確保することを、「動的に確保する」と呼んでいます。

配列を静的に作成する

 逆の言葉として「静的に確保する」ということもできます。下記のようなプログラム。静的=定数といったイメージで、プログラムを実行しても、常に素数などサイズは変わらないことを指します。

int Hensu;     //変数の静的確保
int Array[5];  //配列の静的確保  

ポインタはプログラム上の目印

 もう一つ理解しておきたいのは、C言語の鬼門であるポインタ。変数や配列は、パソコンのメモリ空間上に、場所を確保したり破棄されたりするんです。プログラムを実行するときに確保され、プログラムが終了すると破棄。いつも通り静的に変数や配列を作っていたら、大抵は破棄されるのでご安心を。ともかくメモリ上に確保されることがポイント。メモリは空間のそれぞれに、16進数のアドレス(住所)が付けられています。その住所を指し示すのが「ポインタ」なんです。

ポインタのイメージ

ポインタの書き方おさらい

 ポインタはC言語の場合、ポインタ変数という特殊な変数を使います。変数名の前にアスタリスク がついて、「これは普通の変数じゃないですよ~」と、文字通り目印にするんです。ポインタ変数のデータ型は、指し示す部分のデータ型を使います。また、ポインタ変数にはアドレス以外は入れちゃダメです。何が起こるか分かりませんよ~。

int Array[5];  //配列の宣言
int *p;        //ポインタ変数の宣言

配列では先頭アドレスを入れればOK

 配列をポインタで管理したい場合、配列の先頭アドレスを入れて上げればOKです。先頭さえ分かれば、要素数の分だけ順番にアクセスできるからです。配列は連続してデータを確保する構造体の1つ。配列の仕組みを理解すると、ポインタとも仲良くできそうです。

int Array[5];  //配列の宣言
int *p;        //ポインタ変数の宣言
p = &Array[0]; //配列の先頭アドレスをポインタに代入

先頭アドレスは大事!

配列名を指定しない値の入れかた

 ポインタを使用すれば、配列名を指定しなくても、アドレスを間接的に参照して値を入れたり、アクセスしたりできます。そのときに使われるのもアスタリスク今回は「間接参照演算子として再登場です。気をつけるのは括弧の位置。 *p+1 *(p+1) は別モノです。

処理 説 明つまり・・・
*p+1 先頭アドレスへアクセス→間接的に値を取得→その値に+1Array[0]+1と同じ
*(p+1) 先頭アドレスから1つ後(+1)へアクセス→間接的に値を取得Array[0+1]と同じ
int Array[5];  //配列の宣言
int *p;        //ポインタ変数の宣言
p = &Array[0]; //配列の先頭アドレスをポインタに代入
Array[1] = 10; //直接的に、配列の要素に10を代入
*(p+1) = 10;   //間接的に、配列の要素に10を代入

参考)https://www.cc.kyoto-su.ac.jp/~yamada/programming/pointer.html

あとがき

 実際に配列を動的確保する方法は、次回以降で解説予定。今回は配列の先頭アドレスが分かれば、配列がメモリ空間上でどこにあるのか分かるんだ!という部分を理解いただけると良きです。