GithubHelp home page GithubHelp logo

arcade-toulouse's Introduction

Hoya ! My name is Pebloop 👋

I'm a french person and I'm 23.

💻 I am a student in computer science.

🎨 I like to code and to draw. I also love to learn and discover stuffs, so I tend to do a lot of diverse things.

🐉 I'm also a huuuuuuuuugggeee dragon lover ! I'm really passionate about them !

💻 About my coding experience

I code since I am 11. I started with Java and C# with Unity, then learnt C at school. I then used various languages (CPP, Haskell, Kotlin, Svelte, Javascript, zig, rust, ...), either for fun or projects.

I look forward to get better and discover new languages and technologies, but as for now I'm specialized in software and game development as well as XR technologies. I do a small bit of electronics too (arduino and such).

🛠️ About my projects

I have plenty projects I'm working on, and more so I'd like to do ! Check them out :

🔳 🔵
Not started On going Finished Paused Cancelled

🔵 My personnal website

Pebloop system (My custom design system, for svelte.)

🔵 Cave Breaker (A match 3 game parody.)

🔵 Wordly Universe (A world building webapp (Cannot find anything that fit my need...))

🔵 Bird RPG (A VR RPG where you play a bird.)

🔳 A blog (I'd like to)

DragonLib (A C game engine, created for school projects, years ago)

Edagile, a discord bot linked to Jira

You can also take a look at my repositories !

📧 Social media

Contact

Social

Coding

Art

Video

Website

[email protected]

pebloop

Alexia Legrand

pebloop

pebloop

pebloop

pebloop

pebloop

pebloop

pebloop

pebloop

Pebloop.dev

Other

pp by @DIGNOTIONS

arcade-toulouse's People

Contributors

arcahub avatar fenikssc avatar fosowl avatar huntears avatar idommel avatar jad31 avatar nadmax avatar nasso avatar nooverflow avatar pebloop avatar ydos2 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

arcade-toulouse's Issues

Échelle de valeurs pour le delta time

Pour que l'on soit tous d'accord je pense qu'il faut se mettre d'accord pour une échelle de valeurs pour le delta time.
Je propose que le delta time donne des secondes.

Créer classe Sprite

Créer l'interface ISprite, qui hérite de IComponent.
Elle permet d'afficher un sprite représenté sous la forme d'un tableau de pixels colorés.
LIB GRAPHIC ONLY !

Débat Arcade

Bonjour, il faut travailler sur quoi faire et comment améliorer les interfaces de l'arcade.
Il faut définir ce que contient scène et comment intéragir entre le jeu, le core et la librairie graphique.

Merci de participer et de donner vos avis ou de préciser ce que vous ne comprenez pas, sinon on fera l'archi sans vous tant pis pour vous.

Premierement, la lib game interagie avec une scene, il serait bon de définir ce que l'on peut trouver dans cette classe.

Créer IAsciiSprite

Créer l'interface IAsciiSprite, qui hérite de IComponent.
Elle permet d'afficher un sprite en ASCII représenté sous la forme d'un tableau de charactères colorés.
LIB ASCII ONLY !

Problème avec le name dans IScene

Bonjour,

Les methods removeEntity et getEntity prennent un std::string name en argument et return un vecteur de IEntity.
Du coup, on ne peut pas accéder à name. Y'a-t-il un moyen d'y accéder ou faut-il créer une abstract avec un getName()?

Problème avec la méthode getEntity

Quand je souhaite implémenter la méthode getEntity dans une classe concrète et que je compile, j'obtiens erreur
image

J'en déduis que c'est à cause de la référence vers IEntity...

Erreur d'inclusion

image

Il y a une erreur d'inclusion de IEvent.hpp, ça serait plutôt "event/IEvent.hpp"

Échelle de valeurs pour les positions

Il faut aussi que l'on se mette d'accord sur ce gros détail, les positions du Transform en fonction de quel libre graphique on se trouve.
Pour donner un exemple, quand on est sur la ncurses l'échelle de valeurs est en caractères mais quand on est sur la sdl2 c'est en pixel.
Je pense qu'il faudrait se baser sur les caractères de la nurses pour calculer la position sur les autres lib graphique.

Créer IText

Créer l'interface IText, qui hérite de IComponent.
Elle permet d'afficher un texte représenté sous la forme d'une string.

Créer IAudio

Créer l'interface IAudio, qui hérite de IComponent.
Elle permet de jouer du son.
Il s'agit d'un composant facultatif du projet.

Savoir si une lib graphique est Ascii

Bonjour,

que pensez vous d'avoir un moyen de savoir si une lib est graphique on non pour agir en conséquence ?

Je propose l'ajour d'une méthode bool isAscii() const dans l'interface IGraphic.

Gestion du tableau des scores

Le sujet du Arcade demande d'afficher un tableau des scores au démarrage:

image

Il faut prévoir un moyen de communiquer le score des jeux vers le core.

Créer IEntity

Créer IEntity et l'ajouter (avec les méthodes correspondantes) à IScene
void : #9

Test

Ceci est un test.

Il n'y a pas de coding style explicite

Actuellement les fichiers de ce repository ne suivent pas de style de code particulier. Afin de garantir un style commun et de permettre à tout le monde de plus facilement contribuer au projet, je propose de le rendre plus explicite, potentiellement via un fichier de configuration ou une documentation écrite.

Problème sur IEntity

image
IEntity est une interface, elle ne doit pas contenir de constructeur et son destructeur doit être en virtual

Gérer les events de la souris

Créer une structure MouseEvent qui stock un évenement de la souris.

struct MouseEvent {
    int x;
    int y;
    enum {
        MOUSE_PRIMARY,
        MOUSE_SECONDARY,
        MOUSE_AUXILIARY,
    } button;
};

exit const

Alors je viens de capter que exit dans IScene est constant et retourne rien.
Pourquoi c'est contant ? c'est censé faire un truc, si y en a qui on fait marcher avec le const je veux bien etre au courant mais c'est juste chelou...

Format des métadonnées

La méthode char *library_get_data() doit retourner des information sur la lib, le format doit être commun sinon il sera impossible de les interpréter entre arcade.
Je propose le format simple suivant :

[type] (GAME|GRAPHIC)
[name]
[date](mm/jj/aaaa)
[description]
[additional info]

exemples :

GAME
Pacman
03/25/2021
pacman is a game whith ghosts and cheeses.
GRAPHIC
SDL
GRAPHIC
SDL
03/25/2021
the SDL Library for arcade.

Seul les 2 premières lignes seraient obligatoire, le reste serait des informations addictionnelles facultatives, donc attention lors du parsing.

Gérer les touches du clavier

Créer une énum pour gérer les touches du clavier :

    KEY_ESCAPE,
    KEY_BACKSPACE,
    KEY_RIGHT,
    KEY_LEFT,
    KEY_UP,
    KEY_DOWN,
    KEY_SHIFT_LEFT,
    KEY_SHIFT_RIGHT,
    KEY_CTRL_LEFT,
    KEY_CTRL_RIGHT,
    KEY_ALT_LEFT,
    KEY_ALT_RIGHT,
    KEY_TAB,
    KEY_PAGE_UP,
    KEY_PAGE_DOWN,
    KEY_DELETE,
    KEY_INSER,
    KEY_END,
    KEY_SPACE,
    KEY_F1,
    KEY_F2,
    KEY_F3,
    KEY_F4,
    KEY_F5,
    KEY_F6,
    KEY_F7,
    KEY_F8,
    KEY_F9,
    KEY_F10,
    KEY_F11,
    KEY_F12,
    KEY_A = 65,
    KEY_B = 66,
    KEY_C = 67,
    KEY_D = 68,
    KEY_E = 69,
    KEY_F = 70,
    KEY_G = 71,
    KEY_H = 72,
    KEY_I = 73,
    KEY_J = 74,
    KEY_K = 75,
    KEY_R = 76,
    KEY_L = 77,
    KEY_M = 78,
    KEY_N = 79,
    KEY_O = 80,
    KEY_P = 81,
    KEY_Q = 82,
    KEY_R = 83,
    KEY_S = 84,
    KEY_T = 85,
    KEY_U = 86,
    KEY_V = 87,
    KEY_W = 88,
    KEY_X = 89,
    KEY_Y = 90,
    KEY_Z = 91,
    KEY_1,
    KEY_2,
    KEY_3,
    KEY_4,
    KEY_5,
    KEY_6,
    KEY_7,
    KEY_8,
    KEY_9,
    KEY_0,
} Key;

