Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

A vertical-scrolling shoot-'em-up game created as a mini-project assignment for the "Game Programming" course (Spring 2003, taught by Masahiko Wada and Yuichi Sugiyama) at Keio University SFC.

Notifications You must be signed in to change notification settings

msakai/GameProgramming-2003s-MiniPro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

16 Commits

Repository files navigation

テニスボールの奇妙なシューティング

Live Demo: https://msakai.github.io/GameProgramming-2003s-MiniPro/

概要 / About This Project

慶應義塾大学SFCの2003年春学期「ゲームプログラミング」(担当:和田 理彦、杉山 雄一)の課題(ミニプロ)として作成した縦スクロールシューティングゲームです。

当時のJ-PHONE(現ソフトバンク)の携帯電話向けに、Java ME (MIDP 1.0) で開発した本作を、2026年にClaude Codeを用いてHTML5 Canvas + JavaScriptへと移植しました。オリジナルのゲームロジックと演出を可能な限り忠実に再現していますが、BGMと効果音は移植されていません。

This is a vertical-scrolling shoot-'em-up game created as a mini-project assignment for the "Game Programming" course (Spring 2003, taught by Masahiko Wada and Yuichi Sugiyama) at Keio University SFC.

Originally developed for J-PHONE mobile phones using Java ME (MIDP 1.0), this game was ported to HTML5 Canvas + JavaScript in 2026 using Claude Code. The port faithfully recreates the original game logic and visual effects, though background music and sound effects were not included.

遊び方 / How to Play

起動方法 / How to Run

ライブデモ / Live Demo

GitHub Pages で公開しているので、環境を準備せずに遊ぶことが可能です。

It's published on GitHub Pages, so you can play around with it without setting up any environment.

https://msakai.github.io/GameProgramming-2003s-MiniPro/

ローカルでの起動 / Local Setup

python3 -m http.server 8000

ブラウザで http://localhost:8000 を開いてください。

Open http://localhost:8000 in your browser

操作方法 / Controls

  • 矢印キー: 移動

  • スペース / Z / Enter: ショット(自動連射)

  • Arrow keys: Move

  • Space / Z / Enter: Shoot (auto-fire)

技術仕様

  • 解像度: ×ばつ160 ピクセル(オリジナルのJ-PHONE画面サイズ)
  • スケーリング: CSS で 4倍に拡大表示(×ばつ640)
  • 実装: Vanilla JavaScript(ES6モジュール)、ビルドステップなし
  • 描画: HTML5 Canvas 2D API
  • コルーチン: Java MEのThread+wait/notifyパターンをJavaScriptのGenerator関数で実装
  • 固定小数点演算: オリジナルの三角関数テーブル(256倍スケール)をそのまま使用

プロジェクト構成

index.html — エントリーポイント
js/ — ゲームコードすべて(ESモジュール)
 main.js — ゲームループ、オブジェクト管理
 player.js — プレイヤー制御
 enemy.js — 敵キャラクター(5種類)
 boss.js — ボスキャラクター(3体)
 bullet.js — 弾丸クラス
 stage.js — ステージ構成(3ステージ)
 ...
res/ — 画像リソース
orig/ — オリジナルのJava MEソースコード(参照用)

詳細な設計方針については CLAUDE.md および DESIGN.md を参照してください。

参考文献 / References

ライセンス / License

コード / Code

  • Original version (2003): © Masahiro Sakai 2003
  • Ported version (2026): © Masahiro Sakai 2026

アセット / Assets

移植版に含まれるファイル / Files included in the ported version

  • ball.png — From the "Game Programming" course sample materials
  • Other image files (*.png) — © Masahiro Sakai 2003

オリジナル版のみに含まれるファイル(orig/ ディレクトリ) / Files only in the original version (orig/ directory)

  • Sound effects (Click10.spf, explos*.spf, Gun*.spf, Hit*.spf) — Copyright © 2003 YAMAHA CORPORATION
  • BGM and sound effects (bgm.spf, boss_bgm.spf, clear.mmf) — Rights unclear

About

A vertical-scrolling shoot-'em-up game created as a mini-project assignment for the "Game Programming" course (Spring 2003, taught by Masahiko Wada and Yuichi Sugiyama) at Keio University SFC.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

AltStyle によって変換されたページ (->オリジナル) /