濃密金石文 http://nmksb.seesaa.net/ ゲームを遊んだり作ったり本を読んだ感想を書いたり。タイトルで言うほど濃密ではなく基本的にあっさり味です。 ja http://blogs.law.harvard.edu/tech/rss ゲームを遊んだり作ったり本を読んだ感想を書いたり。タイトルで言うほど濃密ではなく基本的にあっさり味です。 LoyalTouch no http://nmksb.seesaa.net/article/509014735.html KeePassXCを本格的に使ってみるぞ Fri, 17 Jan 2025 06:28:22 +0900 KeePassXC、数あるパスワードマネージャーの中で技術者ならこれ使え! って評判が結構あるんでおお、じゃあ俺が使いこなしてやろうかと思ってだいぶ前に導入したんだけど、セットアップの時何やったのか忘れるのが嫌でほぼ既定の状態で使っていたんだでも素の状態で使ってもあんま利点がないようなので、色々オプションをつけて本格導入してみたぜブラウザと連携してパスキー対応SSH鍵の監理使ってみた結果、なかなかいい。セキュリティが強化された感じになった。特に複数環境を流れ歩く際に便利になっ.. <![CDATA[ KeePassXC、数あるパスワードマネージャーの中で技術者ならこれ使え! って評判が結構あるんでおお、じゃあ俺が使いこなしてやろうかと思ってだいぶ前に導入したんだけど、セットアップの時何やったのか忘れるのが嫌でほぼ既定の状態で使っていたんだでも素の状態で使ってもあんま利点がないようなので、色々オプションをつけて本格導入してみたぜブラウザと連携してパスキー対応SSH鍵の監理使ってみた結果、なかなかいい。セキュリティが強化された感じになった。特に複数環境を流れ歩く際に便利になってるような気がする。それでは、追記で詳しいことを語ろう! ...... パスキー可搬でどこでもパスワードいらず パスキーとはアカウント情報と、それに紐づく公開鍵を認証サーバー側に置いておくっていう認証方式らしい認証するユーザーは、パスワードを認証サーバーに送りつけるかわりに認証サーバーから送られてきたチャレンジコードっていう適当な文字列を、お手持ちの秘密鍵で暗号化して送りつける認証サーバーは事前に登録された公開鍵で複合化し、自分が送ったチャレンジコードと一致しているかどうか確認して一致したら認証成功っていう方式を取るそうな なるほど、なかなか頭いいな でも、秘密鍵を適当な場所に放置しておいたら、そいつを盗まれる可能性があるわけで普通はファイルなどには置かず別の場所に暗号化して置いといて、OSのPINやら指紋やら顔認証が通ればそれをメモリ上で複合して使う、みたいな方法を取るみたいだ でもそれ、OSごとに秘密鍵を持っているんで、例えば別のOSにおひっこししたり実家に帰って別のパソコンで使いたいなんて場合に使えなくなるわけですよね そういう時、KeePassXC側に秘密鍵を持っていれば、どこでも同じパスキーでログインできるという寸法だ!なかなかいい! スマートな解決策! ということで、実際やってみよう パスキー対応のサイトと言うとまずはGitHubが思いつくんで、GitHubさっそくパスワードレスでやってみよう firefoxとKeePassXCを連携しよう これやるには、お気に入りのブラウザーがKeePassCXのパスキー機能と連携できるようにしなきゃいけない便利なことにKeePassXCには各種有名ブラウザーとの連携のリンクが登録されているツール → 設定 → ブラウザー統合 からこの画面に到達できる スクリーンショット 2025-01-17 220158.png 俺の普段使いのブラウザーは昔からfirefox。こいつのリンクを開くと スクリーンショット 2025-01-18 173712.png こんな感じでfirefoxのアドオンが手に入るので、これをまずはインストールしとくよ お次はGithub側のパスキーの設定だ。Githubにログインして自分のアイコンをクリックし、Settingを選択するスクリーンショット 2025-01-18 173930.png真ん中ほどにPassword and authenticationsってメニューがあるんで、こいつを選択しスクリーンショット 2025-01-18 174301.png 右ペインのAdd a passkeyってボタンを押すと一旦KeePassXCに画面が移って スクリーンショット 2025-01-18 174529.pngボタンを押してOKしてやるとスクリーンショット 2025-01-18 174723.pngこんな感じで成功の画面が出る。何か適当なnicknameをつけてやるといいようだこうなると、もうパスワードに頼る必要はない! GithubのサインインからSign in with a passkeyを選ぶとスクリーンショット 2025-01-18 174929.pngこんな感じでKeePassXCのダイアログが立ち上がるので、スクリーンショット 2025-01-18 181153.png認証ボタンを押せばログインできるのだこれは楽! 何でもパスキーすればいいってもんでも おお、これは調子がいいぜ! そんじゃGithubよりもよく使ってる俺の愛用、Gitlabでもパスキーでログインできるようにしようぜ!って思ったんだけど、これ10分運用してあ、これダメだと思ってやめた何がヤバいのかって、Gitlabの方はパスキーを使うのにMFAを強制されることいや、俺はログインを簡単にしたいだけであって、ログインを強固にしたいわけじゃないんですが しかもGitlabのMFAの方、いまいちKeepassXCとうまく連携してないようで初回はスマホのMFAを呼び出そうとして何回か失敗するんだけどすっげぇログインしづらくなった んー、サイトによってはまだパスワードの運用のほうがマシなのかもちなみにSeeSaaブログの方はパスキー対応は スクリーンショット 2025-01-18 191022.png ないっすね! SSH秘密鍵をKeePassXCで扱う 続いてこちらの話題技術者ならこれ使っとけ、という話をちらほら聞くので、これも導入してみた そもそもKeePassXCでSSH鍵を扱うという話はどういうこと? ということなんだけどこれSSH Agentと密連携して実現するとても高度なテクなわけだ まず、お手元のOSでSSHAgentを立ちあげとく。このAgentは普通の状態だと特定したパスに保存された秘密鍵、それと事前に記憶させたパスフレーズを持っておいて、サービスとかデーモンで常駐させておくんで、SSHのパスフレーズが要求された時、常駐プログラムが即座にパスフレーズを返してあげる、という技を使うことでいちいちパスフレーズを導入しなくてすむので楽人間が入力できないような複雑なパスフレーズも指定可能頻繁にパスフレーズを入力しないのでショルダーハック対策になるという効果があるようだ んで、この特定したパスに保存ってのやりたくないからKeePassXCに登録しとく、のが今回やる奴のミソらしいやる作業は以下 ssh-agent(表示名 : OpenSSH Authentication Agent)を起動しておくKeePassXCでSSHエージェント統合を有効化するKeePassXCのエントリーの一つに秘密鍵を添付する(オプション) .gitconfigの[core]セクションにsshCommand = C:/Windows/System32/OpenSSH/ssh.exeを追記結構やることあるね。環境移行した時に覚えてられるんだろうか ]]> <![CDATA[
KeePassXC、数あるパスワードマネージャーの中で技術者ならこれ使え! って評判が結構あるんで
おお、じゃあ俺が使いこなしてやろうかと思ってだいぶ前に導入したんだけど、
セットアップの時何やったのか忘れるのが嫌でほぼ既定の状態で使っていたんだ
でも素の状態で使ってもあんま利点がないようなので、色々オプションをつけて本格導入してみたぜ
  • ブラウザと連携してパスキー対応
  • SSH鍵の監理
使ってみた結果、なかなかいい。セキュリティが強化された感じになった。
特に複数環境を流れ歩く際に便利になってるような気がする。
それでは、追記で詳しいことを語ろう!

...
...

パスキー可搬でどこでもパスワードいらず

パスキーとは
アカウント情報と、それに紐づく公開鍵を認証サーバー側に置いておくっていう認証方式らしい
認証するユーザーは、パスワードを認証サーバーに送りつけるかわりに
認証サーバーから送られてきたチャレンジコードっていう適当な文字列を、お手持ちの秘密鍵で暗号化して送りつける
認証サーバーは事前に登録された公開鍵で複合化し、自分が送ったチャレンジコードと一致しているかどうか確認して
一致したら認証成功っていう方式を取るそうな

なるほど、なかなか頭いいな

でも、秘密鍵を適当な場所に放置しておいたら、そいつを盗まれる可能性があるわけで
普通はファイルなどには置かず別の場所に暗号化して置いといて、OSのPINやら指紋やら顔認証が通れば
それをメモリ上で複合して使う、みたいな方法を取るみたいだ

でもそれ、OSごとに秘密鍵を持っているんで、例えば別のOSにおひっこししたり
実家に帰って別のパソコンで使いたいなんて場合に使えなくなるわけですよね

そういう時、KeePassXC側に秘密鍵を持っていれば、どこでも同じパスキーでログインできるという寸法だ!
なかなかいい! スマートな解決策!

ということで、実際やってみよう

パスキー対応のサイトと言うとまずはGitHubが思いつくんで、GitHubさっそくパスワードレスでやってみよう

firefoxとKeePassXCを連携しよう

これやるには、お気に入りのブラウザーがKeePassCXのパスキー機能と連携できるようにしなきゃいけない
便利なことにKeePassXCには各種有名ブラウザーとの連携のリンクが登録されている
ツール → 設定 → ブラウザー統合 からこの画面に到達できる

スクリーンショット 2025-01-17 220158.png

俺の普段使いのブラウザーは昔からfirefox。こいつのリンクを開くと

スクリーンショット 2025-01-18 173712.png

こんな感じでfirefoxのアドオンが手に入るので、これをまずはインストールしとくよ

お次はGithub側のパスキーの設定だ。Githubにログインして自分のアイコンをクリックし、Settingを選択する
スクリーンショット 2025-01-18 173930.png
真ん中ほどにPassword and authenticationsってメニューがあるんで、
こいつを選択し
スクリーンショット 2025-01-18 174301.png

右ペインのAdd a passkeyってボタンを押すと一旦KeePassXCに画面が移って

スクリーンショット 2025-01-18 174529.png
ボタンを押してOKしてやると
スクリーンショット 2025-01-18 174723.png
こんな感じで成功の画面が出る。何か適当なnicknameをつけてやるといいようだ
こうなると、もうパスワードに頼る必要はない! Githubのサインインから
Sign in with a passkeyを選ぶと
スクリーンショット 2025-01-18 174929.png
こんな感じでKeePassXCのダイアログが立ち上がるので、
スクリーンショット 2025-01-18 181153.png
認証ボタンを押せばログインできるのだ
これは楽!

何でもパスキーすればいいってもんでも

おお、これは調子がいいぜ! そんじゃGithubよりもよく使ってる俺の愛用、Gitlabでもパスキーでログインできるようにしようぜ!
って思ったんだけど、これ10分運用してあ、これダメだと思ってやめた
何がヤバいのかって、Gitlabの方はパスキーを使うのにMFAを強制されること
いや、俺はログインを簡単にしたいだけであって、ログインを強固にしたいわけじゃないんですが

しかもGitlabのMFAの方、いまいちKeepassXCとうまく連携してないようで
初回はスマホのMFAを呼び出そうとして何回か失敗するんだけど
すっげぇログインしづらくなった

んー、サイトによってはまだパスワードの運用のほうがマシなのかも
ちなみにSeeSaaブログの方はパスキー対応は

スクリーンショット 2025-01-18 191022.png

ないっすね!

SSH秘密鍵をKeePassXCで扱う

続いてこちらの話題
技術者ならこれ使っとけ、という話をちらほら聞くので、これも導入してみた

そもそもKeePassXCでSSH鍵を扱うという話はどういうこと? ということなんだけど
これSSH Agentと密連携して実現するとても高度なテクなわけだ

まず、お手元のOSでSSHAgentを立ちあげとく。このAgentは普通の状態だと特定したパスに保存された秘密鍵、
それと事前に記憶させたパスフレーズを持っておいて、サービスとかデーモンで常駐させておく
んで、SSHのパスフレーズが要求された時、常駐プログラムが即座にパスフレーズを返してあげる、という技を使うことで
  • いちいちパスフレーズを導入しなくてすむので楽
    • 人間が入力できないような複雑なパスフレーズも指定可能
  • 頻繁にパスフレーズを入力しないのでショルダーハック対策になる
という効果があるようだ

んで、この特定したパスに保存ってのやりたくないからKeePassXCに登録しとく、のが今回やる奴のミソらしい
やる作業は以下

  • ssh-agent(表示名 : OpenSSH Authentication Agent)を起動しておく
  • KeePassXCでSSHエージェント統合を有効化する
  • KeePassXCのエントリーの一つに秘密鍵を添付する
  • (オプション) .gitconfigの[core]セクションにsshCommand = C:/Windows/System32/OpenSSH/ssh.exeを追記
結構やることあるね。環境移行した時に覚えてられるんだろうか
]]><![CDATA[ ]]>
日記 LoyalTouch blog:https://blog.seesaa.jp,nmksb/509014735
http://nmksb.seesaa.net/article/508580476.html NinePatchRectでフキダシ作ってみる Fri, 10 Jan 2025 06:27:04 +0900 装備画面の作成中。武器スロットを選んだら現在持ってるアイテム一覧から武器を選択する画面を作りたいで、単純にダイアログをポップアップしただけではどこを選択してるかわかりづらいんでフキダシみたいな演出にしようと思ったんだなちょうどこんな感じで実現するには、NinePatchRectっていうコンテナを使うのがいいらしい <![CDATA[ 装備画面の作成中。武器スロットを選んだら現在持ってるアイテム一覧から武器を選択する画面を作りたいで、単純にダイアログをポップアップしただけではどこを選択してるかわかりづらいんでフキダシみたいな演出にしようと思ったんだな スクリーンショット 2025-01-10 062444.png ちょうどこんな感じで実現するには、NinePatchRectっていうコンテナを使うのがいいらしい NinePatchRectの原理 こいつは何か。ウィンドウの真ん中の部分みたいなのを定めて、拡大した時に真ん中だけ餅のように伸ばす仕組みのようだイメージが湧かないと思うので俺のゲームの名物アイコンホブゴブリン君を用意した。かわいいだろ スクリーンショット 2025-01-12 084405.png こいつに真ん中の領域を割り当てていく。例えばこんな感じかな?スクリーンショット 2025-01-12 084602.pngそして拡大するとこう!スクリーンショット 2025-01-12 084740.png左端あたりが顕著なんだけど、拡大しないよう設定した領域は伸ばさず、真ん中だけを伸ばしていくんだねホブゴブリン君を使ってると何やってんねんとしか思えないんで、実際によく使うウィンドウ素材とかで試してみよう https://booth.pm/ja/items/5716846 こんな感じのメッセージウィンドウがあってスクリーンショット 2025-01-12 085620.png拡大・変形をしてみると 縦・横幅を変えても自在に合わせてくれるんですねこれは便利スクリーンショット 2025-01-12 085735.pngスクリーンショット 2025-01-12 085746.png フキダシ、作ってみよう では早速フキダシの作成だ素材としてはInkscapeを使って、SVGイメージを作る 角丸にした長方形と三角形を二つ作って、パス→統合を選択すると二つのオブジェクトが一つになる。これでフキダシの外枠ができるスクリーンショット 2025-01-12 171634.pngただ単純な外枠だけだと下絵の枠線に埋もれてしまうんで、今回は同じオブジェクトを右下にコピー→色を黒く塗ることで影みたいにする スクリーンショット 2025-01-12 171824.pngこれでドロップシャドウっぽいフキダシの素材ができたね さて、これをNinePatchRectに適用してみよう。NinePatchRectのインスペクターにTextureって項目があって、ここはSpriteとかでもおなじみ画像を読み込みできる場所ださっそく作ったばかりのSVGを取り込みます 次にやるのは真ん中の領域の決定。インスペクターには領域を編集ってボタンがあるんでクリックするとスクリーンショット 2025-01-13 103255.png拡大する・しないを選ぶ場所が表示されるねースクリーンショット 2025-01-13 103341.pngピンクの点や点線をドラッグして、表示領域をおおまかに確定した後インスペクターの Patch Marginで値を入力して微調整、ってのがいい感じかなこうやって拡大領域を設定してやれば無事、綺麗に拡大縮小ができるフキダシの完成だ baloon.gifいい感じじゃん? ]]> <![CDATA[
装備画面の作成中。
武器スロットを選んだら現在持ってるアイテム一覧から武器を選択する画面を作りたい
で、単純にダイアログをポップアップしただけではどこを選択してるかわかりづらいんで
フキダシみたいな演出にしようと思ったんだな


