Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1643 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Suivante
Auteur Sujet :

[C] [Résolu] Tetris -> SDL ? Réseaux ?

n°2187672
theshockwa​ve
I work at a firm named Koslow
Posté le 26-04-2013 à 10:39:03  profilanswer
 

Reprise du message précédent :
 
 
D'une part, tu peux faire de la POO en C, même si c'est pénible, d'autre part, la POO, c'est pas considéré optimal pour les jeux.
 
 
 
L'Epitech ne force plus la main pour aire du NetBSD plutôt que linux, maintenant ?
Et accessoirement, si t'es branché développement de jeux vidéo, tu vas en bouffer, au final, du dev sous windows, donc ce serait pas mal que tu sois ouvert là-dessus (Visual Studio est quand même très bien foutu)
Après, j'ai rien contre le fait de chercher à être cross platform au maximum, bien au contraire.
 
 
Je connais pas la SFML donc je vais pas la recommander ou non. Par contre, sur le site de la SDL, tu pourras trouver SDL_Net qui te fait une abstraction bien sympa.


---------------
last.fm
mood
Publicité
Posté le 26-04-2013 à 10:39:03  profilanswer
 

n°2187677
Terminapor
I'll see you rise.
Posté le 26-04-2013 à 11:24:09  profilanswer
 

theshockwave a écrit :


 
D'une part, tu peux faire de la POO en C, même si c'est pénible, d'autre part, la POO, c'est pas considéré optimal pour les jeux.
 


 
Si tu peux développer ça, j'ai toujours fait de la POO pour les jeux avec de l’événementielle et je vois pas trop quoi utiliser à part ça :D


---------------
Perhaps you don't deserve to breathe
n°2187690
theshockwa​ve
I work at a firm named Koslow
Posté le 26-04-2013 à 12:32:40  profilanswer
 

Terminapor a écrit :

Si tu peux développer ça, j'ai toujours fait de la POO pour les jeux avec de l’événementielle et je vois pas trop quoi utiliser à part ça :D


 
La POO te conduit vite à faire des conteneurs polymorphiques où tu fais des appels virtuels sur chaque élément de ton conteneur, du coup, ton cache de code est malmené, et tu payes des appels virtuels en quantité.
Ce qu'on fait de plus en plus (certains appellent ca de la programmation orientée données) où tu te démerdes pour savoir ce que tu manipules, tu tries tes données en amont, du coup, tu sais quelle fonction tu dois appeler, donc t'as pas besoin de lookup dans la vtable et tu exécutes le même code X fois, ce qui est beaucoup plus sympa.
 


---------------
last.fm
n°2187707
Profil sup​primé
Posté le 26-04-2013 à 14:05:45  answer
 

theshockwave a écrit :


Et accessoirement, si t'es branché développement de jeux vidéo, tu vas en bouffer, au final, du dev sous windows, donc ce serait pas mal que tu sois ouvert là-dessus (Visual Studio est quand même très bien foutu)
Après, j'ai rien contre le fait de chercher à être cross platform au maximum, bien au contraire.


 
Yep, I know, je vais en bouffer ^^' Il faut juste que je trouve les outils qui me vont bien. Code::Blocks n'est pas super (c'est ce que j'utilisais).
Là j'utilise Emacs comme éditeur de texte, il est juste énorme. Dommage qu'il ne soit pas intégré à un logiciel sous windows qui permette de coder. :/
 
Pour le cross platform, j'ai voulu essayer, un jour. Et en voulant suivre un tuto je me suis découragé.
Surement quand j'aurai du temps à perdre, je m'y mettrai...
 
En attendant j'hésite à refaire de zéro mon p'tit Tétris, pour tout reprendre en OpenGL (pas encore commencé à étudier)

Message cité 1 fois
Message édité par Profil supprimé le 26-04-2013 à 14:08:01
n°2187712
theshockwa​ve
I work at a firm named Koslow
Posté le 26-04-2013 à 14:16:14  profilanswer
 


 
Visual Studio, c'est ce qu'on utilise dans l'industrie. La version Express est gratuite, y'a pas de raison de s'en priver.
Si tu lui ajoutes des plugins comme les PowerTools ou Visual Assist, en terme de productivité, ca change la vie (mais la version Express de Visual Studio ne supporte pas les plugins :/ )
 
 
 
Techniquement, si ta logique est bien séparée de ton rendu, t'as juste à refaire la partie affichage, toute la logique de jeu doit rester identique. Même si j'ai pas touché à OpenGL depuis des éons, ca doit pas être trop compliqué de lui faire rendre des carrés à l'endroit de l'écran où tu voulais faire tes blits, ca fonctionne un peu pareil.
 
Pour le cross platform, si tu codes sous linux avec SDL, t'as pas trop de raison de faire du code qui fonctionne pas sous windows (au pire dans cygwin, au mieux, directement dans visual, avec une possibilité intermédiaire avec mingw [:dockbchris] )


---------------
last.fm
n°2187713
Terminapor
I'll see you rise.
Posté le 26-04-2013 à 14:17:50  profilanswer
 

theshockwave a écrit :


 
La POO te conduit vite à faire des conteneurs polymorphiques où tu fais des appels virtuels sur chaque élément de ton conteneur, du coup, ton cache de code est malmené, et tu payes des appels virtuels en quantité.
Ce qu'on fait de plus en plus (certains appellent ca de la programmation orientée données) où tu te démerdes pour savoir ce que tu manipules, tu tries tes données en amont, du coup, tu sais quelle fonction tu dois appeler, donc t'as pas besoin de lookup dans la vtable et tu exécutes le même code X fois, ce qui est beaucoup plus sympa.
 


