ゲームジャム(文化の日編)

はじめに

 こんにちは。まんじゅうです。秋大祭お疲れ様でした。秋大祭という一大イベントも終わったことで、ついにTNPにも代替わりの時期が訪れ、新会長になりました。改めて、これから一年よろしくお願いします。

 本題に入りますが、11月2日(土)にゲームジャムを行いました。今回は企画したのが前日だったため、あまり集まらないだろうと思いましたが、参加者は4人とそこそこ集まりました。今回は文化の日前日ということで、「食欲の秋」、「運動の秋」、「芸術の秋」にちなんだお題として、「目玉焼き」、「障害物競走」、「一筆書き」の3つを(単語ガチャで)設定しました。

 参加者から成果物の紹介とコメントを貰っているので、 そちらも見ていただけたらなと思います。

制作物一覧

1年次 ハイブリッジ

開発環境 DXライブラリ

 このゲームは、自機である白い丸を操作して赤い丸に見つからないようにゴールを目指すゲームです。今回は自機と敵、フィールドと敵の視界まで実装できました。今後は敵の行動とスタート、ゴールを実装して、ゲームとして遊べるように頑張りたいです。

2年次 まんじゅう

開発環境 Unity

 「障害物競走」というお題があったので、3Dのシンプルな障害物競走を作ってみました。Unity初日でどこまでできるかやってみようと思って始めましたが、ほぼコーディング無しでゲーム部分が作れたのでとても驚きました。今後はシーン遷移を実装してタイトル画面とクリア画面を作って遊べる形のゲームにできるよう頑張ります。

3年次 いっちー

開発環境 DXライブラリ

 お題のひとつ「目玉焼き」を飛ばすゲームです。マウスをドラッグすることで、目玉焼きの飛ばす方向と力を決定します。目玉焼きをお皿の上に乗せることができればゲームクリアとなりますが、床の上に落ちるともう一度となります。

 ゲームジャム終了後に思い付いた上に、開発期間として1週間ほどかかったので、限られた時間でゲームを作るゲームジャムの趣旨とは違うものになってしまいました。

 ゲームジャム当日は、目玉焼きを作るゲームを作ろうと思ったのですが、良い案が浮かばず、ただ卵を割るプログラムができました。

4年次 HIM

開発環境 Webアプリケーション

『お絵かきソフト』

お題: 一筆書き
という訳で、作りました。
一筆ではないですが(挫折しましたorz)、お絵かきできます。

Javascriptとcanvasで作りました。

マウスで描きます。色とペンの太さを選べます。

一筆書がどーしても動かなくて断念したのが悔しかったです。次こそは…

最後に

 やっぱりゲームジャムは良いですね(テンプレ)。やる気も出ますし、何か新しいことにチャレンジする機会にもなるので。冬休みとかにまた開催したいですね。

 それと、今回試験的に1日だけの超短期間ゲームジャムを開催しましたが、皆ある程度形になっていて良かったです。これの影響でジャムの参加ハードルが下がればいいなと思います。

 それでは今回はこのあたりで。最後まで読んでいただいてありがとうございました。また次回のゲームジャム記事(多分)で会いましょう。

【月一】C++っておいしいの?

はじめに