スクリーンショット 2025-01-10 062444.png

ちょうどこんな感じで
実現するには、NinePatchRectっていうコンテナを使うのがいいらしい


NinePatchRectの原理

こいつは何か。ウィンドウの真ん中の部分みたいなのを定めて、拡大した時に真ん中だけ餅のように伸ばす仕組みのようだ
イメージが湧かないと思うので俺のゲームの名物アイコンホブゴブリン君を用意した。かわいいだろ

スクリーンショット 2025-01-12 084405.png

こいつに真ん中の領域を割り当てていく。例えばこんな感じかな?
スクリーンショット 2025-01-12 084602.png
そして拡大するとこう!
スクリーンショット 2025-01-12 084740.png
左端あたりが顕著なんだけど、拡大しないよう設定した領域は伸ばさず、真ん中だけを伸ばしていくんだね
ホブゴブリン君を使ってると何やってんねんとしか思えないんで、実際によく使うウィンドウ素材とかで試してみよう

https://booth.pm/ja/items/5716846

こんな感じのメッセージウィンドウがあって
スクリーンショット 2025-01-12 085620.png
拡大・変形をしてみると

縦・横幅を変えても自在に合わせてくれるんですね
これは便利
スクリーンショット 2025-01-12 085735.png
スクリーンショット 2025-01-12 085746.png

フキダシ、作ってみよう

では早速フキダシの作成だ
素材としてはInkscapeを使って、SVGイメージを作る

角丸にした長方形と三角形を二つ作って、パス→統合を選択すると
二つのオブジェクトが一つになる。これでフキダシの外枠ができる
スクリーンショット 2025-01-12 171634.png
ただ単純な外枠だけだと下絵の枠線に埋もれてしまうんで、
今回は同じオブジェクトを右下にコピー→色を黒く塗ることで
影みたいにする

スクリーンショット 2025-01-12 171824.png
これでドロップシャドウっぽいフキダシの素材ができたね

さて、これをNinePatchRectに適用してみよう。
NinePatchRectのインスペクターにTextureって項目があって、
ここはSpriteとかでもおなじみ画像を読み込みできる場所だ
さっそく作ったばかりのSVGを取り込みます

次にやるのは真ん中の領域の決定。インスペクターには領域を編集ってボタンがあるんでクリックすると
スクリーンショット 2025-01-13 103255.png
拡大する・しないを選ぶ場所が表示されるねー
スクリーンショット 2025-01-13 103341.png
ピンクの点や点線をドラッグして、表示領域をおおまかに確定した後
インスペクターの Patch Marginで値を入力して微調整、ってのがいい感じかな
こうやって拡大領域を設定してやれば
無事、綺麗に拡大縮小ができるフキダシの完成だ

baloon.gif
いい感じじゃん?


]]><![CDATA[ ]]>
ゲーム LoyalTouch blog:https://blog.seesaa.jp,nmksb/508580476
http://nmksb.seesaa.net/article/508012422.html もう一度、godotで3D迷宮に入門する Fri, 03 Jan 2025 06:33:07 +0900 UnityからGodotに修行場を切り替えてからもう2~3年立つかなかなりGodotのやり方に慣れて、Unityでどうやってゲーム作るのか忘れたくらいなんだけど未だにUnityで実現できてたのがGodotでできてない奴があるその一つが3D迷宮俺の原体験であるWizardryを再現させるためには、是非ともこの3D迷宮を実装したいわけなんだけどGodotでのこいつの使い所がいまいちわかってないんだよな今どういう所が詰まっってるのか、ここで書きながら頭整理させてみようと思うんー、で.. <![CDATA[ UnityからGodotに修行場を切り替えてからもう2~3年立つかなかなりGodotのやり方に慣れて、Unityでどうやってゲーム作るのか忘れたくらいなんだけど未だにUnityで実現できてたのがGodotでできてない奴があるその一つが3D迷宮俺の原体験であるWizardryを再現させるためには、是非ともこの3D迷宮を実装したいわけなんだけどGodotでのこいつの使い所がいまいちわかってないんだよな今どういう所が詰まっってるのか、ここで書きながら頭整理させてみようと思う んー、できれば正月休みで一本何か完成させてブログに上げたかったんだけどねーうまくいかないねー godotでわからんこと1 3D素材はどうやって作るの こう、初歩的なところで躓いてるのはわかるんだけどね以前3D迷宮みたいなの作った時は、自力でキューブを作ってそこにレンガのテクスチャ貼りつけるとかして色々やってたみたいなんだよな。自分でやってて忘れちゃったけどhttp://nmksb.seesaa.net/article/498912161.html でも、これだと単純な立方体とか直方体みたいなのしか作れなくて、扉や階段みたいなのは作れないっぽいんだけど、どうすんだこれ 例えば2D素材だったら、GraphicGaleみたいなドット絵エディタでドット作ってTileMapに読み込む、みたいな方法を使うんだけど3Dだったらblenderで3D素材を作ってMeshLibraryという仕組みで取りこむらしい んー、なるほどねぇ と、そこまではわかったんだけど、じゃblenderで扉・階段・柱みたいなのどうやって作るのとかテクスチャどうやって貼るのとか、そういうのはまだよくわかってないっす難しいなあ godotでわからんこと2 アニメーションのやりかた 3D迷路の中を自由に歩き回る方法については、だいぶやり方を覚えてきた定番はこうやるまずプレイヤーとなる3Dオブジェクトを作る。これはからっぽのNode3Dでいいプレイヤーの子にカメラとライトをつける。親のプレイヤーを回転させたり平行移動させたりすると、カメラとライトが追随する左右キーでrotation_degreesに90度プラス、あるいはマイナスの値を追加する上下キーでtransform.basis.z.normalized()方向に値をプラスするこれで上下と回転をうまいこと制御しながら3D迷路の中を歩き回れるんだけど単純にこれを実装すると一気に90度回転、あるいは一気に1マス進んでしまうため今回転した? 進んだ? という操作が全然わからなくなってしまう。急に画面が変化してビビる というわけで、徐々に回転や平行移動するアニメーションを加えながら移動操作するのが定番なわけだアニメーションがないと辛いぞ なんだけど、アニメーションを実装するとき、どうも特定の角度に回転しようとするとものすごい量の回転をする場合があるつーか、270→0度、あるいは360→90度に回転する時限定だと思うんだけどね、この挙動 恐らく原因は func my_rotate_y(direction :int) ->void:  # 次の目標角度を計算  target_rotation.y += rotation_angle * direction  # 回転角度を0〜360度に正規化  var tween = get_tree().create_tween()  tween.tween_property(self, "rotation_degrees", target_rotation, duration)  target_rotation.y = wrapf(target_rotation.y, 0, 360) こんな感じでTweenを多用してるからで、slerpとtimerを駆使すれば直ると思う・・・んだけど 迷宮作れなくてもいいんでは いや、元々俺はTRPG風RPGを作りかかったんであって、Wizardryは好きだからそれに近いものを作ろうと思っただけなんだったな? ここで悩んでるほどなら戦闘システムキャラメイク・成長システムADVパートとかを個別に作りこんで、何個かミニゲーム作った方が建設的なんではんー、ちょっとそっちの方に方針転換するか ]]> <![CDATA[
UnityからGodotに修行場を切り替えてからもう2~3年立つかな
かなりGodotのやり方に慣れて、Unityでどうやってゲーム作るのか忘れたくらいなんだけど
未だにUnityで実現できてたのがGodotでできてない奴がある
その一つが3D迷宮
俺の原体験であるWizardryを再現させるためには、是非ともこの3D迷宮を実装したいわけなんだけど
Godotでのこいつの使い所がいまいちわかってないんだよな
今どういう所が詰まっってるのか、ここで書きながら頭整理させてみようと思う

んー、できれば正月休みで一本何か完成させてブログに上げたかったんだけどねー
うまくいかないねー


godotでわからんこと1 3D素材はどうやって作るの

こう、初歩的なところで躓いてるのはわかるんだけどね
以前3D迷宮みたいなの作った時は、自力でキューブを作ってそこにレンガのテクスチャ貼りつけるとかして
色々やってたみたいなんだよな。自分でやってて忘れちゃったけど
http://nmksb.seesaa.net/article/498912161.html

でも、これだと単純な立方体とか直方体みたいなのしか作れなくて、
扉や階段みたいなのは作れないっぽいんだけど、どうすんだこれ

例えば2D素材だったら、GraphicGaleみたいなドット絵エディタでドット作って
TileMapに読み込む、みたいな方法を使うんだけど
3Dだったらblenderで3D素材を作ってMeshLibraryという仕組みで取りこむらしい

んー、なるほどねぇ

と、そこまではわかったんだけど、じゃblenderで扉・階段・柱みたいなのどうやって作るのとか
テクスチャどうやって貼るのとか、そういうのはまだよくわかってないっす
難しいなあ

godotでわからんこと2 アニメーションのやりかた

3D迷路の中を自由に歩き回る方法については、だいぶやり方を覚えてきた
定番はこうやる
  • まずプレイヤーとなる3Dオブジェクトを作る。これはからっぽのNode3Dでいい
  • プレイヤーの子にカメラとライトをつける。親のプレイヤーを回転させたり平行移動させたりすると、カメラとライトが追随する
  • 左右キーでrotation_degreesに90度プラス、あるいはマイナスの値を追加する
  • 上下キーでtransform.basis.z.normalized()方向に値をプラスする
これで上下と回転をうまいこと制御しながら3D迷路の中を歩き回れるんだけど
単純にこれを実装すると一気に90度回転、あるいは一気に1マス進んでしまうため
今回転した? 進んだ? という操作が全然わからなくなってしまう。急に画面が変化してビビる

というわけで、徐々に回転や平行移動するアニメーションを加えながら移動操作するのが定番なわけだ
アニメーションがないと辛いぞ

なんだけど、アニメーションを実装するとき、どうも特定の角度に回転しようとするとものすごい量の回転をする場合がある
つーか、270→0度、あるいは360→90度に回転する時限定だと思うんだけどね、この挙動

恐らく原因は

func my_rotate_y(direction :int) ->void:
  # 次の目標角度を計算
  target_rotation.y += rotation_angle * direction
  # 回転角度を0〜360度に正規化
  var tween = get_tree().create_tween()
  tween.tween_property(self, "rotation_degrees", target_rotation, duration)
  target_rotation.y = wrapf(target_rotation.y, 0, 360)

こんな感じでTweenを多用してるからで、slerpとtimerを駆使すれば直ると思う・・・んだけど

迷宮作れなくてもいいんでは

いや、元々俺はTRPG風RPGを作りかかったんであって、
Wizardryは好きだからそれに近いものを作ろうと思っただけなんだったな?

ここで悩んでるほどなら
  • 戦闘システム
  • キャラメイク・成長システム
  • ADVパート
とかを個別に作りこんで、何個かミニゲーム作った方が建設的なんでは
んー、ちょっとそっちの方に方針転換するか
]]><![CDATA[ ]]>
ゲーム LoyalTouch blog:https://blog.seesaa.jp,nmksb/508012422
http://nmksb.seesaa.net/article/507602888.html 魔界塔士SaGa、今振り返るマンネリからの脱却のもがき Fri, 27 Dec 2024 20:58:03 +0900 Sa・Ga COLLECTIONって題名で出てたhttps://play.google.com/store/apps/details?id=com.square_enix.android_googleplay.SagaCollection_Sjp&amp;hl=jaなつかしいなー、って思って、とりあえず1からやり直してるんだけど子供の時やった印象とだいぶ違うな? <![CDATA[ Sa・Ga COLLECTIONって題名で出てた https://play.google.com/store/apps/details?id=com.square_enix.android_googleplay.SagaCollection_Sjp&hl=ja なつかしいなー、って思って、とりあえず1からやり直してるんだけど子供の時やった印象とだいぶ違うな? 明確に目指してたレベルのないRPG 一番印象に残ってるのがこれなのよ。子供の時はゲームボーイでRPGやるからには簡単にする必要あってこうなったんだろうなと思ってたけど、いやこれは違うね。 明らかに経験値を貯めてレベルアップするという方向性を否定したかったんだと思うそう考えるとFF2の方向の正常進化で、ロマサガがFF2と似てるって話もすごい納得行くわもうこの時期には経験値とレベルアップっていうシステムにマンネリを感じていたんだろう で、うまく行ってたかって言うとまあ、雑だったわけだが人間のパラメーター上昇が金で買うタイプなんで、青龍あたりで攻撃力がカンストするとかまだランダムにパラメーター上がるエスパーのがバランスよかったかもああ、だからSaGa2では人間もランダムパラメーターアップになったのか。そりゃそうか・・・ システムの意図としては、SaGaの人間の成長のさせ方が一番シンプルでわかりやすいんだよね攻撃アイテムも回復アイテムも成長も、全部戦闘を通じて入手するお金1本でリソース管理するどこを成長させるかは買ったアイテムで選択可能 ただ、成長のリソースが一本だと特定のパラメーターを集中させちゃうんで簡単にカンストするねいかんねそういうわけで、昔からRPGはお金と経験値、2つのパラメーターがあったわけなんですねーよくわかりました 無神論のFF、悪神のSaGa あと、世界観的にちょっと思ったのがあって、SaGaの神様ってチェーンソーで一発死にの最終ボスで悪い奴って印象が強いじゃないですかあれシリーズ通してわりとSaGaの神様って良くない奴が多くて、SaGa3でも社会の裏で手を引いてる悪の組織みたいな扱いだったんだよ2の女神はいい人だった。やや天然だけど これってエニックス合併前のスクウェア全般の傾向だったかな?と思ってよくよく思い返してみたら、FF、俺の知ってる1~6までの話では召喚獣みたいなのはあるものの特に神なんかいなかった神殿はあるのに あれ? スクウェア、あんなにファンタジー作品作ってるのに神嫌い?いや、聖剣伝説シリーズではちゃんとマナの女神がいるかあれ何だろう、FFは毎作品全然違う世界観なのに一貫して神が不在SaGaには神はいてもどこかで倒す対象になる んー、やっぱ神は悪なのでチェーンソーで殺すべきという世界観なのかちなみにチェーンソーで神が死ぬバグは https://w.atwiki.jp/aniwotawiki/pages/27725.html これが原因っぽい。防御力が高い方がバラバラになりやすいという・・・ ファンタジーからも脱却したかった ちなみにストーリー前半の方は城に王がいたり浮島に乗って冒険したりと普通のファンタジー路線なんだけど後半に進むと破壊された東京を暴走族が反逆して暴れ回るみたいなAKIRAみたいな世界観になっていったり、核戦争で世界が滅びた情景が模擬的に表われたりと90年代後半に流行った世紀末SFの世界にだんだんと近づいていっている あーそうそう、世界が戦争でぐちゃぐちゃになって人間がエスパーに進化して冷戦の時ってみんなこういう世界観を共有してたんだよな って気分を思い出してる。 こう見てみるとシステム的にもシナリオ的にも、経験値貯めてレベルアップして中世ヨーロッパの世界で剣と魔法で活躍するというドラクエ的なRPGから何とか脱却しようともがいていた姿が、SaGaの姿なんだなっていうのがよくわかるわ 俺もこういう動き一部は歓迎していて、経験値とレベルアップのシステムはどれもこれも画一的だしゲーム側に用意された戦士や魔法使いのスキルアップのテーブルに乗って攻略してるだけでつまらんって思ってたから、わりとこのシリーズ好意的に見てたんだよね ただ、世界観としては王道ファンタジー好きだったんで、なんでSF混ぜるんだよってちょい不満だったこの不満が聖剣伝説シリーズへの傾倒に繋がっていくのだが・・・ 実は2が一番好き なお、これだけ1を熱く語っているものの、実はこれからやる2がシリーズの中で一番好きなんだよねバランスの取れた成長システム、装備で色んなパラメーターが上がるメカの仕組み、アツい冒険のシナリオ→1のシナリオはかっこいいが主人公も街のモブもセリフが殺伐としててややウケる 1クリアしたら2だ、超楽しみ! ]]> <![CDATA[
Sa・Ga COLLECTIONって題名で出てた

