Code Monkey home page Code Monkey logo

r-type's Introduction

r-type's People

Contributors

h-chauvet avatar nlbxyz avatar simlf avatar tistech0 avatar victorharri-chal avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

r-type's Issues

mock-up global figma

Faire sur Figma une maquête pour avoir une première idée du fonctionnement du jeu avec :

  • Scènes de menus
  • Scènes de la partie réseau avec les salles
  • Scènes de jeu (niveaux, scène d'entre niveau)

mock-up network

  • Faire une maquette de la partie réseau (1 à 4 joueurs, création de salles, entrée et sortie des salles, fermer l'accès lorsque salle pleine, etc...)
  • Déterminer toutes les étapes à faire chronologiquement
  • IMPORTANT : Déterminer le rôle du serveur et du client (qui fait quoi)
  • IMPORTANT : Réfléchir à des moyens d'optimiser l'envoi des paquets pour ne pas partir à l'aveugle

Server POC

Implement a Server POC with ASIO an UDP connection

Fix warning on Drawable2D

Line 25 of Drawable2D.hpp

L'erreur vient du fait que le constructeur Drawable2D qui prend un sf::IntRect n'est pas une valeur constante.

Update compo to fit Rtype and SFML, and add new ones

Il faut revoir le composant inventory en fonction des bonus in game que l'on veut implémenter.
Remplacer les bonus de l'indie par les nouveaux

Idée de base: tout les bonus serait des types d'armes cumulable(arme gelante, gros missile, etc)
Avec des paliers par arme

Upgrade ECS

  • Take the old ECS
  • See what's useful and what's not
  • Look what's need to be upraded
  • UPGRADE IT

Recode all systems

Tout les systems sont actuellement adapté à l'indie et pas dutout au r-type

Update Compo, like explodable or inventory and add new ones

Les "explodable" ne sont plus des bombes comme sur l'indie, c'est des missiles ou des mines
Dans les deux cas, il n'y a pas "d'explosion time" ou de "range" vu que c'est monocible
Il faut modifier les caractéristiques inutiles et en rajouter si il en manque

Bootstrap

  • understand the bootstrap
  • decide what's useful and what's not for the ECS optimisation

Finish RFC protocol

You MUST design a binary protocol for client/server communications.

A binary protocol, in contrast with a text protocol, is a protocol where all data is transmitted in binary format, either raw (as-is from memory) or with some specific encoding optimized for data transmission.

Put it in other terms, prior to transmission, data is NOT converted to clear-text strings separated by end-of-line or other character (typical null-terminated const char* or std::string).
For example an integer is transmitted as-is, and not as a textual representation of the number: this is considered to be “binary” mode.

Be careful of the Boost::serialization library, and in particular boost::archive::text, as it could be used to serialize data to text data before transmission, which is not the goal you want to achieve with a binary mode protocol.

You MUST use UDP for communications between the server and the clients.
A second connection using TCP can be tolerated, but you MUST provide a strong justification.

In any event, ALL in-game communications MUST use UDP.

UDP works differently than TCP, be sure to understand well the difference between datagram-oriented (or bounded messages) communication VS stream-oriented communication.

Think about your protocol completeness, and in particular, the handling of erroneous messages. Such malformed messages or packets MUST NOT lead the client or server to crash.
You MUST document your protocol. See the previous section on documentation for more information about what is expected for the protocol documentation.

This project is a network game: as such, the communication protocol is a critical part of the system.

Documentation of the network protocol shall describe the various commands and packets sent over the network between the server and the client.

Someone SHOULD be able to write a new client for your server, just by reading the protocol documentation.

Update la documentation

  • Mettre du css pour pas que le doxyfile soit dégueu
  • Update la doc dans les hpp (revoir partout)

Tuto ECS avec docu

  • Ecrire un tuto sur : Comment utiliser l'ECS en le liant avec la doc doxyfile

script packaging

Script permettant de :

  • checker si cmake 3.17 (minimum) est installé, si non, l'installer
  • checker si la sfml est installé, si non l'installer

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.