名前の文字数拡張はできなくはないでしょうが
・名前領域の拡張
・新規セーブ処理とロード処理の作成
・セーブデータのver検査処理の追加
・旧形式のデータを仮バッファに読み込んで新形式へと変換する処理の追加
なんぞあるし、失敗してセーブデータ全損というリスクもあるから、作り手としてはやりたく無いタイプの仕様変更な気はします。仕事なら泣きながらやります。
通報 ...
名前の文字数拡張はできなくはないでしょうが
・名前領域の拡張
・新規セーブ処理とロード処理の作成
・セーブデータのver検査処理の追加
・旧形式のデータを仮バッファに読み込んで新形式へと変換する処理の追加
なんぞあるし、失敗してセーブデータ全損というリスクもあるから、作り手としてはやりたく無いタイプの仕様変更な気はします。仕事なら泣きながらやります。
余談ですが、この作品は32bit作品なので使用可能なメモリ量が2Gバイトというのも問題になる可能性があります。32bitアプリの最大使用可能メモリ量がおおよそ2Gバイトとなり、変にメモリリーク(一旦確保したメモリを解放していない問題)何ぞした際にはプログラムが落ちます。
か、回答ありがとうございます…
光の速さでウン○したらどうなるの?ってコピペばりの驚愕の事実に戦慄を覚えざるを得ません…
任意の命名の文字数だけ長くする分には、旧セーブデータとの整合性やら全体のメモリ量制限はほぼ問題にならなそうで、単純に画面に収まらないとかの方が問題になりそうなイメージです。
セーブデータの形式(アイテム名の文字数上限を前提としているとか)によってはそこにも難しさがあるかもしれませんが…
セーブデータは最小にしたり圧縮したりするので変更するのは大問題です。例えばアイテム1データーが100から150に変わる感じです。両替みたいなもので、4桁しかなかった帳簿を8桁の帳簿に移し替える作業を追加する感じです。
データサイズについては普通にプレイしていれば問題ない気はしますが、かなり大量の武具を持っていた際、コンバートの段階でオーバーフローを起こさないとも限らないので、プログラマー目線だと保証出来ないからめっちゃ嫌。
ご要望いただきありがとうございます。
1つ目は実装上の問題で逆順になってしまっています。
対応しようにも意外とややこしいところがあるので、どこかで解決しようと思っております!
2つ目は、やるとすれば通行可能なオブジェクトの設置までになりそうです。
(通行不可だと仕様上の色々な不都合が出るため)
効果も、ご提案の毒沼のような、上に立つと毒になるような単純なものになるかなと。
ただ、毒沼にしても、本作の床チップは1階層しかないので、
地形の上に毒沼を置くような見た目を作るのは難しく、
畑のような1マス丸ごと見た目が変わるようなものしかできなさそうです。
3つ目の制限文字数ですが、文字が枠内に収まらずに折り返されたり潰れたりを避けるため、
短めの文字数で定義していました。
名前変更で名前を付ける場合、
折り返されたり潰れたりが起きる可能性があるものと許容していただけるなら、
文字数を増やしても良いかもしれませんね。
あと、本作は32bit作品とありますが、本作は32/64bit両方可であり(たぶん)、
また本作はJavaScriptで実装していますので、32bit環境下でも64bitと同じデータ長があります。
(ECMAScriptの仕様に基づく)
そのため、32bitPCでもintの最大数などは64bitと共通の大きなものになっているはずです。
また、JavaScriptなので文字数制限などもガチガチにあるわけではないですし、
設計上もガチガチにはしていませんので、
アイテム名の長さが10文字でも100文字でもたぶん論理的な不具合は起きないかなと思います。
ですので、色々ご心配いただいているものについては、
JavaScriptの特性上大丈夫かなと思います!
(といっても、アイテムを100万個預かり所に入れるなど極端な状態になった場合、
メモリ不足とかスタック上限とかでエラーになる可能性はありますが)
回答ありがとうございます
ややこしい要望ばかりだったようですいません
毒沼設置はむしろ沼地や火山ダンジョンにあるような直接的なダメージタイルを想像してました
ログや字数制限も対応可能ならありがたいですが何にせよ作り手側の事情を優先してもろて…
単純に32bit表現で制御可能なのが2Gバイトが上限ですが(int云々ではなくメモリアクセスの上限)、たぶんデータ量的にはコンバートも大丈夫だと思います。32bitの根拠はタスクマネージャーの表記からとなります。
ですね、おっしゃるとおり32bit環境下だと2GBがメモリ上限になります。
本作はビルド時の設定で「64bit環境下でも32bitで動くならそれを優先する」設定になっているので、
32bitで動いているものと思います。
(そのあたりは初期設定のままなので、32bitで動いているのはその結果です(^o^;