https://play.google.com/store/apps/details?id=com.square_enix.android_googleplay.SagaCollection_Sjp&hl=ja

なつかしいなー、って思って、とりあえず1からやり直してるんだけど
子供の時やった印象とだいぶ違うな?


明確に目指してたレベルのないRPG

一番印象に残ってるのがこれなのよ。子供の時はゲームボーイでRPGやるからには簡単にする必要あって
こうなったんだろうなと思ってたけど、いやこれは違うね。

明らかに経験値を貯めてレベルアップするという方向性を否定したかったんだと思う
そう考えるとFF2の方向の正常進化で、ロマサガがFF2と似てるって話もすごい納得行くわ
もうこの時期には経験値とレベルアップっていうシステムにマンネリを感じていたんだろう

で、うまく行ってたかって言うとまあ、雑だったわけだが
人間のパラメーター上昇が金で買うタイプなんで、青龍あたりで攻撃力がカンストするとか
まだランダムにパラメーター上がるエスパーのがバランスよかったかも
ああ、だからSaGa2では人間もランダムパラメーターアップになったのか。そりゃそうか・・・

システムの意図としては、SaGaの人間の成長のさせ方が一番シンプルでわかりやすいんだよね
攻撃アイテムも回復アイテムも成長も、全部戦闘を通じて入手するお金1本でリソース管理する
どこを成長させるかは買ったアイテムで選択可能

ただ、成長のリソースが一本だと特定のパラメーターを集中させちゃうんで簡単にカンストするね
いかんね
そういうわけで、昔からRPGはお金と経験値、2つのパラメーターがあったわけなんですねー
よくわかりました

無神論のFF、悪神のSaGa

あと、世界観的にちょっと思ったのがあって、SaGaの神様ってチェーンソーで一発死に
最終ボスで悪い奴って印象が強いじゃないですか
あれシリーズ通してわりとSaGaの神様って良くない奴が多くて、
SaGa3でも社会の裏で手を引いてる悪の組織みたいな扱いだったんだよ
2の女神はいい人だった。やや天然だけど

これってエニックス合併前のスクウェア全般の傾向だったかな?
と思ってよくよく思い返してみたら、FF、俺の知ってる1~6までの話では
召喚獣みたいなのはあるものの特に神なんかいなかった
神殿はあるのに

あれ? スクウェア、あんなにファンタジー作品作ってるのに神嫌い?
いや、聖剣伝説シリーズではちゃんとマナの女神がいるか
あれ何だろう、FFは毎作品全然違う世界観なのに一貫して神が不在
SaGaには神はいてもどこかで倒す対象になる

んー、やっぱ神は悪なのでチェーンソーで殺すべきという世界観なのか
ちなみにチェーンソーで神が死ぬバグは

https://w.atwiki.jp/aniwotawiki/pages/27725.html

これが原因っぽい。防御力が高い方がバラバラになりやすいという・・・

ファンタジーからも脱却したかった

ちなみにストーリー前半の方は城に王がいたり浮島に乗って冒険したりと
普通のファンタジー路線なんだけど
後半に進むと破壊された東京を暴走族が反逆して暴れ回るみたいな
AKIRAみたいな世界観になっていったり、
核戦争で世界が滅びた情景が模擬的に表われたりと
90年代後半に流行った世紀末SFの世界にだんだんと近づいていっている

あーそうそう、世界が戦争でぐちゃぐちゃになって人間がエスパーに進化して
冷戦の時ってみんなこういう世界観を共有してたんだよな

って気分を思い出してる。

こう見てみるとシステム的にもシナリオ的にも、経験値貯めてレベルアップして中世ヨーロッパの世界で剣と魔法で活躍するという
ドラクエ的なRPGから何とか脱却しようともがいていた姿が、SaGaの姿なんだなっていうのがよくわかるわ

俺もこういう動き一部は歓迎していて、
経験値とレベルアップのシステムはどれもこれも画一的だし
ゲーム側に用意された戦士や魔法使いのスキルアップのテーブルに乗って攻略してるだけで
つまらんって思ってたから、わりとこのシリーズ好意的に見てたんだよね

ただ、世界観としては王道ファンタジー好きだったんで、なんでSF混ぜるんだよってちょい不満だった
この不満が聖剣伝説シリーズへの傾倒に繋がっていくのだが・・・

実は2が一番好き

なお、これだけ1を熱く語っているものの、実はこれからやる2がシリーズの中で一番好きなんだよね
バランスの取れた成長システム、装備で色んなパラメーターが上がるメカの仕組み、アツい冒険のシナリオ
→1のシナリオはかっこいいが主人公も街のモブもセリフが殺伐としててややウケる

1クリアしたら2だ、超楽しみ!
]]><![CDATA[ ]]>
ゲーム LoyalTouch blog:https://blog.seesaa.jp,nmksb/507602888
http://nmksb.seesaa.net/article/507014924.html mixi2が来た。nostrの時代は来るか Fri, 20 Dec 2024 06:22:24 +0900 いや近年は新SNS勃興のブームですねやっぱりアレか? Twitterが買収されてXになった影響がでかいのかそう考えるととんでもないことしてくれたなイーロンんで、年の瀬になって最大のニュースが決ましたたぶん最大。もうこれから数日でもっとデカいSNS関係のニュースは来ねえだろmixi2ですhttps://mixi.social/なんて安易な名前。最近の流行りなのにmixi2.0とすら名乗らない <![CDATA[ いや近年は新SNS勃興のブームですねやっぱりアレか? Twitterが買収されてXになった影響がでかいのかそう考えるととんでもないことしてくれたなイーロン んで、年の瀬になって最大のニュースが決ましたたぶん最大。もうこれから数日でもっとデカいSNS関係のニュースは来ねえだろmixi2です https://mixi.social/ なんて安易な名前。最近の流行りなのにmixi2.0とすら名乗らない 生きとったんかいワレ、mixiの思い出 実はmixiはそんなやったことないんだよね。足跡をつけたら何かコメントを書かなければいけない、あの文化が苦手で。それにしてもTwitterに先立って日本にSNSを根付かせた功績はすげぇもんだし、もうとっくの昔に会社自体なくなっていたと思っていたらソシャゲで生き残っていたらしい https://toyokeizai.net/articles/-/783985 でもモンスト一本で生き残るのは辛い、って上の記事にも書いていたところなんで次の手を打つべきだろうなー、って思っていたところに祖業で再度話題になるという華麗な復活劇これは美しい 技術的には、全面的にFlutterで書き直されてるらしく、Dart興味なかったんだけどなるほどこれは面白いなって思った https://www.memory-lovers.blog/entry/2024/12/19/085505 でも、まあ足跡のトラウマがあるからあまり食指が伸びないんだけどね 偽中国語SNS対多爆誕 ちなみに直前に流行ったSNSとして対多ってのがあってですね https://play.google.com/store/apps/details?id=app.forty_yd.tsuita 全部漢字でしか入力できないんだけど、本格的な中国語を書けるんじゃなく全部偽中国語日本人がインチキ中国語造語して書き込む奴。ちょうどこれよ 我「本日在宅勤務可?」会社「不可!感染流行終了!出勤重要!」我「否!要継続感染予防!適度在宅勤務、効率上昇!」会社「本当?業務効率化?」我「本当!我誠実!普段以上集中!」会社「在宅勤務了承…」我「嗚呼…真・女神転生起動…」https://togetter.com/li/1801280 読める・・・すごく読めるけど全然中国語じゃないという正直言葉遊びでしかないSNS、すぐネタがなくなって終了するんじゃないかと思いきや複雑なこと書けない分荒れなくて平和ということで、みんな定着してるらしいなんという・・・ 俺達のnostrどうなる さて、以前から注目してた自由な分散SNS、nostrこう色んなSNSが話題になるとみなさんの興味も薄れて寂れるかな・・・と思ってたらさにあらず、地道に投稿が増えてる模様 さっそく今のmixi2の話題がどうなってるか確認するため#mixi2 って検索をしてみたら、みなさん平和にmixi2の招待コードを貼りまくっていた 牧歌的だ・・・癒される・・・ そうそう、人間の流れってどこかに集約してしまうのはあるあるネタだけど健全じゃなくってこうやって複数のSNSを話題ごとに使い分けていく方向性って大事だと思うんだよねnostrで漠然と話題を調べてmixi2で特定の人と深く交流するとか、やりたい ]]> <![CDATA[
いや近年は新SNS勃興のブームですね
やっぱりアレか? Twitterが買収されてXになった影響がでかいのか
そう考えるととんでもないことしてくれたなイーロン

んで、年の瀬になって最大のニュースが決ました
たぶん最大。もうこれから数日でもっとデカいSNS関係のニュースは来ねえだろ
mixi2です

https://mixi.social/

なんて安易な名前。最近の流行りなのにmixi2.0とすら名乗らない


生きとったんかいワレ、mixiの思い出

実はmixiはそんなやったことないんだよね。足跡をつけたら何かコメントを書かなければいけない、あの文化が苦手で。
それにしてもTwitterに先立って日本にSNSを根付かせた功績はすげぇもんだし、
もうとっくの昔に会社自体なくなっていたと思っていたら
ソシャゲで生き残っていたらしい

https://toyokeizai.net/articles/-/783985

でもモンスト一本で生き残るのは辛い、って上の記事にも書いていたところなんで
次の手を打つべきだろうなー、って思っていたところに
祖業で再度話題になるという華麗な復活劇
これは美しい

技術的には、全面的にFlutterで書き直されてるらしく、
Dart興味なかったんだけどなるほどこれは面白いなって思った

https://www.memory-lovers.blog/entry/2024/12/19/085505

でも、まあ足跡のトラウマがあるからあまり食指が伸びないんだけどね

偽中国語SNS対多爆誕

ちなみに直前に流行ったSNSとして対多ってのがあってですね

https://play.google.com/store/apps/details?id=app.forty_yd.tsuita

全部漢字でしか入力できないんだけど、本格的な中国語を書けるんじゃなく全部偽中国語
日本人がインチキ中国語造語して書き込む奴。ちょうどこれよ

我「本日在宅勤務可?」
会社「不可!感染流行終了!出勤重要!」
我「否!要継続感染予防!適度在宅勤務、効率上昇!」
会社「本当?業務効率化?」
我「本当!我誠実!普段以上集中!」
会社「在宅勤務了承…」
我「嗚呼…真・女神転生起動…」
https://togetter.com/li/1801280

読める・・・すごく読めるけど全然中国語じゃない
という正直言葉遊びでしかないSNS、すぐネタがなくなって終了するんじゃないかと思いきや
複雑なこと書けない荒れなくて平和ということで、みんな定着してるらしい
なんという・・・

俺達のnostrどうなる

さて、以前から注目してた自由な分散SNS、nostr
こう色んなSNSが話題になるとみなさんの興味も薄れて寂れるかな・・・
と思ってたらさにあらず、地道に投稿が増えてる模様

さっそく今のmixi2の話題がどうなってるか確認するため
#mixi2 って検索をしてみたら、みなさん平和にmixi2の招待コードを貼りまくっていた

牧歌的だ・・・癒される・・・

そうそう、人間の流れってどこかに集約してしまうのはあるあるネタだけど健全じゃなくって
こうやって複数のSNSを話題ごとに使い分けていく方向性って大事だと思うんだよね
nostrで漠然と話題を調べてmixi2で特定の人と深く交流するとか、やりたい

]]><![CDATA[ ]]>
日記 LoyalTouch blog:https://blog.seesaa.jp,nmksb/507014924
http://nmksb.seesaa.net/article/506246734.html GridContainerでインベントリを埋めよう Fri, 13 Dec 2024 06:32:25 +0900 例えば装備欄、こんな感じでデータを表示する項目があると思うんだけどこの名前、Value、+1、+1って書いてる部分ここは可変な文字を書く部分で、GodotとしてはLabelで埋めなきゃいけないここを手作業で24個Label配置するのは地獄だよね?何とかしましょう。GridContainerの出番だ <![CDATA[ 例えば装備欄、こんな感じでデータを表示する項目があると思うんだけど スクリーンショット 2024-12-13 222634.png この名前、Value、+1、+1って書いてる部分ここは可変な文字を書く部分で、GodotとしてはLabelで埋めなきゃいけないここを手作業で24個Label配置するのは地獄だよね? 何とかしましょう。GridContainerの出番だ GridContainerを使おう GridContainerは子ノードを格子状に配列する便利コンテナーだ今回の表は名前、効果値、命中補正、回避補正の4つの列があるので、インスペクターのColumnsを4に設定するあとはただただLabelをadd_childしていけば4列に整列されるんだけど スクリーンショット 2024-12-13 224233.png このままだと文字のサイズのままで詰まってしまう列の幅を何とか固定したいんだけどGridContainerにはそんなプロパティなさそう。どうしたら・・・ 困ったらChatGPTさんに聞こう こういう場合頼れるのはChatGPT助けてGPTえもん、GridContainerが不便だよって聞くとスクリーンショット 2024-12-13 224456.png子ノードの方で制御するらしい!Labelのインスペクターを色々調べるとLayout > Custom Minimum って設定箇所があったスクリーンショット 2024-12-13 224714.pngおー、いいねえ。この値を罫線に合わせて適切に設定してみよう まずGridContainerの子に、行の1番上に4つだけLabelを定義するスクリーンショット 2024-12-13 224826.pngそれぞれ 160、90、40、40px程度にした こいつを5回コピーしてGridContainerの子に配置するといいコードはこんな感じ func add_line(target: GridContainer, count: int) -> void:  var sources: Array[Label]  for child in target.get_children():    sources.append(child)  for i in count:    for src in sources:      var dst = src.duplicate()      dst.name = src.name + ("_%d" % [i])      target.add_child(dst) 最初のブロックは、先頭1行4列のLabelを読みこんで、sources配列に格納しているところだ続いてのブロックで、この先頭1行を第二引数で指定した分だけadd_childするよーし、これでちゃんと列の幅に合わせてLabelが配置されるぞ、と思ったら はみ出る文字列 スクリーンショット 2024-12-13 225531.png 文字列が短かい時は問題ないけど、長い時は圧迫しちゃうねLabelの列幅の最大値も指定したい場合はどうすればいいんだ っていう話だと、こっちはClip Textってプロパティがインスペクターにみつかったこいつをonにしてやると スクリーンショット 2024-12-14 070235.png あー、いい感じに収まりますね これにて完成! ]]> <![CDATA[
例えば装備欄、こんな感じでデータを表示する項目があると思うんだけど

スクリーンショット 2024-12-13 222634.png

この名前、Value、+1、+1って書いてる部分
ここは可変な文字を書く部分で、GodotとしてはLabelで埋めなきゃいけない
ここを手作業で24個Label配置するのは地獄だよね?

何とかしましょう。GridContainerの出番だ


GridContainerを使おう

GridContainerは子ノードを格子状に配列する便利コンテナーだ
今回の表は名前、効果値、命中補正、回避補正の4つの列があるので、
インスペクターのColumnsを4に設定する
あとはただただLabelをadd_childしていけば4列に整列されるんだけど

スクリーンショット 2024-12-13 224233.png

このままだと文字のサイズのままで詰まってしまう
列の幅を何とか固定したいんだけど
GridContainerにはそんなプロパティなさそう。どうしたら・・・

困ったらChatGPTさんに聞こう

こういう場合頼れるのはChatGPT
助けてGPTえもん、GridContainerが不便だよ
って聞くと
スクリーンショット 2024-12-13 224456.png
子ノードの方で制御するらしい!
Labelのインスペクターを色々調べると
Layout > Custom Minimum って設定箇所があった
スクリーンショット 2024-12-13 224714.png
おー、いいねえ。この値を罫線に合わせて適切に設定してみよう

