情報量が多い時計の今後の展望

突然ですがこちらをご覧ください。ダイアログボックスが出た場合はOKを押してください。

t-sum-u.github.io

見ての通り、情報量が多く視認性が無い時計です。なぜこれを作ろうと思ったのかと言いますと、一目で多くの時間の情報を得られる時計を作りたかったからです。 またサイト下部にVer2.0とありますが、じゃあVer1.0はどこだと思った方もいると思います。それは、Ver2.0のアップデートでWebGLで公開することを試みたからですね。Ver1.0はexeでビルドし、また一部の人にしか公開してなかったので皆さんがVer1.0を知らないのも無理はありません。ちなみにVer1.0は次の画像です。

f:id:T_SUM_U:20201219114456p:plain
こっちのがまだ見やすいとか言わない

この時計ですが、開発はまだ終わっていません。現時点ではそれぞれの針を表示するか非表示にするかを選ぶことができますが、非表示にしても表示されている針の表示が小さければ視認性が低いままであることに変わりはありません。そこで次はそれぞれの針の表示の大きさや位置を自由に変えられる機能を実装したいと思っています。 その次は多言語表示を実装したいですね。外国の方が使ってくれるほど広まるかはわかりませんが。

あと実装したいのはストップウォッチ機能とカウントダウン機能です。これはかなり後になるでしょう。背景色とか背景画像とかフォントとかも自由にいじれるようにしたら楽しそうですね。ユリウス通日表示もやりたいです。

今のところの展望はこんな感じです。短い記事でしたが最後まで読んでいただきありがとうごz...





おや? f:id:T_SUM_U:20201219125742p:plain



情報量が多い時計の様子が... f:id:T_SUM_U:20201219125856p:plain f:id:T_SUM_U:20201219130038p:plain f:id:T_SUM_U:20201219130111p:plain f:id:T_SUM_U:20201219130213p:plain

おめでとう!情報量が多い時計は時間と戦うモードに進化した!



失礼しました。すこし真面目になります。これは何かというと、時間と戦うモードです。 よく「時間との闘い」とか「時間の勝負」とか言うじゃないですか。そういう言葉あるじゃないですか。でも本当の意味で時間と戦ったことがある人っているんですか?? そういう考えの元、現在開発を進めている機能です。特定のキー(隠しコマンド)を入力すると時計との戦闘モードに入ります。が、どうあがいてもクソゲーになる未来しか見えません。しかし数字が飛んでくる絵面はなかなか悪くはありませんし、むしろかっこいいです。

f:id:T_SUM_U:20201219130844p:plain
クールだろ?
とりあえず時間があるときにでも進めようと思います。時計だけにね。はははははははははh



今度こそここでこの記事を終わりにしようと思いましたが、いくら何でも内容がなさすぎる上に短いので、どうやってこの時計を作ったのかの説明だけでもしようと思います。 まず円板と文字盤と針を用意します。 f:id:T_SUM_U:20201219131825p:plain