et le mettre dans un keyboard.hpp

Problème avec std::find pour chercher une IEntity

J'ai ce genre de problème qui est afficher à la compilation: " required from ‘_IIter std::find(_IIter, _IIter, const _Tp&) [with _IIter = __gnu_cxx::__normal_iterator<arcade::IEntity*, std::vectorarcade::IEntity >; _Tp = arcade::IEntity]’" .

Du coup, je propose que l'on rajoute un 'GetId' dans IEntity pour avoir l'index de l'entity dans le container.

Débat sur le Menu

Bonjour tout le monde,

j'aimerai savoir si le menu est une scène.

Si oui, comment vous comptez l'implémenter ?

Créer IComponent

Créer IComponent, une interface dont héritera tous les composants (sprites, sons, ...)
Voir : #10

Problème sur IScene

image
Second problème, le paramètre de la méthode addEntity n'est pas bon : cela génère une erreur

dt vraiment utile ?

Est-ce-que dt est vraiment utile dans les fonctions void update(Scene &scene, float dt) du game et graphic ?
Ca ne serait pas plus simple de gérer directement le fps dans la game loop ?

Taille de l'écran

Je propose une fonction dans scène pour changer la taille de l'écran.

virtual void setWindowSize(int x, int y) = 0;

IGraphic

image
Je fais encore mon gars chiant mais le destructeur, on le mettrait pas en default ?

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.