まずGridContainerの子に、行の1番上に4つだけLabelを定義する
スクリーンショット 2024-12-13 224826.png
それぞれ 160、90、40、40px程度にした

こいつを5回コピーしてGridContainerの子に配置するといい
コードはこんな感じ

func add_line(target: GridContainer, count: int) -> void:
  var sources: Array[Label]
  for child in target.get_children():
    sources.append(child)

  for i in count:
    for src in sources:
      var dst = src.duplicate()
      dst.name = src.name + ("_%d" % [i])
      target.add_child(dst)

最初のブロックは、先頭1行4列のLabelを読みこんで、sources配列に格納しているところだ
続いてのブロックで、この先頭1行を第二引数で指定した分だけadd_childする
よーし、これでちゃんと列の幅に合わせてLabelが配置されるぞ、と思ったら

はみ出る文字列

スクリーンショット 2024-12-13 225531.png

文字列が短かい時は問題ないけど、長い時は圧迫しちゃうね
Labelの列幅の最大値も指定したい場合はどうすればいいんだ

っていう話だと、こっちはClip Textってプロパティがインスペクターにみつかった
こいつをonにしてやると

スクリーンショット 2024-12-14 070235.png

あー、いい感じに収まりますね

これにて完成!
]]><![CDATA[ ]]>
ゲーム LoyalTouch blog:https://blog.seesaa.jp,nmksb/506246734
http://nmksb.seesaa.net/article/505969645.html レトロゲーム作成エンジン、pyxelで遊ぼう Fri, 06 Dec 2024 06:15:52 +0900 最近はすっかり何か作るたびにGodotを立ち上げることが多くなったけど腕ならしに他のゲームエンジンを触ってみたくなることもあるわけで今回ちょっと気になったのでpyxelっていうのを触ってみたhttps://github.com/kitao/pyxel/blob/main/docs/README.ja.md見た感じ、SDLのpythonラッパーだねしかし、ドットエディタとかミュージックエディタが標準でついてくる面白! <![CDATA[ 最近はすっかり何か作るたびにGodotを立ち上げることが多くなったけど腕ならしに他のゲームエンジンを触ってみたくなることもあるわけで今回ちょっと気になったのでpyxelっていうのを触ってみた https://github.com/kitao/pyxel/blob/main/docs/README.ja.md 見た感じ、SDLのpythonラッパーだねしかし、ドットエディタとかミュージックエディタが標準でついてくる面白! インストールしてみよう インストールにはpython3とpip3が必要。Windowsでこの環境を揃えるのは結構な手間なんだけど今我々にはWSL2という強い味方がいる WSLでubuntuを立ち上げhttps://github.com/kitao/pyxel/blob/main/docs/README.ja.md 公式ドキュメントに従い sudo apt install python-pip libsdl2-devsudo pip3 install -U pyxel で、インストール可能 pyxel copy_examples のコマンドを実行すると、カレントディレクトリにpyxel_examplesっていうフォルダーが生えてきて、このフォルダー内に色んなサンプルが出てくる pyxel run サンプル名 の実行でサンプルで遊ぶことができるので、なるほどこういう感じか、という風に見て遊べる サンプルのソース見てみるか 一番最初のサンプル、01_hello_pyxel.py を開いてみようなるほど、ロゴがキラキラ光ってきれいなGame21.gif これ、どういうソースで実行されてるんだろうかいっちょ見てみよう importpyxelclassApp:    def__init__(self):        pyxel.init(160, 120, title="Hello Pyxel")        pyxel.images[0].load(0, 0, "assets/pyxel_logo_38x16.png")        pyxel.run(self.update, self.draw)    defupdate(self):        ifpyxel.btnp(pyxel.KEY_Q):            pyxel.quit()    defdraw(self):        pyxel.cls(0)        pyxel.text(55, 41, "Hello, Pyxel!", pyxel.frame_count % 16)        pyxel.blt(61, 66, 0, 0, 0, 38, 16)App() なるほど最初の__init__がおそらくコンストラクターで、ウィンドウのサイズやタイトルを決定して画像を読みこんだりしてるみたいだ 次のupdate関数はQを押したら画面を終了するっていうのを表してるんだな恐らく、キー入力イベントなんかはこのupdate関数で処理するんだろう 最後のdraw関数で描画、pyxel.textでHello, Pyxel!っていう文字を描くんだろうけど一番最後の pyxel.frame_count % 16 ってのは何かたぶんパレットの色だ。16色のパレット色だけがpyxelで使える色で、毎フレームごとに色を変えて描画するこれでキラキラ光る文字の部分を作ってるんだな 次のpyxel.bltがやや見なれないがbltってSDLでよく見る命令、画像を描画する奴だね!なるほどなるほど、ちょいとわかってきた。お次はpyxelの目玉、リソースエディタだ 絵も音楽も作れる! このコマンドを起動すると pyxel edit hellopyxel.pyxres カレントフォルダーにhellopyxel.pyxresってファイルを作って、こんな感じの画面が出てくるもちろん最近のWSLでも画面が出てくる! ステキ! スクリーンショット 2024-12-07 173411.png 8x8 16色のキャラクターをポチポチ描けるらしいんだけど、このミニマム具合がとってもなつかしいねえ昔MSXでDante作ってた時思い出すよちなみにグラフィックだけじゃなく、タイルマップや音楽も作れるらしい本当、これだけでちょっとしたゲームなら作れちゃうな! ゲームに組み込もう さて、パタパタアニメで動く主人公を作ったら、さっきのHelloWorldを改造しよう importpyxelclassApp:    def__init__(self):        pyxel.init(160, 120, title="Hello Pyxel")        pyxel.load("hellopyxel.pyxres")        #pyxel.images[0].load(0, 0, "assets/pyxel_logo_38x16.png")        pyxel.run(self.update, self.draw)        pyxel.playm(0, loop=True)    defupdate(self):        ifpyxel.btnp(pyxel.KEY_Q):            pyxel.quit()    defdraw(self):        pyxel.cls(0)        pyxel.text(55, 41, "Hello, Pyxel!", pyxel.frame_count % 16)        #pyxel.blt(61, 66, 0, 0, 0, 38, 16)        pyxel.blt(61, 66, 0, 8 * (pyxel.frame_count // 4 % 2), 0, 8, 8)App() こう。さっき作ったばかりのリソースはpyxel.load("hellopyxel.pyxres")で読み込めるらしいそいつを描画するのがさっきも使ったblt pyxel.blt(61, 66, 0, 8 * (pyxel.frame_count // 4 % 2), 0, 8, 8) pyxel.frame_count % 2で、パタパタアニメできるんだけど、これだと60フレームで高速パタパタしてしまう//4などして速度調製するのがよさげ。ちなみに//はpythonの演算子で、整数切り捨てで値を返す除算らしいこのソースを実行すると Game22.gif こう! godotとの使い分け なお、作ったゲームはWebでも公開できるgodotにもWeb公開の機能はあるんだけど、すんげー重いんだよね本格的なゲーム作るんならgodotなんだろうけどこういうピクセルアート的なお手軽ゲーム作るならpyxel、いいんじゃないか! ただgodotもpyxelもpythonベースかぁ どなたか、rubyベースの奴作ってくれね?書きやすいんだよねruby ]]> <![CDATA[
最近はすっかり何か作るたびにGodotを立ち上げることが多くなったけど
腕ならしに他のゲームエンジンを触ってみたくなることもあるわけで
今回ちょっと気になったのでpyxelっていうのを触ってみた

https://github.com/kitao/pyxel/blob/main/docs/README.ja.md

見た感じ、SDLのpythonラッパーだね
しかし、ドットエディタとかミュージックエディタが標準でついてくる
面白!


インストールしてみよう

インストールにはpython3とpip3が必要。Windowsでこの環境を揃えるのは結構な手間なんだけど
今我々にはWSL2という強い味方がいる

WSLでubuntuを立ち上げ
https://github.com/kitao/pyxel/blob/main/docs/README.ja.md

公式ドキュメントに従い

sudo apt install python-pip libsdl2-dev
sudo pip3 install -U pyxel

で、インストール可能

pyxel copy_examples

のコマンドを実行すると、カレントディレクトリにpyxel_examplesっていうフォルダーが生えてきて、
このフォルダー内に色んなサンプルが出てくる

pyxel run サンプル名

の実行でサンプルで遊ぶことができるので、なるほどこういう感じか、という風に見て遊べる

サンプルのソース見てみるか

一番最初のサンプル、01_hello_pyxel.py を開いてみよう
なるほど、ロゴがキラキラ光ってきれいな
Game21.gif

これ、どういうソースで実行されてるんだろうか
いっちょ見てみよう

importpyxel


classApp:
    def__init__(self):
        pyxel.init(160, 120, title="Hello Pyxel")
        pyxel.images[0].load(0, 0, "assets/pyxel_logo_38x16.png")
        pyxel.run(self.update, self.draw)

    defupdate(self):
        ifpyxel.btnp(pyxel.KEY_Q):
            pyxel.quit()

    defdraw(self):
        pyxel.cls(0)
        pyxel.text(55, 41, "Hello, Pyxel!", pyxel.frame_count % 16)
        pyxel.blt(61, 66, 0, 0, 0, 38, 16)

App()

なるほど
最初の__init__がおそらくコンストラクターで、
ウィンドウのサイズやタイトルを決定して画像を読みこんだりしてるみたいだ

次のupdate関数はQを押したら画面を終了するっていうのを表してるんだな
恐らく、キー入力イベントなんかはこのupdate関数で処理するんだろう

最後のdraw関数で描画、pyxel.textでHello, Pyxel!っていう文字を描くんだろうけど
一番最後の pyxel.frame_count % 16 ってのは何か
たぶんパレットの色だ。16色のパレット色だけがpyxelで使える色で、
毎フレームごとに色を変えて描画する
これでキラキラ光る文字の部分を作ってるんだな

次のpyxel.bltがやや見なれないが
bltってSDLでよく見る命令、画像を描画する奴だね!
なるほどなるほど、ちょいとわかってきた。
お次はpyxelの目玉、リソースエディタだ

絵も音楽も作れる!

このコマンドを起動すると

pyxel edit hellopyxel.pyxres

カレントフォルダーにhellopyxel.pyxresってファイルを作って、こんな感じの画面が出てくる
もちろん最近のWSLでも画面が出てくる! ステキ!

スクリーンショット 2024-12-07 173411.png

8x8 16色のキャラクターをポチポチ描けるらしいんだけど、このミニマム具合がとってもなつかしいねえ
昔MSXでDante作ってた時思い出すよ
ちなみにグラフィックだけじゃなく、タイルマップや音楽も作れるらしい
本当、これだけでちょっとしたゲームなら作れちゃうな!

ゲームに組み込もう

さて、パタパタアニメで動く主人公を作ったら、さっきのHelloWorldを改造しよう

importpyxel

