Roblox で開発の勉強をはじめてみた
Roblox studio で開発の勉強をはじめてみた
まずは公式ページにいって Roblox Creator Hub
→ “制作” のタブ
→ ダウンロード


ダブルクリックでインストールできた

ツアー をやってみよう!

これをやれば、自分のRoblox の場所が作れるみたいだ!
- カメラのコントロール方法
- オブジェクトの追加
これら、設定したら、Roblox のアバターでプレイテストできるようになるみたいだ。

Roblox の全てのプロジェクトは、必ず 場所情報(place) を 含む
今回の例では、 滑り台ゲームのカーニバルシーン
The aim of the game is to roll down the slide in a ball and hit the target.
今回のゲームの目的は、滑り台の上をボールを転がしていき、ターゲットに当てるものみたいだ

まず開発カメラの制御から。
マウスのホールドを上下 グリグリ で拡大縮小できた!
次は、 "W" "A" "S" "D" キーで、どうなるか。試そう

E と Q で 視点を上下できた。

それでは ball とタイピングして検索してみよう
みつかった!

そして、これでプレイテストできるのか! 思っていたよりサクサク進むなあ
▶️のプレイボタンで開始だ!
テスト中にクライアントモードとサーバーモードを切り替えるには、アイコンをクリックすればいいようだ。

AIいわく
- クライアントモードは、プレイヤー個々の端末で実行される処理で、ユーザーインターフェースや視覚的なエフェクトが含まれます。
- サーバーモードは、ゲームサーバーで実行され、全プレイヤーに影響を与えるゲームロジックや状態管理を担当します。
この2つのモードを適切に使い分けることが、Robloxでのゲーム開発では非常に重要です。
とのこと
キャラが操作できた!
ここからゲーム作りがはじまる!

ボールのところで Eボタンを押して開始かな

Eを押したら
前に進む と 足場がなくて、この後 水ぽちゃ
どうやら、この編集モードを停止して、不足している 足場をつくるみたいだ。

停止ボタンかな


“Parts” は、このブロックスタジオで基本的な項制要素
傾斜路を作るパーツを挿入してみよう

ローテートツールで回転できそうだ

回転できた!今度は Scale。 大きくできそうだな。

ビヨンと 伸ばせた!

パーツのカラーの玉をひっぱることで、伸ばせる場所が変わった!

この時 視点の切り替えで苦戦したので、マウスを接続して、右クリック で引っ張って 視点制御した。カメラの向きを変更するには 右クリックがやりやすかった。

ランプの色を変更するってなんだろ?
傾斜路の 色が 変わった!

“ramp” がわからなかったので、AIに訊いてみた。
ーーーーー
Roblox の開発環境における「ramp(ランプ)」は、通常、グラデーションを作成するためのオブジェクトやエフェクトを指します。特に、**色の遷移やスムージング(滑らかに変化する色の変化)**を管理するために使用されます。通常、ランプは次の2つのコンテキストで使われることが多いです。
- ライトランプ (Light Ramp):
- ランプは、光の色や強さをスムーズに変化させるためのツールです。たとえば、昼夜の変化を表現したり、光源からの照明の変化を管理するために使われます。
- ランプでは、複数の色が滑らかに遷移し、シーン全体の雰囲気を変えるのに役立ちます。これにより、プレイヤーがゲーム内でどのように光を感じるかが制御できます。
- マテリアルランプ (Material Ramp):
- こちらは、特定のオブジェクトや表面に対する色や質感のグラデーションを設定するために使用されます。例えば、特定のオブジェクトが光源に近づくと、色が変化するなどの視覚効果を作り出すことができます。
- これを利用することで、よりリアルな視覚的な効果を加えることができます。たとえば、物体が光に当たると色が徐々に変わる、などの効果を作り出すことができます。
これらの「ランプ」は、ゲーム内で色を変更するための手法として使われ、ゲームの視覚的な表現を豊かにするために活用されます。
ーーーーー
そして、このパーツの配置 デフォルトでは、重力に応じて移動してしまうようなので、Anchor ボタンを押して移動しないように固定しよう。

“ランプが完成したので、次はボールをカスタマイズします。Explorer には、ビルトインのサービスを含め、場所にあるすべてのものが表示されます。” とのこと
“Part” ってなっているのはたぶん自分の操作で生成・配置したものかな
エクスプローラーから、Part を選ぶと、生成したパーツの選択を切り替えできた!
で、最終的に “Ball” を選んだ。

F を押すと、Ball パーツのところまで、カメラの視点移動ができた!

