罪と幸せの四苦八苦(ノアズアーク)

f:id:Jumpaku:20170724043656p:plain

仲間達との船旅で起こる悲劇.
船上で発見された仲間の死体.
容疑者達は己の信じる愛を貫く.
すれちがう証言と譲れない主張.
私は論理の果てに真実をつかむ.

ゲーム情報

本ゲームは登場人物の説法を聞くことと,論理クイズを組み合わせた説法系推理アドベンチャです.

  • タイトル : 罪と幸せの四苦八苦(ノアズアーク)
  • 読み : つみとしあわせののあずあーく
  • 作者 : Jumpaku
  • ジャンル : 説法系推理アドベンチャ
  • プレイ時間 : 30分程度
  • プラットフォーム : Windows
  • リリース : 2017年7月24日
  • 言語 : 日本語
  • 開発環境 : WOLF RPGエディター

遊び方 How to play

ウディコンのコンテストページからダウンロードしてください. WOLF RPGエディター コンテスト 応募作品

ゲームを始めるには"Game.exe"を実行して下さい. 詳しい操作方法は"README.pdf"を読んで下さい.

ウディコンにエントリ

このゲームをウディコン2017に提出しました.

コンテストのページはここです. WOLF RPGエディターコンテスト -ウディコン- / 力作フリーゲーム!

ヴァージョン Version

  • v1.1 : README.pdfの間違いを訂正
  • v1.0 : 最初の完成品

±ZERO

f:id:Jumpaku:20170722214902j:plain

離れていると死んでしまう!!

紹介

私はProject ZEROという友人のゲーム開発に参加しました. そこで"±0" というゲームを作って,ウディコン2017に参加したので宣伝します.

このゲームは離れていると死んでしまう2人のキャラクタを切り替えながら, ダンジョンを攻略し,ストーリーを進めていくRPGです. ダンジョンには様々なギミックがあり,その攻略にはパズルを解く面白さがあります.

ウディコン2017のページからダウンロードして遊べます. http://www.silversecond.com/WolfRPGEditor/Contest/entry.shtml

ゲーム情報

リンク

Gradle でライブラリを追加 Add libraries with Cradle

Gradle とは

Gradle とは Ant や Maven にかわるビルドツールです. Maven などに比べて, ビルドスクリプトがシンプルになり, 見やすい気がします. また, Mavenリポジトリのライブラリを利用することができます.

Gradle の準備

NetBeans

NetBeansでGradleを利用するためにプラグインをインストールします. “ツール” –> “プラグイン” –> “使用可能なプラグイン” –> “Gradle Support” を選択し, “インストール” を押します.

Intellij

Intellij では最初から Gradle を利用することができます.

Gradle プロジェクトの作成

新しく自分の Gradle プロジェクトを作成する方法を説明します.

NetBeans

“ファイル” –> “新しいプロジェクト” –> “Gradle” –> “Single Gradle Project” –> “次” と進み, “Project Name” などを埋め, “終了” を押すと Gradle プロジェクトが作成されます.

Intellij

“New” –> “Project” –> “Gradle” –> “Java” と進み,
“GroupId”, “ArtifactId” および “Version” を埋め, “Next” –> “Next” と進んで,
“Project name” および “Project Location” を埋め, “Finish” を押すと Gradle プロジェクトが作成されます.

このとき, 自分のプロジェクトの “GroupId”, “ArtifactId” および “Version” が必要となる場合はそれらを自分で決めます.

依存性の追加

依存性とはプロジェクトで使用する外部のライブラリです. 自分のプロジェクトで使用したい外部のライブラリを自分のプロジェクトへ追加する方法を説明します.

まず, Google などを利用して, 使用する外部のライブラリのグループID, アーティファクトIDおよびバージョンを調べます.

プロジェクト内のbuild.gradleファイルのdependencies { }の中に, 調べた情報を次のように書き加えます.

dependencies {
    //使いたいライブラリの情報を調べておいて,
    //ここに書き加える.
    compile group: 'グループID', name: 'アーティファクトID', version: 'バージョン'
}

Gradle プロジェクトのオープン

Gradle プロジェクトを IDE で開くときに, 開きたいプロジェクトのbuild.gradleファイルを指定します.

Siv3D こだわりのボタン

この記事は Siv3D Advent Calendar 2016 の記事 (12/13) です.

概要

Siv3D でのゲーム開発などで使う為にこだわりのボタンを作りました.

サンプル

実行結果


Siv3D Button

ソースコード

こだわりポイント

このボタンのこだわりポイントは次の通りです.

見た目と機能の分離

ボタンの見た目は別のクラスで実装するようになっています. 従って, 見た目を容易に変更したり, 画像に合わせた当たり判定を設定したりする事ができます.

イベント駆動

ボタン生成時に, ボタンクリック時に呼び出されるイベントハンドラを設定します. これにより, 1フレーム毎に状態チェックをしなくても, ボタンクリック時に自動的に処理が実行されます.

押し心地

マウスの状態に応じてボタンの状態が変化します. ボタンの状態に応じた描画処理が実行されるので, マウスカーソルを合わせた時にボタンを大きくしたり, ボタンを押下した時にボタンが沈んだり, ボタンを離上した時に元に戻ったりする事ができます. その結果, ボタンの押し心地が良くなります.