そんで次のようなスクリプトを書きます(超絶クソコード注意)

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class DateTimeTaker : MonoBehaviour
{
    public Text text;
    string YearStr, MonthStr, DayStr, WeekStr, HourStr, MinuteStr, SecondStr, MilliStr; //各数値の表示
    float Year, Month, Day, Week, Hour, Minute, Second, Milli; //各数値 

    public GameObject MilliHand; //T=1s
    public GameObject SecondHand; //T=1min
    public GameObject MinuteHand; //T=1h
    public GameObject HourHand; //T=1d
    public GameObject WeekHand; //T=1w
    public GameObject DayHand; //T=1mon
    public GameObject MonthHand; //T=1y

    public float[] MonthDays; //各月の日数
    public float YearDay; //1年の日数

    public float PastDays; //今年の経過日数

    public GameObject[] MonthChars; //閏年かそうでないかで使う月の文字盤が違う

    public GameObject[] MonthDials; //月ごとに異なる日数の文字盤


    public float[] positionChanger = new float[10]; 
    public GameObject[] all = new GameObject[10];


    public Toggle[] timeToggles = new Toggle[7];
    public GameObject[] Hands = new GameObject[7];
    public GameObject[] Dials = new GameObject[10];
    void Start()
    {
        MonthDialsManager();
        DayDialsManager();

        for (int i = 0; i < 10; i++)
        {
            int j = all[i].transform.childCount;
            for(int k = 0; k < j; k++)
            {
                all[i].transform.GetChild(k).gameObject.transform.GetChild(0).transform.localPosition = new Vector3(0, positionChanger[i], 0);
            }
        }
    }
    void Update()
    {
        if (Year < System.DateTime.Now.Year) 
        {
            MonthDialsManager();
        }
        if (Month < System.DateTime.Now.Month)
        {
            DayDialsManager();
        }

        Year = System.DateTime.Now.Year;
        Month = System.DateTime.Now.Month;
        Week = (float)System.DateTime.Now.DayOfWeek;
        Day = System.DateTime.Now.Day;
        Hour = System.DateTime.Now.Hour;
        Minute = System.DateTime.Now.Minute;
        Second = System.DateTime.Now.Second;
        Milli = System.DateTime.Now.Millisecond;
        PastDays = System.DateTime.Now.DayOfYear - 1;

        YearStr = Year + "年";
        MonthStr = Month + "月";
        DayStr = Day + "日";
        HourStr = Hour + "時";
        MinuteStr = Minute + "分";
        SecondStr = Second + "秒";

        if (Milli < 100) //ミリ秒が100未満の時の表示崩れ解消
        {
            MilliStr = "0" + Milli + "ミリ秒";
            if (Milli < 10)
            {
                MilliStr = "00" + Milli + "ミリ秒";
            }
        }
        else
        {
            MilliStr = Milli + "ミリ秒";
        }
    
        switch (Week)
        {
            case 0:
                WeekStr = "日";
                break;
            case 1:
                WeekStr = "月";
                break;
            case 2:
                WeekStr = "火";
                break;
            case 3:
                WeekStr = "水";
                break;
            case 4:
                WeekStr = "木";
                break;
            case 5:
                WeekStr = "金";
                break;
            case 6:
                WeekStr = "土";
                break;
        }
        WeekStr += "曜日\n";



        text.text = YearStr + MonthStr + DayStr + WeekStr + HourStr + MinuteStr + SecondStr + MilliStr; //時刻表示


        //時計盤表示
        MilliHand.transform.rotation = Quaternion.Euler(0, 0, -Milli * 360 / 1000);
        SecondHand.transform.rotation = Quaternion.Euler(0, 0, -Second * 6 - Milli * 6 / 1000);
        MinuteHand.transform.rotation = Quaternion.Euler(0, 0, -Minute * 6 - Second / 10 - Milli / 10000);
        HourHand.transform.rotation = Quaternion.Euler(0, 0, -Hour * 15 - Minute / 4 - Second / 240 - Milli / 240000);
        WeekHand.transform.rotation = Quaternion.Euler(0, 0, -Week * 360 / 7 - Hour * 15 / 7 - Minute / 28 - Second / 1680 - Milli / 1680000);
        DayHand.transform.rotation = Quaternion.Euler(0, 0, -(Day - 1) * (360 / MonthDays[(byte)Month - 1]) - Hour * 15 / MonthDays[(byte)Month - 1] - Minute / 4 / MonthDays[(byte)Month - 1] - Second / 240 / MonthDays[(byte)Month - 1] - Milli / 240000 / MonthDays[(byte)Month - 1]);
        MonthHand.transform.rotation = Quaternion.Euler(0, 0, -PastDays * (360 / YearDay) - Hour * 15 / YearDay - Minute / 4 / YearDay - Second / 240 / YearDay - Milli / 240000 / YearDay);
    }

    public void ToggleManager()
    {
        for(int i = 0; i < 10; i++)
        {
            Dials[i].SetActive(true);
            MonthDialsManager();
            DayDialsManager();
        }

        for(int i = 0; i < 7; i++)
        {
            Hands[i].SetActive(true);
            if (!timeToggles[i].isOn)
            {
                Hands[i].SetActive(false);
                switch (i)
                {
                    case 0:
                        Dials[0].SetActive(false);
                        Dials[1].SetActive(false);
                        continue;

                    case 1:
                        Dials[2].SetActive(false);
                        Dials[3].SetActive(false);
                        Dials[4].SetActive(false);
                        Dials[5].SetActive(false);
                        continue;

                    case 2:
                        Dials[6].SetActive(false);
                        continue;

                    case 3:
                        Dials[7].SetActive(false);
                        continue;

                    case 6:
                        Dials[9].SetActive(false);
                        break;
                }
            }
        }

        if(!timeToggles[4].isOn && !timeToggles[5].isOn)
        {
            Dials[8].SetActive(false);
        }
    }

    void MonthDialsManager()
    {
        Year = System.DateTime.Now.Year;
        //月の文字盤に関して
        if (Year % 400 == 0 || (Year % 100 != 0 && Year % 4 == 0)) //閏年の場合
        {
            MonthDays[1] = 29;
            YearDay = 366;
            MonthChars[0].SetActive(true);
            MonthChars[1].SetActive(false);
        }
        else //そうでない場合
        {
            MonthDays[1] = 28;
            YearDay = 365;
            MonthChars[0].SetActive(false);
            MonthChars[1].SetActive(true);
        }
    }

    void DayDialsManager()
    {
        Month = System.DateTime.Now.Month;
        Year = System.DateTime.Now.Year;
        //日の文字盤に関して
        if (Month == 1 || Month == 3 || Month == 5 || Month == 7 || Month == 8 || Month == 10 || Month == 12) //ひと月31日の場合
        {
            MonthDials[0].SetActive(true);
            MonthDials[1].SetActive(false);
            MonthDials[2].SetActive(false);
            MonthDials[3].SetActive(false);
        }
        else if (Month == 4 || Month == 6 || Month == 9 || Month == 11) //ひと月30日の場合
        {
            MonthDials[0].SetActive(false);
            MonthDials[1].SetActive(true);
            MonthDials[2].SetActive(false);
            MonthDials[3].SetActive(false);
        }
        else if (Month == 2 && Year % 4 != 0) // ひと月28日の場合
        {
            MonthDials[0].SetActive(false);
            MonthDials[1].SetActive(false);
            MonthDials[2].SetActive(true);
            MonthDials[3].SetActive(false);
        }
        else if (Month == 2 && Year % 4 == 0) //ひと月29日の場合
        {
            MonthDials[0].SetActive(false);
            MonthDials[1].SetActive(false);
            MonthDials[2].SetActive(false);
            MonthDials[3].SetActive(true);
        }
    }
}

