Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
phina.jsで弾幕シューティングを作る / Creating a bullet-hell ...
Search
Hiroya-W
November 23, 2023
Technology
0
130
phina.jsで弾幕シューティングを作る / Creating a bullet-hell shooter with phina.js
Hiroya-W
November 23, 2023
Tweet
Share
More Decks by Hiroya-W
See All by Hiroya-W
PSRにのっかってバックエンドサーバを書く / Write a backend server using PSR
hyuyukun
0
28
ピアノ経験ゼロからピアノを練習して弾いてみた / I practiced and played the piano from zero piano experience.
hyuyukun
1
77
Blenderに入門しました / I started to use Blender
hyuyukun
0
110
気軽にパソコンを吹き飛ばせるようにするために / To initialize your computer easily
hyuyukun
0
47
僕っぽいことを喋るBotをマストドンで育てています / I'm growing a bot on mastodon that talks like me.
hyuyukun
0
73
4年と半年かけてようやくフロントエンドを書けるようになった / It took me 4 years and 6 months to be able to write the frontend
hyuyukun
0
290
Neofetchライクな自己紹介ツールyuyufetchを作った / Created yuyufetch, a Neofetch-like self-introduction tool
hyuyukun
1
230
世界観を考察するのが好き?Sound Horizonはいいぞ / Introduction to Sound Horizon
hyuyukun
0
970
夏インターンと趣味開発 / Summer Internships and Hobby Development
hyuyukun
0
63
Other Decks in Technology
See All in Technology
レンジャーシステムズ | 会社紹介(採用ピッチ)
rssytems
0
150
成果を出しながら成長する、アウトプット駆動のキャッチアップ術 / Output-driven catch-up techniques to grow while producing results
aiandrox
0
180
Storage Browser for Amazon S3
miu_crescent
1
140
Jetpack Composeで始めるServer Cache State
ogaclejapan
2
170
あの日俺達が夢見たサーバレスアーキテクチャ/the-serverless-architecture-we-dreamed-of
tomoki10
0
430
【re:Invent 2024 アプデ】 Prompt Routing の紹介
champ
0
140
複雑性の高いオブジェクト編集に向き合う: プラガブルなReactフォーム設計
righttouch
PRO
0
110
フロントエンド設計にモブ設計を導入してみた / 20241212_cloudsign_TechFrontMeetup
bengo4com
0
1.9k
20241220_S3 tablesの使い方を検証してみた
handy
3
340
TSKaigi 2024 の登壇から広がったコミュニティ活動について
tsukuha
0
160
GitHub Copilot のテクニック集/GitHub Copilot Techniques
rayuron
24
11k
権威ドキュメントで振り返る2024 #年忘れセキュリティ2024
hirotomotaguchi
2
730
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
17
2.3k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
The World Runs on Bad Software
bkeepers
PRO
65
11k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
VelocityConf: Rendering Performance Case Studies
addyosmani
326
24k
Music & Morning Musume
bryan
46
6.2k
Practical Orchestrator
shlominoach
186
10k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7k
RailsConf 2023
tenderlove
29
940
Raft: Consensus for Rubyists
vanstee
137
6.7k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
BBQ
matthewcrist
85
9.4k
Transcript
QIJOBKTͰ ນγϡʔςΟϯάΛ ࡞Δʂ ゆゆ君(@Hyuyu_kun) in あくあたん工房 2023/11/23
2 phina.js: JavaScript で作られたゲームライブラリ https://phinajs.com
サンプル 3 https://phinajs.com
4 Runstant: ブラウザ上で動作するエディタ&プレビュー https://runstant.com
phina.jsでサクッと作って動かしてシェア! 5
6 弾幕シューティング 怒首領蜂 東方Project https://store-jp.nintendo.com/list/software/70010000046176.html https://www.youtube.com/watch?v=VL5VZuUcX74
7 弾幕シューティング 怒首領蜂 東方Project 自機 https://store-jp.nintendo.com/list/software/70010000046176.html https://www.youtube.com/watch?v=VL5VZuUcX74
8 弾幕シューティング 怒首領蜂 東方Project 敵 https://store-jp.nintendo.com/list/software/70010000046176.html https://www.youtube.com/watch?v=VL5VZuUcX74
9 弾幕シューティング 怒首領蜂 東方Project 弾幕 https://store-jp.nintendo.com/list/software/70010000046176.html https://www.youtube.com/watch?v=VL5VZuUcX74
弾幕を避けながら敵を倒していくゲーム 10 中には美しい弾幕もあって綺麗
phina.jsで弾幕シューティングを作ってみる 11
12 参考書 https://www.amazon.co.jp/dp/4797352299
phina.jsで弾幕を作ってみる n 今回作ってみた弾幕 • 方向弾 • 渦巻弾 • 多方向渦巻弾 •
両回転渦巻弾 • 旋回加速渦巻弾 • 両回転渦巻弾 + 旋回加速渦巻弾 • 洗濯機渦巻弾 13
14 弾の実装 // 初期位置 // 発射角度(0.0~1.0) // 弾の進行方向の変化量 // 弾の初速
// 弾の加速度 // 移動方向 // 弾の進行方向を変化 // 弾の速さを変化
方向弾 15 // 下方向 速さ20
16 渦巻弾(方向弾を回転させればOK) // 発射方向を変化させる
17 多方向渦巻弾 // 発射数を指定できるように
18 多方向渦巻弾 // 発射数分の弾を生成 // それぞれ方向を変えて this.shotCount == 4の時、 i
/ this.shotCountは0.0, 0.25, 0.5, 0.75と変化する 右, 下, 左, 上
19 多方向渦巻弾 弾の密度を変えられるようにしたい
20 多方向渦巻弾 // 増やした
21 多方向渦巻弾 // this.timeはthis.interval回に1回0になる == 間引く
22 両回転渦巻弾 回転方向を2つ取るようにする - 時計回り - 反時計回り
23 両回転渦巻弾 // 両回転 // それぞれ発射回数分 // それぞれの回転方向
24 両回転渦巻弾 ちなみに、両回転の変化量を揃えてしまうと 簡単な弾幕になってしまう
25 旋回加速渦巻弾 ←旋回 加速→
26 旋回加速渦巻弾
27 両回転渦巻弾 + 旋回加速渦巻弾 2種類の弾幕を発射してくる敵(CombinedSpiralShooter)として実装
28 洗濯機渦巻弾 右巻き 右巻き→左巻き 左巻き 左巻き→右巻き
29 洗濯機渦巻弾 -maxShotAngleRate ~ maxShotAngleRate // 発射角度 -maxBulletAngleRate ~ maxBulletAngleRate
// 旋回角度 の範囲で変化させて右巻きになったり、左巻きになったりする
30 洗濯機渦巻弾 // 右巻き→左巻き // の値の変化は // 250: 1 //
275: 0 // 300: -1
31 Runstantで公開しているので遊んでみてね https://runstant.com/Hiroya-W/projects/caa17791
おしまい 32