年の功より亀の甲

カメがプログラミングとか技術系について書くブログです。

今年完成したゲームの報告3【ころなとサリー AdventCalendar 2016/12/8】


サリーだよ。

今年になってから、趣味で完成したゲーム紹介の三本目だよ。
みんな準備はいい?('◇')ゞ

2016/07 カメをよけろ!?(今考えたよ)

Kawazの有志が定期的にやっているGameDesignContestに提出したゲームだよ。

GameDesignContestの作品は以下のリンクから詰め合わせが遊べるようになっています('◇')ゞ

Kawaz - Game Design Contest Vol.3 Summer Adventure


開発環境を技術ブログっぽく記載しておくので参考になれば幸いです。

開発ツール:unity5.3.x
開発言語 :C#
素材作成 :ペイント

今回は、アクションゲームなので分かりやすいようにgif動画を作成しました。

gyazo.com

キーボードの左右で空から理不尽に落ちてくる、カメをよけ続けて、どんどん前に進もう!?
('Д')どこまでも続くよー、どこまでもー


gyazo.com

当たってしまうとゲームオーバーです。
ひたすらよけ続けて、ハイスコアを目指すゲームです。

感想

・最近のunityはUGUIの登場もあって、2dでもかなり作りやすくなっている!?
・シーンを細かく作っても、ロード時間とか気にならなくなってきている気がする

次回は、ころなさんのターンです。

redisお勉強話 for 2016 part3【ころなとサリー AdventCalendar 2016/12/7】

みんな大好き、ころなだよ('ω')
今年のredis記事3つめになるよ('ω')ノ

redisでハッシュ(HASH型)に関するコマンドで遊ぶよ('ω')

ハッシュって何?

コンピュータのお勉強では、数学とは関係なく基礎っぽい感じなので、google先生に聞いてみることをお勧めします。
Google

redisでは、データを入れておく型の一つとして、hashを使用することができます。
これは、sqlにはなくてredisにある特徴的で便利な部分なので、これから触ってみます。

ハッシュに要素を追加するよ

f:id:sakuriver:20161207231248p:plain

corona-ha-keyというキーにパラメータとして、attack,defense,hpを追加しました。
確認をするために、hgetall corona-ha-keyと入力してcorona-ha-keyの中身を確認すると、パラメータと値がリンクして登録されているのがわかります。

追加した要素を削除するよ

f:id:sakuriver:20161207231556p:plain

corona-ha-keyに追加していたdefenseをhdelコマンドで削除しました。
削除後は、hgetallでもdefenseが取得できないのがわかります

キーバリューっぽいデータ取得

f:id:sakuriver:20161207232038p:plain

hgetでcorona-ha-keyにあるhpの値を取得しています。
こうすることで、「corona-ha-keyに格納されている中で、ほしい要素だけを取得」しています。
キーの中に含まれている要素についても名前が付けられるので、クラス構造をまとめて入れておくといったこともできちゃいます。

f:id:sakuriver:20161207232458p:plain

corona-ha-keyのイメージ図

感想

今回は、ハッシュ型についてお勉強してみました。
ここの考え方は若干sqlっぽい部分がありますが、こっちはよりプログラマブルな要素が大きいです('ω')
そろそろredisのお勉強も飽きてきたから別の記事をやるかどうか悩み中

12/8はさりーさんの記事です。
気分転換に報告記事じゃないかもと聞いています、楽しみにしていてください

今年完成したゲームの報告2【ころなとサリー AdventCalendar 2016/12/6】

サリーだよ。

今年になってから、趣味で完成したゲーム紹介の二本目だよ。
みんな準備はいい?('◇')ゞ


2016/05 鯉☆キャッチ☆

Kawazの有志が定期的にやっているGameDesignContestに提出した鯉☆キャッチ☆というゲームです

GameDesignContestの作品は以下のリンクから詰め合わせが遊べるようになっています('◇')ゞ

Kawaz - GameDesignContest Vol.1 GoldenWeek


担当個所はウルフエディターのフリーで使っていい素材関連以外、すべてオリジナルで作りました。

f:id:sakuriver:20161206234352p:plain

タイトル画面だよ。
自分でペイントを使って書いてみました。