ボタンの状態遷移もこだわりました. ボタンのクリックが検出されるには

  1. MOUSE_OVER 状態
  2. PRESSED 状態
  3. RELEASED 状態

の3つの状態を経る必要があります. これにより, 間違って押してしまった場合でも指を離さずにカーソルをボタン領域外まで移動させる事でキャンセルする事ができます.

経緯

以下のゲームを作成する際に, ボタンは私が担当する事になりました.

jumpaku.hatenablog.com

そこで作成したボタンをもっと使い易くこだわったものが今回のボタンです. 詳しいソースコードGitHub で見る事ができます. github.com

Siv3D でハッカソン

この記事はSiv3D Advent Calendar 2016の記事 (12/06) です.

概要

私の所属しているサークルの夏合宿でSiv3Dを使った2日間のハッカソンを行いました. そして,成果物を大学祭で展示しました.

内容

Siv3Dを利用すると様々な機能を手軽に実装できます. リファレンスはまだ十分ではありませんが, 分かりやすい命名やサンプルのおかげで開発は容易です. 今回は2日間の中で, Siv3Dの様々な機能を組み合わせたゲームを制作するために, 次の内容を実施しました.

行程

一日目

時間 内容
7:00 - 7:30 朝ごはん食べつつ開会式,フレンチトーストを用意する
7:30 - 8:00 ウォームアップ(ラジオ体操,ストレッチ)
8:00 - 8:30 腕立て:30回,腹筋:30回,背筋:30回,スクワット:30回,外周1km
8:30 - 10:00 フレンチトースト食べながらACM-ICPC過去問
10:00 - 12:00 ブレインストーミング
12:00 - 13:00 お昼,気まぐれパスタ
13:00 - 14:00 イデアのまとめ,発表準備
14:00 - 15:00 イデア発表
15:00 - 18:00 プロトタイプ制作

二日目

時間 内容
7:00 - 7:30 朝ごはん食べつつ開会式,フレンチトーストを用意する
7:30 - 8:00 ウォームアップ(ラジオ体操,ストレッチ)
8:00 - 8:30 腕立て:30回,腹筋:30回,背筋:30回,スクワット:30回,外周1km
8:30 - 10:00 フレンチトースト食べながらACM-ICPC過去問
10:00 - 12:00 開発
12:00 - 13:00 お昼,気まぐれパスタ
13:00 - 16:00 開発
16:00 - 17:00 発表準備
17:00 - 18:00 発表&閉会式
18:00 - カレーパーティ

成果

ハッカソンを行った結果以下の3つの作品が誕生しました.

スペクトルバスター

ブレインストーミング タイトル プレイ画面
どういうゲーム?

jumpaku.hatenablog.com

作ってみてどうだったか

グループでブレインストーミングした結果, こんな面白いアイデアを数時間で思いつくことができました. また, タイトル画像, ゲームシーン, そして, タイトルシーンとリザルトシーンで役割分担することで協力して開発することができました. Siv3DのFFTの機能と当たり判定の機能を組み合わせました. 声で敵を倒すという斬新なアイデアを1日でゲームにできました.

by Jumpaku

QuizShooting

ブレインストーミング プレイ画面
どういうゲーム?

このゲームはシューティングゲームとイントロクイズを融合した斬新なゲームです. ゲームが始まると曲が流れてプレイヤーと敵が3体現れます. 3体の敵には1,2,3の番号が割り当たっています. 画面の右には曲名が書かれた選択肢が3つあり,敵の番号と対応しています. 流れている曲の曲名が分かったら敵の弾を避けつつ正解の番号の敵に自機の弾を命中させます.

ルール

このゲームは敵の弾を避けながら流れている曲を聴いて正解の敵を撃つゲームです. 敵の球に当たったり間違った敵に弾を当てると時間が減っていきます. 正解していくとスコアが上がり時間切れまでにどれだけスコアを稼ぐかというルールになります.

作ってみてどうだったか

時間的な制約があったので既存のSiv3Dのテンプレートを改良できる形でアイデア出しを行いました. その結果できたのがQuizShootingです. シューティングゲームのテンプレートを改良する形でゲームを作りました. 曲を流して選択肢を付けたりするだけでなかなかの完成度のゲームを作ることができました. しかし,イントロクイズの部分はよくできましたがシューティングゲームの部分はもっと作りこみたかったなと思いました. 具体的に言うと敵からの弾をもう少し多く派手に出したいと思いました.

by うっひょい

ピタゴラスイッチ with 神の手

ブレインストーミング プレイ画面
どういうゲームか

作ってみて気が付いたのですが,これはピタゴラスイッチではありません. 自分で引いた線の上を球が走るので,それをゴールに運ぶといういたってシンプルなゲームです. ただし,LeapMotionを使用することで「神の見えざる手」を利用することができます. 「神の見えざる手」は球に対して外力を与えることができ,カオスなゲーム性を生み出します.

作ってみてどうだったか

Siv3Dの新しい機能であるBox2DやLeapMotionを使用したゲームを作ろうという目的で製作しました. 物理演算とモーションキャプチャという一見難しそうなものでも,Siv3Dを使うことで簡単に扱うことができました.

まとめ

  • 出したアイディアを短期間で実装できた
  • 新しいゲームが誕生し, 大学祭で展示できた