individual game devlog

個人でスマホ用のゲームを作ってます

C++1zで作り直し中

f:id:yuushimizu:20170404070251p:plain

Cocos2d-x + C++1zで作り直しています。

 

Luaも良い言語だったんですが、富豪的に作りすぎてパフォーマンスがでなくなりました。1ターン毎に処理落ちするようになり、プロファイリングをしようにもうまくいかず、デバッグもしにくく、、、コードが多くなると開発し難くなってしまいました。

 

パフォーマンスが落ちたのはメモリ周りの問題のような気がします。細かいデータにもテーブルを使いまくっていたので、毎ターンかなりの量のメモリの確保と解放が発生していました。あとGC周りがどうなってるのかよくわからない。

 

パフォーマンスを気にして書く必要があるなら*1Luaを使うメリットはあまり無いと判断し、結局C++1zで作り直すことに決めました。Luaで書いた部分と以前C++で書いていたものを参考にしつつ、だいたい書き直しです。

 

C++は良いです。moveの存在がでかい。あと速い。

 

他の環境周りでは、iPhoneじゃなくてMac上で普通に実行できることに気付いたので、デバッグが捗るようになりました。

 

あとドット絵エディタをEDGE2*2からAsepriteに乗り換えました。コマンドラインで画像を操作できるのでゲームのビルド時に画像処理をまとめて行えるのでかなり楽です。

 

作り直すたびにコードも設計も良くなってるけど、完成からどんどん離れている気がするのが悩ましい・・・。

*1:このくらいのゲームなら気にしなくていいと思ってしまったのが甘かった

*2:Wineで無理やり使ってた