Skip to content

kushinada2077/CodeClash

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

852 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔎 Code Clashのご紹介

Code Clash

Code Clashは、ありきたりなアルゴリズム対戦プラットフォームではありません。アイテムを使用して相手を妨害するアーケードゲームの要素と、アルゴリズム対戦を融合させた新しい形のリアルタイム対戦ゲームです。 ユーザーはルームを作成して他のプレイヤーと参加し、リアルタイムでアーケードスタイルのプログラミング対戦(PS)を楽しむことができます。

勝率や正答率といった指標を通じて健全な競争を促しつつ、少し堅苦しくなりがちなプログラミング対戦に「アイテム」という遊び心を加えることで、より親しみやすく、誰もが楽しめるサービスを目指しました。

▼ Code Clashを体験する
https://codeclash.duckdns.org
(現在、対戦でご利用いただける言語はJavaScriptのみとなっております。)

(現在はNCPの無償トークン期限終了に伴い、サーバーは停止しています。)

👨‍👩‍👧‍👦 チームメンバー

J091_イグンソン J096_イドンハ J152_ジヒョンベ J167_ヒョンチャヌ
img img img img
@Geun Seong Lee @kushinada @ruok @ChanWoo Hyun

🚀 担当した役割と貢献

  1. サーバーアーキテクチャの設計とリアルタイム通信環境の構築

    Nginxをリバースプロキシとして導入し、静的・動的リクエストを分離することでAPIサーバーの負荷分散を行いました。また、Polling方式に比べてサーバーリソースとパフォーマンスに利点があるWebSocket技術を採用し、遅延のないリアルタイムなチャット及びゲーム環境の構築に成功しました。

  2. 主体的な役割再分配によるチーム開発の生産性向上

    ペアプログラミングの過程で生じた開発スタイルの違いやコミュニケーションの非効率を解決するため、私がWebSocket機能実装のオーナーシップを持つことを提案し、役割を再分配しました。これにより、チームメンバーの業務集中度を高め、コードの一貫性を確保することで、チーム全体の開発生産性を大きく向上させた経験があります。

  3. FE/BE通信構造のリファクタリングによる保守性の向上

    FEのコード重複問題を解決するため、自らFEコードを分析し、データ転送ロジックを分離する新たなイベント構造(room_info)を設計・実装しました。このリファクタリングを通じて、FE/BE間の結合度を下げ、システム全体の拡張性と保守性を大きく向上させました。

🎬 主な機能

ログインとロビー接続 bandicam 2023-12-12 20-20-01-282 (1)

ルームへの入場 bandicam 2023-12-12 20-20-01-282 (2)

チャット bandicam 2023-12-12 20-20-01-282 (3)

ゲーム開始 bandicam 2023-12-12 20-20-01-282 (4)

コード作成 bandicam 2023-12-12 20-20-01-282 (5)

コードの提出と実行 bandicam 2023-12-12 20-20-01-282 (6)

ゲーム終了と結果表示 bandicam 2023-12-12 20-20-01-282 (7)

⚙️ 技術スタック

FE (フロントエンド)

image

BE (バックエンド)

image

⚒️ アーキテクチャ

image

About

アルゴリズム×アーケードゲームの対戦プラットフォーム

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • TypeScript 98.2%
  • JavaScript 1.1%
  • Other 0.7%