IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SDL Discussion :

Tentative de remake du jeu PV 2000 avec SDL 1.2


Sujet :

SDL

  1. #1
    Membre actif

    Homme Profil pro
    autre
    Inscrit en
    Juillet 2015
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Juillet 2015
    Messages : 176
    Points : 202
    Points
    202
    Par défaut Tentative de remake du jeu PV 2000 avec SDL 1.2
    Bonjour,
    pour faire suite à cette discussion.

    j'aimerais vous présenter mon projet de remake du jeu PV 2000 sorti sur mo5 dans les années 80.
    je suis débutant en langage c, et la programmation n'est pas du tout pour moi une activité professionnelle, juste un plaisir.
    Je code depuis environ 2 ans, avec une fréquence trés irrégulière (par exemple plusieurs heures par semaine, ou bien pas du tout pendant plusieurs semaines).

    J'utilise la sdl 1.2

    Les défauts détectés par les membres de ce forum à propos de ce jeu sont : trop gourmand en mémoire (138 Mo), et trop gourmand en utilisation du cpu (20 ou 30 % selon config).

    J'ai fait le choix de continuer à programmer ce jeu malgré tout, pour le finir et apprendre les mécanismes, quitte à revenir dessus une fois le jeu terminé pour l'optimiser.

    Pour programmer ce début de jeu, j'utilise les modules game_event_priofifo de Jacques Olivier Lapeyre, et les tutoriels sur le tile maping de fvirtman sur ce site.

    voici un lien vers une des vidéos du jeu :


  2. #2
    Membre averti
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Juin 2012
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 257
    Points : 321
    Points
    321
    Par défaut
    Bonjour,

    Merci pour ce partage, à propos des défauts détectés il serait intéressant de voir la structure du code qui conditionne ces mécanismes trop gourmands et que les membres du forum puissent présenter des choix alternatifs en les commentant.
    Pour ma part je pense avoir une assez bonne idée de la consommation CPU mais j’avoue que pour l’occupation en mémoire, je ne me suis jamais trop penché sur la question.

  3. #3
    Membre actif

    Homme Profil pro
    autre
    Inscrit en
    Juillet 2015
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Juillet 2015
    Messages : 176
    Points : 202
    Points
    202
    Par défaut
    Bonjour,
    le code est disponible ici : (c'est l'archive en 7zip) (j'ai essayé de le poster sur github, mais je ne comprends absolument rien!)

    https://www.developpez.net/forums/d1...ses-langage-c/

    Pour la consommation mémoire, même si je n'affiche que la map, et que je l'insère dans une game_event_priofifo, sans aucun mouvement, ni aucune détection de collision, je suis tout de même à 138 Mo.

    Je pense que le code ne fonctionne que sous linux.

    Il faut taper en console :
    make clean && make && ./EXECUTABLE

  4. #4
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 225
    Points : 10 174
    Points
    10 174
    Par défaut
    Pour la consommation mémoire, même si je n'affiche que la map, et que je l'insère dans une game_event_priofifo, sans aucun mouvement, ni aucune détection de collision, je suis tout de même à 138 Mo.
    En général les mouvements et les collisions sa consomme du cpu pas de la mémoire

    Mais fini ton jeu , tu repartira a zéro la prochaine fois , tu aura un contrôle total sur tes ressources mémoire etde calcul CPU.

  5. #5
    Membre averti
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Juin 2012
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 257
    Points : 321
    Points
    321
    Par défaut
    Cette utilisation CPU est sur quelle machine et pour combien de FPS (nombre d’affichage par seconde) ?

    Pour une machine 4 cœurs cela veut dire que le programme tourne à fond en permanence à 100%. Est-ce le calcul de toutes les combinaisons de collisions qui est significatif ?

  6. #6
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 225
    Points : 10 174
    Points
    10 174
    Par défaut
    Citation Envoyé par nanosoft Voir le message
    Cette utilisation CPU est sur quelle machine et pour combien de FPS (nombre d’affichage par seconde) ?
    Fallait lire les liens !

    Voila je que j'avais dit :
    Il utilise beaucoup beaucoup trop de mémoire RAM (sur mon ordi je suis a 138 mo ) et en terme de CPU je suis a 30% , c'est beaucoup trop pour ce que tu fait....
    En comparaison j'avais fait un jeu 3D (OpenGL1) (et j’utilisais très peu la carte graphique , collision 3D , animation par squelette cote CPU) ben le jeu me coûte 5% de cpu et 28 mo de ram , un jeu 2D (SDL 1) me coûte 4% de CPU et 17 mo de ram.
    L'autre point sur mon ordi , j'ai l'impression que ton jeu ralenti quelque fois...
    Effectivement le nombre de FPS est important , les deux a mes souvenirs était sur 30 FPS. (mais même en multipliant par 2 en tombe sur 10% de mon CPU et les calcul que je fait était largement plus que ce qu'il faisait).

  7. #7
    Membre actif

    Homme Profil pro
    autre
    Inscrit en
    Juillet 2015
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Juillet 2015
    Messages : 176
    Points : 202
    Points
    202
    Par défaut
    Hello.
    pour la vidéo présente sur cette partie du forum, le jeu tourne sur ce processeur :

    http://https://ark.intel.com/fr/products/53483/Intel-Pentium-Processor-G630-3M-Cache-2_70-GHz

    Pour les fps, je n'en n'ai pas la moindre idée.

  8. #8
    Membre averti
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Juin 2012
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 257
    Points : 321
    Points
    321
    Par défaut
    Pour les fps, je n'en n'ai pas la moindre idée.
    A mon avis c’est l’une des premières choses à déterminer pour maîtriser la consommation CPU. A regarder pour le mécanisme de la boucle principale du jeu …

  9. #9
    Membre actif

    Homme Profil pro
    autre
    Inscrit en
    Juillet 2015
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Juillet 2015
    Messages : 176
    Points : 202
    Points
    202
    Par défaut
    Salut!
    je regarderai tout ça dans mon prochain jeu.
    Pour l'instant, voici l'avancée de mon PV2000 : j'ai remplacé les SDL_Rect par des SDL_Surface*.

    Les graphismes sont old school. Ils sont faits avec un genre d'éditeur de sprites que j'ai programmé en c avec SDL2.

    C'est quand même l'éclate de programmer, ne serait-ce qu'un petit jeu comme celui là!


  10. #10
    Expert éminent sénior
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    6 805
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 6 805
    Points : 32 095
    Points
    32 095
    Par défaut
    Citation Envoyé par piponux Voir le message
    (.../...)C'est quand même l'éclate de programmer(.../...)
    Il est des noooootres, il a bu son code comme les auuuuutres!

  11. #11
    Membre actif

    Homme Profil pro
    autre
    Inscrit en
    Juillet 2015
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Juillet 2015
    Messages : 176
    Points : 202
    Points
    202
    Par défaut

  12. #12
    Membre actif

    Homme Profil pro
    autre
    Inscrit en
    Juillet 2015
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Juillet 2015
    Messages : 176
    Points : 202
    Points
    202

Discussions similaires

  1. Projet jeu RPG/moteur 3D isométrique avec SDL
    Par Milan111 dans le forum Projets
    Réponses: 4
    Dernier message: 13/04/2006, 22h01
  2. Comment faire un jeu en réseau avec J2ME ?
    Par Yakurena dans le forum Java ME
    Réponses: 1
    Dernier message: 27/03/2006, 19h09
  3. pb connexion sql server 2000 avec ODBC
    Par prophete3d dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 21/11/2005, 17h19
  4. Erreur de connexion à une BDD SQL Server 2000 avec BDE
    Par SchpatziBreizh dans le forum Bases de données
    Réponses: 3
    Dernier message: 17/06/2005, 11h22
  5. [VB6] Gestionnaire des tache de windows 2000 avec VB6
    Par Argonz dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 12/11/2002, 08h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo