simplestarの技術ブログ

目的を書いて、思想と試行、結果と考察、そして具体的な手段を記録します。

CubeWalkGame:AIが使う脳内コンテキスト

前書き 自作ゲームの開発ネタです。 考えていることを書くと、頭が整理されてコードに落とし込める気がして最近の進捗絵はこんな感じ木のぼり動画はこちら 作りたいのはワールドロジックとその共用 世界がどうなるかの先行きを小さなロジックを使って取り扱…

Python:コマンドの実行と標準出力文字列の取得+aws cli 呼び出し例

aws cli を呼べる環境なら、次の pthon で動作中の task arn を for 文で処理できるよ import subprocess import json from typing import Union, List def callCommand(commands: List[str]) -> str: """ コマンド呼び出しと標準出力文字列を返す """ cmd =…

CubeWalk:自分で遊んでダメ出し

ずっと未公開だったメモ記事 公開して完成時に当時を振り返ります。 前書き 最近のチート対策のサーバー側の複雑な CustomData 計算は本当はやりたくなかったんですけど、こまめに記録しながらなんとか動き始めました。 たとえるなら、まだごみが詰まった歯…

CubeWalk:ゲーム開始までの流れをどう実装するか案

これまた下書きのままずっと放置されていた記事 Unity のコンポーネントが Start や Awake で好き放題やるのは、引き継いだり後から見直したときに 全体で何しているかわからないので、例えばオンラインのログイン完了後に処理してほしいとかそういうの指示…

React(SemanticUIかな)覚書き