あとは先ほど用意しておいた文字盤とかと紐づけをします。注意すべき点は、月や年によって日数が違うのでそれぞれ別の文字盤を用意しなければならないことです。UI使えばもっときれいにできただろとかいう突っ込みはやめてください。コードの中のpositionChangerとかvoid Start()内のfor文は何のためにあるのかという声が聞こえてきそうですが、これは開発の最中に文字盤の位置の調整に使っていただけなので気にしないでください。なんならこれがないと表示が崩れます。先ほど述べた文字盤の位置を自由に変更する機能を実装するのに使えそうなので取っといてる状態です。

今度こそこの記事はここで終わりです。ありがとうございました。

自己流旅客機の見分け方

こんにちは。12月17日が飛行機の日だということを12月18日に知ったT_SUM_Uです。

本題に入ります。突然ですが私は旅客機が好きです。しかしほとんどの人は「旅客機なんてみんな同じじゃないか」とか思ったりするでしょう。そこで、いくつかのメジャーな旅客機の機種の見分け方を記載したいと思います。これを知っておけば、空港での待ち時間の退屈さも少しは紛れるでしょう。



※注意:機種と言っても、B737A330などのような機種の区別の仕方のみを記載します。B737-800やB777-200などのようなさらに細かい見分け方は記載しません。またここでは現在の日本で飛んでいる飛行機に限って話を進めます。日本で飛んでいると言っても、ここで記載する写真は必ずしも日本で撮影されたであるとは限らないということをご理解ください。またここに記載しているのはあくまでこの記事の著者が普段から使っている見分け方です。



