Giter VIP home page Giter VIP logo

42-ft_transcendence's Introduction


FT_TRANSCENDENCE


The Project

The goal of this project is to create an online multiplayer version of the Pong game.

The app includes :

  • user accounts
  • chat
  • multiplayer game
  • matchmaking

The Stack

Our stack choice us based on subject requirements and personnal preferences.

Contributors

Chat Login: shogura, jnakahod
Game: Max, Haru
Profile: Haru

42-ft_transcendence's People

Contributors

shuta-syd avatar nihkck avatar kny-i avatar public-jun avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

kny-i

42-ft_transcendence's Issues

【Game】ボールの判定の修正

機能概要

やること

上下の壁のボールの判定が、半径を考慮しない実装になってしまっているので、半径を考慮するようにする。

  • タスク1
    player1のコード内の壁の当たり判定の修正

[Game] observerとplayer2の得点の調整

機能概要

現在、observerは正しいplayer1,player2の点数を知ることができない状況なので、それを改善する
また、player2の点数がplayer1と同期していないので、そこを修正する。

やること

  • player1で現在の得点をwebsocketを用いて送る。
  • observer側でそれらを反映させる。
  • player2側でそれらを反映させる。

[TEST] NestJSの単体テスト調査

機能概要

NestJSの単体テストの調査&作成(何例か)して、チームで共有する

やること

  • Jestの使い方調べる
  • Userに関して、テストを作成してみる

その他

【Game】gameをwebsocketに対応させる

機能概要

既存のpong game にwebsocketを適用させて、二者対戦をできるようにする

やること

  • タスク1

websocket, gateway への理解

  • タスク2

それらの適用

その他

Observerの機能の実装をする

機能概要

gameの観戦機能を実装する。

やること

  • タスク1
    プレイ中のゲームの閲覧をできるようにする。
  • タスク2
    選択したゲームの観戦をできるようにする。
  • タスク3
    今後の招待リンクの実装方法も考えながら実装する。

その他

期限は3月15日

【TEST】 E2Eテストフレームワークを検証

機能概要

E2EテストフレームワークであるCypressPlaywrightの調査。
時間的余裕や導入コストも考える。

やること

  • Cypress触る
  • Playwright触る
  • 導入するか検討する

その他

【Game】player1とplayer2の処理を分離して実装

機能概要

player1/player2それぞれを選択するためのbuttonを実装して、どちらを選択したかによって
処理を分ける。
具体的には、player1のpaddleとballを採用して、player2はballに関してplayer1から受け取って、レンダリングするのみにする。
(observerは一旦無視)

やること

  • ボタンの設計と実装
  • player1/2によって処理を分離し、処理を実装。

gameのwebsocketの接続の調整

機能概要

現状、ゲームを行う際に片方、もしくは双方でreloadを行わないと、動かない時があるので、それを修正する。

やること

  • websocketの接続についての知見を深める。
  • websocketのconnect disconnect周りの実装を調整する。

[Game]Playerをfrontに表示させる

機能概要

二人のplayer(user)を取得して名前を表示する

やること

  • Userを作成できているかをpostman等を用いて確認する(in prisma stadio or docker container)
  • Userの取得をする(backendのディレクトリのgetUserを呼び出せばできる/Userのcontroller fileに送ればjson形式で帰ってくる)
    現状getUserが使われない仕様になってしまっているので、@get()として
    async getUser(/user info/): Promise {
    ...
    }
    -上のことができたらfrontに送って、それを表示させる

[Game]招待機能の実装

機能概要

gameのchat interfaceもしくはfriend interface での招待機能の実装

やること

  • 実装方法を考える
  • 既存のrandom matchと明確に分ける

その他

【Docker】マイグレーションを自動で行う

機能概要

現在backendコンテナとdatabaseコンテナの起動順序は不定なので、マイグレーションを手動で行う必要がある。
backendコンテナがdatabaseコンテナの起動を待つことができれば、起動後にbackendコンテナでマイグレーションを実行すれば良いので、自動で行うことができるようになる。

やること

  • backendコンテナがdatabaseコンテナの起動を待つようにする
  • 自動でマイグレーションを行う

その他

frontend_of_game

バックエンドの追加は後で考えるとして、Reactでフロントのみ完成させることに集中

[Game]得点

機能概要

やること

  • タスク1
  • タスク2

その他

[Game]得点を同期させる

機能概要

client AとBで得点を同期させる

やること

  • playerAとBで同期
  • playerAからdbに対して、得点結果等を送る

【Game】Gameに必要なtableを設計して、backendからdbを操作できるようにする

機能概要

gameに必要なtableを実装して、backendと接続

やること

  • resultのtable設計(id/idの勝敗結果) by Schema -> Prisma generate
  • resultをdbで管理できるようにするためにbackendを書いていく
    ##目的
    全体感(backendとdbを学んで)を掴むために教材としてresult的なtableを設計する

##option
DB自体について学習↓
https://www.youtube.com/watch?v=Yg546Zua39A&ab_channel=%E3%81%A0%E3%82%8C%E3%81%A7%E3%82%82%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%2F%E5%B1%B1%E6%B5%A6%E6%B8%85%E9%80%8F

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.