【ポエム】【現役向け】最近思うこととか語る

はじめに

 こんにちは、2年次のまんじゅうです。3年次なるまで後1週間切りったので新3年次って名乗った方が良いかもしれませんが。

今回はいつもの活動報告ではなく、現在進行中で暇を持て余しているので、ポエム枠として(関係ないことも含めて)色々語っていこうと思います。

ポエム枠書くの初めてなのでぐだぐだです。超長いです。あと実になる話があっても現役向けばっかりになるかと。そのため、興味あるところだけ見てもらえればと思います。一応要点は太字にしているので、そこだけ追っても最低限言いたいことは伝わる‥かな?それと気楽に書きたいので文体とか適当になると思うのでその辺ご了承下さい。

新入生向けの記事はまた別に書きます。このサークルがどんなことをしているのかを知りたい人はこの記事ではなく、後ほど上げる記事を見ることをオススメします。

追記:3月31日にたか君が新入生向けの記事を書いてくれました。ありがとう!見たい方はこちらからどうぞ

追記2:4月2日に僕の方でも新入生向けの記事を書きました。たか君の記事とはまた違う話をしています。見たい方はこちらからどうぞ

 

 

 

 

 

 

 

‥‥いいですね?

(こういうの1回やってみたかった)

 

 

 

 

目次

 各項目であまり話が繋がってないので、見出しだけまとめておきます。タイトルは上の「目次」みたいに大文字になっているので見つけやすいと思います。

今回は下記の6つでお送りします。

・この記事を書くに至ったきっかけ

・最近の進捗

・RPGツクールについて思うこと

・競プロの話

・ゲームジャムについてのあれこれ

・あとがき

それではどうぞ。

 

この記事を書くに至ったきっかけ

 皆さんは最近どう過ごしてますか?僕はとにかく暇です。元々春休みが暇になりやすいのに加え、新型コロナの影響で大学から「無駄に外出ないで(意訳)」と言われ、始業日も2週間ほど延びたことも大きいです。

あ、あとtwitterでも発言しましたが、C98当選したものの、新型コロナの影響を考えた結果5月開催の場合は参加自粛します。残念だけど仕方ないね。‥って書きましたが、先程C98が中止になったとメールが来ました。しゃーない。

ついでにGWに授業日が割り振られるってニュースでやってました。マジ?これが本当ならなおさら5月開催には参加できなかったっす。もう開催ないけど。

 ただこれだけなら「基本情報(基本情報技術者試験)の勉強に集中できるじゃ~ん」って思ったんですが‥

今朝メール見たらこんなの届いてました。

基本情報の対策を進める自分に突然襲いかかる衝撃

‥なんてこったorz。僕としてはこれちょっとまずいですね。というのも秋の試験は秋大祭と被るけど、実は僕会長なので、可能なら展示の方もいるべき‥、しかも来年の春だと色々と手遅れ。このままだと秋大祭の参加捨てて受験しなきゃいけないです。初年次の時も用事で参加できなかったので、秋大祭行きたいという気持ちに反して出席率がどんどん悪くなっていく‥。

ただ試験の延期も検討しているとのことなので、なんとか中止じゃなくて延期になって下さいお願いします。

 とにかく、これで僕に残された道は

・ゲーム制作(やれ)

・暇つぶし(ゲームで遊ぶ、動画見る、小説読む)

・ブログ書く(この記事)

位となってしまいました。あ~暇だあ~

こんな経緯があり、せっかくだから記事でも書こうと思ったので最近の進捗でも語っていこうかなと思います。

 

最近の進捗

 さっきは勉強いらなくなって暇だ暇だ言ってましたが、実はゲーム制作も地道にやってます。むしろハイペースかも(今までが遅すぎ)。TNP現役の皆さんは進捗どうですか?(突然のジャブ)

僕は2/3まで作ってたRPGツクールMVの練習作を完成までなんとか持っていきました。完成まで約1年かかる練習作があるらしいっすよ(プレイ時間目安:3~4時間)

問題の作品。タイトルから既に嫌な予感がする

 作った感想としては、最初一発ネタから始まったのになんでこんな長編作品になったのかと自分でも驚いています。いやほんとに。

 次に参加するコミケの作品集には入ってるとは思いますが、RPGアツマールに投稿するかは検討中です。というのも僕はニコニコは一般会員なので、今後も考えるとあまり容量ないんですよね。なので容量削るだけ削ってWeb上での動作に問題が無ければ投稿します。そこまでやる気力が無かったら‥察して下さい。

 

 そんなこんなでやっと(作りたくも無いけど)作っているゲームを完成させなければならないという呪いから解放されたので、東方の二次創作RPGの制作に着手し始めました。初年次の頃からずっと作りたいって言ってて、そのために(セール外に)RPGツクール買ったというのもあるので、やっと夢が叶った感じです。

 ちなみにこちらは素材の利用規約の関係上、コミケには出せません。アツマールと適当なサイト配布になると思います。在学中に完成すればですが。

 それで作り始めて思ったんですけど、作りたいゲームを作るのってめちゃくちゃ楽しいっす。楽しすぎて気がついたら毎日平均5時間位制作活動してました、みたいな状況になってます。え、全然暇じゃなさそう?これしかやることが無いんです‥

 話戻しますが、さっきのを踏まえると、制作のモチベ上げたい人は「○○みたいなゲームつくりたい!」というように「こういうの作りたい!」というのを見つける方が良さそうかなと。純粋に作りたい物を作るのでモチベが上がります。

 あとミニゲームみたいに構造が簡単で、短期間で作れそうな作品にするのもコツですね。モチベが長続きするかは本人次第ですが、短期間で作れるものにすれば無理矢理完成まで持っていけるので。間違っても完成まで半年とか1年かかるようなゲームを作るのはやめよう、ほんとに(経験談)

 目標を決める方はともかく、短期間で作れる作品選びについてはゲームジャムである程度決め方の練習ができます。未完成で終わってしまってもある程度制作が進んだ状態なので0から作るより楽ですし、必然的にミニゲーム作ってる(はず)ので短期間で完成しやすいかなと。そのためにゲームジャムがあったのかあ()

 簡単そうとか難しそうとかはLineで僕とかに聞いてもらえれば意見くらいは出せるので、困ってたら遠慮せずに是非質問下さい。春休み中は皆暇だと思うので。

 

RPGツクールについて思うこと

 で、そろそろ皆さんこう思ったんじゃないですか。「あれ、こいつプログラミングしてなくね?」と。実際RPGツクールはプラグインを自作したりゲーム内で細かいゲームデータを参照したりしない限りはプログラミング必要ないんです。当サークルでRPGツクールが流行らない理由ですね。会長なのにそんなの使ってていいのか‥?