なんか下書きでずっと残ってたのですが 消すのももったいないので後で自分が引っ張れるように公開しておきます。初の React カテゴリ記事こんなのの見た目を作るのに import React, { FC } from 'react'; import { Link } from 'react-router-dom'; import {…

Unity: VRでも使えるインタラクティブ水面シェーダーがアセットストアに並びました

記念I wanted to share this asset with you: Simple Interactive Water for URP VR by simplestar-game #UnityAssetStore https://assetstore.unity.com/packages/2d/textures-materials/water/simple-interactive-water-for-urp-vr-162033良い日でした!

React x Typescript で index.html を独自ドメインで世界公開

まえがき Unity Asset Store に例の例のアセットを提出したんだけど、リジェクトされてしまった。どうも初回投稿なら、技術力を見せるサイトを持ってないとダメな様子 仕方なく、作ることにします。 とりあえず index.html にアセットの画像がごろごろあれば…

Unity:オンラインゲームにMicrosoft Azure Functions C# と PlayFab はいかが?

記事を公開 qiita.com

CubeWalk: go言語cacheサーバーのリージョン選定

前書き 先月、こちらに登壇して PlayFab の CloudScript で同時実行を回避しつつ、不正させないゲームのためのアイディアを語ってみたのですが jpfug.connpass.com 質問者から CloudScript が実行されている場所って US West オレゴンだから、日本にキャッシ…

Unity: SteamVR 2.0 の入力処理の入門記事

前書き こちらの記事の和訳だと思ってください medium.comVR コントローラの入力について、入門記事 アクションという概念を取り入れ、アクションを定義するところから始まります。 アクション単体では作れない アクションを束ねた、アクションセットを作成…

Unity:VRでも使えるMToon互換のURPシェーダを30分で作ろう

前書き Unity でゲーム作っている人なら多くの方が知っている VRM - VR向け3Dアバターファイルフォーマット -。 その VRM の標準シェーダーとして採用されている MToon を URP でも表示できるようにしたい!作りましょう! そのための情報集めから作業をこの…

Imagemagick:画像のエッジを引き延ばして格子状に再配置

前書き キューブの見た目を更新する目的で動いています。前回は Shader ができたところまで simplestar-tech.hatenablog.com今回はテクスチャを連番で結合する処理を作ります。 大分前に python の pillow で画像処理を書きましたが… github.com 処理が遅す…

Unity:URPでParallaxMapping

# 前書き私が作っているキューブの世界 simplestar-tech.hatenablog.comそろそろキューブの見た目を更新する時が来たこの先のステップとしては1.AO, Albedo, Height, Normal, Specular テクスチャを入力とする、Height Map をちゃんと利用する Shader Grap…

Unity: URPのモザイクシェーダーと水面シェーダー

Simple Interactive Water1/14 に twitter で知り合った方に、その方が作成したオンライン VR ゲームに誘われてログイン こちらのマイクの設定が初めてで最後までつなぎ方がわからなかったのだけど、面白い話を聞かせてもらいました。なんとも VR 空間の、そ…

Unity:QuadのSubDivision Script 実装例

前置き メッシュが細かければ、height 指定でこのような見た目が作れますURP で Tessellation がいまだ用意されていない(調べた限り HDRP は可能)Tesselation というのはこういうメッシュ細分化 ja.wikipedia.orgいますぐ平面のメッシュ細分化処理がほしい…

Unity:はじめてのAddressable Assets(AWS CloudFront に S3 バケット設定でCDNを有効化)

前書き 未公開の作業記事が形にならないまま積み重なっていますが、明確なゴールとして切れる課題が見つかったので今回の記事を書きます。はじめての Addressable Assets と題して、AWS の CloudFront についてもはじめて触ってみて Unity のアセットを CDN …

「NORMALMAP ONLINE」ノーマルマップをノイズ画像から作る

前置き 水面の波を作ろうと思って、Normal Map 作成の壁?に当たったので、濃淡画像に sobel フィルターとか与えて法線マップ作るプログラムを書こうとしたのですけど 一般的な問題すぎるので、ネットに転がっているだろうと調べたら、Web アプリとして公開…

2019年を振り返る

1月 VRMとやらを触ったり、新しい InputSystem とかゲームの土台に導入してみたり、Unity でのゲーム作りについて勉強してました。simplestar-tech.hatenablog.com 3月 AWS を Unity から直接さわるなど、オンラインゲームを作るためのインフラの調査とか始…

CubeWalk:ブロックの破壊と配置後にアイテムビューで更新結果が反映されている

構想の 5/7 ステップに来ました 毎回更新を見てくれているみんなにはなじみの構想記事 simplestar-tech.hatenablog.com今回は前回 4.5 ステップとしてやるべきと示したブロックの破壊と配置によるアイテムスロットの操作と その時に行われるリクエストの反映…

CubeWalk:スロット番号をリクエストするとアイテムが増えたり減ったり

前置き ゲームに登場する世界データは全プレイヤー間で一つ 配置場所を表すインデックスでアクセスし、データは 32 bit のキューブ情報の集合体です。 クライアントから直接この世界データにアクセスするにはインデックス指定は必須だと思いますが、配置する…

CubeWalk:ホットバーUIの作成

前置き だんだん作るものが具体的になってきました。 現在はキューブを配置するときのためにホットバーが必要です。 インベントリ操作は Inventory モードに入ったときで、そのときにはホットバーが不要 それ以外の Explore モードではホットバーが必要です…

PlayFab:CloudScriptの実行頻度からクライアントを改竄したリクエストを無視する

前置き 自作ゲームの PlayFab におけるチート行為防止の話です。現在の見た目(ここのところ変わってませんね)キューブで構成される世界データをたった一つのサーバーに格納しています。 simplestar-tech.hatenablog.com今のところユーザーからのリクエスト…

Unity:ゲーム開始前にロジックでヒエラルキー編集

概要 アイテムのスロットを結構な数 たとえば 81 個とか追加して、連番で名前を打つといった作業 3~4個リネームしている途中で手を止めて、プログラムに任せたくなりますよね(守るべきは時間ではなく、心) PlayMode にせずにスクリプトからヒエラルキーを…

Unity:Animatorからステートを取得

前書き ゲーム開発していて、入力モードが増えてきて、ステート管理していきたいと思う中 Unity の State Machine って Mecanim の AnimatorController だなぁと気づき デバッグ時にステートを遷移を可視化しつつ、これをスクリプトから操作や取得できたらい…

CubeWalk:カスタムデータを更新するリクエスト CloudScript の実装

構想7ステップの4つ目 半月前の構想をまとめたものがこちら simplestar-tech.hatenablog.com今回は表題の通り Microsoft PlayFab の CloudScript を用意して、クライアントで行うアイテムslot変更操作をサーバーに反映させます。 クライアントでスロット操作…

CubeWalk:マウス操作でインベントリのアイテムを移動できる機能

概要 半月前に構想した内容がこちら simplestar-tech.hatenablog.com前々回、前回で進んだ内容が以下 1.R Ctrl でキューブ、SideA, SideB キューブと配置形状が切り替わる 2.オンラインのインベントリ情報を受け取って表示する機能今回は 3/7 ステップと…

CubeWalk:インベントリ情報を受け取って表示する機能

概要 構想によって作られたステップ 2/7 を今回はクリアしたいと思います。 simplestar-tech.hatenablog.com表題の通り PlayFab からインベントリの情報を取得して、これを UI で表示します。 簡易なシーン PlayFab のスクリプトをシーンに追加して試験環境…

CubeWalk:R Ctrl でキューブ、SideA, SideB と配置形状が切り替わる

概要 構想に近づけるため、最初のステップを踏みます simplestar-tech.hatenablog.com 右クリックすると無限に 2 x 2 のプリズムを配置する現在 これを右クリック中 R Ctrl キーを押すと、プリズム A, プリズム B と切り替わり その時に右クリックを終了する…

CubeWalk:インベントリシステムの構想

概要 長いことクライアントで閉じていた処理がサーバーで行われるようになりました。 simplestar-tech.hatenablog.comふわふわしているアイテム操作のイメージを少しずつ固めていく工程を記録してみます。 構想というやつです。最後に具体的なアクションリス…

PlayFab:キューブ破壊後にキューブデータをインベントリへ格納

キューブ保存の法則 世界のデータは減りも増えもしない(神様の創造は例外) キューブを破壊しようとしたら、その破壊をバイナリキャッシュサーバーが判定し 成功したならインベントリにそのキューブの情報が格納される仕組みを作ります。 インベントリの操…