年の功より亀の甲

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

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

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

今回は、短編記事でredisの設定について1回目として進めるよ。

redisの設定を確認するコマンド?

redisもmysqlapache等のほかのソフトウェアと同様に設定をすることができます。
通常は、redis.confというredis用のconfに設定を記述しているよ。
起動中のredisについて、設定を変えたくなったり、どうなっていたかcliから確認をすることもできるよ。
今回は、設定と確認のうち確認コマンドを試してみます。

ログレベルを見てみるよ

f:id:sakuriver:20161214015356p:plain

redisのコンソールで設定を見るときは、config get 確認したい項目名 で確認することができます。

データベースとか、Webサーバーのアプリでおなじみのログについてみてみたよ。
noticeと表示されていることから、今回の環境では開発などの情報はログに残さない設定になっていたよ( ゚Д゚)

検索する項目について、正規表現でまとめて、確認するよ

f:id:sakuriver:20161214020045p:plain


ちょっと変わり種ですが、確認したい項目にワイルドカード(*や?のこと)を使用することができます。
スクリーンショットのように「max」というキーワードが含まれている項目について、一度に確認することができました。
( ゚Д゚)<これで、キーの名前についてあやふやでも引いてくることができるよー>

まとめ

今回は、起動中のredis-serverの設定を取得するコマンドについて遊んだよ('ω')ノ
プログラムを開発しているときには、お世話になることは少ないコマンドですが、何かアクシデントがあったり
環境構築段階では役に立ってほしいなーと思いながら、確認中です(*´ω`*)

取得することができたので次回は、起動中の設定の更新をredis-cliからやってみるよ。

12/12はさりーさんの記事です。

ボッチで企画書チャレンジ Part1【ころなとサリー AdventCalendar 2016/12/10】

今年も企画書づくりやるよ('◇')ゞ

サリーです。
ゲーム報告も飽きてきたので、ここでブレイクタイムを兼ねて企画書を作ります

どうして毎年企画書を作るの?

同人や小さいチームでゲームを作りたいなって考えたときにはプログラマーでも、
企画書や仕様書をかけるのは必須だから。

企画書に書く項目だよ('◇')ゞ

実際に企画書を書き始める前に記載する項目を紹介するよ

企画書サンプル(Kawazで作った没企画)

タイトル

ゲームのタイトルを表示。
タイトルが未定の場合は、遊ぶゲームがわかるような画像を使ったりしています

コンセプト

人によって、違うと思うけど自分は「そのゲームをどうやって遊んでもらうか」を軸として考えています

プラットフォーム

ゲームを遊ぶことのできる環境:WindowsMacAndroidiphoneなど
ゲームのジャンル:STG,RPGなど
ターゲット:どんな人に遊んでもらうか 具体例:何十時間もかけてプレイを最適化したいコアユーザー、ライトユーザー

ゲームシステム

実際に作るゲームのシステムについて、「面白くなる」部分を押していけるといいのかなぁと思っている。
サンプルでは、操作方法の概要やボス戦の情景についても書いたりしています。

キャラクターデザイン

主人公や敵キャラクターなどゲームをイメージできるイラストがあれば貼り付けるとわかりやすい。
サンプルの時は、絵を描けるメンバーがみんな動けなかったのでページだけ用意して断念

世界観

  • 現代や、江戸時代といった時代設定
  • ゲームが始まる前のきっかけなど
  • キャラクターデザインや、背景もここから考えていく部分なので結構重要になると思う

プレイサイクル

ゲームをユーザーが遊ぶ時のサイクルを図面で表しています。
キャラクターを強化する → ステージをプレイする → クリアすると新しいステージが解放される
といった、大まかな流れを書くようにしています。

今後のお知らせ

今回は、サンプル企画書に近い構成で企画書の作成にチャレンジするよ。
去年は、連載物にしなくて未完成だったので今回は記事で随時報告をしていきながら挑戦していくよ('◇')ゞ

明日は、コロナさんの記事になります。
みんな楽しみにしていてね。

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

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

redisでzset(ソート済み集合型)に関するコマンドで遊ぶよ('ω')

zsetって何?

まず初めに書いておくと、3dのz座標じゃないよ。
過去のお勉強で登場しているset型に近いんだけど、今回は”スコア”って概念があって、ソートされた順番やスコアの値でアクセスすることができるよ。
オリジナルキャラクター投票ランキングとかの実装で使いやすいよ('Д')

zsetにデータを追加するよ

f:id:sakuriver:20161208230609p:plain

corona-z-keyというキーにパラメータとして、sakuriver,winberu,coronaを追加しました。
確認をするために、zrangeコマンドを実行すると、スコアとパラメータ名が取得できるのがわかるよ!(^^)!


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

f:id:sakuriver:20161208230952p:plain

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

指定したスコア内のデータだけ取得するよ

f:id:sakuriver:20161208231413p:plain

いわゆる「あなたに近いスコアの人を取得する」みたいなことをやっています!(^^)!
zrangebyscore キー名 スコアの最低値 スコアの最高値 と指定することで、最低値から最大値の値を取得することができます。

感想

今回は、ZSET型についてお勉強をしました。
スコアを一緒に取得したり、特定の範囲内のデータを取得したりとかなりredisっぽいところに入ってきました、
あと、数回のお勉強後には何か作り始めるかも・・・・しれないです(ぉ

12/9はさりーさんの記事です。
書かないかもと言っていたのに、普通に報告記事を書いていたりするので、予測不可能です( ゚Д゚)

今年完成したゲームの報告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はさりーさんから完成したゲームの報告について続編になります、楽しみにしていてください