しかしゲームデータの参照は検索すればある程度出るのでややこしくてもなんとかなりますが、仮に他人のスクリプトを改変したり、なんならスクリプトを自作しようとすると結構大変です。

どんな感じのことをしているか、雰囲気をつかんで貰うために適当なコアスクリプトの一部分を用意しました。

 で、これを見て大体の人は「は?」とか「なにこれ?」とか「いきなり変なもん見せんじゃねーよ」とか思うでしょう。

ですが、安心して下さい(?)、全文読んでもさっぱり分からないです。というか長すぎて読めません(確か合計6万行くらい)。僕がJavaScriptをあまり知らないってのもありますが、それにしても厳しいです。分かりにくいと思う理由としては、クラス継承のしすぎで子クラスのメソッドとかフィールド変数が膨大な数になってるんですよね。そりゃ分からん。更にRPGツクールMVはコメント文によるコード説明がほぼ無いので解読は地獄です。

で、僕は変えたい機能が見つかり次第これを解読して書き換えていると。といっても僕は有志が作ったプラグイン(拡張機能)を多用しているのでそちらのコードを書き換えますが、そちらはヘルプがしっかりしているのでなんとか理解できます。公式のスクリプト書き換えは死ぬ

なんでこんな話をしたかですが、ツクールに興味がある人(このブログ見てる人でいるか分からないけど)に自力でスクリプトを書き換えるのは大変だよって伝えたかったからです。ま、自分がプログラミングしない限りは制作が楽な制作環境なのでそこを最大限活用しましょう(本末転倒)

僕自身は仲間が増えるのは大歓迎なので、興味があったら是非。有料で結構高いですが、セール中ならほどほどな値段になる上に頼めば部費から補助金出してもらえるかも?(僕の時は半分負担して貰いました)

 

競プロの話

 長々とツクールの話をしてきましたが、ようやくまともなプログラミングの話に入ります。え、さっきの?一般的なプログラミングじゃ無いでしょあんなん()

 これは経験談ですが、RPGツクールでの制作(上述のプログラミング要素無し)みたいなことしてるとプログラミングができなくなっていきます。ほんとに。

このサークルに所属している以上、どうやってコーディング力を向上(最低でも維持)するかは課題になってくると思います。まあコーディング環境(DXライブラリとかSiv3DとかUnity(物による)とか)でゲーム作っていけば他の人から教わったノウハウを吸収していくので徐々に上手くなっていくと思います。

ただ、僕みたいにRPGツクールのようなコーディングいらずの環境で制作する人やそもそもゲームを作りたくない(素材制作勢は例外)人はどうするのでしょう?

 そこで競プロです。なんと毎週100分頑張るだけでプログラミングがだんだん上手くなっていき、ついでに+で解法を読むことでアルゴリズムのノウハウも学べます(個人差あり)。これはやるしかねえ!

 やり方は簡単。AtCoderに登録した後にAtCoder Beginner Contest(ABC)に参加登録して、時間になったら問題を解くだけ!ね、簡単でしょ?

ABCは毎週末開催されているので、暇だったらやってみよう!‥という宣伝でした。実際オススメなので、とりあえず1回やってみて貰えると嬉しいです。暇でしょうし。

きっとそのうちkurokuくんがまた競プロ勉強会でも開いてくれるでしょう(無茶振り)

 僕は春休み中も継続してやっていますが、遂に来てしまったというべきか、レートが伸び悩んできたので困ってます。一応C問題はほとんど解けるようになり、物によってはD問題も解けるようになってはきましたが、いかんせん解答時間がなかなか短くならなくて‥。今はA~C問題までを20分以内に解くことを目標に頑張ってます。

あと企業コン、テメーはダメだ。

 

ゲームジャムを開催する理由

 実はこの記事で一番伝えたいことです。というのも以前開催したときの記事(センター試験直前編)で「ゲームジャムでお題を無視して自分が制作したい物を作る」という事について「長くなるので機会があればポエムで」みたいに書いていました。丁度良い機会なのでここで書こうかなと。既にここまでで超長文と化していますが。

興味ない人は「またあの人なんか喋ってるよ」位でいいですが、興味あるけど難しそうとか参加するのに勇気が要るとか思っている人には是非読んで貰いたいです。1歩踏み出せるかは本人次第ですが、理解は深まると思います。要点だけ見たい人はこの見出しの最後の方に箇条書きしてるので、そちらを見て下さい。

じゃあ早速本題に入ります。

 改めて述べますが、ゲームジャムお題を無視してに自分が制作したい物を作る事については、個人的には全然アリだと思います。

 理由としては、僕個人の意見としてお題はあくまで指標の1つであって強制する、強制される物ではないと考えているので、無理にお題に沿おうとするよりも作りたい物を作る方がやる気が出ていいのかなと。

ただ、お題も使いやすい物にするよう注意して選んでいるなので、出来そうならお題を使って制作に挑戦して貰いたいとは思ってます。発想力と柔軟さが増すと思います。

 また、ゲームジャムは話だけ聞くと難しそうとかそんな短期間で完成しないとか考えてしまって手が出づらいと思います。

ですが慣れない内は一日二日で完成できなくても仕方ないですし、その分他の参加者が助けてくれます。皆通った道なので。また、そもそも慣れている人でも時間の都合もあり成果物のクオリティは低くなりがちです。僕とかその筆頭ですし。そのため、出来とか質に関しては皆寛容で、あまり気にしない傾向にあります。これらのことから、参加するハードル自体は結構低いと思ってます

少し話はそれますが、成功体験ってすごく大切です。自信がつくので次の制作のモチベが上がりますし、行き詰まっても「あの時完成できたから今回もいける!」みたいに前向きになれます。

ただ、まだ作品を1つも作れていない人にとっては初めての作品というはかなりハードルの高い物で、一生完成しないんじゃないかとも思えるかもしれません。実際僕は初作品で変なジャンル選んだせいで完成まで半年かかり、完成するまでは「これ永遠に完成しないでしょ‥」とか思ってました。でもそれが完成した後は、完成まで持って行こうという意思が強くなり、それが反映されているのか今までよりもスムーズに作業が進むようになりました。

なんか広告みたいで胡散臭い?実話なので勘弁して下さい。