classApp:
    def__init__(self):
        pyxel.init(160, 120, title="Hello Pyxel")
        pyxel.load("hellopyxel.pyxres")
        #pyxel.images[0].load(0, 0, "assets/pyxel_logo_38x16.png")
        pyxel.run(self.update, self.draw)
        pyxel.playm(0, loop=True)

    defupdate(self):
        ifpyxel.btnp(pyxel.KEY_Q):
            pyxel.quit()

    defdraw(self):
        pyxel.cls(0)
        pyxel.text(55, 41, "Hello, Pyxel!", pyxel.frame_count % 16)
        #pyxel.blt(61, 66, 0, 0, 0, 38, 16)
        pyxel.blt(61, 66, 0, 8 * (pyxel.frame_count // 4 % 2), 0, 8, 8)

App()

こう。さっき作ったばかりのリソースはpyxel.load("hellopyxel.pyxres")で読み込めるらしい
そいつを描画するのがさっきも使ったblt

pyxel.blt(61, 66, 0, 8 * (pyxel.frame_count // 4 % 2), 0, 8, 8)

pyxel.frame_count % 2で、パタパタアニメできるんだけど、これだと60フレームで高速パタパタしてしまう
//4などして速度調製するのがよさげ。ちなみに//はpythonの演算子で、整数切り捨てで値を返す除算らしい
このソースを実行すると

Game22.gif

こう!

godotとの使い分け

なお、作ったゲームはWebでも公開できる
godotにもWeb公開の機能はあるんだけど、すんげー重いんだよね
本格的なゲーム作るんならgodotなんだろうけど
こういうピクセルアート的なお手軽ゲーム作るならpyxel、いいんじゃないか!

ただgodotもpyxelもpythonベースかぁ

どなたか、rubyベースの奴作ってくれね?
書きやすいんだよねruby

]]><![CDATA[ ]]>
ゲーム LoyalTouch blog:https://blog.seesaa.jp,nmksb/505969645
http://nmksb.seesaa.net/article/505846654.html イーロンマスク大暴れ、今度はゲームを作る Fri, 29 Nov 2024 06:33:42 +0900 イーロン・マスク氏、突如「AIゲームスタジオを立ち上げる」と表明。「ゲームを再び素晴らしいものにする」と意気込むhttps://automaton-media.com/articles/newsjp/elonmusk-20241128-319813/金持ってるからってやりたい放題だな! 人生楽しそうでいいわところでアメリカのIT業界とゲームって、相性いいようでかなり相性悪く、googleも手を出しては失敗してたりするhttp://nmksb.seesaa.net/articl.. <![CDATA[ イーロン・マスク氏、突如「AIゲームスタジオを立ち上げる」と表明。「ゲームを再び素晴らしいものにする」と意気込むhttps://automaton-media.com/articles/newsjp/elonmusk-20241128-319813/ 金持ってるからってやりたい放題だな! 人生楽しそうでいいわ ところでアメリカのIT業界とゲームって、相性いいようでかなり相性悪く、googleも手を出しては失敗してたりする http://nmksb.seesaa.net/article/492220245.html かなり長く投資しなきゃいけないのに、アメリカのIT業界は飽き性で資金回収ができなかったらすぐ撤退するからだなそう考えるとMicrosoftはかなり頑張ってるわ。マインクラフトなんかも手に入れてしばらくは磐石だろうしさて、イーロンマスクのゲームスタジオはどういう展開を見せるんだろう   AIってどういうことだよ まだ何一つ詳細が語られてないので、イーロンマスクがどんなゲームを作るのか全然わからんのだけど唯一キーワードとして聞こえてくるのがAIを活用したゲームスタジオ AIで何すんの? んまあ、ITとAIって技術的にかなり相性いいし、実のところ文化としても漫画や小説なんかと比べてゲーム作成現場ってかなりAIに優しい他の芸術分野、特に絵描き文化なんかAIにものすごく反発が強くて、俺らの絵を学習するなって反対運動がすごいんだけどゲームって素材にAIの絵や音楽を使ってもあまり何も言われないし、プログラムのソースなんかは活用を推奨してるくらいだ ただ、そんなインディーズゲーム会社と同じことやるって話ならイーロンは参戦しないはずXに投稿された大量の画像を使って、いい感じの素材を使ったゲームを作る?いやいや、そんなケチな事は考えてないだろう大量の文字データや会話を分析して、ものすごい自然な思考をするテーブルゲームを作ったりいやまたはAIがマスターしてくれて風景なんか自動生成してくれる没入型コンピューターTRPG作ったりするのかもしれん→何だコンピューターTRPGって用語。祖先のRPGからゴテゴテ修飾語ついて変な用語になってるな。まあ気にすんな! いやそういうの作ってくれたら買うわ。今までのイーロンの不信感は撤回する。ごめんなイーロン っていうことになるのかな・・・? 本当に続けるんだろうか ただ、やや不安なのはイーロンは本当にゲームを作り続けるモチベーションがあるんだろうかってとこというのもイーロンが手を出した事業、Paypal(電子決済)テスラ(電気自動車)ソーラーシティ真空チューブ交通ロボットみたいに、SFアニメに出てくるような見栄えのする事業に次から次へと手を出しては派手に新製品作るんだけどhttps://ja.wikipedia.org/wiki/%E3%82%A4%E3%83%BC%E3%83%AD%E3%83%B3%E3%83%BB%E3%83%9E%E3%82%B9%E3%82%AFある程度儲けたらそんな興味なくなるみたいで、Paypalなんか新しい機能全然作ってないしtwitter改めXなんか変な改悪しかしてないしで、 実際のところ、一番やりたいのはSpaceXで火星に行くことでその他の事業はそのための資金集めにすぎないんじゃないかって疑いがあるんだが・・・ だってあいつSpaceXだけは上場してないし、ずっと火星行く火星行くって言いまくってるしゲーム事業も今儲かりそうという嗅覚だけで参戦したのでは? 実は俺のディアブロ作りたいだけ説 あ、でも冒頭の記事内でちなみにイーロン氏はゲーム好きとしても知られており、先日人気ポッドキャスト番組「Joe Rogan Experience」に出演した際には、『ディアブロ4』の高難易度コンテンツ「名匠の奈落」にて、タイムアタックの世界ランキングトップ20位以内に入っていると明かすなど、やり込みゲーマーの一面ものぞかせていたなんて書いてんな 実はディアブロが好きすぎて、俺のディアブロを作ってみたくなっただけなんじゃないかなら、ずっと俺のWizardry作りたいって言ってる俺と同類じゃん・・・いやそういうの作ってくれたら買うわ。今までのイーロンの不信感は撤回する。ごめんなイーロン(2回目) ]]> <![CDATA[
イーロン・マスク氏、突如「AIゲームスタジオを立ち上げる」と表明。「ゲームを再び素晴らしいものにする」と意気込む
https://automaton-media.com/articles/newsjp/elonmusk-20241128-319813/

金持ってるからってやりたい放題だな! 人生楽しそうでいいわ

ところでアメリカのIT業界とゲームって、相性いいようでかなり相性悪く、
googleも手を出しては失敗してたりする

http://nmksb.seesaa.net/article/492220245.html

かなり長く投資しなきゃいけないのに、アメリカのIT業界は飽き性で資金回収ができなかったらすぐ撤退するからだな
そう考えるとMicrosoftはかなり頑張ってるわ。マインクラフトなんかも手に入れてしばらくは磐石だろうし
さて、イーロンマスクのゲームスタジオはどういう展開を見せるんだろう
  

AIってどういうことだよ

まだ何一つ詳細が語られてないので、イーロンマスクがどんなゲームを作るのか全然わからんのだけど
唯一キーワードとして聞こえてくるのがAIを活用したゲームスタジオ

AIで何すんの?

んまあ、ITとAIって技術的にかなり相性いいし、
実のところ文化としても漫画や小説なんかと比べてゲーム作成現場ってかなりAIに優しい
他の芸術分野、特に絵描き文化なんかAIにものすごく反発が強くて、俺らの絵を学習するなって反対運動がすごいんだけど
ゲームって素材にAIの絵や音楽を使ってもあまり何も言われないし、プログラムのソースなんかは活用を推奨してるくらいだ

ただ、そんなインディーズゲーム会社と同じことやるって話ならイーロンは参戦しないはず
Xに投稿された大量の画像を使って、いい感じの素材を使ったゲームを作る?
いやいや、そんなケチな事は考えてないだろう
大量の文字データや会話を分析して、ものすごい自然な思考をするテーブルゲームを作ったり
いやまたはAIがマスターしてくれて風景なんか自動生成してくれる没入型コンピューターTRPG作ったりするのかもしれん
→何だコンピューターTRPGって用語。祖先のRPGからゴテゴテ修飾語ついて変な用語になってるな。まあ気にすんな!

いやそういうの作ってくれたら買うわ。今までのイーロンの不信感は撤回する。ごめんなイーロン

っていうことになるのかな・・・?

本当に続けるんだろうか

ただ、やや不安なのはイーロンは本当にゲームを作り続けるモチベーションがあるんだろうかってとこ
というのもイーロンが手を出した事業、
  • Paypal(電子決済)
  • テスラ(電気自動車)
  • ソーラーシティ
  • 真空チューブ交通
  • ロボット
みたいに、SFアニメに出てくるような見栄えのする事業に次から次へと手を出しては派手に新製品作るんだけど
https://ja.wikipedia.org/wiki/%E3%82%A4%E3%83%BC%E3%83%AD%E3%83%B3%E3%83%BB%E3%83%9E%E3%82%B9%E3%82%AF
ある程度儲けたらそんな興味なくなるみたいで、Paypalなんか新しい機能全然作ってないし
twitter改めXなんか変な改悪しかしてないしで、

実際のところ、一番やりたいのはSpaceXで火星に行くこと
その他の事業はそのための資金集めにすぎないんじゃないかって疑いがあるんだが・・・

だってあいつSpaceXだけは上場してないし、ずっと火星行く火星行くって言いまくってるし
ゲーム事業も今儲かりそうという嗅覚だけで参戦したのでは?

実は俺のディアブロ作りたいだけ説

あ、でも冒頭の記事内で
ちなみにイーロン氏はゲーム好きとしても知られており、先日人気ポッドキャスト番組「Joe Rogan Experience」に出演した際には、『ディアブロ4』の高難易度コンテンツ「名匠の奈落」にて、タイムアタックの世界ランキングトップ20位以内に入っていると明かすなど、やり込みゲーマーの一面ものぞかせていた
なんて書いてんな

実はディアブロが好きすぎて、俺のディアブロを作ってみたくなっただけなんじゃないか
なら、ずっと俺のWizardry作りたいって言ってる俺と同類じゃん・・・
いやそういうの作ってくれたら買うわ。今までのイーロンの不信感は撤回する。ごめんなイーロン(2回目)
]]><![CDATA[ ]]>
ゲーム LoyalTouch blog:https://blog.seesaa.jp,nmksb/505846654
http://nmksb.seesaa.net/article/505748016.html 地元じゃ無名なモンゴル版パトラッシュ?『スーホの白い馬の真実』 Fri, 22 Nov 2024 06:41:28 +0900 『スーホの白い馬』、国語の教科書に載ってるくらいなで、日本全国ほとんどの人が知ってますねだから大喜利で使えるんだなhttps://bokete.jp/boke/37194763スーホがまだチャンアカなのにそんなオイニーするの衝撃の展開に悲しくも余韻を残す結末、馬頭琴の由来が知れて勉強になるなどなど、結構盛り沢山な内容なんだけど、地元モンゴルの人に聞くと何それ・・・知らん・・・となるらしい。え、マジでじゃあそんな話がなぜ教科書に載るほど有名になったのか、元はどんな話だったのか、.. <![CDATA[ 『スーホの白い馬』、国語の教科書に載ってるくらいなで、日本全国ほとんどの人が知ってますねだから大喜利で使えるんだな スクリーンショット 2024-11-22 063119.png https://bokete.jp/boke/37194763 スーホがまだチャンアカなのにそんなオイニーするの 衝撃の展開に悲しくも余韻を残す結末、馬頭琴の由来が知れて勉強になるなどなど、結構盛り沢山な内容なんだけど、地元モンゴルの人に聞くと 何それ・・・知らん・・・ となるらしい。え、マジで じゃあそんな話がなぜ教科書に載るほど有名になったのか、元はどんな話だったのか、そういうのを知れるのがこの本 「スーホの白い馬」の真実―モンゴル・中国・日本それぞれの姿 - ミンガド ボラグ「スーホの白い馬」の真実―モンゴル・中国・日本それぞれの姿 - ミンガド ボラグ 本場モンゴルの人が書いてるんでモンゴル人の感じる違和感なんかがかなりリアルに述べられてて面白かった!1章1章ごとにえ、マジでって事実が判明する驚きの書籍 追記でネタバレ感想書くよ!    モンゴル版フランダースの犬 現地では全然知られてなくて日本でだけ異様に有名と言うと、フランダースの犬がよく知られてるんだけど本場ベルギーの人から見たら、風景がオランダに見えるとか、雪積もりすぎとか、原作では15歳の立派な準大人のわりに生活力なさすぎとか、とにかく散々な評判らしい https://note.com/chkwmt/n/n6fb52f7577b0 この構図はスーホの白い馬も同じ本場モンゴルの人から見るとどうも違和感がすごいとのこと具体的に言うと夜暗くなるまで羊は放牧しない。夜中になると羊動かなくなるじゃん白馬が羊を守って狼と戦ってるみたいだけど、その前に番犬が戦うじゃん競馬大会の騎手ってちっちゃい子供しかやらないけど、殿様の婿にするには若すぎ競馬大会を春やってるっぽいけど春は去勢の時期で忙しいだろそもそもモンゴル人は追いつかないからって馬を弓で撃ったりしない。馬は大事だし人の乗ってない馬は人の乗ってる馬より遅いへーいや、そうなのかもしれないけど、日本人からしたらここら辺の話全然わからんよ ちなみにモンゴル人に自然な展開を聞くとどうなるかって言うと、馬を走らせすぎで窒息死させたんじゃない? って感想が出てくるらしい全然実感湧かんわ日本人からしたら。何だそれ走らせすぎると窒息死するっての そういや結構昔書いた書評で、人間は長距離走行に向いてるって話を書いた気がするhttp://nmksb.seesaa.net/article/449198757.html気がするんだけど、これも二足歩行から派生した利点っぽいらしく、馬みたいに四足歩行の動物だと呼吸と走るリズムがシンクロしてしまうために長距離走ると呼吸ができなくなるそうなこんな所に話が繋がるのか・・・ この手の違和感、日本人からするとアサシンクリードとかで畳が正方形とか神社で線香炊くとかそのレベルの話をしてるんだと思われる https://dic.pixiv.net/a/%E3%82%A2%E3%82%B5%E3%82%B7%E3%83%B3%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%89%E3%82%B7%E3%83%A3%E3%83%89%E3%82%A6%E3%82%BA%E7%82%8E%E4%B8%8A%E9%A8%92%E5%8B%95 いやあ、まあでもこれ作者日本人だし、想像でモンゴルの風景を描いたらそりゃ色々失敗するよねって思ってたんだけど、これ日本人が0ベースで作った話じゃなくて中国人が書いた話らしい え、何でこうなったの あまりにも異文化、モンゴルの馬頭琴の話、中国の馬頭琴の話 この話、元ネタがあって、1950年代に中国で出版された複数の書物に記載された馬頭琴っていうお話らしいなんでこの話を絵本にしたかって話なんだけど、絵を担当した赤羽末吉さんが昔満州に住んでいて、この風景を題材に描きたかったからなんだそうな。なるほどわからんでもない んで、その馬頭琴、当然中国人が書いた話だからモンゴル人が読んでも違和感ない話になるだろうと思うじゃん?原作の時点でかなりモンゴル人から見て変らしいいかに長年隣国として接してきた中国とモンゴルでも、相互理解は難しかったのか・・・ じゃあ本場モンゴル人が違和感ない物語はどうなんだって話になる馬頭琴自体はモンゴルにあるものだし、これの由来を語る物語はどんなもんか一番有名な話フフーナムジルはこんな感じらしい・・・ その昔、カッコウの鳴く声のような美声を持った青年ナムジルがいた。モンゴル語でカッコウのことはフフーと言うのでその名もフフーナムジル。彼は兵役のために遠くに旅に出て、その先で天女に出会い、数年を天女と過ごすしばらく過ごした後、故郷のことが恋しくなり、天女が止めるのを振り切り故郷へ帰る んー。なんだか浦島太郎に近いね。実は一番原作に近い浦島太郎も美男子で、乙姫様が亀に化けて龍宮城に連れていったって話らしいしいいよ、ここら辺は日本人にも理解できるストーリーラインだ。続きを見よう 天女はナムジルに羽根の生えた馬ジョノン・ハルを贈る。この馬のおかげで、ナムジルは故郷にいる時も毎晩天女に会うことができて、幸せに暮しましたとさ という話で何だか浦島太郎よりハッピーエンドになっててよかった。乙姫も玉手箱みたいなのじゃなく高速移動する亀贈ってあげればよかったのに。というところだけど、ここから話が急転直下を迎える しかし故郷にはナムジルに恋心を抱く女性がいました。彼女はジョノン・ハルの秘密を知ると、嫉妬のあまり翼をもいで殺します はい??? いきなりヤベェ女現れたんですが、モンゴル的にはこれでしっくり来るんですか?こういう役回り日本の昔話だと隣の爺さん婆さんがいい思いをしたから妬ましくなった婆さんくらいにしか割り当てられないんですが 馬を失い天女にも会えなくなったナムジルは悲嘆に暮れましたが、ある時馬の革と尻尾の毛でギターを作り、上に馬の頭の彫刻をつけて弾きました。これが馬頭琴の始まりです おー、最後ちゃんとスーホの白い馬のオチになった。とはいえ、悪役が強欲な殿様じゃなくヤベェ女になってしまったことで読後感が全然違うんですが・・・というわけで、素のままの馬頭琴の物語だと全然日本の子供向けの話になじまないことがわかりましたそりゃ色々アレンジするわな。中国人が書いたバージョンだとここら辺マイルドになってるんだろうか というわけで中国版馬頭琴の話も本書に紹介されてる。本書の冒頭あたりに、中国語版馬頭琴とスーホの白い馬を比較対照してる表があって、12個程度の相違点が上げられている、一番気になるのが11番、馬頭琴が出来上がった後なんだけど日本版スーホ : それをひくたびに、スーホは、白馬をころされたくやしさや、白馬にのって草原をかけ回った楽しさを思い出しました中国版馬頭琴 : 馬頭琴を弾く度に、スーホの中に殿様への憎しみがよみがえるおいここも不穏だぞ。どうも中国版は共産党の思想を強調するあまり殿様みたいなブルジョワジーへの反骨精神を強調する物語になってしまっているそうな。そもそもスーホという名前もモンゴル語ではスフ、これは共産党のシンボルの斧を指す言葉で、これが中国語で蘇和って書いたのを中国語読みしたものなんだそうな いかん、どの国の倫理観持ってきても教科書には載せられないこれは大胆な日本アレンジしてもしかたない気がする まあでも悪くはないよって結び ただ散々アレンジしたのは日本の都合なんで、モンゴル人である本書の著者からしたら面白くない話なのかなって思ったら、そこまで悪印象はないらしい。最後に締めの話が書いてあった 知られてない馬頭琴伝説について書く以上色々否定的な論調で書いたけどスーホの白い馬自体や中国語版馬頭琴の功績を否定するつもりはないし、満州国時代の日本とモンゴルの繋りを書き残す資料でもあるからきちんとしたことを知ってほしいだけだって言ってたいやバランス取れてていい結びですね 俺の書評もこうありたいもんですよ散々茶化して書評書いてばっかだけど、読んだ本はいずれもよいものですよね(全然説得力のない結び。これが力量の差) ]]> <![CDATA[
『スーホの白い馬』、国語の教科書に載ってるくらいなで、日本全国ほとんどの人が知ってますね
だから大喜利で使えるんだな

スクリーンショット 2024-11-22 063119.png

https://bokete.jp/boke/37194763

スーホがまだチャンアカなのにそんなオイニーするの

衝撃の展開に悲しくも余韻を残す結末、馬頭琴の由来が知れて勉強になる
などなど、結構盛り沢山な内容なんだけど、地元モンゴルの人に聞くと

何それ・・・知らん・・・

となるらしい。え、マジで

じゃあそんな話がなぜ教科書に載るほど有名になったのか、
元はどんな話だったのか、そういうのを知れるのがこの本

「スーホの白い馬」の真実―モンゴル・中国・日本それぞれの姿 - ミンガド ボラグ
「スーホの白い馬」の真実―モンゴル・中国・日本それぞれの姿 - ミンガド ボラグ

本場モンゴルの人が書いてるんでモンゴル人の感じる違和感なんかがかなりリアルに述べられてて面白かった!
1章1章ごとにえ、マジでって事実が判明する驚きの書籍

追記でネタバレ感想書くよ!
  
  
モンゴル版フランダースの犬

現地では全然知られてなくて日本でだけ異様に有名と言うと、フランダースの犬がよく知られてるんだけど
本場ベルギーの人から見たら、風景がオランダに見えるとか、雪積もりすぎとか、
原作では15歳の立派な準大人のわりに生活力なさすぎとか、
とにかく散々な評判らしい

https://note.com/chkwmt/n/n6fb52f7577b0