f:id:sakuriver:20161206234817p:plain

ゲームのメインで、冒険が始まる瞬間です。
1ヵ月スパンで作ろうという挑戦もあり、鯉の絵までは完成せずB1という記号の四角形を動かしています

感想

・ゲームシステムのプロトだけなら、一人でも進めていける
・短時間で一人だとむしろ、音楽とグラフィックの両方で素材をそろえたりフリーの自由な素材を探すのに時間がかかる
・一方で、ゲームの全体をつか見やすくなるから、ひとりで作ってみるのはいい感じ


次回は、ころなさんのredisについての続きということです。
お楽しみにね!?

redisお勉強話 for 2016 part2【ころなとサリー AdventCalendar 2016/12/5】

みんな大好き、ころなだよ('ω')
今年のredis記事2つめになるよ('ω')ノ

redisで集合(SET型)に関するコマンドで遊ぶよ('ω')

集合って何?

「高校とかで習うベン図を表現する型」だけど、きちんとしたお話しはgoogle先生に聞いてみることをお勧めします。
Google

redisでは、データを入れておく型の一つとして、集合を使用することができます。
これは、sqlにはなくてredisにある特徴的で便利な部分なので、これから触ってみます。

集合に要素を追加するよ

f:id:sakuriver:20161204235511p:plain

corona-s-keyというキーにnemumiという一個目の要素を追加しました。
確認をするために、smembersというコマンドでcorona-s-keyの中身を確認すると、nemumiが登録されているのがわかります。

追加した要素を削除するよ

f:id:sakuriver:20161205000945p:plain

corona-s-keyに追加した、nemumiをsremで削除しています。
削除後は、要素を取得するsmembersでもnemumiが取得できないのがわかります

ちょっとだけ、ベン図っぽいことするよ

f:id:sakuriver:20161205001803p:plain

要素の追加と削除だけだと、リストとの違いが分からないと思うので、集合っぽい処理をやってみました
corona-s-keyとsry-s-keyに要素を追加して、差集合を求めています。

f:id:sakuriver:20161205002919p:plain

今回のベン図についてのイメージ

カードゲームでよくある「新しいコンボ」、「なくなるコンボ」なんかは差集合使えば一発で取得できそうだなーという感じです
ベンリー('◇')ゞ


感想

redisの集合型は、追加、削除、取得に加えて、差集合や和集合などに対応した命令があるのはWebアプリ以外でも使えそうだなという印象でした。
次回は、ハッシュ型についてコマンドを試しながら勉強していきます('ω')

12/6はさりーさんから完成したゲームの報告について続編になります、楽しみにしていてください

今年完成したゲームの報告1【ころなとサリー AdventCalendar 2016/12/4】

サリーだよ。

今年になってから、趣味で完成したゲームの紹介の一本目だよ。
みんな準備はいいかい?('ω')ノ

2016/1 トブオレ(GGJバージョン)

紹介するゲームのトップバッターは、GGJでお手伝いをしたトブオレというゲームだよ。

DXteam11 | Global Game Jam®


今年は運営がメインなので、トブオレのプログラマさんが忙しくなったということで助っ人として参加しました。


担当個所としては、メインパート以外のUIについてプログラムで、お手伝いしました。
せっかくだから、スクショ張っておきますね。

f:id:sakuriver:20161204124953p:plain

ゲームのオープニングだよ。
変なポーズをきめると、主人公のデュール君は羽が生えてくるよ。
('ω')ノこの羽をはやすためにLet's ポーズというゲームなんだ

f:id:sakuriver:20161204125314p:plain

カオス感が漂う、タイトル画面だよ。

f:id:sakuriver:20161204125141p:plain

草原か儀式っぽい場所を選択するよ

f:id:sakuriver:20161204125552p:plain

おや・・・・何か見たことのあるUI・・・?
実際に遊んでみてね( ゚Д゚)

f:id:sakuriver:20161204125659p:plain

スタッフロールだよ、画像を見ている感じだとデュール君は立派に飛べている・・・?

f:id:sakuriver:20161204125743p:plain

実際に開発をしたみんなの紹介がされているよ、せっかくだから見てくれると嬉しいな('ω')ノ

f:id:sakuriver:20161204125909p:plain