日本で飛んでいる旅客機はだいたいメーカーによって5つに大別できます。

ボーイング

エアバス

エンブラエル

ボンバルディア

ATR

日本で飛んでいる飛行機を考える場合は、エンブラエルボンバルディアATRが小型機で、中型機や大型機はボーイングエアバスと捉えていただいても問題ないかと思われます。もちろんエアバスボーイングにも小型機はありますが、エンブラエルボンバルディアATRよりは大きい場合がほとんどです。エンブラエルボンバルディアATRは種類が少ないのでここでは主にボーイングエアバスについて記載しようと思います。

ボーイング

現在日本で飛んでいるボーイングには次の種類があります。

B737

B747

B767

B777

B787

B737は小型機、B767B787は中型機、B747B777は大型機に分類されます。

B737

B737垂直尾翼とエンジンの形、ウィングレット、機首の形で見分けられます。

f:id:T_SUM_U:20201218172043j:plain
チャイナエアラインB737-800
f:id:T_SUM_U:20201218172143j:plain
エアカナダのB737-8 MAX
B737垂直尾翼は根元が広く、少し上に行くとカクっと折れ曲がっています。またエンジンは多少潰れた形をしており、機首は窓の下で勾配が小さくなっています。そして何より目に付くのが翼の先のウィングレットです。B737-700以降のB737は大きなウィングレットを持ち、特にMAXシリーズは翼の上下にウィングレットを持っています。

B747

B747は現在は旅客型は引退し、貨物機としての利用が主です。

B747を見分けるのは非常に簡単です。機体前方が2階建てになっており、4つのエンジンを持っています。

f:id:T_SUM_U:20201218173822j:plain
日本貨物航空のB747-400F

B767

B767にはこれといった特徴がなく、見分けるのがやや難しいです。自分の中では最も平凡で一般的な飛行機という認識が強いです。擬人化したら中性的でおとなしい女の子になりそう。旅客機の擬人化やってみたいですね。ちなみに自分が一番好きな飛行機だったりします。

話が逸れました。本題に戻りましょう。

まずウィングレットの有無では見分けられません。ウィングレットが付いてたり付いてなかったりします。ドアの位置などで見分けられますが、それではあまり楽しくありません(?)。 次の写真を見てみましょう。

f:id:T_SUM_U:20201218175258j:plain
全日本空輸B767-300ER
まず写真中央下あたりにある車輪が見えるでしょうか。車輪が前後に2つ並んでいます。また尾部に目をやると、垂直尾翼の付け根が後ろ向きに下っています。あとは機首がなんとなく丸っこい気がします。

ちなみに先ほどドアの位置で見分けられると言いましたが、主翼付近にドアが2つ並んでいます。これで見分ける方法がよくとられますが、私は「あーこの形は767だな。」といった感じでかなり適当に見分けています。

B777

B777は大きく、機体中央付近の車輪が前後に3つ並んでおり、機首の上部の傾きが緩やかです。また尾部の先っぽが平坦になっています。尾部を見れば一瞬でB777だと判別がつきます。

f:id:T_SUM_U:20201218180518j:plain
全日本空輸B777-300ER
f:id:T_SUM_U:20201218181228j:plain
ブリティッシュエアウェイズのB777-200ER

B787

B787はエンジンの後ろがギザギザしており、機首は下部の傾きは緩やかで、上部の傾きが急です。また飛ぶときに主翼がめっちゃ湾曲します。

f:id:T_SUM_U:20201218181946j:plain
全日本空輸B787-8
この塗装結構好きです。

エアバス

現在日本で飛んでいるエアバスは次の通りです。

A320系(A321、A319、A318を含む)

A330

A350 XWB

A380

A320系は小型機、A330は中型機、A350 XWBは中大型機、A380は大型機に分類されます。

A320

A320系も地味な飛行機だと勝手に思っています。見分け方ですが、機体中央下部の車輪は1つずつです。そして機首は下部の傾きが緩やかです。また主翼の先端にはウィングチップが付いていたりB737みたいなウィングレットが付いていたりします。 また導体の長さはA321、A320、A319、A318の順に長いです。

f:id:T_SUM_U:20201218184109j:plain
全日本空輸のA321neo

A330

A330は機体上部が平坦です。これは尾部を見るのが良いと思います。あとは主翼の先端に小さめのウィングレットが付いているくらいでしょうか。頭の形でも見分けられます。

f:id:T_SUM_U:20201218184624j:plain
シンガポール航空A330-300

A350 XWB

顔で区別します。操縦席の窓が何となく黒く、つけまつげのような印象を受けます。また主翼先端の形状が他機種のウィングレットとは若干違います。あとなんとなく顔がうざい。でもなんだかエロい体をしてますね。

f:id:T_SUM_U:20201218205054j:plain
カタール航空A350-900

A380

これは一目でわかります。圧倒的にでかいです。なんせ完全2階建てでエンジンが4つ付いてますから。

f:id:T_SUM_U:20201218205955j:plain
エミレーツ航空A380-800

おわり

飽きた。

ライセンス

CC BY-SA 4.0

Author: N509FZ

ja.wikipedia.org


CC BY 2.0 Author: Liam Allport

C-FSDW Air Canada Boeing 737 MAX 8


CC BY-SA 3.0

Author: Kouhei14915

commons.wikimedia.org


CC BY-SA 4.0

Author: KAPPI12

commons.wikimedia.org


CC BY 2.0

Author: Masahiro TAKAGI

DSC02164


CC BY-SA 2.0

Author: Alan Wilson

Boeing 777-236ER 'G-YMMH' British Airways


CC BY-SA 3.0

Author: Spaceaero2

commons.wikimedia.org


CC BY-SA 4.0

Author: Japanbird

commons.wikimedia.org


CC BY-SA 2.0

Author: Aero Icarus

Singapore Airlines Airbus A330-300; 9V-STG@SIN;07.08.2011/617cg


CC BY 2.0

Author: Gerald van der Schaaf

A7-ALA


CC BY-SA 2.0

Author: Maarten Visser

A6-EDY A380 Emirates 31 jan 2013 jfk

Rebel Inc超ハード攻略

Rebel Incのサフロンフィールド超Hardを公務員でクリアします。

まず負ける要因としては次のようなものがあると思います。

・序盤の安定度不足

・反乱軍の制御に失敗

汚職の制御に失敗

特に「反乱軍の制御にばっかり集中してたら安定度不足で評価がゴリゴリ下がって敗北」っていうパターンが非常に多いと思います。なので序盤ではまず安定度を一気に上げ、反乱軍が発生したら適当に相手をしつつ地区を安定化させていくといった流れになります。

では初めて行きましょう。

アドバイザーは医師、警察署長、芸能人、現実主義者、鬼軍曹、エンジニアで行きます。f:id:T_SUM_U:20201217225026p:plain

序盤

開始地点はDelta Yankeeです。Delta Yankeeはマップの中央に位置し、都会で、しかも交通の便が良く、川にかかっている橋があるマップなので、反乱軍を閉じ込める上で有利だったりします。 f:id:T_SUM_U:20201217225247p:plain

オペレーションでは政府タブから地区代表、効率的な調達、地域調査、広報活動とメディアオフィスの順に買っていきます。特に広報活動とメディアオフィスは買っておかないと高確率で安定度不足に陥って詰みます。 f:id:T_SUM_U:20201217225737p:plain

余った金で民間タブの事業会議を買いました。 f:id:T_SUM_U:20201217225834p:plain

中盤

反乱軍が発生するまでは民間タブから教育系を中心に事業を買っていきます。適当なタイミングで政府タブの支援オフィスも買っておきましょう。反乱の噂が来てもスルーして大丈夫ですが、不安なら連合軍を1つ買っておきましょう。

反乱軍が現れました。反乱軍が出たら連合軍を2つにします。 f:id:T_SUM_U:20201217230628p:plain f:id:T_SUM_U:20201217230811p:plain

反乱軍に対する基本戦略ですが、殲滅せずにマップの隅に閉じ込めることを意識しましょう。遠隔地は占領されても大した痛手にはなりませんし、どうせこんな序盤で潰してもどんどんいろんなところに奇襲されるだけですから。 このマップでは反乱軍は主に右上からやってくるので、序盤では次の画像で示した赤線を超えさせないことを意識します。この赤線を少しずつ右上にずらしていくイメージで反乱軍を追い詰めます。 f:id:T_SUM_U:20201217231444p:plain

また反乱軍と戦うときは、反乱軍がいる地区と、それに隣接した反乱軍が居ない地区の両方に軍を置くようにしましょう(下図参照)。 f:id:T_SUM_U:20201217234303p:plain

いつまでも連合軍に頼ってられません。連合軍を2つ買ったら自国軍を買いましょう。連合軍はあくまで自国軍の訓練が終わるまでの時間稼ぎ程度の認識です。同時並行で民間タブの事業を中心に買っていきます。適当なタイミングで駐屯地も買っていきましょう。自国軍が軍隊の不足は駐屯地で補います。好きなタイミングで普遍的正義も買います。

ここらへんでDelta Yankeeが安定化しました。とりあえず1つ安定化したら一安心です。ここからはどんどん地域が安定化していきます。 f:id:T_SUM_U:20201217235045p:plain この時の民間投資はこんな感じです。ここまで来たら一旦民間は放っといて、反乱軍の鎮圧と汚職対策に集中します。自国軍を強化しながら増やしつつ、交通系のインフラを買っていきましょう。汚職対策の戦略もどんどん買っていきます。 f:id:T_SUM_U:20201217235225p:plain この辺まで来たら今度はこの赤線を意識します。 f:id:T_SUM_U:20201217235558p:plain

そろそろ連合軍が帰りたがる頃です。連合軍を帰すかどうかの判断は最大限まで遅らせるのが原則ですが、邪魔だと思ったらさっさと帰しても大して問題はありません。 f:id:T_SUM_U:20201218000237p:plain

時々こんなポップアップがあると思います。 f:id:T_SUM_U:20201218000601p:plain こんなポップアップが出たら、政府タブから国際関係オフィスを買います。そしてポップアップではささやかな圧力を選びましょう。ここから後に出る同じポップアップは全部ささやかな圧力一択です。最初は反乱軍への支援が減る可能性は1%かそれ未満ですが、それ以降はだんだんと確率が上がり、4回か5回目くらいには100%になります。最初の1%は削減されたら超ラッキー程度の認識がちょうどよいでしょう。今回は1回目は1%、2回目は37%、3回目は57%、4回目は78%、5回目で100%になりました。

反乱軍が交渉を持ちかけてきました。対話を拒否する確率が100%又は遅延した場合に支援レベルが減る可能性がある場合は遅延、対話を拒否する確率が100%でない場合は対話を選びます。 f:id:T_SUM_U:20201218000958p:plain

