games.pdbrec.com業務連絡 20190401 | TheoryOfContraints official blog

games.pdbrec.com業務連絡 20190401

お久しぶりです

 

とりあえず、phaser3でのゲーム制作ですが、モード絡みのバグが残っていて動けない

 

ゲームのモードを移動しすぎるとゲームが動かなくなる

 

Phaser3のゲームの作り方のウェブなら、この人、「エマニエル先生」のウェブのプログラムでも、同じ状態を回避する技があって、動くには動くけど、タイトル画面には戻らないでリプレイする回避方法で、それだとモードが選べなくなるので、いろいろと不便なので

 

Go言語でのWindows版の制作を開始します

 

Phaser3のバグが無くなれば、そちらの方も平行作業で続けますが

 

とりあえず、Go言語、久々に使ってみたら

 

・npmなパッケージシステムが増えていた

・キャッシュを使った差分コンパイル対応でコンパイルが速い

 

と、使いやすい。で、とりあえず、XorShiftのライブラリを

 

-------

package gameos

import "time"

var gameosXorshiftSeed uint32 = 3141592653    // Dummy Seed.

func XorshiftSeed() {
    gameosXorshiftSeed = 0
    
    // Seedが0なら再設定
    for gameosXorshiftSeed == 0 {
        gameosXorshiftSeed = uint32(time.Now().UnixNano())
    }
}

func Xorshift() int {
    y := gameosXorshiftSeed
    y = y ^ (y << 13)
    y = y ^ (y >> 17)
    y = y ^ (y << 5)
    gameosXorshiftSeed = y
    return int(y)
}
-------

と作り替え

 

簡単なテストを行って、ちゃんと動いているのを確認した

 

あ、Go言語でSDLを使うのに、変な構造体とかを使う人が多いけど、SDLを扱うpackageを作って、そのpackageでSDLなウインドウを作ったら、普通に、そのpackage内でSDLが使えるので

 

Go言語で普通にゲーム作れますよ!

 

とりあえず、嘘ではない業務連絡でした