F を押すと、Ball パーツのところまで、カメラの視点移動ができた!

プロパティ がここにあるのね。覚えておこう。

Filter Properties のところで、“Speed” って単語で検索して、この玉のSpeedを上げてしまおう!
チートしてる気分だ😂

スピード5倍にしてみた🤣

ここで大事。保存ね!

いよいよ Tour の最後 プレイテストだ!
5倍のスピードはいかに🤣

案外 5倍のスピードでよかった😂
こういうアクションのゲームの開発が、こんなにシンプルにできるとは、、!
HAproxy BASIC 認証設定 version 2.6.7
HAproxy BASIC認証設定
(ブラウザで閲覧するユーザー向けのBASIC認証 HAproxy設定)
自分で書いたこちらの記事が古くなっていたので、
HAproxy で Basic 認証を使う際の パスワード文字列 エンコード - アレコレ・ティプス
改めて書きます。
主に3点 行う。
- パスワードを生成 エンコード
- ユーザー定義
- Backend に アクセス制限を定義
動作確認環境:
HAproxy docker コンテナ version 2.6.7
1、パスワード生成エンコード
mkpasswd コマンドが使えるLinuxマシンなどで以下コマンドを打つ。
printf "生成したいパスワードを半角英数で" | mkpasswd --stdin --method=sha-256
zkY5oZnIhmM7wrJ$sRdh1DFp1zBHoyEHPwhcPSL5hBmGjqCqYAq5lDZvxkB
と sha-256 で エンコードされたハッシュが生成される。 これを以下で用いる。
2、ユーザー定義
haproxy.cfg など HAproxyで使っている設定ファイルを編集する。
"defaults"項目の定義後あたりに userlist 定義を行う。
## -------------------------------------------------------
## userlist
## -------------------------------------------------------
userlist user_group1
user usr1 password $5$zkY5oZnIhmM7wrJ$sRdh1DFp1zBHoyEHPwhcPSL5hBmGjqCqYAq5lDZvxkB
( 先ほどパスワードからハッシュ生成したものを上記のように "password" の後に挿入する )
ーー
3、Backend に アクセス制限を定義
ーーー
"Backend"項目 に アクセス制限を追加 例
haproxy.cfg など HAproxyで使っている設定ファイルを編集する。
backend gui_server
balance roundrobin
acl auth_usr_ok http_auth(user_group1)
http-request auth if !auth_usr_ok
server gui_service 888.88.8.88:1881 check
http_auth のところでは 定義したユーザーグループ単位で指定できる。
これで、usr1 ユーザーで 設定したパスワードで、BASIC認証の設定ができた。
昔のバージョンでは、パスワードエンコードが、DES だったかもしれないが、現在 HAproxy の BASIC認証では、SHA-256 がデフォルトのようである。
23/02/20
ーーー
Solana チェーンで NFT MINT 。 Metaplex 。candy machine
Solana チェーンで NFT MINTしたい のでメモ
まずは環境構築編として、本記事のゴールは、candy-machine コマンドが打てるようになるところまで。

目次
- 前提知識
- 環境構築
- nodejs インストール (環境確認)
- npm インストール
- yarn インストール
- typescript と 実行ツール ts-node を グローバルにインストール
- Metaplex のインストール
- ここで Candy マシンのコマンドが動くか確認

前提知識
こちらが詳しい
https://self-development.info/solana上でnftを発行する【candy-machine】/
Candy Machineは、Solana上でNFTを発行するためのツールです。 Metaplexによって、Candy Machineは開発・公開されています また、Metaplexは、最も速く、最も安いNFTエコシステムと呼ばれています。
環境構築
brew install git
git version
git version 2.32.1 (Apple Git-133)
ーーー
nodejs インストール (環境確認)
node --version
v16.15.0
** nodejs が インストールされていない方は、 LTS である version 16.xx.xx をインストール
ーーーー
npm インストール
npm install -g npm
npm -v
8.12.1
(これより新しければ問題ないかも)
ーーー
yarn インストール
自分の環境では、別用途で nodejs を使用していたため、念の為 --ignore-dependencies オプションを採用
brew install yarn --ignore-dependencies
情報はこちらが詳しい
https://qiita.com/niwa1903/items/fb1d37c180d6cbc696c8
--ignore-dependenciesをつけておくと、複数nodeの依存関係を無視させることができる。
yarn -v
1.22.19
ーーーー
typescript と 実行ツール ts-node を グローバルにインストール
ー
npm install -g typescript
npm install -g ts-node
ーー
ts-node -v
v10.8.1
タブ補完 されなくてもインストールされている。
ーーー
MACOS M1チップのマシンは以下コマンドも必要
brew install pkg-config cairo pango libpng jpeg giflib librsvg

