情報表現入門2024 成果物紹介(ゲーム編)
9か月前公開#フロントエンド#個人開発
1年前期、情報表現入門に関する記事です
記事の表示には時間がかかることがあります
1年前期が終わりましたね、お疲れ様でした!
情報表現入門という講義について、少し振り返ってみたいと思います
「リアルタイムのオンライン対戦 + スキル強化 + インフレ」をテーマにゲームを作りました
登壇して発表し、優秀賞をいただきました
マルチプレイ用の公開サーバーに Render の Free プランを使用しています
しばらくアクセスがない場合、サーバーがスピンアウトし、再接続に1分ほどかかります
マルチプレイ能力バトルインフレ系ブロック崩しです
公開サーバーと接続して他のプレイヤーと対戦したり、サーバー機能を無効にして地道にゲームをインフレさせたりできます
/dist/ - プロダクト
/game/
*.pde - ゲームのソースコード
.src/
.fonts/ - フォント
.images/ - ゲーム内で使用した画像
./node-launcher/ - /dist 内にビルドしてある `launcher.exe` のソースコード
./sounds/ - ゲーム内のBGM, SE
config.json - ユーザーデータの保存
skills.csv - スキルの調整、テキストの変更ができます
/node-proxy/ - `launcher.exe` と同じ機能を持つnode.jsサーバー
- Githubリポジトリ の Releases の 最新版 または WebDAV から、をダウンロードし、任意の場所で展開します
CSK2-prod-windows-x64.zip
- 内の
./dist
を起動してくださいlauncher.exe
- サーバーとの接続が開始されます
- 接続に成功すると Processing のゲームをエクスポートした が起動します
game.exe
- パブリックアクセスへの許可が必要と表示された場合は、同意していただける場合は同意してください
(のソースコードを確認したい方はlauncher.exe
をご覧ください)./src/node-launcher/
- node.js / Java は同梱されています
プロキシサーバーの起動には node.js が必要です
ダウンロード: https://nodejs.org/en/download/prebuilt-installer
- 内でコマンドプロンプトを開き、
./node-proxy/
を実行しますnpm install
(お好きなパッケージマネージャーを使用していただいてかまいません) - 内で
./node-proxy/
を実行しますnpm run start
- サーバーが開始され、 と表示されたことを確認してください
ゲームを起動できます!✨️
- を Processing IDE で実行してください
./game.pde
公開サーバーの仕様上、他のプレイヤーがしばらくアクセスしていなかった場合、接続に 1 分程度かかる場合があります
game.pde
NET_isNetworkEnable
true
サーバーに接続できない場合は
NET_isNetworkEnable
false
公開サーバーの詳細情報
ホスト: wss://proc.uiro.dev
利用技術: Render / node.js / pnpm / express / websocket
プロキシ - 公開サーバー間の通信は SSL に対応しています
プロキシサーバーでは、ポート
を利用しています、変更する場合は8081
とgame.pde
の上部にあるポート設定を変更してくださいserver.cjs
- マルチプレイ能力バトルインフレ系ブロック崩しです
- プレイ時間を考慮して、すぐにエンディングに到達できる程度のパラメーターにしています
- 公開サーバーに接続してオンラインでマルチプレイが可能です
- サーバー機能を無効にして1人で遊ぶこともできます
- エネルギーを大量に(1潤以上)集めると地球が再生されます
- スキル一覧はゲーム内、プロパティの設定は で管理されています (ゲームバランスが崩れるため変更しないでください)
./src/skills.csv
- 必要のない計算、再描画が極力減るように意識しています
update(draw)と boot(setup)を分けるなど
※Processing の draw と setup から区別するためにあえて別の名前を使っています - コメントは vscode 拡張機能 で分類されています
Better Comments
グローバル変数/関数は
[プレフィックス]_camelCase
ローカル変数は
_camelCase
プレフィックス
- なし → 全体で共有するロジック
- S* → シーンロジック
- V* → ブロック崩しの依存ロジック
効果音ラボ
かずち | ビーボルト
かずち | Flutter
かずち | 流幻
かずち | 日没廃校
https://www.khaimmusic.com | New Morning
Ucchii0-うっちーぜろ- | たったそれだけの物語
もじワク研究 | 廻想体 ネクスト ユーピー(B)
瀞ノグリッチ黒体
JetBrainsMono
ご覧いただきありがとうございました
SNSでシェア