読者です 読者をやめる 読者になる 読者になる

しがないプログラマ(仮)のブログ

個人のメモ的に使ってるのでいい情報があるはか知らないです

Unityで1週間クソゲーつくってみた(6)

Unity ゲームプログラミング

第6弾。
今までのはこちらから↓
Unityで1週間クソゲーつくってみた(1) - しがないプログラマ(仮)のブログ
Unityで1週間クソゲーつくってみた(2) - しがないプログラマ(仮)のブログ
Unityで1週間クソゲーつくってみた(3) - しがないプログラマ(仮)のブログ
Unityで1週間クソゲーつくってみた(4) - しがないプログラマ(仮)のブログ
Unityで1週間クソゲーつくってみた(5) - しがないプログラマ(仮)のブログ

一週間で作ったゲームとしては最後のものになっています。

今回はマウス操作をしたいというテーマのもと作った。
また、今まではシーンを1つのみで作っていたので、シーン遷移も行った。
そのため、複数のステージを遊べるようにした。
といっても2つしかないが。

シーン遷移は1回目で若干触れているのでそれを参考にした。
また、マウス操作のイライラ棒であるため、すぐ始まると悲しいことになるので、
最初にゲーム開始ボタンを用意して、それをクリックすると始まるようにした。

ビルドする際は以下のサイトを参考にして複数シーンの対応を行った。
シーンの移動(シーンの遷移) - あいやまてぃ

操作方法は、マウスのみ

完成したゲームはこちらから遊べます。
Unity WebGL Player | Irairabou
ソースコードはこちらにあります。
Unity/Irairabou/Project at gh-pages · Turgure/Unity · GitHub

f:id:turgure:20161009222927p:plain

ステージ2は結構イラっとするかも?

とりあえず以上となるが、
また機会があればゲームを作って公開したいと考えている。
ではまた。

参考URL

素材提供サイト様

Unityで1週間クソゲーつくってみた(5)

Unity ゲームプログラミング

第5弾。
今までのはこちらから↓
Unityで1週間クソゲーつくってみた(1) - しがないプログラマ(仮)のブログ
Unityで1週間クソゲーつくってみた(2) - しがないプログラマ(仮)のブログ
Unityで1週間クソゲーつくってみた(3) - しがないプログラマ(仮)のブログ
Unityで1週間クソゲーつくってみた(4) - しがないプログラマ(仮)のブログ

今回は、2Dのゲームを作ってみたいと思い、
2Dのシューティングゲームを作成した。

クソゲーなので、右からエンドレスにわいてくる敵をひたすら倒す感じで。
でも実際はエンドレスじゃないです。
さらに敵が攻撃してきて、ライフは減りますがゲームオーバーは未実装です。
それでも一応スコアは実装しました。

操作方法は、
上下左右で移動
スペースでショット

完成したゲームはこちらから遊べます。
Unity WebGL Player | 2D Shooting
ソースコードはこちらにあります。
Unity/2D shooting/Project at gh-pages · Turgure/Unity · GitHub

f:id:turgure:20161009221722p:plain

ハートマークの座標がずれてしまっています。
現在原因調査中。
わかる方いましたらコメントください。

参考URL

素材提供サイト様

Unityで1週間クソゲーつくってみた(4)

Unity ゲームプログラミング

第4弾。
今までのはこちらから↓
Unityで1週間クソゲーつくってみた(1) - しがないプログラマ(仮)のブログ
Unityで1週間クソゲーつくってみた(2) - しがないプログラマ(仮)のブログ
Unityで1週間クソゲーつくってみた(3) - しがないプログラマ(仮)のブログ

今回は最初の記事を参考に戦車を動かすクソゲーにした。

マップ生成にあたり、マップデータをスクリプト側で制御して生成することにした。
また、戦車の移動もRigidbodyのMovePositionとMoveRotationを使うと感動的に簡単に作れることを知った。
後で知ったことだが、CharacterControllerを使っても簡単に制御できるっぽい

あと頑張ったことは、ちゃんと砲弾を砲身から飛ばせるようにしたこと、
カメラの制御、
音の追加、
パーティクルの追加かな。

操作方法は、
上下で前進後退
左右で回転
スペースで発射

完成したゲームはこちらから遊べます。
※ 音声が出ます
Unity WebGL Player | tank
ソースコードはこちらにあります。
Unity/Tank/Project at gh-pages · Turgure/Unity · GitHub

f:id:turgure:20161009215842p:plain

参考URL

素材提供サイト様

Unityで1週間クソゲーつくってみた(3)

Unity ゲームプログラミング

第3弾。
今までのはこちらから↓
Unityで1週間クソゲーつくってみた(1) - しがないプログラマ(仮)のブログ
Unityで1週間クソゲーつくってみた(2) - しがないプログラマ(仮)のブログ

最初の記事によれば野球ゲームを作っていたが、野球のルールわかんないので没。
しかしそのゲームでTerrainというものを使っており興味を持ったので、
それを使って広大な大地をただ走るというクソゲーを作った。

せっかくだからユニティちゃんに出番頂こうと思いAsset Storeからダウンロード。
走らせ方がわからなかったので、以下のサイトを参考にした。
Unity-Chan!を1時間ほどで「自在に動かす」使い方を公開してみた! - Unity不定期便

これの通りにやれば基本的な移動とジャンプができるようになる。
しかしジャンプ中に移動できない!と思い、何とかならないかと色々ググった。