結構長い
ーーー
Metaplex のインストール
cd ~git clone https://github.com/metaplex-foundation/metaplex.git ~/metaplexインストール完了したら、metaplex がインストールされていることが確認できる。ls ~/metaplexARCHITECTURE.md DISCLAIMER.md LICENSE docs rust
CHANGELOG.md Dockerfile README.md js
yarn install --cwd ~/metaplex/js/

ーーー
ここで Candy マシンのコマンドが動くか確認
ts-node ~/metaplex/js/packages/cli/src/candy-machine-v2-cli.ts --version
0.0.2
すごいそっけない。けど動いた!
ここで candy-machine コマンドが実行できることをよく確認しておくこと。
version の番号が返ってこなければ、インストール作業のどこかでミスがある。
ーーー
続編へ
ラズパイに Go言語 をインストールする。
Raspberry pi へ Go lang をインストール
ラズパイは、armv6 の go パッケージを使うため、
そこの部分だけ公式ドキュメントの通りにいかないので、一応 備忘録。
インストール環境
Raspberry pi 3B+
まず ラズパイ にインストールする go 言語のファイルを 以下サイトで確認

ラズパイは、 ARMv6 で 調べる。

2021/9/3 の最新安定版 go1.17.linux-armv6l.tar.gz を扱う
右クリックで ダウンロードURLをコピーしておく。
ラズパイ ターミナル操作
sudo rm -rf /usr/local/go
( さきほどコピーした ダウンロードURL で wget )
wget https://golang.org/dl/go1.17.linux-armv6l.tar.gz
sudo tar -C /usr/local -xzf go1.17.linux-armv6l.tar.gz
vim ~/.bashrc
90行目あたり、あたり触りのないところに追加。
< 記述内容 >
( ・・中略・・ )
#export GCC_COLORS= ***省略
# Go言語のPATH 以下 1行を追加しておく
export PATH=$PATH:/usr/local/go/bin
# some more ls aliases
( ・・省略・・ )
sources ~/.profile
これで準備完了!
動作するか確認する
go version
go version go1.17 linux/arm
この結果が帰ってくればインストール OK
ーーー
適切なパッケージを 選ばないと go version コマンドを使ったときに、
ーーー
go version
-bash: /usr/local/go/bin/go: バイナリファイルを実行できません: 実行形式エラー
ーーー
となる。
ラズパイにインストールするパッケージは、 armv6 のものを選ぼう。
ラズパイに NodeRED version 2 を インストールする方法 2021 年 秋 版
Raspberry pi に NodeRED 2.0.x をインストールさせる。
2021/9/1 現在、これまで使っていた、以下 スクリプトが 使用できなくなっていたため。
bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
上記スクリプトでは、いろいろエラーで落ちる。
一部エラー内容は記録をとれなかった。
( ラズパイへの NodeRED version 2 インストール 成功に至るまでに躓いたエラー内容 )
ーーーー
$ sudo npm install -g --unsafe-perm node-red
node-pre-gyp ERR! install response status 404 Not Found on https://github.com/kelektiv/node.bcrypt.js/releases/download/v5.0.1/bcrypt_lib-v5.0.1-napi-v3-linux-arm-glibc.tar.gz
node-pre-gyp WARN Pre-built binaries not installable for bcrypt@5.0.1 and node@14.8.0 (node-v83 ABI, glibc) (falling back to source compile with node-gyp)
node-pre-gyp WARN Hit error response status 404 Not Found on https://github.com/kelektiv/node.bcrypt.js/releases/download/v5.0.1/bcrypt_lib-v5.0.1-napi-v3-linux-arm-glibc.tar.gz
ーーーー
環境
Raspbian GNU/Linux 10 (buster)
Linux raspberrypi 5.10.52-v7+ #1441 SMP Tue Aug 3 18:10:09 BST 2021 armv7l GNU/Linux
nodejs 14.8.0
npm 6.14.7
いつもの準備
apt-get update
apt-get upgrade
インストール方法
mkdir node_inst
cd !$
wget https://unofficial-builds.nodejs.org/download/release/v14.8.0/node-v14.8.0-linux-armv6l.tar.gz
tar xvzf ./node-v14.8.0-linux-armv6l.tar.gz
cd ./node-v14.8.0-linux-armv6l
rm CHANGELOG.md LICENSE README.md
sudo cp -R * /usr/local/
インストールされた nodejs のバージョン確認
node -v
ーーーー
sudo apt install node-pre-gyp
sudo npm install -g --unsafe-perm node-red
ーーー
サービス化
cd /etc/systemd/system/
sudo vim ./nodered-pi.service
( 記載内容 )
[Unit]
Description=node-red-pi
After=udev.target
After=syslog.target
After=network.target
After=remote-fs.target
[Service]
ExecStartPre=/bin/sleep 3
Type=simple
## サービス起動 フルパス 絶対パスで。
ExecStart=/usr/local/lib/node_modules/node-red/bin/node-red-pi
Restart=always
RestartSec=4
User=pi
Group=pi
##作業ディレクトリを定義 ( ここ重要 )
WorkingDirectory=/home/pi/.node-red/
[Install]
WantedBy=multi-user.target
ーーーー
sudo systemctl daemon-reload
サービス 停止状態であることを確認
sudo systemctl status nodered-pi.service
NodeRED デーモン起動
sudo systemctl start nodered-pi.service
sudo systemctl enable nodered-pi.service
起動状態に異常がないかを確認
journalctl -u nodered-pi.service -f
問題なければ ctrl + c で リアルタイムログの監視を停止
ーーー
これで インストールでき、NodeRED 2.0.5 が 正常に起動できた。2021/9/1
便利だったスクリプトが使えなくなったのが痛いですね。
そのうちあのスクリプトもバージョンアップすれば、このようなやり方をせずとも、すんなり、実行できればいいですね。
参考記事に感謝🙏
iOS14 で クラウドを使わない 電話帳 連絡先 を移行・復元する方法
できた環境
復元先 iOS 14.6 / iPhoneSE ( 2020 )
(かつても使ったことがあるアプリなので、おそらく iOS14.6 以前のものでも可能かも)
ーーー
( 復元元は、iPhoneSE (初代) だったが vcfファイル vCard データがエクスポートできればおそらくどれでも可 )
macOS Catalina 10.15.7
chrome ブラウザ 2021/8/12 時点最新 (バージョン: 92.0.4515.131)
ーーー
扱うデータ
vCard 、 vcf データ。
使うアプリ
MyContactsBackup Pro (無償バージョンでも可能かもしれない)
!注意点!
促されるが 不要なので、このアプリからメール送信機能を一切使わない。
連絡帳データのバックアップ
まずは、バックアップ元 iPhoneを操作して連絡先データをバックアップする。
- MyContactsBackupPro をインストール。
- アプリを開く。
- 緑色の " Backup " ボタンを押して 連絡先データをバックアップ
以上でバックアップ完了。
バックアップした連絡帳データの取得
- Wi-Fi Download を クリック
- vcf ファイル = vCard データ = 連絡帳データをダウンロードし、取得。
以上で、バックアップしたデータ、vcfファイル ( vCard データ ) の取得が完了。
新しい端末で、vCardデータから連絡帳を復元
新しい iPhone に MyContactsBackup Pro をインストール。
HAproxy BASIC認証 REST API 用 と ブラウザ GUI 認証で 処理を切り分ける
|
## ( 上段 global のコンフィグ等は 略します。 )
## -------------------------------------------------------
## userlist
## -------------------------------------------------------
userlist 管理者_user
user 管理者 password ハッシュ化したパスワード
userlist panpy_user
user 一般usr insecure-password パスワード平文
# ---------------------------------------------------------------
# フロントエンドを定義
# port : 80 で待ち受け
# ---------------------------------------------------------------
frontend http-in
bind *:80
# forntend 内に BASIC認証を記述しない。
# backendの定義で記述し、BASIC認証の処理を用途で分ける。
# API SERVER
default_backend get_away
# -------------------------------------------
# バックエンドを定義
# -------------------------------------------
backend gui_servers
acl auth_一般_ok http_auth(panpy_user)
http-request auth if !auth_一般_ok
backend api_servers
acl auth_管理者_ok http_auth(管理者_user)
http-request deny unless auth_管理者_ok
# -------------------------------------------
# Good-bye
# -------------------------------------------
backend get_away
http-request deny
# -----------------------------------------------
# 上記、漢字のところは適宜 半角英数に修正すると使えるかと思います。
|
|
・フロントエンド定義のところで BASIC認証を記述しない。
・バックエンド定義のところで、BASIC認証を記述する。
|