Merci pour l'info :jap:


---------------
Perhaps you don't deserve to breathe
n°2187715
theshockwa​ve
I work at a firm named Koslow
Posté le 26-04-2013 à 14:22:03  profilanswer
 

Terminapor a écrit :


Merci pour l'info :jap:


 
Bon, j'ai fait des raccourcis, tout de même, [:petrus75] mais c'est le résultat qui importe


---------------
last.fm
n°2187732
Profil sup​primé
Posté le 26-04-2013 à 16:18:20  answer
 

theshockwave a écrit :


 
Visual Studio, c'est ce qu'on utilise dans l'industrie. La version Express est gratuite, y'a pas de raison de s'en priver.
Si tu lui ajoutes des plugins comme les PowerTools ou Visual Assist, en terme de productivité, ca change la vie (mais la version Express de Visual Studio ne supporte pas les plugins :/ )
 


 
Nous avons accès à tous les produits Microsoft et Adobe en version complète, donc je prends note et verrai quand le temps sera venu de coder sous ouinedause :).
 

theshockwave a écrit :


 
Techniquement, si ta logique est bien séparée de ton rendu, t'as juste à refaire la partie affichage, toute la logique de jeu doit rester identique. Même si j'ai pas touché à OpenGL depuis des éons, ca doit pas être trop compliqué de lui faire rendre des carrés à l'endroit de l'écran où tu voulais faire tes blits, ca fonctionne un peu pareil.
 
Pour le cross platform, si tu codes sous linux avec SDL, t'as pas trop de raison de faire du code qui fonctionne pas sous windows (au pire dans cygwin, au mieux, directement dans visual, avec une possibilité intermédiaire avec mingw [:dockbchris] )


 
En effet, ma logique est bien séparée du rendu, mais je n'arrive pas à comprendre dans ma tête comment est-ce que OpenGL peut moins consommer en étant plus performant....
J'ai fait un petit tuto. L'aperçu était un triangle multicolore en mode "trop de dégradés, trop de couleurs". J'ai eu peur !!
 
Mais en fait, quand j'ai vu que ça représentait 6 lignes de code et qu'au final, dans une boucle infinie ça ne consomme qu'entre 0 et 1% de chaque processeur..  [:gordon shumway:2]  

n°2187737
theshockwa​ve
I work at a firm named Koslow
Posté le 26-04-2013 à 16:25:48  profilanswer
 


 
Simplement parce que tu utilises du matériel dédié ? Au lieu d'avoir ton processeur qui copie bout à bout ton image de mémoire centrale à mémoire vidéo, tu as tout en mémoire vidéo et ton GPU est taillé physiquement pour remplir des surfaces ? :)


---------------
last.fm
n°2191629
Profil sup​primé
Posté le 24-05-2013 à 13:22:24  answer
 

theshockwave a écrit :

tu peux sans doute t'arranger pour mettre ton tableau en 130 octets au lieu de 260 en n'allouant que 4 bits à chaque case.


Je reviens dessus vite fait, je suis curieux là !
Comment n'allouer pour 1 octet finalement pas 1 octet mais 4 bits? (peut etre 5 car plus tard j'utiliserai peut etre d'autres valeurs.)

mood
Publicité
Posté le 24-05-2013 à 13:22:24  profilanswer
 

n°2191634
theshockwa​ve
I work at a firm named Koslow
Posté le 24-05-2013 à 14:05:38  profilanswer
 

4 bits, c'est plus simple que 5 à mettre en place.
 
l'idée, en gros :

Code :
  1. typedef struct TTableauJeu {
  2.   unsigned char* representation; // = malloc( 13*20/2 );
  3.   int largeur; // = 13;
  4.   int hauteur; // = 20;
  5. } TableauJeu;
  6. char getValeur( const TableauJeu* tab, int x, int y )
  7. {
  8.   int index = tab->largeur * y + x;
  9.   char case = tab->representation[ index / 2 ];
  10.   if( index & 1 )
  11.     return case >> 4;
  12.   else
  13.     return case & 0xF;
  14. }


---------------
last.fm
n°2191665
Profil sup​primé
Posté le 24-05-2013 à 17:22:56  answer
 

theshockwave a écrit :

4 bits, c'est plus simple que 5 à mettre en place.
 
l'idée, en gros :

Code :
  1. typedef struct TTableauJeu {
  2.   unsigned char* representation; // = malloc( 13*20/2 );
  3.   int largeur; // = 13;
  4.   int hauteur; // = 20;
  5. } TableauJeu;
  6. char getValeur( const TableauJeu* tab, int x, int y )
  7. {
  8.   int index = tab->largeur * y + x;
  9.   char case = tab->representation[ index / 2 ];
  10.   if( index & 1 )
  11.     return case >> 4;
  12.   else
  13.     return case & 0xF;
  14. }



Effectivement c'est pas con, trouverai une solution ;)
merci :)


Message édité par Profil supprimé le 24-05-2013 à 18:56:18
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
Implimenter Un Menu En C Avec Allegromysql C++ code blocks
[C] Pointer de pointer de pointer[C#] Utilisation de Google Calendar
Créer un dossier avec la date sous forme jj-mm-aaaa avec C#[C] A l'aide je ne comprends rien a ce programme
[C] Remplacer un char dans une chaine de caractèrelangage C - PB unsigned char
langage C 
Plus de sujets relatifs à : [C] [Résolu] Tetris -> SDL ? Réseaux ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR