とりあたまの日々

アニメ、マンガ、その他趣味について書きます。

八月のスイッチない

f:id:chik08:20200823115840p:plain

Nintendo Switch」の購入を検討しているのだが、売っていない。Liteは稀に見るが、通常版は売ってない。どこにあるのか。

お盆明けでそろそろ生産数は増えるとは思うが、出てもすぐ無くなるし、張り付いて見てるわけにもいかないのでどうしようかね。

今すぐというわけでもないので貯金して待つ。やりたいソフトがあるけど。

 

何がでるかな

何やるかねと思いつつ、最近はYouTubeでカードゲームのパック開封動画を見ている。最新弾やら、絶版パック、オリパ開封など見ている。

ボックス購入したパックを剥いて、注目カードや最高レアリティのカードが出た時には、それは爽快感があるだろう。また、何ボックス目、何パック目で当たるのか見てる方は気になるところである。

時には、何だかよくわからないオリパや、福袋開封動画もありこれまた面白い。実際のところレアカードはあるのか、または元を取れるのか検証してたりする。このような動画を見るとある意味では参考になる。

実際のところ自分はカードゲームを今現在やっているわけではない。けれど、動画を見ていると遊戯王、デュエマやりたいなと思ってしまう。ただ、開封動画を見てるだけでも面白いので留めておこう。

やっぱり面白い

私がモテないのはどう考えてもお前らが悪い!」18巻特装版と「いきのこれ!社畜ちゃん」 6巻を読んだ。

「わたモテ」は、夏合宿回がメインの話。もこっちの周りで渦巻く関係が気になるところだけど、勘違いやらで面白い。加藤さんの思惑は、こみさんがととのう、ゆうちゃんは何やかんやでかわいかった。ゆりちゃんは、みんなが思ってるほどで、彼女自身も変ろうとしているのが見て取れる。あと最後のところがかわいい、そして突っ込まれる。小冊子のほうは、四コマともしもの話。良かった。

社畜ちゃん」は、後輩ちゃんが試験勉強したり、社畜ちゃんがインフルエンザにかかったり。何だか時事ネタが多かった。実際のところはコロナ流行ってるし、 IPA試験も中止になってるし。作中では後輩ちゃんは 0次(起床)試験突破できず。おまけの常駐さんの話は、私も信頼を裏切らないように頑張ろうと思った。

どれもやっぱり面白い。次巻も気になるところである。

手軽にできるけど

思い出したかのようにアプリゲームをやった。いつもはログインだけで終わる「デュエプレ」をやった。進めていなかったストーリーを進めて、デッキ構成を考えて、イベントもぽちぽちした。

時間を過ぎるのも忘れて、カードの分解と生成、次はどのデッキにしようかとやっていた。ランクマもやってみたりして、はじめて勝てたりした。しばらくやったのち、次の日、残りのストーリーも進めた。

しかし、それは急激に起こった。飽きたのである。目当てのカードが出ず、イベントも何だかで、モチベーションは瞬く間に下がったのである。無料のゲームなんだからと言えば、それまでだけど。他のアプリゲームでもあるのだが、やりたい欲が出るのに、すぐ冷めていくのである。

数年前までは毎日のようにお目当てのカードの為にイベントを走ったりした。溜まった石でガチャを回して、一喜一憂した。あの時は、ひたすらやってたのに。

手軽さゆえに、やるのも飽きるのも早いのか。思い出した時にやればいいのだが。今日はどうしようか。

やればできるかね

歩くノイズをクリックするの続き。いろいろと参考にした結果、前回(どうにかしてくれ - とりあたまの日々)から改良したのが以下である。

f:id:chik08:20200621114424g:plain

 ランダムにノイズを描画、COUNTはノイズの数、クリックして全て滅したらゲームクリアとなる。

from enum import Enum, auto
from collections import deque, namedtuple

import pyxel
import random

# 初期値
WINDOW_H = 120
WINDOW_W = 160

class GAMEMODE(Enum):
    # 画面のシーンをEnum
    Title = auto()
    Noise = auto()

class Noise:

    def __init__(self):
        # 変数初期値
        self.IMG_ID0 = 0
        self.x = 0
        self.y = 56
        self.vx = 1
        self.pos = -32

        # ノイズ存在フラグ
        self.exists = True

    def update(self):
        # 移動する
        self.x += self.vx
        # 画面外に出ないようにする
        if self.x < 0:
            self.x = 0
            self.vx *= -1
            self.pos = -32
        if self.x > pyxel.width - 32:
            self.x = pyxel.width -32
            self.vx *= -1
            self.pos = 32

    def checkHit(self, x, y):
        # 判定
        left = self.x
        top = self.y
        right = self.x + 32
        bottom = self.y + 32
        if left <= x <= right:
            if top <= y <= bottom:
                return True
        return False

    def draw_noise(self):
        # 歩くノイズ描画
        pyxel.blt(self.x, self.y, self.IMG_ID0, 0, 32*(pyxel.frame_count % 4), self.pos, 32, 7)

class App:

    def __init__(self):
        pyxel.init(WINDOW_W, WINDOW_H, caption="noise", fps=12)
        pyxel.load("assets\walk.pyxres")

        self.noise_list = []
        self.count_noise = 3 # ノイズの数
        for i in range(self.count_noise):
            noise = Noise() # オブジェクト生成
            noise.x = random.randint(32, pyxel.width-32)
            self.noise_list.append(noise)

        self.my_gamemode = GAMEMODE.Title # 最初にタイトル画面を表示
        pyxel.run(self.update, self.draw)

    def update(self):
        # 選択update
        if self.my_gamemode == GAMEMODE.Title:
            self.update_title()
        elif self.my_gamemode == GAMEMODE.Noise:
            self.update_noise()
            pyxel.mouse(True)

    def update_title(self):
        # スペース押下で遷移する
        if pyxel.btnp(pyxel.KEY_SPACE):
            self.my_gamemode = GAMEMODE.Noise

    def update_noise(self):
        for noise in self.noise_list:
            if noise.exists:
                if pyxel.btnp(pyxel.MOUSE_LEFT_BUTTON):
                    if noise.checkHit(pyxel.mouse_x, pyxel.mouse_y):
                        # クリックされたらノイズを消す
                        noise.exists = False
                        # ノイズの残り数
                        self.count_noise -= 1
                # 生存している場合のみ更新
                if noise.exists:
                    noise.update()

    def draw(self):

        pyxel.cls(0)
        # 選択draw
        if self.my_gamemode == GAMEMODE.Title:
            self.draw_title()

        elif self.my_gamemode == GAMEMODE.Noise:
            self.draw_noise()

    def draw_title(self):
        # タイトル画面
        pyxel.text(52, 50, "WALK ONLY NOISE", 7)
        pyxel.text(60, 60, "PUSH, SPACE", 7)

    def draw_noise(self):
        # 生存している場合のみ描画
        for noise in self.noise_list:
            if noise.exists:
                noise.draw_noise()
                # メッセージ
                pyxel.text(60, 0, "CLICK NOISE!", 7)
                pyxel.text(0, 0, "COUNT: %d" %(self.count_noise), 7)
                # 地面
                pyxel.bltm(0, 88, 0, 0, 0, 24, 16)

        is_wiped = True # 全滅したかどうか
        for noise in self.noise_list:
            if noise.exists:
                is_wiped = False # 全滅していない
        if is_wiped:
           # 全滅させたのでクリア
           pyxel.text(60, 50, "GAME CLEAR", 7)

App()

 ノイズの数が増えたことによって、より存在感が際立った。ノイズの種類を増やすとか、クリックで消滅ではなく響の攻撃で滅するとか、まだ改造できそうだ。

あとは、BGMとかも付けたいところだ。また何か調べていこう。

どうにかしてくれ

前回(何だこれは - とりあたまの日々)のドット絵で響やキャロルを描けなかった私はとうとうノイズで何か作ることにした。

f:id:chik08:20200614163233p:plain

そして、出来上がったのがこれになる。何となく形にはなったが、やはりノイズが異様である。動きがおかしい。

f:id:chik08:20200614163657g:plain

 以下の実装でノイズが歩行する描写ができた。歩行の速さは適当に調整した。クリックするとゲームクリアとなる。

from enum import Enum, auto
from collections import deque, namedtuple

import pyxel

# 初期値
WINDOW_H = 120
WINDOW_W = 160

class GAMEMODE(Enum):
    # 画面のシーンをEnum
    Title = auto()
    Noise = auto()

class App:

    def __init__(self):
        pyxel.init(WINDOW_W, WINDOW_H, caption="noise", fps=12)
        pyxel.load("assets\walk.pyxres")
        self.my_gamemode = GAMEMODE.Title # 最初にタイトル画面を表示

        # 変数初期値
        self.IMG_ID0 = 0
        self.x = 0
        self.y = 56
        self.vx = 1
        self.pos = -32

        # ノイズ存在フラグ
        self.exists = True

        pyxel.run(self.update, self.draw)

    def update(self):
        # 選択update
        if self.my_gamemode == GAMEMODE.Title:
            self.update_title()
        elif self.my_gamemode == GAMEMODE.Noise:
            self.update_noise()
            pyxel.mouse(True)

    def update_title(self):
        # スペース押下で遷移する
        if pyxel.btnp(pyxel.KEY_SPACE):
            self.my_gamemode = GAMEMODE.Noise

    def update_noise(self):
        # 左クリックしたらノイズ消滅
        if pyxel.btnp(pyxel.MOUSE_LEFT_BUTTON):
            left   = self.x
            top    = self.y
            right  = self.x + 32
            bottom = self.y + 32
            if left <= pyxel.mouse_x <= right:
                if top <= pyxel.mouse_y <= bottom:
                    self.exists = False
        # 消滅しているので更新不要
        if self.exists == False:
            return
        # 移動する
        self.x += self.vx
        # 画面外に出ないようにする
        if self.x < 0:
            self.x = 0
            self.vx *= -1
            self.pos = -32
        if self.x > pyxel.width - 32:
            self.x = pyxel.width -32
            self.vx *= -1
            self.pos = 32

    def draw(self):

        pyxel.cls(0)
        # 選択draw
        if self.my_gamemode == GAMEMODE.Title:
            self.draw_title()

        elif self.my_gamemode == GAMEMODE.Noise:
            self.draw_noise()

    def draw_title(self):
        # タイトル画面
        pyxel.text(52, 50, "WALK ONLY NOISE", 7)
        pyxel.text(60, 60, "PUSH, SPACE", 7)

    def draw_noise(self):
        # 消滅しているので更新不要
        if self.exists == False:
            pyxel.text(60, 50, "GAME CLEAR", 7)
            return
        pyxel.text(60, 20, "CLICK NOISE!", 7)
        # 歩くノイズ描画
        pyxel.blt(self.x, self.y, self.IMG_ID0, 0, 32*(pyxel.frame_count % 4), self.pos, 32, 7)
        # 地面
        pyxel.bltm(0, 88, 0, 0, 0, 24, 16)

App()

 いろいろと参考にした結果、歩くだけとなった。まだ1体をクリックするだけなので、もっとゲーム性を増したいと思う。

先日、シンフォギアのアプリゲームが「魔法少女リリカルなのは Detonation」とコラボしたみたいだが、プレイしないまま終わってしまった。

考えよう

ポートフォリオサイトを作ろうとして思ったこと。いざ作ろうとした時のことを述べてみる。

・デザインについて

 別にデザイナーでもないしとは思いつつ、作るからにはかっこいいデザインにはしたい。とはいえ、時代にそぐわないのはアレだし、あえてクラシックデザインにするか。考えれば考えるほど悩む。

・レスポンシブ対応

 「今時レスポンシブ対応にしてないとか有り得ない」とか思われたくので、デバイスに依存しないように作成したい。

・作成物

 そもそも見せられるほどたくさんの作成物がない。これは重要なことである。何かしら見せられるものを作っていきたい。手を動かせ、創造しろ、と念仏を唱えるばかりである。アウトプットが大事だよね。

今後の課題である。