自国軍兵士間の高い脱走率イベントが発生しました。これは運がいいです。自国軍を強化できるチャンスです。ありがたく給与を引き上げてやりましょう。 f:id:T_SUM_U:20201218001250p:plain

自国軍の強化が完了しました。しばらくは軍事タブには触れなくても大丈夫です。インフラを強化していきましょう。この辺りまで来たら政府タブから民主主義への移行を買っても大丈夫です。また、同じく政府タブの戦略的コミュニケーションを買うと少しは楽になるでしょう。また軍事タブから通訳とガイド、民間援助、地域社会と融合を買うと軍隊が居る地区の安定化が多少は楽になります(ついさっき軍事タブにはしばらく触れなくても大丈夫っつったじゃんという突っ込みは無し)。適度に民間投資もしていきましょう。 f:id:T_SUM_U:20201218001833p:plain

終盤

反乱軍との和平交渉が始まりました。軍事タブからドローンと空爆、政府タブからセキュリティ関連のを買って、一気に反乱軍を追い詰めます。 f:id:T_SUM_U:20201218003027p:plain この段階ではこの赤線を意識して反乱軍と戦っていきます。和平交渉が終盤になったら殲滅していきましょう。 f:id:T_SUM_U:20201218003416p:plain 和平交渉でも常に反乱軍に対して強気で行きます。和平交渉に関するポップアップでは常に右の選択肢を選びます(最後の合意するかどうかの選択を除く)。

右下に奇襲を食らいました。右下に限らず、左下とかも奇襲される確率が高いような気がします(特に、左側のAlpha Victorに観光ホテルを建てるイベントが発生した場合、よく反乱軍がAlpha Victorに発生します。)。ここでインフラを整備しておいたのが効いてきます。インフラを整備しておいたので即座に奇襲された場所に向かうことができます。こういう奇襲は放置すると鎮圧が難しくなり2面作戦を強いられることになるのですぐに潰します。右側の戦場は一旦放棄します。こういう奇襲は発生したばかりなら大した強さはないので一瞬で潰せます。安心して戦場を放棄しましょう。 f:id:T_SUM_U:20201218004232p:plain f:id:T_SUM_U:20201218004535p:plain f:id:T_SUM_U:20201218004746p:plain f:id:T_SUM_U:20201218004815p:plain 



和平交渉が終わりました。まだ反乱軍が居るのなら拒否、以内のなら合意します。反乱軍が居る状態で合意すると評価をごっそり持っていかれ、最悪の場合そのまま敗北します。十分な評価があり、なおかつ速さを求めているなら合意してもよいでしょう。 f:id:T_SUM_U:20201218005032p:plain

ここではこんな状態だったので拒否しました。 f:id:T_SUM_U:20201218005442p:plain

反乱軍を殲滅しました。和平交渉が爆速で進みます。 f:id:T_SUM_U:20201218005659p:plain

和平交渉がポップアップしたら合意しましょう。反乱軍は殲滅してあるので評価は減りません。 f:id:T_SUM_U:20201218005818p:plain f:id:T_SUM_U:20201218005858p:plain

あとはもう何もしなくても大丈夫です。地域が急速に安定化されていく様子を眺めましょう。お疲れ様でした。 f:id:T_SUM_U:20201218010002p:plain f:id:T_SUM_U:20201218010059p:plain

最後の和平交渉で拒否し続ければ好きなだけ評価を上げられます。評価100超えでクリアしたい場合はやってみるよ良いでしょう。

それではさようなら。







ムョンヌゴルスコンダ

↓確認できた最古

こんなゲームを作りたいなーっていうだけの話


今まで何本かのゲームを作って世に放ってきましたが、その裏には表に出ることのなかった多くの残骸や使われることのなかった案の山が存在しています。それらを救いたい。その思いの元この記事を書いています。それではその残骸や使われなかった案、そして計画中の案を見て行きましょう。