話を戻しますが、ゲームジャムは作品を完成させる事を目標にしているので、成功体験を得やすい環境だと感じています。先程も述べたとおり行き詰まったら他の参加者に手助けしてもらえるので完成まで持っていきやすいです。

 他にも、こういう会に参加することで新しい技術を習得したり発想が柔軟になったりと確実に制作方面の力が身につきます。なので、僕としてはこのような機会を通して制作活動に慣れたり、今後の活動への足がかりとして欲しいと思うので、気軽に参加してもらいたいです。ただゲームジャムは活動日以外に開催されるので、無理して都合をつけてまで参加する必要は無いです。新型コロナの問題もありますが、隙を見てちょくちょく開催するように努めるので、暇なときに参加して下さい。

こんなとこですかね。要点だけまとめると、

・ゲームジャムに参加すると色々学べるから、暇だったら参加すると良さげ

・ゲームジャムのお題は無理して従わなくてもいい

・ゲームジャムはいいぞ

ってとこですね。

ただし、今は新型コロナの問題もあるので、普通にサークル活動出来るようになるまでは開催を自粛します。たまには他の人開催しても良いのよ?

 

あとがき

 ここまで読んでくれてありがとうございます。気がついたら8時間経ってた上に5500字超えてたんですね。次からはもっと読みやすくなるよう気をつけます‥

 最初に予防線張ったので新入生でこの記事をここまで読んでる人いないとは思いますが、もし読んでたら長々と訳分からない(であろう)話を読んでくれてありがとうございます。もうあなたは期待の新人です。見学に来たら(僕が)喜びます。

 書いてみた感想ですけど、最近のあれこれをぼやきつつ、伝えたいことは書けたかなと思います。長いので要点探すのも一苦労ですが(特にスマホから見てくれてる方)。

最後になりますが、春休み、もとい自由に使える時間があと3週間もあるので、今後の糧になるよう大切に使っていきましょう。

それではこの辺で。また次の記事で会いましょう。まんじゅうでした~。

分かんない!!「分かんない!!私には分かんないの!! 」なんて分かんない!!私には分かんないの!!

「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!! 
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!『罪深い』って何なの!?罪があるのの何がいいの!?犯罪者がかっこいいの!?そもそも『混沌』って何!?カオス!?だから何なの!?『闇』って何!?暗ければいいの!?『正義』と『悪』だと、何で『悪』がいいの!?何で悪い方がいいの!?悪いから悪なんじゃないの!?右腕が疼くと何でかっこいいの!?『自分の力を制御できない感じがたまらない』って、何それただの間抜けな人じゃん!! 
ちゃんと制御できる方がかっこいいよ!!立派だよ!!普段は力を隠していると何が凄いの!?そんなのただの手抜きだよ!!隠したりしないで全力で取り組む人の方がかっこいいよ!! 
どうして二つ名とか異名とか色々付けるの!?いっぱい呼び名があったって分かりにくいだけじゃん!!英語でも何でもカタカナつけないでよ!!覚えられないんだよ!!鎮魂歌って書いてレクイエムって読まないでよ!!禁忌って書いてタブーって読まないでよ!! 
聖戦って書いてジハードって読まないでよ!!※ 
ギリシャ神話とか聖書とか北欧神話とか日本神話とか、ちょっと調べたくらいでそういう話しないでよ!!内容もちゃんと教えてくんなきゃ意味が分かんないよ!!教えるならちゃんと教えてよ!! 
神話に出てくる武器の説明されても楽しくないよ!!グングニルもロンギヌスもエクスカリバーもデュランダルも天叢雲剣も意味不明だよ!!何がかっこいいのか全然分かんない!! 
他の用語も謎なんだよ!!原罪とか十戒とか創世記とか黙示録とかアルマゲドンとか、『名前がいいだろ?』ってどういうこと!?『雰囲気で感じろ』とか言われても無理だよ!! 
相対性理論とかシュレディンガーの猫とか万有引力とか、ちょっとネットで調べただけで知ったかぶらないでよ!!中途半端に説明されてもちっとも分からないんだよ!! 
ニーチェとかゲーテの言葉引用しないでよ!!知らない人の言葉使われても何が言いたいのか全然わかんないんだよ!!自分の言葉で語ってよ!!お願いだから私が分かる事話してよ!! 
『ちゅーに』って何なの!?『ちゅーに』ってどういうことなの!?分かんない分かんない分かんない分かんない、分かんなーい!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」


こんにちは、老害生ガナリヤです><
もう三月で4年生でいられるのは後少しになりました・・・