この構図はスーホの白い馬も同じ
本場モンゴルの人から見るとどうも違和感がすごいとのこと
具体的に言うと
  • 夜暗くなるまで羊は放牧しない。夜中になると羊動かなくなるじゃん
  • 白馬が羊を守って狼と戦ってるみたいだけど、その前に番犬が戦うじゃん
  • 競馬大会の騎手ってちっちゃい子供しかやらないけど、殿様の婿にするには若すぎ
  • 競馬大会を春やってるっぽいけど春は去勢の時期で忙しいだろ
  • そもそもモンゴル人は追いつかないからって馬を弓で撃ったりしない。馬は大事だし人の乗ってない馬は人の乗ってる馬より遅い
へー
いや、そうなのかもしれないけど、日本人からしたらここら辺の話全然わからん

ちなみにモンゴル人に自然な展開を聞くとどうなるかって言うと、
馬を走らせすぎで窒息死させたんじゃない? って感想が出てくるらしい
全然実感湧かんわ日本人からしたら。何だそれ走らせすぎると窒息死するっての

そういや結構昔書いた書評で、人間は長距離走行に向いてるって話を書いた気がする
気がするんだけど、これも二足歩行から派生した利点っぽいらしく、
馬みたいに四足歩行の動物だと呼吸と走るリズムがシンクロしてしまうために長距離走ると呼吸ができなくなるそうな
こんな所に話が繋がるのか・・・

この手の違和感、日本人からすると
アサシンクリードとかで畳が正方形とか神社で線香炊くとかそのレベルの話をしてるんだと思われる

https://dic.pixiv.net/a/%E3%82%A2%E3%82%B5%E3%82%B7%E3%83%B3%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%89%E3%82%B7%E3%83%A3%E3%83%89%E3%82%A6%E3%82%BA%E7%82%8E%E4%B8%8A%E9%A8%92%E5%8B%95

いやあ、まあでもこれ作者日本人だし、
想像でモンゴルの風景を描いたらそりゃ色々失敗するよね
って思ってたんだけど、これ日本人が0ベースで作った話じゃなくて
中国人が書いた話らしい

え、何でこうなったの

あまりにも異文化、モンゴルの馬頭琴の話、中国の馬頭琴の話

この話、元ネタがあって、1950年代に中国で出版された複数の書物に記載された馬頭琴っていうお話らしい
なんでこの話を絵本にしたかって話なんだけど、絵を担当した赤羽末吉さんが昔満州に住んでいて、
この風景を題材に描きたかったからなんだそうな。なるほどわからんでもない

んで、その馬頭琴、当然中国人が書いた話だからモンゴル人が読んでも違和感ない話になるだろうと思うじゃん?
原作の時点でかなりモンゴル人から見て変らしい
いかに長年隣国として接してきた中国とモンゴルでも、相互理解は難しかったのか・・・

じゃあ本場モンゴル人が違和感ない物語はどうなんだって話になる
馬頭琴自体はモンゴルにあるものだし、これの由来を語る物語はどんなもんか
一番有名な話フフーナムジルはこんな感じらしい・・・

その昔、カッコウの鳴く声のような美声を持った青年ナムジルがいた。モンゴル語でカッコウのことはフフーと言うのでその名もフフーナムジル。
彼は兵役のために遠くに旅に出て、その先で天女に出会い、数年を天女と過ごす
しばらく過ごした後、故郷のことが恋しくなり、天女が止めるのを振り切り故郷へ帰る

んー。なんだか浦島太郎に近いね。実は一番原作に近い浦島太郎も美男子で、乙姫様が亀に化けて龍宮城に連れていったって話らしいし
いいよ、ここら辺は日本人にも理解できるストーリーラインだ。続きを見よう

天女はナムジルに羽根の生えた馬ジョノン・ハルを贈る。この馬のおかげで、ナムジルは故郷にいる時も毎晩天女に会うことができて、幸せに暮しましたとさ

という話で何だか浦島太郎よりハッピーエンドになっててよかった。乙姫も玉手箱みたいなのじゃなく高速移動する亀贈ってあげればよかったのに。というところだけど、ここから話が急転直下を迎える

しかし故郷にはナムジルに恋心を抱く女性がいました。彼女はジョノン・ハルの秘密を知ると、嫉妬のあまり翼をもいで殺します

はい???

いきなりヤベェ女現れたんですが、モンゴル的にはこれでしっくり来るんですか?
こういう役回り日本の昔話だと隣の爺さん婆さんがいい思いをしたから妬ましくなった婆さんくらいにしか割り当てられないんですが

馬を失い天女にも会えなくなったナムジルは悲嘆に暮れましたが、ある時馬の革と尻尾の毛でギターを作り、上に馬の頭の彫刻をつけて弾きました。これが馬頭琴の始まりです

おー、最後ちゃんとスーホの白い馬のオチになった。とはいえ、悪役が強欲な殿様じゃなくヤベェ女になってしまったことで読後感が全然違うんですが・・・
というわけで、素のままの馬頭琴の物語だと全然日本の子供向けの話になじまないことがわかりました
そりゃ色々アレンジするわな。中国人が書いたバージョンだとここら辺マイルドになってるんだろうか

というわけで中国版馬頭琴の話も本書に紹介されてる。本書の冒頭あたりに、中国語版馬頭琴とスーホの白い馬を比較対照してる表があって、12個程度の相違点が上げられている、一番気になるのが11番、馬頭琴が出来上がった後なんだけど
  • 日本版スーホ : それをひくたびに、スーホは、白馬をころされたくやしさや、白馬にのって草原をかけ回った楽しさを思い出しました
  • 中国版馬頭琴 : 馬頭琴を弾く度に、スーホの中に殿様への憎しみがよみがえる
おいここも不穏だぞ。どうも中国版は共産党の思想を強調するあまり殿様みたいなブルジョワジーへの反骨精神を強調する物語になってしまっているそうな。そもそもスーホという名前もモンゴル語ではスフ、これは共産党のシンボルの斧を指す言葉で、これが中国語で蘇和って書いたのを中国語読みしたものなんだそうな

いかん、どの国の倫理観持ってきても教科書には載せられない
これは大胆な日本アレンジしてもしかたない気がする

まあでも悪くはないよって結び

ただ散々アレンジしたのは日本の都合なんで、モンゴル人である本書の著者からしたら面白くない話なのかなって思ったら、
そこまで悪印象はないらしい。最後に締めの話が書いてあった

知られてない馬頭琴伝説について書く以上色々否定的な論調で書いたけどスーホの白い馬自体や中国語版馬頭琴の功績を否定するつもりはないし、満州国時代の日本とモンゴルの繋りを書き残す資料でもあるからきちんとしたことを知ってほしいだけだって言ってた
いやバランス取れてていい結びですね

俺の書評もこうありたいもんですよ
散々茶化して書評書いてばっかだけど、読んだ本はいずれもよいものですよね(全然説得力のない結び。これが力量の差)
]]><![CDATA[ ]]>
読書 LoyalTouch blog:https://blog.seesaa.jp,nmksb/505748016
http://nmksb.seesaa.net/article/505664804.html 他所からWSLにログインしてWindowsをLinuxサーバーにしよう Fri, 15 Nov 2024 06:29:24 +0900 うちにLinuxマシン一つあるんだけど、こいつは録画サーバーとして使ってるんで何かあった時に落ちるととても悲しいできればもう一つLinuxマシン作って、Dockerで色々立ち上げたりして遊びたいわけなんですがそんな遊んでるマシンいっぱい転がってるわけないしなーと思っていたところでふと思いついたんですが、最近Windowsに入ってるWSL、こいつがかなり使えるって話題じゃないですかWSLの中に入ってるLinuxを外部からログインできるようにしたら色々捗るんじゃない?なお、今回参.. <![CDATA[ うちにLinuxマシン一つあるんだけど、こいつは録画サーバーとして使ってるんで何かあった時に落ちるととても悲しいできればもう一つLinuxマシン作って、Dockerで色々立ち上げたりして遊びたいわけなんですがそんな遊んでるマシンいっぱい転がってるわけないしなー と思っていたところでふと思いついたんですが、最近Windowsに入ってるWSL、こいつがかなり使えるって話題じゃないですかWSLの中に入ってるLinuxを外部からログインできるようにしたら色々捗るんじゃない? なお、今回参考にしたURLはこちらhttps://zenn.dev/fate_shelled/scraps/f6252654277ca0 まず基本的にどうしたらいいの WSLはWindowsの中のHyper-V、つまり仮想環境にLinuxを立ててる状態なんで、親マシンのWindowsのIPアドレス体系と別に仮想のIPアドレスがある感じなんで、親マシンで通信を受けたら子マシンに伝達する、ポートフォワードが必要それをやってあげるのがnetshコマンドだ 例えば親マシンが192.168.0.4ってIPアドレスで、子マシンのWSLが172.26.100.25だったとするこのWSLにSSHでアクセスしたい。ポートはデフォルトの22で。そういう場合 netsh interface portproxy add v4tov4 listenaddress=192.168.0.4 listenport=22 connectaddress=172.26.100.25 connectport=22 こういうコマンドを、管理者権限のPowerShellで実行するとよいですんで、これだと親マシンのポート22が使えなくなって、ちょっと困るかもしれないんー、WindowsでSSHなんてあんま使わないから実は困らないかもしれない。でも気持ち悪いかも そういう場合、ポート10022で待ち受けたければ netsh interface portproxy add v4tov4 listenaddress=192.168.0.4 listenport=10022 connectaddress=172.26.100.25 connectport=22 ってしてあげればOKこれが基本的な流れ。なあんだ、たった1行でいいんじゃんって思うじゃん? 接続先の子マシンのIPアドレス、マシン起動するたび毎回変わるんだなこれ何してくれるんじゃ 毎回取得しに行こうぜ それじゃしょうがない、WSL側のIPアドレスを毎度取得しようぜっていう工夫が本文の引用先のURLの話ですいやWSLのIPアドレス固定にできないの? って話だけど、できないらしい普通にHyper-V立てればいけるっぽいんだけど、それじゃ面倒臭えよな ということでWSL側で少し苦労しましょう。少しだけでいいんです まず接続したいWSLを規定にする。powershellで wsl -s Ubuntu-24.04 とか、そんなコマンド打つそんで、接続先のWSLでこういうシェルを書くわけだ ip address show eth0 | awk '/inet / {print $2}' | awk -F / '{print $1}' うわあ何じゃこりゃawk怖い! 魔術! てなるけど、まあ分解するとip address show eth0で 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000    link/ether 00:15:5d:83:9b:b5 brd ff:ff:ff:ff:ff:ff    inet 172.26.100.25/20 brd 172.26.111.255 scope global eth0        valid_lft forever preferred_lft forever    inet6 fe80::215:5dff:fe83:9bb5/64 scope link        valid_lft forever preferred_lft forever って感じでネットワーク情報をずらずら出してくるんで、そいつの文字列情報を切り貼りして青文字の部分だけを持ってくるのが | awk '/inet / {print $2}' | awk -F / '{print $1}' っていうawkなんだな これを適当な場所、例えば /usr/local/bin/getip.sh って場所に保存してPowerShellで bash /usr/local/bin/getip.sh って実行してやれば、WSL側のIPが得られる 親側も取得しようぜ 一方、親マシンもわりとdhcpでアドレス取っているんで、起動のたびにIP変わったりするそいつについてはPowerShellで結構簡単に取得できる。そのスクリプトはこれだ (Get-NetIPAddress | where{$_.InterfaceAlias -eq "イーサネット" -and $_.AddressFamily -eq "IPv4"}).IPAddress はいこれも黒魔術。何やってるか全然わからないっすね。分解していこうまずGet-NetIPAddressで得られるのは IPAddress : 192.168.1.18InterfaceIndex : 16InterfaceAlias : Wi-FiAddressFamily : IPv4Type : UnicastPrefixLength : 24PrefixOrigin : DhcpSuffixOrigin : DhcpAddressState : PreferredValidLifetime : 21:34:30PreferredLifetime : 21:34:30SkipAsSource : FalsePolicyStore : ActiveStore... こんな感じのリストだ。IP以外もいっぱい情報ついてくるのはWSL側と一緒なんだけど、PowerShellはLinuxのshellと違ってこの値をちゃんと連想配列で返してくれるだから、素直に絞りこみとかを使って情報取得できる。素敵! 絞り込みはInterfaceAliasおよびAddressFamilyで行うGet-NetIPAddressやってみればわかるけど、本番のIPアドレスの他にDocker用の仮想IPアドレスとかBluetoothアダプタとか、そういういらないものがずらずら取れるので$_.InterfaceAlias -eq "イーサネット"って条件をつけておかないと複数表示されちゃうまた、IPv6の値とかが取れることもあるので、$_.AddressFamily -eq "IPv4"こちらの条件も必須だ この2つを条件につけた命令が、さきほどのPowerShellというわけだな 一発アクセスPowerShellの完成 こうやってIPを自動取得して作ったPowerShellがこちら $WSL2_IPV4=bash /usr/local/bin/getip.sh$HOST_IPV4=(Get-NetIPAddress | where{$_.InterfaceAlias -eq "イーサネット" -and $_.AddressFamily -eq "IPv4"}).IPAddressnetsh interface portproxy delete v4tov4 listenport=10022 # 古い設定を削除netsh interface portproxy add v4tov4 listenaddress=$HOST_IPV4 listenport=10022 connectaddress=$WSL2_IPV4 connectport=22 紹介先URLでは、これをタスクスケジューラに組み込んで勝手に実行とかさせてたけど今んとこそこまでは不要かな ]]> <![CDATA[
うちにLinuxマシン一つあるんだけど、こいつは録画サーバーとして使ってるんで
何かあった時に落ちるととても悲しい
できればもう一つLinuxマシン作って、Dockerで色々立ち上げたりして遊びたいわけなんですが
そんな遊んでるマシンいっぱい転がってるわけないしなー

と思っていたところでふと思いついたんですが、
最近Windowsに入ってるWSL、こいつがかなり使えるって話題じゃないですか
WSLの中に入ってるLinuxを外部からログインできるようにしたら
色々捗るんじゃない?

なお、今回参考にしたURLはこちら
https://zenn.dev/fate_shelled/scraps/f6252654277ca0


まず基本的にどうしたらいいの

WSLはWindowsの中のHyper-V、つまり仮想環境にLinuxを立ててる状態なんで、
親マシンのWindowsのIPアドレス体系と別に仮想のIPアドレスがある感じ
なんで、親マシンで通信を受けたら子マシンに伝達する、ポートフォワードが必要
それをやってあげるのがnetshコマンド

例えば親マシンが192.168.0.4ってIPアドレスで、子マシンのWSLが172.26.100.25だったとする
このWSLにSSHでアクセスしたい。ポートはデフォルトの22で。そういう場合

netsh interface portproxy add v4tov4 listenaddress=192.168.0.4 listenport=22 connectaddress=172.26.100.25 connectport=22

こういうコマンドを、管理者権限のPowerShellで実行するとよいです
んで、これだと親マシンのポート22が使えなくなって、ちょっと困るかもしれない
んー、WindowsでSSHなんてあんま使わないから実は困らないかもしれない。でも気持ち悪いかも

そういう場合、ポート10022で待ち受けたければ

netsh interface portproxy add v4tov4 listenaddress=192.168.0.4 listenport=10022 connectaddress=172.26.100.25 connectport=22

ってしてあげればOK
これが基本的な流れ。なあんだ、たった1行でいいんじゃん
って思うじゃん?

接続先の子マシンのIPアドレス、マシン起動するたび毎回変わるんだなこれ
何してくれるんじゃ

毎回取得しに行こうぜ

それじゃしょうがない、WSL側のIPアドレスを毎度取得しようぜっていう工夫が本文の引用先のURLの話です
いやWSLのIPアドレス固定にできないの? って話だけど、できないらしい
普通にHyper-V立てればいけるっぽいんだけど、それじゃ面倒臭えよな

ということでWSL側で少し苦労しましょう。少しだけでいいんです

まず接続したいWSLを規定にする。powershellで

wsl -s Ubuntu-24.04