カスタム数独

皆さん数独はご存じですよね。ご存じない方はWikipedia数独 - Wikipedia)でも読んどいてください。実は高3の時にこの数独を自動生成するプログラムを作ってみようと思い、実際にそれっぽいプログラムを作りましたが、決まったパターンのものしか生成することができませんでした。とりあえず普通の3×3の数独を生成するプログラムを完成させたいと思っています。そしたら4×4とか5×5の数独を作れるゲームを作りたいと思っています。与えられた数独に答えが存在するのかどうかを判定するプログラムも作ってみたいですね。世界で最も難しいと言われている数独をコンピューターに解かせるっていうのもやってみたいです。

音ゲー

2019年12月22日にUNDERTALEの二次創作の曲を使った音ゲーをひとまず完成させました。

f:id:T_SUM_U:20201217003440p:plain
二次創作の二次創作
しかし著作権の関係で公にするのが怖かったので、私のPCのローカルディスクに眠っている状態です。でもこのまま眠らせておくのはもったいない。だったら曲を差し替えればいいじゃない!そんな感じでオリジナル曲を使った音ゲーを作りたいんです。これを読んでいるそこの貴方!よろしければ曲を提供していただけませんか??連絡はこちらまで。

twitter.com

フライトシミュレーター

実は私、旅客機が大好きなんです。こんな風に3Dモデルまで作りました。

f:id:T_SUM_U:20201216213106p:plain
Mayaで作ったやつ
3Dモデルがあるんなら飛ばそうよ。実際に飛ばしはしたんですよ。でも...
f:id:T_SUM_U:20201216213309p:plain
低予算CG感。間違ってはいないけどさ。
3Dゲームのグラフィックの制作コストをなめてはなりません。そして何より航空力学未履修。やるからにはちゃんとこだわりたいじゃないですか。Unityには物理演算をしてくれる機能も備わってるんだし。でも空気中の飛行機の挙動を実装するのってどうやるん?しかもこのモデル剛体だし。フラップとかついてないんですよ。そんな感じで完全に計画が頓挫しています。

さいころ

さいころを振るだけです。なんかいい活用法が欲しい。さいころが中心のゲームを作りたい。双六でも作ってみるかな。

t-sum-u.github.io

ターン制RPG

上のさいころが使えそうな例。下の画像みたいなマップが用意してあって、マスによって発生するイベントが決められてて、さいころの目の数以内だけ自由にマスを動けるっていうやつ。操作するキャラクターを自分で作れるようにしたら面白そう。ちなみにこのマップはチャタム島です。

f:id:T_SUM_U:20201216221047p:plain
マップのイメージ

素因数分解

走ってると壁にぶつかって、その壁に書いてある数字を素因数分解すると壁が破壊できて先に進めるっていう感じ。でも全く同じ内容のゲームが既にありました。

オープンワールドRPG

ポケモンGTAを組み合わせたようなイメージ。街の規模や自由度はGTAより小さいくらいで、街を転々として目標を達成していくゲーム。各民族とか言語とか文化とかかなりガチでやるつもりでいるので、協力者が欲しい。企画として立ち上げてみようかな。マップだけは作ってある。

f:id:T_SUM_U:20201217002740p:plain
世界地図

メモを探せばもっと見つかると思うけどとりあえずこんな感じで終わりです。最後まで読んでいただきありがとうございました。

おまけ

人生で最初に作ったのはこんなアクションゲームでした。作るうえで参考にしたサイトは消えてました。 f:id:T_SUM_U:20201216225832p:plain

ライセンス

Undertale - Megalovania (Dubstep/Complextro Remix) by Howwl_

https://soundcloud.com/hwowl/undertale-megalovania-dubstep-remix

CC BY-NC-SA 3.0