来月からは外部生になるため、TNPにたまに遊びに行くみたいな感じになってしまいます(かなしい

さて、消えるまえに記事をいくつか投稿していきたいとね 思いますね(老害なりの賑わせ)

みなさん、「異能バトルは日常系のなかで」は知っていますか?僕は知っています(競プロ構文)

「異能バトルは日常系のなかで」の画像検索結果

5年ぐらい前のアニメで(もっと前か)
異世界能力をもつ人間がなにかしらするみたいな内容だったと思います><
覚えてない(そもそも見たっけか)

このアニメの中で

「異能バトルは日常系のなかで わかんない」の画像検索結果

上記の早見さんが2分強一発取りの
長台詞があります><(すごい)
冒頭のやつですね

櫛川鳩子(キャラクター)が、主人公の厨二病に対して
幼馴染として理解しようとはしてきたもののやはり理解できず
感情が高ぶった際の長台詞です(すごい)


今回、この長台詞を冒頭に書きましたが
このアニメのこのシーンをしらない人にとっては
「わかんない!」がわかんないよ!ではないでしょうか?

というわけでプログラミングしていこうと思うわね・・・🐍


まずは、「わかんない!」を出力するコードを書いていきます

string func(int n) {
    if (n == 0) {
        return "「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!! \n"
               "『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」\n";
    }
    return ""; 
}

上記はC++ですね><
main文で


int main() {
    cout << func(0) << endl;
}

のようにすると

「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」

と出力されます(一部をカットしています)

しかし、今回はこの「わかんないよ!」がわかんないよなので
わかんない要素をわかんない再帰にしていきます



string func(int n) {
    if (n == 0) {
        return "「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!! \n"
               "『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」\n";
    }
    string s = "「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!! \n"
               "『" + func(n - 1) + "』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『" + func(n - 1) + "』のどこがかっこいいの!?『" + func(n - 1) + "』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」\n";
    return s;
}

int main() {
    cout << func(3) << endl;
}

上記のようにすると

「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがかっこいいの!?『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがかっこいいの!?『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがかっこいいの!?『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがかっこいいの!?『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがかっこいいの!?『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがかっこいいの!?『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがかっこいいの!?『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがかっこいいの!?『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがかっこいいの!?『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがかっこいいの!?『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがかっこいいの!?『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがかっこいいの!?『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがかっこいいの!?『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」

になりますね だいぶわかりません。


さて、わかんない要素がわかんないよになりましたが
これで「問題点」がありますが わかりますでしょうか?(説明不足でわかんないよ)

このままでは、いわゆる再帰処理の爆発が起こりますね><
一個の関数で3つの関数を呼び出すので
深さが$d$のとき、$3^d$だけ処理が行われてしまいます、これでは虚無ですね

というわけで、メモ化再帰にしていきましょう

string dp[100];

string func(int n) {
    if (dp[n] != "") return dp[n];
    if (n == 0) {
        return "「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!! \n"
               "『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」\n";
    }
    string s = "「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!! \n"
               "『" + func(n - 1) + "』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『" + func(n - 1) + "』のどこがかっこいいの!?『" + func(n - 1) + "』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」\n";
    return dp[n] = s;
}

int main() {
    cout << func(10) << endl;
}

上記はメモ化再帰のコードです。
ある深さ$d$にて処理が呼ばれたとき、再帰処理で子供に処理を任せて
その結果を取得しますが
その結果をまとめ上げてそのままDP配列に入れます。
これによって、もし一回計算したらもう一度計算しなくて良くなりますね!

こうすると、もともとの文字列の長さを$S$とすると
もとの計算量は$O(3^d|S|^2)$でしたが
$O(d|S|^2)$にまで改善されます(はずです、計算量見積もりなので微妙なラインです)

これなら、深さ的には問題ないコードになりました!
ボトルネックは文字列自体の長さに依存します。


競プロを用いて、わかんないよの計算量を改善しました。
メモ化再帰は、通常のDPと比較すると
ランダムに更新が行われるような遷移に対して有効ですね><

ガナリヤでした><

【月一】話のエントロピーがああぁぁぁ!(?)

皆さんこんにちわ、kurokuです~

2月は大学も春休みへ突入し、絶賛ぐーたら生活を送っています。

世間では新型肺炎が広がっていますが僕が関わる県にはまだ感染者がいない(っぽい?情弱かも)ので一安心といった気持ちです。皆さんも外出には気を付けて!(僕も新幹線で帰るので怖いね)

さて、今回は先月の記事で競プロかUnityについて書くといったので、それらについて雑に書きたいと思います。

Unity

そもそもなんで今更Unityについて学び始めたかというと、「AR(拡張現実)」について興味を持ったからです。

今までは情報工学よりも情報科学・情報理論のほう(特に暗号・セキュリティ)に興味を持ってたんですけど、うちの大学はそれ系の研究室がないのでどうしよっかな~と思ってたところ、こんなニュースが目につきました。

 

「ARコンタクトレンズ」https://www.itmedia.co.jp/news/articles/2001/17/news076.html

 

近未来的で素敵やん!

 

ところで皆さんは「アクセル・ワールド(AW)」というラノベ・アニメを御存じでしょうか?

この作品の作者は言わずと知れた「ソードアート・オンライン(SAO)」の作者、川原礫さんなのですが、僕はAWがとても好きで、VRではなくARに興味をもったのもこれが大きい気がします。(VRもARも似たようなもんですけど(こんなこと言ったら怒られるかも))

(一番好きな表紙はちょっとエッチなので二番目に好きな表紙)

AWの作中では「ニューロリンカー」というウェアラブル端末が普及していて、各人の脳波を読み取って本人認証をしていて(たしか)、他人のニューロリンカーを勝手に外すことはかなりの罪となっています。

 

AWもSAOみたいに(SAO見たことないけど)VRゲームを中心としたバトルで、人間関係あり、という作品なんですが、このゲームがすごい。

なんとゲームアプリを起動(?)すると思考が1000倍に加速され、現実時間で1.8秒しかたっていないのに、ゲーム内では30分も時間がたつことになります。

まぁAWの説明はここらにしておいて(面白そうと思った人はお声がけください(秋田の家に最新刊までそろっているので貸します))、こんな感じもあってARアプリ作りてぇなぁ(唐突)と思ったわけです。

 

開発環境はいろいろあると思いますが、調べると「ARKit」か「Vuforia」が有名らしい。これらはUnityを使った開発になるのでまずはUnityの基礎的な部分を学ぼうと思ったわけです。

 

とりあえず買ったのはどのサイトでもおすすめされている「猫本」(僕が勝手にそう呼んでるだけですが)

少し厚いですがイラストがあったり、繰り返し同じことが書いてあったりで、プログラミング初心者にはわかりやすく、基礎プログラミングはわかるUnity初心者にはサクサク作れて非常に有用な本だと感じました。(これも声をかけてくれればお貸ししますが、僕も見たいのでMAX1週間くらいで)

後者の僕は春休みに入って一週間程度で終わらせることができました。

んでまぁ、「Vuforia」とかについても調べよう~とおもって調べたら、なんとまぁ僕のiphoneには対応してませんでした~(ぴえん

この機会に新しいのに変えるか絶賛悩んでおります。

 

ここまでが2月のUnity関連。

競プロ

※特に色が変わったわけでもないので内容は薄いです。

 

ここのところ非常に伸び悩んでいる。まぁ精進の質が悪いと言われればそうなんですけど、D問題を早解き出来ないんですよね。C問題まで:10分以内、D問題:50分みたいなことが多すぎる。いかに感覚でやってきたか、ボロがでてますね。

 

一方で、DPについての実装力は少し上がったと思います。ただ、持つ状態を間違えるとそこで沼にはまってグダグダになっちゃいますけど。

最近はこの記事(https://qiita.com/e869120/items/f1c6f98364d1443148b3)を中心にやってますね。(※初級編とありますが難しい問題もあるので詰まったらさっさと次の問題に進んでみましょう)問題を解かずとも、アルゴリズムの解説だけ見れば知識が増えると思います。

僕はJOIの問題形式が苦手です。入力の形式がわかりづらいので設定した変数を間違えたりします。問題読んでないだけですけどね。

 

あとここ3日くらい?起きて(昼)ご飯を食べた後にバチャコンをやっています。内容は1時間で300~400を5問解くって感じの早解きを目的としたバチャですね。興味あったら是非。

僕のtwitter:@76want_pc

あとは…そうだな..

7月のICPC国内予選、秋大では2チーム確定(?)しているんですが、どちらのチームも1人ずつ足りていません。片方はTNPの(4月~)院生2人、もう片方はTNPの(4月~)3年2人です。出てみたいと思う人はいつでもいいですが、早めに声をかけてもらえると、教えられる事、時間が増えるのでチームとしても嬉しいと思います。どちらのチームも横浜大会に行けるポテンシャルはあると思います!(本当か自分)

まとめ

毎度のことながら一生懸命何かしたというわけではないので、内容は薄いですが、勘弁してください。

他に書くことがあるとするなら、CTF(capture the flag)ですか。春休み前にちょっと話題に出たんですが、全然手を付けてませんね。というのも競プロと違って環境構築~とか入門~みたいな情報が少なくてちょっとした時間では触れれないと感じました。(前提知識多そうだしね)

 

次回で【月一】の投稿は終わりですが(は?)、4月もどうせサークル勧誘的な記事を書くと思うので、もうちょっとだけ続くんじゃよ。

(来月も学校ないから、話題ないじゃん!急いで水色にならなければ)

 

といったところで今月は以上です。kurokuでした~体に気を付けて~

ゲームジャム(1年生向け&春休み突入編)

 こんにちは、2年次のまんじゅうです。今回は2月11日(火)にゲームジャムを行いました。今回はいつもの個人作業では無く、ゲーム制作が苦手な人が主となって制作し、詰まったらペアの得意な人に助けて貰いつつ制作していく、ペアプログラミング形式(厳密には違う気がしますが)で行いました。

 今回のお題は「階段」、「決闘」、「超常現象」、の3つと、時期的に丁度良かったので「チョコレート」を含め、計4つに設定しました。

 下に各参加者の成果物を紹介していくので、是非ご覧下さい。

成果物紹介

1年 なりょー (補助 ズッキー(2年))

制作環境 Unity

 「決闘」を使った対戦ゲームで、一言で言うと「スマブラ」とのことです。相手に攻撃すると20%のダメージが溜まり、一定のダメージが溜まるとスマブラの様に場外に吹っ飛ばせます。見ていて爽快感があるゲームだと感じました。

右側の生物が伸ばしている触手みたいな奴が攻撃です
勝利判定もしっかり出ます

 

1年 ハイブリッジ (補助 まんじゅう(2年)、いっちー(3年))

制作環境 DXライブラリ

 「階段」を使ったアクションゲームで、次々に出てくる床に飛び乗っていくゲームです。ゲーム自体はどんどん生成される床にひたすら乗り続けると単純なものですが、強制スクロールをさせたり、画面の左右をループさせたりとシステム面でいろいろな工夫を凝らしているのが印象的でした。

常時ジャンプしていることもあり、意外と難しいんです

 

2年 クマ (補助 まんじゅう(2年))

制作環境 DXライブラリ

 「決闘」を使った作品で、一言で言うとカービィの「刹那の見切り」ですね。3ラウンドあり、ラウンドごとに入力猶予時間(敵の強さ)が厳しくなっていきます。早押しが始まるタイミングを乱数でずらしているようなので、結構再現度が高く仕上がっていると感じました。

直撮りで申し訳ないとの事でした。勝敗画面はかなり面白かったです(ここでは色々まずいので割愛)

 

2年 こうぐち (補助 いっちー(3年))

制作環境 DXライブラリ

 「超常現象」を使ったタイピングゲームで、タイピングによる不思議な力でリア充を不幸にするゲームのようです。ゲーム自体は普通のタイピングゲームですが、ゲームの設定が凝っていたり、タイピングが成功した際の加点がやたら高得点だったりと印象に残る所が多い作品でした。

開催したときはホットな話題でした。投稿遅くて申し訳ない
タイピングに成功するとここから1億点(確か)増えます

 

4年 HIM

補助 まんじゅう(2年)

制作環境 DXライブラリ

 4年次ですが、「慣れていないDXライブラリで何か作ってみたい」ということでこちらの枠で紹介します。「決闘」を使ったゲームで、簡単に言うと「本田のじゃんけん」ですね。ただ元ネタの関係で、勝率3分の1の普通のじゃんけんでは無く、相手の勝率が7割程になっているそうです。勝敗を決め、それから相手の手を決定するようにしているということで、上手く再現できていたように感じました。

手の選択は緊張します
相手が勝ったら煽ってきます。3通りあるそうです
こちらが勝った版も。こちらも3通りあるとのこと

最後に

 今回は普段と違う形式でしたが、教えて貰う側はもちろん、教える側も教える立場ならではの発見もあったりしたので、両者が学べる良い会になったと思います。

 ただ、今回意図せず「決闘」という非常に簡単にゲームの方向性が決まるお題を入れてしまったためにそれを選んだ参加者同士が似たような作品になりやすい環境にしてしまいました(今回は完全な被りはなんとか回避しましたが)。そのため、今回の反省を活かして次回以降の開催ではもう少し慎重にお題を決めたいと思います。

 また、実は今回ちゃんと意図があってゲームジャムの形式を変えていました。というのも、あと1ヶ月程で新入生が入ってくる(はず)ので、この会でノウハウを学んで春休みや今後の制作活動の糧にして、今のうちに制作活動に対する抵抗や苦手意識をある程度和らげてもらいたいと考えたからです。結果としては計8人と普段より参加者が多く、またゲームジャム初参加の人もいたため、悪くは無かったように思います。欲言えばもうちょい1年来て欲しかった

 ここだけ現役部員向けの話になりますが、春休みもまだ1ヶ月残っているので、今のうちに夏コミの作品を作っておく事をオススメします。今年は5月の連休に開催で、4月が忙しくなりがちなので、春休みが終わってしまうとほとんど時間がありませんし。皆で頑張っていきましょう。

 長くなりましたが、最後まで見て下さってありがとうございました。

ゲームジャム(センター試験直前編)

はじめに

 

 お疲れ様です。2年次のまんじゅうです。今回はセンター試験直前の数日が休講日であったため、1月16日(木)にゲームジャムを開催しました。
約1ヶ月程遅れてしまったので、すっごく今更な報告となります。申し訳ありません(見てる人どれだけいるか分かりませんが)。

 今回のお題は、「太陽系」、「エネルギー」、「瓦」と、センター試験直前ということで「受験戦争」を追加し、合計4つ設定しました。

 今回も参加者からの成果物の紹介や感想を貰っているので、最後まで見て頂けたら幸いです。

成果物紹介

1年次 ハイブリッジ

開発環境 DXライブラリ 
テーマ:瓦

 エンターキーを連打してパワーを溜めて、瓦を割った数を競うゲームです。システムは出来たと思うのでグラフィック面を今後の課題として頑張ります。

1年次 なりょー

開発環境 DXライブラリ 

 どうも。1年次のエターナルデスサイズです。嘘です。なりょーです。
 今回のゲームジャムではunity3Dを使ってエー〇コンバットのような操作を実装したかったのですが、 自キャラが旋回すると前後上下左右がずれていくという問題を残したまま終わってしまいました。
 自キャラの上、前、右に適当なオブジェクトを置いてそれとの相対ベクトルを取ればよくね?と思いつきましたが試していません。また、制作当初はAddForceを使って瞬間的な加速の実装も目指していましたが、慣性の効き具合が納得いかなくてやめました。どうするといい感じになるのか、教えてエロい人。

1年次 UMA

開発環境 Unity

 「カ〇ジの沼」です。音声素材については著作権ガン無視なので未来永劫公開されることのないプロジェクト・・・とのことです。

2年次 まんじゅう

開発環境 DXライブラリ 
テーマ:太陽系、エネルギー

 今回はキーを連打する、タイミング良くキーを押す(2種類)の3種類のミニゲームをこなして、それらで貯めたパワーで太陽系の星々を破壊していく、という感じのゲームを作成しました。○ービィの○ガトンパンチを彷彿とさせますね(似せたつもりは無かったのですが、気がついたらこうなってました。許せサスケ)。
 システム面は完成しましたが、グラフィック面がしょぼい(背景のループ処理位しか実装できていない)ので、今後はちゃんと楽しめるゲームに仕上げていきたいと考えています。

2年次 ズッキー

開発環境 ブレンダー

 ブレンダーを使った初めての作品です。あまり複雑でないもの(ツール?)の中でポケモンのコオリッポを作成しました。
作業を通してブレンダーの基本的な操作を学べたと思います。

3年次 いっちー

開発環境 DXライブラリ 
テーマ:受験戦争

 適度に休憩を取りながら受験勉強に励み、志望校合格を目指すゲームです。
 遊び方は簡単で、勉強や睡眠などの行動を選択してストレスや眠気が限界を超えないように勉強量を増やしていくだけです。
 勉強以外の行動は1回しか選択できず、ストレスや眠気が限界の状態で勉強を選択すると、倒れてしまいゲームオーバーとなります。

 各行動時のパラメータ変化
[ 勉強 ]  勉強量:+1 ストレス:+2 眠気:+1
[ 睡眠 ]  ストレス:-2 眠気:-2
[ お風呂 ]  ストレス:-1 眠気:+2
[ マンガ ]  ストレス:-1
[ お菓子 ]  ストレス:-1 眠気:+1
[コーヒー]  眠気:-2

最後に

 やっぱりゲームジャムはいいですね(いつもの)。
こういう機会があれば初めて触る環境や技術も試そうと思えますし、なにより長時間制作活動に専念できる上に分からない点は他の人から教えて貰えるので、作業が捗ります。
 また、今回は人数が多めだったので、作業中は部屋に活気があったように感じました。次回以降もこのくらいの人数は欲しいなあ(願望)。

 それと、今回はお題を考えずに自分が制作したい物を作っている人が多かったですが、個人的には全然アリだと思います。理由としては、一番大きいのは参加者自身のモチベが上がりやすいからですね。

 他にも色々理由っぽいのはありますが、長くなるので今回は割愛します。この辺りは近いうちにポエム枠の記事で気持ちを語るかもしれません。

 最後まで見て頂きありがとうございました。また次回の報告で会いましょう。

【月一】SCP概論Ⅰ【雑談】

はじめに

(1/31 24:18に書き始めました。ギリギリ1月ですね。月一投稿は守れていますね!えらい!)

 

こんにちは、kurokuです。今回はホワイトボードに題材が寄せられていなかったため、雑談回としてSCPについて紹介したいと思います。

自分が知っているSCPはほんの一部ですのでもし興味が湧いたら本家の記事や解説記事、動画でほかのSCPもみてみてください。

 

SCP一覧:http://ja.scp-wiki.net/scp-series

 

SCPってなんぞや?

簡単に言うと怪奇現象、異常存在のこと。物語シリーズの「怪異」みたいな。SCP財団という組織はこれらの存在を確保(Secure)、収容(Contain)、保護(Protect)することを目的に秘密裏かつ世界規模の活動を行っています。

各SCPは3つのオブジェクトクラスに分類されています。

<Safe>

正しく収容している限りは安全。

<Euclid>

収容が困難であったり、収容しても安全と限らない。知性、自我を持つオブジェクトは大体これ。

<Keter>

収容がほぼ不可能。必ずしも危険とは限らない。(大体危険)

SCP紹介

以降は有名、おすすめなオブジェクトの記事と若干の解説(あるものは)を書いていく。(ネタバレ防止のため、解説は折りたたんでおきます)

ホラー系は注釈入れます。

・王道系

SCP-173(http://ja.scp-wiki.net/scp-173)
(ちょいホラー?)

本家(英語サイト)では「The Original」という題がついている。題名からわかる通り、このSCPがきっかけでSCPの物語が作られるようになった。

通称「不死身のクソトカゲ」でおなじみのSCP。このSCPに対して財団の最高位委員会O5から破壊試験の命令がされている。これ以上の力をもつSCPを作ってはいけないとされるほど。

SCP-040-JP(http://ja.scp-wiki.net/scp-040-jp)
(ちょいホラー)

Twitterとかでも見られるネタ。JPというのは日本で生まれたSCPという意味でほかにもRU(ロシア)やCN(中国)など各国のSCPが存在する。ねこはいます。このSCPを初めてみたときは、ほんとに画像が頭から離れない感じでドキドキしましたね。あれはねこです。YouTubeとかにBB素材もあると思うのでよかったらどうぞ(誰もねこはそこに居ますいらないだろ)

イケメン「アベル」君ですね。補遺ではプロトコルで描かれた凶悪な存在とは違う一面も垣間見えます。

・感動系

感動系SCPの中では一番好きなSCPかもしれません。オブジェクトクラスNeutralizedとは破壊もしくは異常性がなくなったオブジェクトが属するクラスです。精神が宿る系の話はほかにも多くありそうです。

SCP-1983(http://ja.scp-wiki.net/scp-1983)
(微グロ・ちょいホラー)

死を悟ったエージェントによる手掛かりとDクラス職員(実験のための使い捨ての人材)の勇気によって無力化されたSCPです。読んでいてわかる通り、難解な内容(今回は間取りですけど)の記事もあるので考察のし甲斐があり面白いですよね。

・ギャグ系

オブジェクト名からわかる通りネタ系のSCPです。JはJoke(ジョーク)を意味しています。

カニですね。確かにカニです。ネタのためにページも弄ったとかにがえるとそこにもクスっとかにますよね。

・難解、考察系

文書を読んだだけだと「意味わからん」となりますが、補遺を読むと納得できます。このSCPは補遺で解説されているだけ親切ですね。

あれ?これだけSCP○○の表記がありませんね。記事の内容も、初めて出てくる名称がたくさん出てきています。そして最後のインタビュー記事、なぜ女性(兎)は苦しんだ様子なのでしょうか?


解説 このSCPを理解するためには「名称」を注意深く読むことが大切です。SCP内では「名辞する」という行為は、名辞した人間の存在が改変され、名辞した対象(とその付近にあるもの?)の概念が人間に流れ込み、肉体や名前が変化することを意味する。以上のルールを兎は知っており、博士に「博士と兎は学者仲間」という認識をさせようと何度もそう呼び掛けています。博士が学者仲間であることを認識した上で、兎が「そよ風が家の中を通り抜ける。」の一文前で「学者の友」と呼ぶことで博士という概念が兎に、兎の概念が博士に移りました。つまり、上の描写以降のピンク文字は博士、博士の言葉は兎の言葉ということです。泣いていたのは博士だったんですね。また、後記からわかるように名辞には周囲の現実改変能力もあるようです。もっと詳しい解説は以下のページを参考に。https://scpnote.com/archives/scp-4000.html

(疲れた。禁忌難しすぎ)

EXというのはExplainedオブジェクトクラスで、実はSCPじゃないねっていうオブジェクトに振られるクラスです。


解説 実は今我々が見ている色はSCPによって汚染されているという話。白黒写真こそが本来の色であり、汚染前の美しい色である。この汚染が止められないと考えた財団は人類に、今までの色も汚染後の色のものであると認識させることでEXとした。

 

・絶望・終焉系

K-クラス世界終焉シナリオとはその名の通り、世界の終わりです。特にこのSCPは自己増殖によるNK-クラスシナリオにつながり得ます。

まとめ

マジでSCPのことしか書いてないな。。。サークルのブログで書く意味なくない?

月一を維持するために1/31 27:50に書き上げたので許してください。何もしないけど。

 

この記事で紹介していないSCPがまだまだあるので(本当にまだまだ。7000個くらい)興味を持った人はぜひ調べてみて下さい!

 

以上kurokuでした。来月はちゃんとプログラムのこと書くから!(Unityか競プロか)

 

【月一】もう年末ってマ?

実家にいるときは親戚が来たり、餅の準備的なことがあって年末年始感がありますが、一人暮らしだとほんとに何もかんじないですよね。

どーも。kurokuです。

12/30、僕は15時に起きて、16時からRiJのマリオ5リレーを見てからこの記事を書いています。脳みそどこ…?ここ…?

RTA面白いからみんなもみよう!(見よう!)

 

RTAinJAPAN

https://www.youtube.com/channel/UCV8gEA4XEycdFx-myEpokLg

 

 

今回で2019年最後の記事となりますが、そんなの関係なしにつらつらと書いていきます。

さて、今回の題材としては「ゲーム制作でのポインタの使い方」、「ブログのおすすめ」があったのでそれについて触れていきます。

ポインタって何だっけ?

ポインタは変数をメモリ的に直接扱うことのできる型でした。

変数とはあくまでメモリ上のどこかに確保された領域であり、そのアドレスを指し示すのがポインタです。ポインタは*や&といった演算子を用い操作を行います。

*aと書けばアドレスaに格納されているものを表すことになりますし、&aなら変数aのアドレスを表すことになります。

例えばaをint型としてscanf(“%d”,&a)と書いた場合、変数a(のアドレス)に入力した値を格納します。ここで、aをはじめからアドレスを表す方で宣言した場合は以下のようになります。

int main() {
  int a_;
  int* a = &a_;         //ポインタは初期化が必須
  scanf(“%d”, a);       //3を入力
  printf(“%d\n”, *a); //3
  printf(“%d”, a_);     //3
}

scanf()入力された値をアドレスに格納するので、int*で宣言されたaには&をつける必要がありません。またa_とaは実質的に同じアドレスを指しているので、a_に入力していないにもかかわらず*a(アドレスaの中身)に値が格納されたことで、a_にも値が入ったということになっています。

ポインタを使おう! 使お… 使うの…?

さて、このポインタという概念ですがゲーム制作をする上では全く(は言い過ぎですが)意識する必要がないことが多いです。

皆さんはメモリを意識してゲームを作っているでしょうか?

「この値は高々10000だからshort型でいいや」とか「そんなに精度いらないからfloatで」とか考えてないですよね。その理由はリソースがたくさんあるからです。皆さんのPCのドライブは何GBくらいでしょうか。どんなに少なく見積もっても100GBはありますよね(知らんけど)。ゲーム会社が販売してるゲームでも100GBのメモリを必要とするゲームはないでしょう(多分)。

つまりラズパイなどのハードウェアをいじるのを除けば、メモリを意識する必要なんて今のご時世そうそうありません。なのでポインタのことなんて今年で忘れちゃいましょう!

なんて言うと思ったか!

いや、その通りなんですが、普通にプログラミングをしていてもポインタを使えると便利な場面が多々あります。

最たるものが関数への参照渡し。

以下のプログラムを考えます。

void f(int a,int b) {
  a = a + b;
}

void g(int* a, int* b) {
  *a = *a + *b;
}

int main() {
  int a = 3, b = 5;
  f(a, b);
  printf(“%d\n”, a);
  g(&a, &b);
  printf(“%d\n”, a);
}

これを実行すると

と表示されるはずです。ほとんど同じ関数なのになんで結果が違うのか、そもそもfでa=a+bされているんだから最初の表示も8じゃないのかという疑問が起こりますね。

なぜこんな挙動になるのか、関数では変数をコピーし、その新たな変数を変更するからです。

つまり上のプログラムで、関数fのaとmain関数内で定義したaのアドレスは異なり、関数fで足し算を行ったaはmain関数のaとは何の関係もないのです。

一方で、gではaのアドレスを関数に渡していますね。これを参照渡しといい、関数g内のaとmain関数内のaは同じものです。

 

これによって、ポインタを使えば関数内で変数の値を変更できることがわかりました。

ただし上のプログラムは関数fをvoid型ではなくint型にしてaを返せばよいです。これではあまり恩恵があるとは言えません。

 

しかし、複数の変数に対して操作を行いたい場合はどうでしょうか?

C言語では複数の型をまとめて扱う型がないので、複数の型の変数を返り値とする関数を作ることができません。

ここで参照渡しが威力を発揮するわけです。なぜなら返り値がいらないので。

 

また、ポインタが使われている代表的な構造として配列がありますが、C言語では固定長(つまり長さを決めたら増減できない)の配列しか宣言できません。が、mallocやcalloc、new演算子などを使うと任意の長さの(つまり可変長の)配列にすることができます。

これもメモリ上のアドレスをいくつか確保することにより実現されているのですが、メモリの領域にも種類があり、<s>よくわからない</s>複雑なので割愛します。

 

ということで、ゲーム制作に使うだろうポインタ知識はこのくらいで。

ブログは何がいいのか?

次の話題です。

ブログ始めたいけど、おすすめのブログあるか~って感じでしょうか。

自分もブログの種類詳しくないので、ゆる~く紹介していきます。

 

まずブログを2種類に分けたいと思います。

①発信のためのブログ

②まとめノート的なブログ

です。

 

①は自分が書いた記事をいろんな人に見てもらって、コメントをもらいたい。アフィで稼ぎたい。意見交換がしたい。など不特定多数に見られるのを前提とします。

一方で②はあくまで自分用。まとめノートやメモ書きなどとして書くものとします。

(正直非公開設定があると思うので分類がしなくてもですが)

 

①の代表例:

WordPress、はてなブログ、アメブロ、Qiiita

とかですかね(詳しくはhttps://ferret-plus.com/1301

 

②の代表例:

ScrapBox、note

とか…?(正直非公開にすればいいので

 

特に、理工系のまとめを書きたいならLaTeXで書けるScrapBoxがおすすめです。

 

LateXのコマンド一覧:

https://medemanabu.net/latex/latex-commands-list/

 

ただ、見やすくなりますが書くの面倒です。

また手書きしたものを画像として載せることもできます。(ペンタブ的なの持っていればそっちの方が楽)

 

あ、31日になりました。

 

まとめ

 

 

 

 

特になし。

 

ということで2019年最後の記事でした。

来年はインターン、TOEIC、研究室配属と大学が牙を剥いてくる一年になるかと思いますが、競プロやソフト製作も続けていきたいですね。

 

以上、kurokuでした~

【月一】競技プログラミングに触れる回

こんにちは、kurokuです。先月から始めたこの【月一】企画、第二回にして期限ぎりぎりとなってしまいました。先が思いやられますね。とりあえず年度内はこのペースを保っていきたいです。

題材提供

前回ホワイトボードで募集した題材の中に「DxLibで3D」というのがありました。これは厄介だ。なんといってもDxLibは2Dですら結構大変なコードの記述が必要です。例えば当たり判定なんかも、実装自体は軽めですが上下左右に適用したり、足場のふちに当たった際の判定など書かなければならないことが多くなってしまいます。

まぁDxLibのサンプルゲーム見ればなんとなくわかるやろ、と思って以下のページを見てみました。

https://dxlib.xsrv.jp/program/dxprogram_3D.html

その中でもゲームを作るのに重要そうなのは1とか19かなーってコードを眺めていました。

???

いや、それぞれどういう動作なのかはなんとなくわかりそうですが、デバッグ用のオブジェクトを置くのにも大変そう、変数の存在範囲が広すぎてパラメタがどんどん増えそう。といった感じがしてきてア。

そこで今回のタイトルは何だったでしょう?「競技プログラミング」?3Dゲームは?

はい、3Dゲームについての記事は書けませんでしたぁぁぁぁぁ

3Dゲーム作るならUnity使おう!マウス操作だけでオブジェクトが生成できる!(すごい!)Unityちゃんかわいい!

というわけで3Dゲームを作ってみたいって人はUnityをお勧めします。というかUnityなら何でもできます。(Unityがこの世界を作ったといっても過言

https://unity.com/ja

Unityは何といってもAsset storeが充実しています。Assetというのはいわば、物とか材質とかです。月末報告会でのまんじゅう君のUnityちゃんやYutaさんの車がそうです(多分)。これらには基本的なプログラムがあらかじめ作成されており、ゲームの動きさえ書いてしまえばOKという感じです!

ただ、Unityで使われている言語はC#で、バリバリにオブジェクト指向の考えを取り入れています。なのでC言語から入った人だとコードの違いに混乱してしまうかもしれません。幸い、ブログ記事などが多く書かれているので、C#が書けなくても調べさえすれば大丈夫なことが多いです。

本題

やっと前回の言い訳説明が終わったので、競プロの話をば。

競プロとはなんぞやというのは以前ガナリヤさんが書いた記事があるのでそちらを参考に。

http://akitatnp.wp.xdomain.jp/2019/03/23/tnp%e7%ab%b6%e3%83%97%e3%83%ad%e6%94%af%e9%83%a8%e3%81%ae%e6%b4%bb%e5%8b%95%e7%b5%90%e6%9e%9c%e3%81%a8%e4%bb%8a%e5%be%8c%e6%98%a5%e3%81%ae%e3%83%9d%e3%82%a8%e3%83%a0%e6%9e%a0/

(これリンクを短縮形で貼るのどうやってやるんだろうか

こうゆうのもあるよっていう紹介・体験を来週の水曜か金曜にやろうと思ってます。(2019/11/30現在)

冬コミのゲームできて(僕はまだ作ってませんが)当分はすることないやって人や少しでも興味があるって人は挑戦してもらいたいです。

内容としてはごくごく簡単めな問題を実際に解いてもらうって感じにしようと思います。配点としては100-100-100-200-200-300くらい?基本的に標準入力(scanf)、標準出力(printf)、if、for、配列ぐらいがわかっていれば解けるような問題を用意します。(1時間くらいを想定)

100点問題なんかはほんとに入力して、四則演算して、出力みたいなものですし、300点は少し頭を使うような問題と思ってもらえればいいと思います。

日本だとAtCoderが大きいコンテストサイトですかね。(来週の問題もAtCoderの問題を出題します)

https://atcoder.jp/?lang=ja

(ほぼ)毎週土曜21時からコンテストが開催されてます。よかったら参加してみましょう。

まとめ

競技プログラミングは名前からしていかついと思われがち(いや、しらんけど)ですが、やってみると楽しいです。競プロにはまっている人を見るとそんなに時間をとれないと思うかもしれませんが、たまに参加してみるでも全然いいと思います。

毎年夏~秋には大学対抗のICPCという世界規模の大会も開催されます。僕は学部生の内に一回は予選を突破して、横浜大会に出てみたいです。もし、一緒に出てくれる人がいたら全力でサポートするので、来週の回はそれの足掛かりにしてもらえればと思います。

そんな感じでまた来月~

kurokuでした!

Top