canvasの勉強をするために本に載ってたシューティングゲームの写経をした。
ただ、写経するだけではつまらないので、以下のように変更しながら学習をした。
技術スタック
フレームワークなし、js
→ React + Redux Toolkit + Redux Saga + TypeScript
設計
継承のみ活用
→ 継承、DIを活用
https://github.com/pokotyan/shooting-game-react
ここで実際に遊べる。(PCのみ)
コード書いてて感じたのはcanvasでゲームを作るときに、reactやreduxとかのフレームワークはいらないなと感じた。ただ複雑になってるだけのように感じる。reactとcanvasは相性悪いみたいな記事も作ってる最中に見かけたりした。
あと、Redux Toolkit が結構いい感じだった。createSlice
でreducerとactionの両方が自動で作られるのは楽。ただ、ミドルウェアはthunkしか対応してなくて、sagaを使うためにはちょっとガチャガチャしないといけないのがめんどかった。