VNCTST games 開発日誌

ゲーム開発日誌

スクリーンショットサーバの仕様案

前回の続き。

前回の要約

前回はこれに対して「容量無制限のストレージを確保できたら対応する」という結論とした。

代案

しかし、よく考えたら、以下の仕様で現実的に実装可能なのでは?

  • ファイルは全てjpgで保存(jpg以外の画像として送信された場合もサーバ側で勝手にjpgに変換する。変換できない形式の場合は破棄する)
    • この際の圧縮率設定は迷うが、とりあえず70%ぐらいでよいのでは?
    • 最初からjpgで送られてきた際にも、サーバ側で再圧縮をかけるものとする
  • 画像ファイルは全て、特定ディレクトリ配下に保存する
    • 子ディレクトリ等を持ってもよいが、とにかく一つのディレクトリ内に全てを保存する事
  • この機能は、メンテによって一時的に使えなくなる事を許容する
    • 実ストレージが不足してきた際に「メンテ」を行い、より容量の大きいストレージに前述のディレクトリを移動できる事を保証する
    • ただし、これはサーバの費用が増加するので、なるべくなら避けたい。そこで、以下の対応を行う事も検討する
  • もし容量が不足してきた場合、ファイルサイズの大きいものから順にjpg圧縮率を上げてサイズを小さくする事で、容量を節約する。
    • つまり、時間の経過と共に画質が低下する事を許容する
    • この際にjpgの再圧縮が生じるので画質は圧縮率の数値以上に劣化するが、それも許容する

なお、初期ストレージ容量として、とりあえず2~3Gを確保しておく。

計画

しかし、実際にこの機能を作成するのは、「スクリーンショットを保存したくなるようなゲーム」が完成してからとする。