投稿

文化祭などで自作のPCゲームを出し物にするときの留意点

筆者が高校の文化祭で自作のゲームを公開し、その過程で得られた知見を参考程度に書き記しておく。 第一に パソコンのスペックはケチらないこと   これ大事。 特に、自宅からノートパソコンを持ってくる場合は (軽い2Dゲームの場合)第3世代以降のCore i7以上か、第8世代のCore i5以上 (Intel製) メインメモリ 8GB以上  256GB以上のSSD が良いのではと思う。 CPUの性能が低すぎたり、古すぎるのは論外であるし、SSDに換装済みであれば起動時間の短縮にもなる。  また、 内部の清掃を怠っていると熱暴走の原因 になり、出し物にならなくなってしまう。(筆者はこれで相当痛い目に遭った) 第二に 説明書やトラブル対応などのマニュアルはしっかる作ること  文化祭や学園祭、特に一般公開のある行事などでは想定外のトラブルは当たり前なので、様々なケース(フリーズした、エラーが出た、最悪の場合故障してしまった等)を想定したマニュアル作りは重要。  操作説明やルールなどもしっかり文書化しておくこと。   参考までに、 筆者が 実際に 高校の文化祭で出したゲーム を公開しておく。(一応、CC BY-SA 4.0適用作品)

Hot Soup Processorの動作速度

 Hot Soup Processor 3.6で16ビットエミュレータを作っていて思ったのが、「とにかく動作速度が遅くなる」ということ。 機械語の取得、解読、実行、メモリアクセス、レジスタへのライトバック、どれを取っても現実のマシンやC, C++で書かれたエミュレータより遅い。 その上、定期的にwaitやawaitを挟まないと、Windowsから「応答のないプロセス(フリーズしたプロセス)」として認識されてしまう。waitを少なくするとCPU使用率が10%とかになるし、かといって多くしすぎると今度はエミュレータの動作速度が遅くなる。画面更新も10Hzとかになる。 単純に、無駄な処理を無くしてしまえば結構な速度向上が見込めるが、数千行もあるコードをいちいちチェックするのは難しい。 電工一種の試験が控えてるし...  そもそも、コンピュータの上でWin11を実行して、その上でプログラムを実行して、さらにその上でエミュレータを実行して、更に更にその上で仮想OSを実行しているのがいけないのでは...?

PCの環境やデスク周りとか色々新しくした

いい加減ラップトップに飽きたので、デスクトップPCを買ってみた。(もう去年のお話) 構成は以下に記載。 モデル:サードウェーブ製 RM5R-G60S (いっちゃん安いやつ) CPU:Ryzen5 4500 GPU:GeForce GTX 1660 Super → msi製のRTX 3060 メモリ:32GB(CFD販売の16GBx2) ストレージ:500GB M.2 +いろいろ お電源:550W → 玄人志向650W 80+銀 矢印は6ヶ月程度経ってから変えたもの。結果的に17万くらいかかっている気がする。 後からアップグレードするより最初にイイもん買った方が安い!というオチでした。 ちなみにグラボ変えたのは最近話題の機械学習でお絵かきするソフト(stable diffusion)を快適に使いたかったから。

HTTP通信のGET、POSTの違い

 http通信にはGETとPOSTといった2つの代表的なメソッドがある。 主にメソッドとかのhttp通信を掘り下げたような話は普通は意識しないが、ログインフォームや検索機能、メールフォームなどを持つWebサイトを作成する上では、セキュリティ上必ず意識する必要がある。 具体的な違い GET GETは最もポピュラーなメソッドで、Webサイトにアクセスしたり、検索をしたりする時に必ず使用される。  POSTとの一番大きな違いは、「URLにデータをくっつけて送信できる」事である。 例えば、example.comというWebサイトでhogehogeという文字列で検索したとする。この際に送信されるデータはsearch="hogehoge"であるが、(searchの部分はサイトによって変わる)このデータはURLにくっつき、追記する形で送信される。 具体的には「example.com? search = hogehoge 」である。 これは複数個データを指定することができ、データの連結には「&」を用いる。例えば、同じくexample.comというWebサイトでhogehogeという文字列を検索し、検索結果の5ページ目を表示するようにデータを送信したとする。この際のURLは、「example.com? search = hogehoge & page = 5 」である。 これらのデータを受け取ったサーバは、URLに含まれるデータを展開/解読し、処理を実行している。 セキュリティ面では、URLにデータが含まれる以上、誰かにURLからデータを抜かれてしまう恐れがある。履歴にも残るので、 共用PCでGETメソッドを使用したログインフォームのあるページにアクセスし、ログインすると、パスワードやユーザ名が丸見えになる可能性もある 。 今まで散々GETをこき下ろしてきたが、利点もある。それは、 ブックマークをする際にとっても便利 なのだ。ブックマークは大抵、URLとページのタイトル、アイコンのみを記録する。POSTを使用した検索エンジンで検索しようとすると、 データはPOSTリクエストにのみ記録されてしまうのでブックマークはできない 。ただし、GETは URLにデータが記録されるのでブックマーク時にデータが保存できる 。 POST POSTはGETの次にポピュ

【php】ダウンロード回数をカウントするやつ

 ファイルのダウンロード回数をカウントしてファイルに記録する奴。 ダウンロード回数のカウントにphp、ダウンロード先へのリダイレクトにjavascriptを使用している。 コード dlcount.php <! DOCTYPE html > < html lang = "ja" >     < head >         < meta charset = "utf-8" />         < title > ちょっとまってね </ title >         < meta name = "robots" content = "noindex" >     </ head >     < body >         <?php             $DownloadFile = $_GET [ 'file' ];             echo "ファイル '" . $_GET [ 'file' ] . "' をダウンロードしています...<br> \n " ;             echo "ダウンロードが始まらない場合は、下にある「ダウンロード」をクリックしてください。<br> \n " ;                         $file_path = 'dlcount.txt' ;             $file_data = file ( $file_path );             $findFlag = false ;             foreach ( $file_data as & $file_data_splt )             {                 if ( $file_data_splt != '' )                 {                     $file