とか、そんなコマンド打つ
そんで、接続先のWSLでこういうシェルを書くわけだ

ip address show eth0 | awk '/inet / {print $2}' | awk -F / '{print $1}'

うわあ何じゃこりゃ
awk怖い! 魔術!

てなるけど、まあ分解すると
ip address show eth0

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:15:5d:83:9b:b5 brd ff:ff:ff:ff:ff:ff
    inet 172.26.100.25/20 brd 172.26.111.255 scope global eth0
        valid_lft forever preferred_lft forever
    inet6 fe80::215:5dff:fe83:9bb5/64 scope link
        valid_lft forever preferred_lft forever

って感じでネットワーク情報をずらずら出してくるんで、そいつの文字列情報を切り貼りして
青文字の部分だけを持ってくるのが | awk '/inet / {print $2}' | awk -F / '{print $1}' っていうawkなんだな

これを適当な場所、例えば /usr/local/bin/getip.sh って場所に保存して
PowerShellで

bash /usr/local/bin/getip.sh

って実行してやれば、WSL側のIPが得られる

親側も取得しようぜ

一方、親マシンもわりとdhcpでアドレス取っているんで、起動のたびにIP変わったりする
そいつについてはPowerShellで結構簡単に取得できる。そのスクリプトはこれだ

(Get-NetIPAddress | where{$_.InterfaceAlias -eq "イーサネット" -and $_.AddressFamily -eq "IPv4"}).IPAddress

はいこれも黒魔術。何やってるか全然わからないっすね。分解していこう
まずGet-NetIPAddressで得られるのは

IPAddress : 192.168.1.18
InterfaceIndex : 16
InterfaceAlias : Wi-Fi
AddressFamily : IPv4
Type : Unicast
PrefixLength : 24
PrefixOrigin : Dhcp
SuffixOrigin : Dhcp
AddressState : Preferred
ValidLifetime : 21:34:30
PreferredLifetime : 21:34:30
SkipAsSource : False
PolicyStore : ActiveStore
...

こんな感じのリストだ。IP以外もいっぱい情報ついてくるのはWSL側と一緒なんだけど、
PowerShellはLinuxのshellと違ってこの値をちゃんと連想配列で返してくれる
だから、素直に絞りこみとかを使って情報取得できる。素敵!

絞り込みはInterfaceAliasおよびAddressFamilyで行う
Get-NetIPAddressやってみればわかるけど、本番のIPアドレスの他にDocker用の仮想IPアドレスとか
Bluetoothアダプタとか、そういういらないものがずらずら取れるので
$_.InterfaceAlias -eq "イーサネット"
って条件をつけておかないと複数表示されちゃう
また、IPv6の値とかが取れることもあるので、
$_.AddressFamily -eq "IPv4"
こちらの条件も必須だ

この2つを条件につけた命令が、さきほどのPowerShellというわけだな

一発アクセスPowerShellの完成

こうやってIPを自動取得して作ったPowerShellがこちら

$WSL2_IPV4=bash /usr/local/bin/getip.sh
$HOST_IPV4=(Get-NetIPAddress | where{$_.InterfaceAlias -eq "イーサネット" -and $_.AddressFamily -eq "IPv4"}).IPAddress
netsh interface portproxy delete v4tov4 listenport=10022 # 古い設定を削除
netsh interface portproxy add v4tov4 listenaddress=$HOST_IPV4 listenport=10022 connectaddress=$WSL2_IPV4 connectport=22

紹介先URLでは、これをタスクスケジューラに組み込んで勝手に実行とかさせてたけど
今んとこそこまでは不要かな
]]><![CDATA[ ]]>
インフラ LoyalTouch blog:https://blog.seesaa.jp,nmksb/505664804
http://nmksb.seesaa.net/article/505581187.html 振り向けば奴がいる・・・テレサロジックの実装 Fri, 08 Nov 2024 06:31:06 +0900 マリオのテレサのように、こちらを向いていない時だけ追いかけてくる敵を実装したい場合どうすればいいのか、今回はここをやっていきましょう後ろを向くと襲いかかってくる!ただ、見下ろし型アクションなので、マリオと違って上下左右、90度ごとの判定をしなきゃいけないよ <![CDATA[ マリオのテレサのように、こちらを向いていない時だけ追いかけてくる敵を実装したい場合どうすればいいのか、今回はここをやっていきましょう game11.gif 後ろを向くと襲いかかってくる! ただ、見下ろし型アクションなので、マリオと違って上下左右、90度ごとの判定をしなきゃいけないよ プレイヤーに近づくコード 無条件にプレイヤーに近づくのは、こんな風に書けばいい velocity = (player.position - position).normalized() * speedmove_and_slide() 1行目はプレイヤーと敵の座標の差分を計算normalized()で大きさを1に合わせるspeedを掛け算して任意のスピードにするってことをやっていて、2行目は1行目で計算した移動量に合わせて、当たり判定も含めていい感じに移動させてくれる魔法の関数だ これでプレイヤーに近づいてくれる こっちを向いたら止まって ではプレイヤーが自分の方向を向いているというのはどう表現するのかangle_to を使います var target_length = player.position - positionvar angle_diff = rad_to_deg(player.direction.angle_to(target_length)) player.directionは、今プレイヤーが向いている向き。値としては右(1, 0)左(-1, 0)上(0, -1)下(0, 1)の4つを取るこのベクトルとプレイヤーと敵の差のベクトルの角度を取るのが、angle_toだ取る値はラジアンで、このままではすごく使いづらいのでrad_to_degで360度に変換する で、これが±135度以内だったら、追いかけてくるようにするとよいつまりこうだね if abs(angle_diff) < 135:  velocity = target_length.normalized() * Speedelse:  velocity = Vector2.ZEROmove_and_slide() これで45度以上だと追いかけてくる! ]]> <![CDATA[
マリオのテレサのように、こちらを向いていない時だけ追いかけてくる敵を実装したい場合
どうすればいいのか、今回はここをやっていきましょう

game11.gif

後ろを向くと襲いかかってくる!

ただ、見下ろし型アクションなので、マリオと違って上下左右、90度ごとの判定をしなきゃいけないよ


プレイヤーに近づくコード

無条件にプレイヤーに近づくのは、こんな風に書けばいい

velocity = (player.position - position).normalized() * speed
move_and_slide()

1行目は
  • プレイヤーと敵の座標の差分を計算
  • normalized()で大きさを1に合わせる
  • speedを掛け算して任意のスピードにする
ってことをやっていて、2行目は1行目で計算した移動量に合わせて、
当たり判定も含めていい感じに移動させてくれる魔法の関数

これでプレイヤーに近づいてくれる

こっちを向いたら止まって

ではプレイヤーが自分の方向を向いているというのはどう表現するのか
angle_to を使います

var target_length = player.position - position
var angle_diff = rad_to_deg(player.direction.angle_to(target_length))

player.directionは、今プレイヤーが向いている向き。値としては
  • 右(1, 0)
  • 左(-1, 0)
  • 上(0, -1)
  • 下(0, 1)
の4つを取る
このベクトルとプレイヤーと敵の差のベクトルの角度を取るのが、angle_toだ
取る値はラジアンで、このままではすごく使いづらいのでrad_to_degで360度に変換する

で、これが±135度以内だったら、追いかけてくるようにするとよい
つまりこうだね

if abs(angle_diff) < 135:
  velocity = target_length.normalized() * Speed
else:
  velocity = Vector2.ZERO
move_and_slide()

これで45度以上だと追いかけてくる!
]]><![CDATA[ ]]>
ゲーム LoyalTouch blog:https://blog.seesaa.jp,nmksb/505581187
http://nmksb.seesaa.net/article/505480781.html 弾を跳ね返す Fri, 01 Nov 2024 06:22:01 +0900 Godotでパズル性のあるアクションゲームを作ってます倒すのに少し工夫が必要な敵なんかを作っていて、遠くから狙うと倒せるけど、近くで弾を射つとガードして弾を跳ね返す敵なんて面白いもんを作ろうとしてますどうやって実現しようね <![CDATA[ Godotでパズル性のあるアクションゲームを作ってます倒すのに少し工夫が必要な敵なんかを作っていて、遠くから狙うと倒せるけど、近くで弾を射つとガードして弾を跳ね返す敵なんて面白いもんを作ろうとしてます どうやって実現しようね 単純に弾を跳ね返してみよう まず単純に跳ね返すだけなら簡単だ。弾はvelocityって言って移動量のベクトルを持ってるんだから、何かしら関数を用意して bullet.velocity *= -1 とかしてやれば真逆の方向に行くgame7.gif でも、単純にこれじゃ面白くないわな 斜めに打った弾を90度跳ね返す これをできるようにするとかなりパズルチックになると思うんですよ game8.gif これはどう実現するか。横から当たったらX軸だけ反転、縦から当たったらY軸だけ反転すればいいと思われる。ベクトル演算で言えば 横から当たった場合 : bullet.verocity *= Vector2(-1, 1)縦から当たった場合 : bullet.verocity *= Vector2(1, -1) でオッケー縦から当たったか横から当たったかって知りたい場合はどうするのか。これは、弾と当たった対象の座標の差を調べればOK、つまりベクトルの差を取るんだな var counter_position = bullet.position - position これが、x軸の絶対値の方が大きければ、横に当たってて、y軸の絶対値の方が大きければ縦に当たってるってわかるつまり var counter_vectorif abs(counter_position.x) > abs(counter_position.y):  counter_vector = Vector2(-1, 1)else:  counter_vector = Vector2(1, -1)bullet.verocity *= counter_vector こうやればOK正味if文の部分はもっと計算式にすればかっこいいんだろうけど、俺にわかりやすいコードはここまでなんでこれで勘弁な これでどんなパズルができるのかな んじゃナナメに弾が跳ね返って何が楽しいのよって話だけどこういう挙動でないと解決できないパズル、いくつか作れるよね例えばこんな風に、近くで破壊しようとすると爆風に巻きこまれて死んでしまうパズル近づかないと弾が打てないかと思いきや・・・game9.gif こんな感じで跳ね返せば遠くから打てる! とか game10.gif 色々応用が効くと思うんだなー ]]> <![CDATA[
Godotでパズル性のあるアクションゲームを作ってます
倒すのに少し工夫が必要な敵なんかを作っていて、
遠くから狙うと倒せるけど、近くで弾を射つとガードして弾を跳ね返す敵なんて
面白いもんを作ろうとしてます

どうやって実現しようね


単純に弾を跳ね返してみよう

まず単純に跳ね返すだけなら簡単だ。
弾はvelocityって言って移動量のベクトルを持ってるんだから、
何かしら関数を用意して

bullet.velocity *= -1

とかしてやれば真逆の方向に行く
game7.gif

でも、単純にこれじゃ面白くないわな

斜めに打った弾を90度跳ね返す

これをできるようにするとかなりパズルチックになると思うんですよ

game8.gif

これはどう実現するか。横から当たったらX軸だけ反転、縦から当たったらY軸だけ反転すればいいと思われる。
ベクトル演算で言えば

  • 横から当たった場合 : bullet.verocity *= Vector2(-1, 1)
  • 縦から当たった場合 : bullet.verocity *= Vector2(1, -1)

でオッケー
縦から当たったか横から当たったかって知りたい場合はどうするのか。
これは、弾と当たった対象の座標の差を調べればOK、つまりベクトルの差を取るんだな

var counter_position = bullet.position - position

これが、x軸の絶対値の方が大きければ、横に当たってて、y軸の絶対値の方が大きければ縦に当たってるってわかる
つまり

var counter_vector
if abs(counter_position.x) > abs(counter_position.y):
  counter_vector = Vector2(-1, 1)
else:
  counter_vector = Vector2(1, -1)
bullet.verocity *= counter_vector

こうやればOK
正味if文の部分はもっと計算式にすればかっこいいんだろうけど、俺にわかりやすいコードはここまでなんでこれで勘弁

これでどんなパズルができるのかな

んじゃナナメに弾が跳ね返って何が楽しいのよって話だけど
こういう挙動でないと解決できないパズル、いくつか作れるよね
例えばこんな風に、近くで破壊しようとすると爆風に巻きこまれて死んでしまうパズル
近づかないと弾が打てないかと思いきや・・・
game9.gif

こんな感じで跳ね返せば遠くから打てる! とか

game10.gif

色々応用が効くと思うんだなー
]]><![CDATA[ ]]>
ゲーム LoyalTouch blog:https://blog.seesaa.jp,nmksb/505480781
http://nmksb.seesaa.net/article/505370069.html スマホ版Wizardry ダフネ が出た Fri, 25 Oct 2024 06:23:43 +0900 2024/10/15ローンチの新作スマホアプリWizardry Variants Daphneだそうです!https://wizardry.info/daphne/PS5とかsteamで狂王の試練場#1のリメイクが出てたりしてここんとこWizardryのリメイクがブームだねぃスマホだけに基本無料プレイ、俺も期待してプレイしてみたぜ今のところの感想は好きだけどこれはWizardryなのか? <![CDATA[ 2024/10/15ローンチの新作スマホアプリWizardry Variants Daphneだそうです! https://wizardry.info/daphne/ PS5とかsteamで狂王の試練場#1のリメイクが出てたりしてここんとこWizardryのリメイクがブームだねぃ スマホだけに基本無料プレイ、俺も期待してプレイしてみたぜ今のところの感想は好きだけどこれはWizardryなのか? キャラメイクができないぞ? まず最初にキャラ作成する時なんだけど、いつものように種族性格を決めボーナスをもらって特性値に追加していくパターンじゃなく最初に何個か質問に答えて、それに従ってパラメーターが決まっていくタイプだったこれ、古くはウルティマの職業選び、近くはドラクエ3の性格選びだなRPGによくあるタイプなんだけど、Wizardryでこれを採用するとはー その後もキャラメイクのタイミングは特になく、仲間と言えば迷宮に転がってたり骨集め男から買う骨を復活させて仲間にするという方法しかないただ、仲間にしたばかりのキャラは10未満のボーナスポイントを割り振ることができて、種族や性格は決められないものの、ここはWizardryの片鱗を見せてくれてた 職業が自由に選べないっていうのはなかなか厳しくて、例えば今の俺のパーティーだと魔法使いが一人もいないんだよな主人公戦士戦士僧侶盗賊盗賊みたいなパーティー、ちなみに主人公の職業も選べない。いやまあ、仲間の職業選択ミスしたら主人公の力で何とかしなきゃいけないからな。ドラクエ3で勇者がかならずいるようなもんで、救済措置の一種かなこれんー、カティノとか使えなくて大丈夫なんだろうかこのパーティー Wizらしさとは こいつをWizardryと呼ぶ意味は・・・と思ったんだけど、よくよく考えたらWizardryって別にキャラメイクして職業選んで転職するゲームってわけでもないか。つーのも、ファンの間で賛否両論のWizardry #4 ワードナの逆襲の存在があるからだ。 こいつは全然Wizardry然としてない主人公はワードナ、キャラメイクどころか味方はモンスターを召喚する、レベルアップの概念がないなど今までのシステム全無視のゲームなんだけど、俺としてはちゃんとWizardryだと思ってる なんでかって言うと世界観を共有してるからだ。何たってワードナが主人公だし、敵はかつて自分達が使ってたパーティーメンバーだし だからシステム的には今回のダフネ、ワードナの逆襲にやや#1~#3を混ぜたようなもので、どっちかって言うとスタンダードなWizardryに近づいてはいるんだよねでもここまで世界観が違って、しかもシステムも異なるとなると、これはWizardryでいいのか・・・ 俺はこのシステムでWizardryの名を冠するなら、フラックの逆襲主人公はマーフィーズゴーストを3体率いるフラックさんです迷宮内に散在するフードをかぶった人間型の彫像をみつけ、お香を炊いてあげてください金色の光を発しながらいろんなナニガスズゴーストがあらわれますこいつらを次々に召喚しながら地上を目指してください そう、これならWizardryっぽい気がするんだけどどうすかね! まあでも楽しいよ とはいえ、スマホで基本プレイ無料にするんならパーティーメンバーは召喚でガチャで・・・ってしないと収益出ないからスマホ版にするんならこのやり方で正しいと思うよ 何よりまた3D迷宮を楽しめるんで、Wizardryの名前はいったん忘れて、ハードな迷宮探索を楽しもう首を撥ねられた! 石の中にいる! ]]> <![CDATA[
2024/10/15ローンチの新作スマホアプリ
Wizardry Variants Daphneだそうです!