このサイト様ではMecanim Locomotion Starter Kitというものを使っていたが、
中身はただのAnimatorを自作したプログラムだった。
なので、基本的なことはこちらを参考に勉強した↓
第 1 回・Unity / Mecanimでユニティちゃんを歩かせる | ギャップロ
Unityでキャラクターがジャンプ出来るようにする | Unityを使った3Dゲームの作り方(javascript)

そして、頑張ってゴリゴリコーディングしてジャンプ中に移動できる機能を追加して完成とした。

操作方法は、 上下左右で移動 スペースでジャンプ シフトでダッシュ

完成したゲームはこちらから遊べます。
Unity WebGL Player | Free Run
ソースコードはこちらにあります。
Unity/Free Run/Project at gh-pages · Turgure/Unity · GitHub

f:id:turgure:20161009213943p:plain

予想以上にフィールドが広すぎて大変だった
右奥に岩場っぽいテクスチャあるので暇な人いってみてください。
あとジャンプ中の移動が若干変だけど気にしない方向で

参考URL

Unityで1週間クソゲーつくってみた(2)

Unity ゲームプログラミング

色々立て込んでおり、以前の記事から大分経ってしまったが第2弾。

第1弾はこちら↓
Unityで1週間クソゲーつくってみた(1) - しがないプログラマ(仮)のブログ

今回は最初の記事を参考に車を動かしてみた
Unityに全然慣れていなかったため、車の移動がかなりキモイことになっているが気にしない方向で

操作方法は、
上下左右で移動
スペースで初期化

完成したゲームはこちらから遊べます。
Unity WebGL Player | Car Race
ソースコードはこちらにあります。
Unity/Car Race/Project at gh-pages · Turgure/Unity · GitHub

f:id:turgure:20161009211958p:plain

参考URL

Unityで1週間クソゲーつくってみた(1)

Unity ゲームプログラミング

Unityを勉強しなくてはいけないことになり、ググったらこちらのサイトが有名らしいので真似してみた

【Unity】素人が7日間クソゲーを作り続けてわかったこと | uinyan.com

1週間かけて6つしか作れなかったけどね!
Githubにもゲームとプロジェクト公開してます↓
https://github.com/Turgure/Unity

とりあえず1つ目はUnityの使い方から勉強するため、こちらのサイトをなぞって作りました。

Home · unity3d-jp/FirstTutorial Wiki · GitHub

ゲームはWebGLとかいうのでビルドしてます。
Web Player使いたかったけどUnity5から対応やめたのかな…?
ビルドにあたってはこちらのサイトを参考に作りました。
UnityのWebGLで書きだしたゲームをGitHubを使って公開する - Qiita

また、実際にビルドしてプレイしたら、UIがずれていたので、こちらのサイトを参考にして修正しました。
Canvas Scale」の「Ui Scale Mode」を「Scale With Screen Size」にするだけ。
uGUIで設置したUIが端末の解像度によってずれる問題 - Project Unknown's Blog

完成したゲームはこちらから遊べます。
Unity WebGL Player | Roll a Ball

f:id:turgure:20160922191314p:plain

画面が暗くなる現象がよくわかんないけど、とりあえずいじょー

LaTeXでソースコードを書く

LaTeX
  • 基本

listingsを用いる.

\documentclass{jsarticle}

\usepackage{listings}

\begin{document}
\begin{lstlisting}
#include <iostream>
int main(){
    std::cout << "Hello, world!" << std::endl;
    return 0;
}
\end{lstlisting}
\end{document}

そうすると下の感じになる.

f:id:turgure:20160819181544p:plain

  • 基本2

\begin{lstlisting}の後ろに[]を書いてその中に色々オプションを指定できる.
例えばlanguage=c++のようにすればc++仕様になる.

\begin{lstlisting}[language=c++]
#include <iostream>
int main(){
    std::cout << "Hello, world!" << std::endl;
    return 0;
}
\end{lstlisting}

予約語が太字になってスペースが表示されるようになっていることが分かる.

f:id:turgure:20160819181633p:plain

他にもnumbers=leftで左に行番号を表示したり,tabsize=2でタブサイズを指定できたりする.

オプションの指定には,\lstsetを用いる方法もある.
様々なところで利用する際に同じオプションを付けたいならこっち.

\lstset{
    frame=single,
    numbers=left,
    tabsize=2
}

\begin{lstlisting}[language=c++]
#include <iostream>
int main(){
    std::cout << "Hello, world!" << std::endl;
    return 0;
}
\end{lstlisting}

結果は下.
枠追加,左側に行番号追加,タブサイズが2になっていることが分かる.
また以前と同様に\begin{lstlisting}の方でオプションも追加できる.

f:id:turgure:20160819182000p:plain

  • 応用

\lstnewenvironmentを用いることで自分で新しく定義できる.

\lstnewenvironment{mylisting}[1][]
    {\lstset{
        frame=single,
        basicstyle=\ttfamily,
        numbers=left,
        numbersep=10pt,
        tabsize=2,
        extendedchars=true,
        xleftmargin=17pt,
        framexleftmargin=17pt,
        #1
    }
}{}

\begin{mylisting}[language=c++,caption=C++サンプルコード]
#include <iostream>
using namespace std;
int main(){
    std::cout << "Hello, world!" << std::endl;
    return 0;
}
\end{mylisting}

結果は下のほうに.
こんな感じに定義すると便利かもね.

f:id:turgure:20160819182553p:plain

参考URL

基本的なところ

languageに利用できるもの

応用編