お待たせ。待った?どうもプログラミングサークルTNP所属の広報担当kurokuです。(キツ…

先日サークル内で役職の引継ぎがあり、見事、広報担当(ブログ・Twitter更新)になってしまいましたなりました。

引継ぎの際に反省会も行われ、更新頻度について触れました。いい機会なので僕の目標というか、目安として(最低でも)月一回はブログを更新していきたいと思います。

 

そうはいうものの、毎月更新するとなると話題がなくなります。ただでさえ僕はグラブル、YouTubeでしか時間をつぶしていない気がするので、こんなことなら別に書かなくてもいいよなぁとか思うわけです。(むしろ書かない方がいい

そこで、サークル室のホワイトボードにブログの題材として質問などを受け付けようと考えました。誰でもいいのでゲーム制作でわからないことやプログラミングについてなどどんなことでもいいので書いてみてください。(コメント等でも歓迎です!

それについて僕が少し勉強して、このブログでできるだけ簡潔に、情報共有ができればなと思います。

(ただ、あまりにおじさんを悩ませるような難しい質問をすると僕の独断でなかったことにしてしまうかもしれません…)

 

C++ってどうなの?

さて、いよいよ本題です!ホワイトボードに早速題材が書いてありました。

「C++について」

 

いやいや。。

(雑じゃない?)

 

まぁいいんです。書きます。こんな感じでどんどん題材ください!

(できればもうちょい具体的に!

C++とは、手続型プログラミング言語であったC言語にオブジェクト指向やジェネリックプログラミングの考えを取り込んだ言語です。それぞれわかりやすく言うと、

・手続型

 プログラムを順番に実行していく

・オブジェクト指向

 オブジェクト(データと処理内容)ごとに独立させる考え

・ジェネリックプログラミング

 型などを意識させないように抽象化して記述する

といった感じ。

一見してC言語をもりもりにパワーアップさせたのがC++といった感がしますが、それは間違いありません。

しかし、そんなC++にも弱点はあります。

それは文法が難しいこと。

 
(僕はC言語由来のプログラムしか書けないのでわかりませんが)多重継承というのを組み込んだせいでポリモーフィズムにも影響が出たりでなかったり(?)
 
 
 
 

よくわかんないですねーー。

 
 
 
ですがサークル内でゲームを作る分には使えて損はないです。ライブラリもリファレンスも結構多めですし、何よりC言語が書ければC++も書ける!

これで終わってもいいんですが、内容がなさすぎるのでどんなことができるのかについて軽く触れたいと思います。

#include<iostream>

#include<string>

int main(void) {

std::string s = “hello”;

std::cout << s << std::endl;  //hello

       return 0;

}

C言語だとchar型の配列で書く必要があった文字列もC++ではstring型(正確にはstringクラス)に格納することができます。それに加え、文字列同士の足し算や部分文字列(例えば”ell”)を取り出したりなんかもできます。

std::cout<<s+s<<std::endl;  //hellohello

std::cout<<s.substr(1,3)<<std::endl;  //ell

#include<iostream>
#include<vector>
int main(void) {
  std::vector<int> vec;
  vec.push_back(0);
  vec.push_back(1);
  vec.push_back(2);
  for (int i = 0; i < vec.size(); i++) {
    std::cout << vec[i] << std::endl;  //0,1,2
  }                   

      return 0;
}

vector型(クラス)は配列とほとんど同じ挙動をします。ただ、宣言の部分で要素数を書いていないにもかかわらず値を格納することができています。

vectorは可変長配列と言われ、要素数を自由に変化させることができます。上の例だと宣言時は要素数は0でしたがpush_back()するたびに自身で要素を増やし格納しています!(push_backは末尾に格納するメソッド(関数))

さらにvectorはジェネリックプログラミングの要素も持っています。宣言する際にvector<int>としていますが、これはint型を要素に持つvectorを宣言しています。たとえばintの部分をdoubleやboolあるいは、自作の型MyDataとしてもvector<int>と同じく扱うことができます!

最後に紹介するのは演算子のオーバーロードです。

関数やデータ構造をユーザ側で定義できるのは知っていると思いますが、演算子についてもユーザが定義することができます!

例えば、

#include
#include
std::vector<int> operator*(const std::vector<int>& vec, const int& t) {
  std::vector<int>v(vec.size());
  for (int i = 0; i < vec.size(); i++) {
    v[i] = vec[i] * t;
  }
  return v;
}
int main(void) {
  std::vector<int> v = { 0, 1, 2, 3, 4 };
  v = v * 5;
  for (int i = 0; i < v.size(); i++) {
    std::cout << v[i] << std::endl;  //0,5,10,15,20
  }
  return 0;
}

と書いてみます。本来vector<int>*intなんてできませんが自分で*を定義することでそれを実現できてしまいます!

しかし、演算子オーバーロードを闇雲に使うと演算子本来の挙動と整合性が取れなくなりとても危険です!詳しいことは各自で調べてもらうとして、できるだけあらかじめ実装されているものを使うようにしましょう。

まとめ

大したこと書いてないのでまとめもくそもないんですが、まぁC++はいろいろ楽だよってことが伝わればいいかなと思います。興味が出てきた人はC++について調べたり、聞いたりして闇をのぞき込んでみればいいと思います。

こんな感じの雑まとめをこれからも月一以上で出していくのでどうぞお楽しみに!kurokuでした~。

ゲームジャム(夏休み編)

はじめに

 こんにちは。2年次のまんじゅうです。
記事を書くのは初めてなので、変なところとかあるかもしれないですが、どうか温かい目で読んでくれればと思います。

 今回のゲームジャムは8月14日と15日に開催しました。お盆でしたがそこそこ参加者がいて嬉しかったです。
 また14日、15日のどちらも猛暑日だったので、誰も熱中症にならなくて良かったと思います。

 今回はお題に沿って何か作るのではなく、なるべく自分で考えて制作する、という方向で企画していました。
 そのため、お題ではなく、あくまで何を作るか思いつかない人への救済措置として「倉庫」、「火」、「駐車場」、「重力」、「落とす」という単語を提示しました。

作品紹介

1年次 UMA

開発環境 DXライブラリ

 初年次講義で扱った「フラッピーバード」のソースコードを元に作ったそうです。
飛んでくる敵を避けたり、うまく弾を当てたりしてスコアを稼ぐゲームとなっています。
 元にしたゲームがある、という点を加味しても、初めての制作物としては完成度が高いと思いました。

2年次 たか

開発環境 DXライブラリ

 卍型の自機が卍の先端から放つ攻撃を敵に当てる、というゲームのようです。
攻撃を放つと、次の攻撃が可能になるまでの待機時間が発生したり、敵がランダムで生成してされた瞬間に攻撃されないよう、
敵の攻撃不能時間を設定していたりと、細かいところまで作り込んでいると感じました。

2年次 まんじゅう

開発環境 Siv3D

 「街コロ」というボードゲームを作ってみようと頑張ってました。
ダイスを振る機能と、出た目による建物の効果の処理は実装できたのですが、
 時間が足りなかったために建物購入の処理が完成せず、ゲームとしてはまだ成り立っていない状態です‥。

2年次 ズッキー

開発環境 Unity

 今年の夏コミに出した迷路ゲームを改良したものだそうです。
ランダムで壁を生成するようにし、それによって起こりうる詰み状態を防止するために壁を壊す機能を追加したそうです。
 また、壊した壁の種類と枚数によってゲーム終了時のスコアが増減するようにして、高いスコアを出すにはしっかり迷路を歩かないといけないようになっていました。

3年次 いっちー

開発環境 Unity

 なんと時間内に2作品完成していました。
 1つが火事の建物から人を避難させるゲームで、円形の足場を操作して障害物を避けつつ、小島まで避難させる、というものでした。
足場で人がバウンドする上に、小島が小さいため、難易度は高そうに見えました。

 2つめが、人を前に飛ばして、乗るとジャンプするキノコを駆使して停止するまでの距離を競うゲームでした。
地面に人がぶつかって転がり、その先のキノコに当たってまたジャンプ、という動きをしていたので、見ていて面白かったです。

3年次 うおちー

開発環境 Unity

 下に重力がかかっている空間で、上下に移動して火の玉を避けるゲームです。
当たり判定が実装できていないとのことですが、ゲームとしてはほとんど完成しているように感じました。

最後に

 やっぱりゲームジャムは良いですね。
他の人のアイデアやコードの組み方などを見て学べる機会になりますし、自分の制作活動への意欲も高まります。
 夏休みは長いのでだらけてしまいがちですが、今回の会でのやる気を思い出して頑張って制作していこうと思います。

ゲームジャム(GW編)

はじめに

こんにちは、会長のいっちーです。

今年のGWは10連休ということで、4/30と5/1の2日間でゲームジャムを行いました。

今回のテーマは「秒殺」「通り魔」「結ぶ」「昇天」「でくのぼう」。

前回もそうでしたが、ゲームジャムのテーマとしてこの選択はどうなんでしょうね。


作品

2年次 ずっきー

開発環境「Unity」

「秒殺」をテーマとしたホラーゲームです。

女の子を操作して、迫りくる化け物から逃げようとしますが...。

とあるゲームを参考にしたようで、テーマの「秒殺」もそれに関連しているとか。

綺麗なグラフィックが臨場感溢れるホラーな雰囲気を醸し出しています。完成が楽しみですね。


2年次 でんそん


開発環境「DXライブラリ」

「秒殺」「結ぶ」をテーマとした謎解きゲームです。

プレイヤーを操作して、マップに描かれている白いサークルを正しい順番で触れていくと次への道が開かれます。また、色付きのブロックには

  • 緑ブロック:触れるとヒントが得られる
  • 青ブロック:取ると復活時に”寿命”が延びる
  • 赤ブロック:通り抜けられない壁

というように謎を解く上での重要な要素となっています。

なお、”寿命”とはこのゲームにおける制限時間のことで、プレイヤーの頭の上にあるカウントがそれを示しています。寿命は移動している間も減り続け、0になるとゲームオーバーとなります。

ゲームオーバー時にはその場で復活してやり直すことができますが、初期状態での寿命は”3秒”だそうで、まさに「秒殺」といえますね。


2年次 まんじゅう

開発環境「DXライブラリ」

「結ぶ」をテーマとしたボードゲームで、”カルカソンヌ”というゲームを参考にしたようです。

草原や道、城などが描かれたパネルを一枚絵になるように配置し、そこに人を置いていくことで得点が得られるようです。

マップのスクロールやパネルを置く・回転させるといった、ゲームの基本要素を完成させました。

しかし、パネルや人の置き方にはかなりの自由度があるようで、本人曰く「大変なのはこれから」とのことでした。


3年次 いっちー

開発環境「DXライブラリ」

「昇天」をテーマとしたアクションゲームです。

幽霊を結界で囲み、結界を強化することで幽霊を昇天させることができます。また、幽霊は結界の境界線で反射するようにしました。

前回のゲームジャムでは時間内に完成できなかったため、今回はとにかく完成させることを目標に取り組んでみました。

素材は”いらすとや”でお借りしたのですが、統一感を出そうとした結果、ハロウィンテイストになりました。


おわりに

ゲームジャムはいいものですね。

テーマと時間が縛られている分、普段よりも集中して取り組めたように思いますし、他の人のゲームのアイデアやその実装方法にはとても興味が引かれ、良い刺激になりました。

今回は3年次が私1人、2年次が途中参加を含めて5人とまだまだ参加率は低いですが、初参加の方もいたので、この調子でサークル内で少しずつ広まっていければなと思います。

また、今月からは本格的に初年次講義が始まります。今度は1年生も含めてペアプログラミングなんかもやってみたいですね。

バージョンが上がってLaTeX出来るようにした話

こんにちえるえる〜〜

なんか久しぶりですね。

ガナリヤです。新しいバージョンにしたせいか、色々と不具合が起きて辛いです・・・なんとかします・・・


WordPressのバージョンが上がった話、使い方とLaTeXの話をします


WordPressのバージョンが上がった話

WordPressというシステムを現在、TNPでは使っています。

WordPressはPHPで構成されているフレームワークであり、拡張しやすく、これまでブログよりも使いやすい点があります。
また、WordPressに移行した理由として

  • 全員が使える。
  • HTMLを知らなくても書ける(ビジュアルで書ける)

という点があります。

現在、そのバージョンが上がり、新しいエディタGutenbergというものが導入されました。

このエディタでは、ブロック構造が採用され、各段落を一つのブロックとして構成します。

上記の段落は、以下の図のようなブロックとしてなっており、ブロックは自由に移動できます。

今回のエディタによって、よりノンプログラミングにブログをかけるようになりました。

ただ、これまでのブログのエディタに慣れていた人には辛いですが(現在辛いです・・・)

使ってみると分かると色々と分かると思います〜


マークダウンを使うときは

プログラマーには、マークダウンというものに慣れている人がいます。
僕もその一人です。
マークダウンを使うとより高速にブログを書くことが出来ます。(ビジュアル操作を気にしなくていいと言うと伝わりやすいでしょうか・・・)

現在のエディタでマークダウンを書くには以下のようにしてください。

自分のパソコンの「Boostnote」などでマークダウンを書き、ブロックにコピペしてください。

すると、自動でマークダウンから、普段どおりの大きさやリスト、水平線に変換されます。

よって、現在は、このWordPressエディタ上でマークダウンはかけません。(一部はかけます。)
これからWordPress上で書けるようにする方法はないか模索します。


改行の仕方

ブロックごとに書きますが普通に改行すると(エンターを押すと)

このように一行多く空きます。

なので、ブロックないで改行しようかな〜〜ていうときは「Shift + Enter」をしてください。
すると、一行多く空けない通常の改行ができます。


コード挿入の仕方

ソースコードを挿入したい時があると思います。
そのようなときは以下のようにしてください。

「フォーマット」に入っている「Highilghing Code Block」というものを選び、ソースコードを挿入してください。

すると、ソースコードを挿入できます。


LaTeXの使い方

プログラミングの記事を書くときは
変数を$x$としたり、
$$ y = 10x + 2$$

のように数式を使いたくなると思います。

これはLaTeXというもので実現できます。(TeXがもとであり、それを拡張したものがLaTeXだと思っていいかと思います。)

LaTeXを書くには半角の「ドルマーク $」でLaTeXしたいものを囲ってください。

つまり、 $x$と言った感じです。(これは、ドルマークを全角で表現しています。ここで半角にしてしまうと、LaTeXになって、どのようになるかが表現できないので・・・)

よって、LaTeXしたいときは、半角のドルマークで数式などを囲ってください。

また、中央に
$$ y = x$$

のように表示したいときは半角のドルマークを
$$ y = x $$

のようにすると、中央寄せができます。


最後に

多分伝わらないと思います・・・(すいません)

今度部室で使い方をきちんと説明したいと思います。
また、実際に触ってみると使い方がわかると思います。

自分もまだこれに慣れてないので、大分読みづらいかと思います。すいません。

改善できるようにいろいろ工夫していこうと思います。

ガナリヤでした〜

11月末報告会

皆さんどうもこんにちは!Web担当のでったーでございます。本日は11月の月末報告会として部員同士でゲーム製作やその他担当箇所の進捗を確かめ合いました。(皆さん忙しかったみたくて進捗は厳しい状況・・・)

ここからはゲームとしてある程度形になっている作品をご紹介していきます!


製作者:まんじゅう(初年次)

製作物:RPG


製作者:でんそん(初年次)

製作物:2Dゲーム


製作者:たか(初年次)

製作物:2Dシューティング


製作者:いっちー(2年次)

製作物:RPG


製作者:Yuta(2年次)

製作物:2Dシューティング

 


製作者:GoldenRiver(3年次)

製作物:ホッケーゲーム


この他にも様々なゲーム案が報告されコミケに向けていい作品を提供するべく現在頑張っておりますので応援よろしくおねがいします!

2018年5月活動報告

 BLAZBLUE_CROSS_TAG_BATTLEを過って購入した3年次Bヒロです。

 先日は『TNP5月の月末報告会』を開催しました。

__________________________________________________________________________

 制作者:いっちー(2年次)

 迷路などで使えそうなフィールドグラフィックを制作していただきました。右下には

マップ画面を表示しています。

 今後はさらに遠近感をだしたいとのこと。

__________________________________________________________________________

 制作者:YUTA(2年次)

 UFOキャッチャーゲームを制作してくれているようで、画面奥にはミラー、

右上には天井視点、左上は景品出口といったところでしょうか。

 見やすいグラフィックで完成が楽しみな作品です。

__________________________________________________________________________

制作者:Golden_River(副会長)

 『スタイリッシュ・シミュレーション・アクション・エアホッケーゲーム』

 現在制作途中だそうで、夏コミまでには完成させたいとのこと。

__________________________________________________________________________

制作者:Bヒロ(3年次)

 『未定』

 敵キャラを避けて、右下を目指すためだけのゲームを今回は作成しました。

 ゲームバランスなどの、調整後RPGアツマールに投降予定

__________________________________________________________________________

 発表者:こしょう(会長)

 UnityでLeap Motionを見せていただきました。

 カメラにより、手を認識して、手先から立方体などを出したりなど、興味深いものを紹介

していただきました。

__________________________________________________________________________

 その他にも、TNP子Vtuber企画(うおちー(2年次):TNP子のモデリング)、BGM制作、

イラスト制作などなどの発表もありとてもMARVELOUSでした。

 今月は初年次講義が始まったりとTNP新体制として動き出した月でした。

 6月には新入生歓迎会などイベントを開催予定です。

TNPBOX2017ver.Winter 

TNPBOX2017ver.Winter

 どうもTNPの会計業務とコミケ遠征を生業にしているBヒロです。今回はTNPBOX2017ver.Winterの内容物に関するお話をさせていただきます。ではまず今回のゲーム本数はですね…なんと自分がコミケ担当初めて以来、最多の11本です。

 内訳

・秋大祭展示ゲームより、Swing-by(制作:サバ)、Toaster(制作:サバ)、こんがりトースト60(制作:こしょう)、パントガール!(制作:ガナリヤ)の4作品

 

・体験版(発展途上系ゲーム)、TNP子の冒険(仮)(制作:Bヒロ)、けもフレパズル(体験版)(制作:ガナリヤ)の2作品

 

・待望の新作ゲームより、じゃぱりまんがり(制作:Yuta)、ジャンピングBOX(制作:うおちー)、的当てゲーム(制作:いっちー)、2071宇宙の旅(制作:Golden River)、ふえぽんの五作品(制作:うおちー)

 

 

これらの11作品をぶち込んだTNPBOX2017ver.Winterは《C93・東第3ホール・ク-34b》で一部『100円』で頒布致します。この第ボリュームの《TNPBOX2017ver.Winter》をよろしくお願いいたします。当日は、わたくしBヒロとYuta氏とうおちー氏がお待ちしています。