https://wizardry.info/daphne/

PS5とかsteamで狂王の試練場#1のリメイクが出てたりして
ここんとこWizardryのリメイクがブームだねぃ

スマホだけに基本無料プレイ、俺も期待してプレイしてみたぜ
今のところの感想は好きだけどこれはWizardryなのか?


キャラメイクができないぞ?

まず最初にキャラ作成する時なんだけど、いつものように種族性格を決めボーナスをもらって特性値に追加していくパターンじゃなく
最初に何個か質問に答えて、それに従ってパラメーターが決まっていくタイプだった
これ、古くはウルティマの職業選び、近くはドラクエ3の性格選びだな
RPGによくあるタイプなんだけど、Wizardryでこれを採用するとはー

その後もキャラメイクのタイミングは特になく、
仲間と言えば迷宮に転がってたり骨集め男から買う骨を復活させて仲間にするという方法しかない
ただ、仲間にしたばかりのキャラは10未満のボーナスポイントを割り振ることができて、
種族や性格は決められないものの、ここはWizardryの片鱗を見せてくれてた

職業が自由に選べないっていうのはなかなか厳しくて、例えば今の俺のパーティーだと
魔法使いが一人もいないんだよな
  • 主人公
  • 戦士
  • 戦士
  • 僧侶
  • 盗賊
  • 盗賊
みたいなパーティー、ちなみに主人公の職業も選べない。いやまあ、仲間の職業選択ミスしたら
主人公の力で何とかしなきゃいけないからな。ドラクエ3で勇者がかならずいるようなもんで、救済措置の一種かなこれ
んー、カティノとか使えなくて大丈夫なんだろうかこのパーティー

Wizらしさとは

こいつをWizardryと呼ぶ意味は・・・と思ったんだけど、よくよく考えたらWizardryって別にキャラメイクして職業選んで転職するゲームってわけでもないか。つーのも、ファンの間で賛否両論のWizardry #4 ワードナの逆襲の存在があるからだ。

こいつは全然Wizardry然としてない
主人公はワードナ、キャラメイクどころか味方はモンスターを召喚する、レベルアップの概念がないなど
今までのシステム全無視のゲームなんだけど、俺としてはちゃんとWizardryだと思ってる

なんでかって言うと世界観を共有してるからだ。何たってワードナが主人公だし、
敵はかつて自分達が使ってたパーティーメンバーだし

だからシステム的には今回のダフネ、ワードナの逆襲にやや#1~#3を混ぜたようなもので、
どっちかって言うとスタンダードなWizardryに近づいてはいるんだよね
でもここまで世界観が違って、しかもシステムも異なるとなると、これはWizardryでいいのか・・・

俺はこのシステムでWizardryの名を冠するなら、
フラックの逆襲
主人公はマーフィーズゴーストを3体率いるフラックさんです
迷宮内に散在するフードをかぶった人間型の彫像をみつけ、お香を炊いてあげてください
金色の光を発しながらいろんなナニガスズゴーストがあらわれます
こいつらを次々に召喚しながら地上を目指してください

そう、これならWizardryっぽい気がするんだけどどうすかね!

まあでも楽しいよ

とはいえ、スマホで基本プレイ無料にするんなら
パーティーメンバーは召喚でガチャで・・・ってしないと収益出ないから
スマホ版にするんならこのやり方で正しいと思うよ

何よりまた3D迷宮を楽しめるんで、Wizardryの名前はいったん忘れて、ハードな迷宮探索を楽しもう
首を撥ねられた! 石の中にいる!
]]><![CDATA[ ]]>
ゲーム LoyalTouch blog:https://blog.seesaa.jp,nmksb/505370069
http://nmksb.seesaa.net/article/505257791.html Inkscapeがバージョンアップしたよ! Fri, 18 Oct 2024 06:33:18 +0900 無償の高機能ドローソフト「Inkscape 1.4」が公開 ~カスタマイズ性を拡充 - 窓の杜 (impress.co.jp)だそうな!今回のバージョンアップ、主に文字関連のバージョンアップらしく、ゲームでロゴ作成に活用してた俺にとっては気になる改善 <![CDATA[ 無償の高機能ドローソフト「Inkscape 1.4」が公開 ~カスタマイズ性を拡充 - 窓の杜 (impress.co.jp)だそうな!今回のバージョンアップ、主に文字関連のバージョンアップらしく、ゲームでロゴ作成に活用してた俺にとっては気になる改善 統合フォントブラウザーが便利 まず目につく修正としてはこちら。フォントの変更がその場で確認できるようになっている スクリーンショット 2024-10-19 220336.png 前は右下のウィンドウでちまちま確認してから反映しなきゃいけなかったのが 文字表示したい場所その場ですぐ反映されるようになったって奴ー! スクリーンショット 2024-10-19 221238.png特に文字幅がどうなってるのか、今まで全然わからなかったんで、これ便利だよね! まあ、冒頭の紹介記事によると ただし、まだ試験機能という扱いになっており、初期設定では無効になっている。利用の際は[編集]-[環境設定]ダイアログの[インターフェイス]-[ウィンドウ]ページでオプションを有効化し、「Inkscape」を再起動させる必要がある。 だそうなんで、まだ何かバグ残ってるらしいけど、まあ便利だしぃ その他気になる奴 文字関係では、SVGフォントエディタースクリーンショット 2024-10-19 223257.pngって機能がデカデカと乗ってて、これ何だろうってのがすげぇ気になるんだよね気になるは気になるんだけど、今のところ使いかたがわからず、調査中・・・これわかったら記事にするわー ]]> <![CDATA[
無償の高機能ドローソフト「Inkscape 1.4」が公開 ~カスタマイズ性を拡充 - 窓の杜 (impress.co.jp)
だそうな!
今回のバージョンアップ、主に文字関連のバージョンアップらしく、
ゲームでロゴ作成に活用してた俺にとっては気になる改善


統合フォントブラウザーが便利

まず目につく修正としてはこちら。
フォントの変更がその場で確認できるようになっている

スクリーンショット 2024-10-19 220336.png

前は右下のウィンドウでちまちま確認してから反映しなきゃいけなかったのが

文字表示したい場所その場ですぐ反映されるようになったって奴ー!

スクリーンショット 2024-10-19 221238.png
特に文字幅がどうなってるのか、今まで全然わからなかったんで、これ便利だよね!

まあ、冒頭の紹介記事によると

ただし、まだ試験機能という扱いになっており、初期設定では無効になっている。利用の際は[編集]-[環境設定]ダイアログの[インターフェイス]-[ウィンドウ]ページでオプションを有効化し、「Inkscape」を再起動させる必要がある。

だそうなんで、まだ何かバグ残ってるらしいけど、まあ便利だしぃ

その他気になる奴

文字関係では、SVGフォントエディター
スクリーンショット 2024-10-19 223257.png
って機能がデカデカと乗ってて、これ何だろうってのがすげぇ気になるんだよね
気になるは気になるんだけど、今のところ使いかたがわからず、調査中・・・
これわかったら記事にするわー
]]><![CDATA[ ]]>
ゲーム LoyalTouch blog:https://blog.seesaa.jp,nmksb/505257791
http://nmksb.seesaa.net/article/505143497.html スマホを換えたよ! HTC Desire 22 pro Fri, 11 Oct 2024 06:40:52 +0900 Galaxy S20が、充電できなくなったまあ正確に言うと、完全に充電できないんじゃなくてqiからの充電はできるもののUSBからの充電ができなくなったんです身近にqiの充電器がそんなあるわけでもないので、これはかなりの痛手なんとか数ヶ月は使ってたものの、ついに耐えきれなくなって買いました前回買ったのは3年前らしく、どうも3年で買い換えてる模様んー、3年が限界なのかな?http://nmksb.seesaa.net/article/481828446.htmlとにかく困ってたん.. <![CDATA[ Galaxy S20が、充電できなくなったまあ正確に言うと、完全に充電できないんじゃなくてqiからの充電はできるもののUSBからの充電ができなくなったんです 身近にqiの充電器がそんなあるわけでもないので、これはかなりの痛手なんとか数ヶ月は使ってたものの、ついに耐えきれなくなって買いました 前回買ったのは3年前らしく、どうも3年で買い換えてる模様んー、3年が限界なのかな? http://nmksb.seesaa.net/article/481828446.html とにかく困ってたんで、同じくqiが使えて安い、20000円弱の型落ち品を買ったんだけど結果、思ったより使えます 必要な装備は全部入り! 俺のスマホ選定で必要だったのはFelicaとQiなんだけど、こいつは両方とも入ってた何だったらQiはあきらめて、外付けのアダプター付けようかと思ってたんだけどけっこう普通に使えてよかったわー あと、諦めてたので入れられてよかったのはsimとmicrosdsimはesimかと思って色々手続大変だなー、って思ってたら普通にsimカード差す部分あって、ここに入れたらAPNの設定とか何もなしに普通に動いたんでこりゃすげえってなったあと、simカード2枚目とmicrosdが排他って書いてたの、勘違いしててmicrosd使うにはesimにしなきゃいけないのかと思ってたんだけどカードスロットの両面にsimカードとmicrosdをそれぞれ差したら普通に使えたわ まあmicrosdもsimカードも、スロットを使うということは壊れるってことだから本来はないにこしたことはないだけど俺、動画とか撮り貯めちゃってるもんなぁ・・・ ちなみに、sim+microsdカードスロットは押しピンで押して開けるタイプじゃなくて爪で開けられる細い穴があってそこから出せるタイプ工具要らずはいいね! お引越しが結構簡単になってた ちなみにいつもスマホを換える時にわちゃわちゃやらなきゃいけないお引っ越しこれが前回やった時より結構簡単になってる気がするぞ? 一番面倒かなーって思ってたのが電子マネー関連俺が使ってる電子マネーはこんだけあるんだけど、だいたいおサイフケータイアプリを起点としてそこから機種変更手続すればよかったwaon → 機種変更をお考えの方は_こちら_ → 登録情報の確認(氏名、生年月日、電話番号) → 機種変更パスワード発行 → センターに保管suica → 会員メニュー → カードを預ける → おサイフケータイアプリ → 受け取るnanaco → メニュー(3点アイコン) → カード設定 → 機種変更(nanacoの引き継ぎ) → 引継番号を発行する → 7idのパスワードid → dカードアプリ → おサイフケータイ設定 → d払い設定(dアカウントパスキー)edy → ハンバーガーメニュー → 機種変更の手続きやや面倒なのが各種銀行のワンタイムパスワードpaypay銀行なんかはトークンアプリを使うために24時間待たなきゃいけなくて、ああ、これやっとかないと詐欺とかに使われるんだなってわかってちょっと面白かった。いや面白がるなよ なお、simで電話番号をつながないと引きつぎできないものがあるかと思ってたんだけどそいつはdocomoのdアカウントパスキーくらいのものだった一度dアカウントパスキーを端末に保存しとけば、その次からはパスキーのアプリ側で認証するらしいいや、なかなか考えられてるね。再々モバイルネットワークに繋いで認証するの嫌だもんね確かに その他のアプリはだいたいアカウントとパスワードさえ知っておけば再ログインできるもんばっかなので、むしろkeepassを忘れるな! だけ覚えとけばOKだった やや残念なところ 画面が暗いな? ってのはちょっと残念なとこだけどこいつは有機ELじゃなく液晶だかららしい。いつのまに有機ELに目が慣れてしまった・・・まあ型落ちのミドルクラスマシンだからしょうがないね。老後にリッチになったら5万のスマホ買うよ あと、喜び勇んでmagsafe使ったら結構これスマホ熱くなるんですが大丈夫かこれ常用すると痛むな、普段はUSB使うか ←本末転倒な様子 ]]> <![CDATA[
Galaxy S20が、充電できなくなった
まあ正確に言うと、完全に充電できないんじゃなくて
qiからの充電はできるもののUSBからの充電ができなくなったんです

身近にqiの充電器がそんなあるわけでもないので、これはかなりの痛手
なんとか数ヶ月は使ってたものの、ついに耐えきれなくなって買いました

前回買ったのは3年前らしく、どうも3年で買い換えてる模様
んー、3年が限界なのかな?

http://nmksb.seesaa.net/article/481828446.html

とにかく困ってたんで、同じくqiが使えて安い、20000円弱の型落ち品を買ったんだけど
結果、思ったより使えます


必要な装備は全部入り!

俺のスマホ選定で必要だったのはFelicaとQiなんだけど、こいつは両方とも入ってた
何だったらQiはあきらめて、外付けのアダプター付けようかと思ってたんだけど
けっこう普通に使えてよかったわー

あと、諦めてたので入れられてよかったのはsimとmicrosd
simはesimかと思って色々手続大変だなー、って思ってたら
普通にsimカード差す部分あって、ここに入れたらAPNの設定とか何もなしに普通に動いたんでこりゃすげえってなった
あと、simカード2枚目とmicrosdが排他って書いてたの、勘違いしててmicrosd使うにはesimにしなきゃいけないのかと思ってたんだけど
カードスロットの両面にsimカードとmicrosdをそれぞれ差したら普通に使えたわ

まあmicrosdもsimカードも、スロットを使うということは壊れるってことだから
本来はないにこしたことはないだけど
俺、動画とか撮り貯めちゃってるもんなぁ・・・

ちなみに、sim+microsdカードスロットは押しピンで押して開けるタイプじゃなくて
爪で開けられる細い穴があってそこから出せるタイプ
工具要らずはいいね!

お引越しが結構簡単になってた

ちなみにいつもスマホを換える時にわちゃわちゃやらなきゃいけないお引っ越し
これが前回やった時より結構簡単になってる気がするぞ?

一番面倒かなーって思ってたのが電子マネー関連
俺が使ってる電子マネーはこんだけあるんだけど、だいたいおサイフケータイアプリを起点として
そこから機種変更手続すればよかった
  • waon → 機種変更をお考えの方は_こちら_ → 登録情報の確認(氏名、生年月日、電話番号) → 機種変更パスワード発行 → センターに保管
  • suica → 会員メニュー → カードを預ける → おサイフケータイアプリ → 受け取る
  • nanaco → メニュー(3点アイコン) → カード設定 → 機種変更(nanacoの引き継ぎ) → 引継番号を発行する → 7idのパスワード
  • id → dカードアプリ → おサイフケータイ設定 → d払い設定(dアカウントパスキー)
  • edy → ハンバーガーメニュー → 機種変更の手続き
やや面倒なのが各種銀行のワンタイムパスワード
paypay銀行なんかはトークンアプリを使うために24時間待たなきゃいけなくて、
ああ、これやっとかないと詐欺とかに使われるんだなってわかってちょっと面白かった。いや面白がるな

なお、simで電話番号をつながないと引きつぎできないものがあるかと思ってたんだけど
そいつはdocomoのdアカウントパスキーくらいのものだった
一度dアカウントパスキーを端末に保存しとけば、その次からはパスキーのアプリ側で認証するらしい
いや、なかなか考えられてるね。再々モバイルネットワークに繋いで認証するの嫌だもんね確かに

その他のアプリはだいたいアカウントとパスワードさえ知っておけば
再ログインできるもんばっかなので、むしろkeepassを忘れるな! だけ覚えとけばOKだった

やや残念なところ

画面が暗いな? ってのはちょっと残念なとこだけど
こいつは有機ELじゃなく液晶だかららしい。いつのまに有機ELに目が慣れてしまった・・・
まあ型落ちのミドルクラスマシンだからしょうがないね。老後にリッチになったら5万のスマホ買うよ

あと、喜び勇んでmagsafe使ったら結構これスマホ熱くなるんですが大丈夫かこれ
常用すると痛むな、普段はUSB使うか ←本末転倒な様子

]]><![CDATA[ ]]>
日記 LoyalTouch blog:https://blog.seesaa.jp,nmksb/505143497