デュール君と一緒に映っている子はもしかして・・・?
どこかに登場しているから、探してみてねー

f:id:sakuriver:20161204130030p:plain

僕もスペシャルサンクスとして名前を出してもらいました('ω')

おまけ

トブオレの開発環境をせっかくだから、技術ブログで書いておくよ。

バージョン管理システムgithub
ファイル共有:googledrive
開発環境:visual studio C++ 2008(学校で借りることができたのはこれだったらしい)
ライブラリ:dxlib

感想

トブオレのお話には続きがあって、現在はバグ修正とステージのデータ作成をしているよ。
完成したら、連絡するからお楽しみにね!?

次回は、ころなさんでredisについての続きだって!?

redisお勉強話 for 2016 part1【ころなとサリー AdventCalendar 2016/12/3】

みんな大好き、ころなだよ('ω')
去年に引き続いて、今年もredisをやります
お仕事でもちょっとずと増えてきたよね…?('ω')

redisって何?というみなさんは、去年書いた入門の記事がおすすめです。

今回の前提

第3回目なので、ちょっとずつ条件が増えていってます。

  • redisはインストールしてバージョン確認ぐらいはした
  • nosqlって意味は何となく分かるから、redisを対象にして実際にお勉強

redisでリストに関するコマンドで遊ぶよ('ω')

リストって何?

「動的に要素を追加や削除することのできる配列」だけど、きちんとしたお話しはgoogle先生に聞いてみることをお勧めします。
Google

redisでは、データを入れておく型の一つとして、連結リストを使用することができます。
これは、sqlにはなくてredisにある特徴的で便利な部分なので、これから触ってみます。

リストの右端に要素を追加するよ

f:id:sakuriver:20161203234943p:plain

corona-keyというキーにokusuという一個目の要素が追加されたので、現在の長さとして1が返ってきました

もう2個追加するよ('ω')

f:id:sakuriver:20161203235531p:plain

2個追加されたので、最後のコマンドで1+2=3で現在の長さが返ってきました。

リストの全体を取得してみるよ

f:id:sakuriver:20161203235804p:plain


rpushはリストの最後に追加しているので、追加した順番にデータが取得されています。
lrange キー名 で末尾のインデックスに-1を指定すると、すべての要素を取得することができます。
今回の例だと、「okusu」、「kamedot」、「onepanman」の要素をすべて取得することができています。

f:id:sakuriver:20161204000519p:plain

corona-keyのイメージ

指定した要素だけ取得するよ

f:id:sakuriver:20161204000845p:plain

lindex キー名 要素の位置 で、ほしい要素だけを取得することができました。

左端の要素を取り出すよ

corona-keyにあるデータは一度取得したら、次からは不要なことが分かりました。
そこで、okusuを取得した後に削除されているかを確認してみます。

f:id:sakuriver:20161204001422p:plain

lrangeは先に紹介していますが、リストの全体を取得するだけのものなので、lpopの時点で削除されているようです。

感想

redisのリスト型は、プログラムで扱うリストと同様な追加、削除、取得になっていてかなり使いやすそうです。
次回からは、集合型やハッシュ型についてコマンドを試しながら勉強していきます('ω')

12/4はさりーさんだよ、任せました('ω')ノ

ころなとサリーAdventとは 【ころなとサリー AdventCalendar 2016/12/1】

ころなとサリーとは

はじめまして、advent calendar初日担当のcorona_riverです。
通称ころなです。
このブログ記事に来た方は「ころなとサリー」って何だろうと疑問に思っていると思います。

そんなあなたは、昨年のAdventCalendarの記事を見てください(*'▽')


sakuriver.hateblo.jp


ころなとサリーAdvent for 2016とは

今回は、そんな2つのアカウントで「advent calendarの完走」を目指そうという趣旨で今年も開始するよ。('ω')ノ

紹介するブログについても、別となっており「技術ネタ」と「ゲームなど作品について」といった違いを現すようにしています。

ころな → 本ブログ
sakuriver.hateblo.jp


サリー → SakuriverPortfolio
sakuriver.tumblr.com


明日はサリーさんで、今年のgamedesignのcontestでプログラムを書かないでゲームを作ったお話です!?
みんな楽しみにしていてね