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 :

remake BARBARIAN avec la SDL


Sujet :

SDL

  1. #1
    Membre habitué Avatar de barbarian.1987
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2012
    Messages : 41
    Points : 131
    Points
    131
    Par défaut remake BARBARIAN avec la SDL
    hello
    il y a 4 ans déja j'avais crée sur ce forum un sujet sur mon remake de Barbarian, ce fameux jeu de 1987 :
    http://www.developpez.net/forums/d12...c/#post7978914
    j'avais utilisé le compileur basic qb64 pour faire ceci.
    depuis ce temps là j'avais idée de faire le jeu C pour plus de portablilité.
    je ne souhaitais pas refaire de a à z le moteur de jeu, j'ai decidé plutot de le "traduire" et c'est chose faite.
    après un rapide portage des codes en HTML5 que j'avais trouvé super pratique comme transition entre les deux langages,
    http://www.developpez.net/forums/d15...jeu-barbarian/
    j'ai enfin reussi à faire tourner le moteur de jeu en C avec la librairie SDL 1.2
    j'ai un bien galéré comme beaucoup de personne j'ai l'impression à installer les librairies SDL_image et SDL_ttf jusqu'à ce que je télécharge sur votre site
    le géniallissime template pour codeblocks avec tout pré-installé, et qui m'a epargné un bon mal de crâne !!!
    http://jeux.developpez.com/telecharg...ur-Code-Blocks
    depuis, la conversion du code avance bien.
    voici une vidéo qui vous montre les premiers debuts du moteur de jeu :

    la vidéo est saccadée à cause de camstudio qui a eu du mal à filmer en plein ecran. le jeu est bien plus fluide heureusement
    depuis cette vidéo, le jeu a bien avancé, les sprites passent derrière les arbres, etc...
    je crée ce sujet pour vous demander de temps en temps quelques conseils comme par exemple comment faire l'effet miroir aux sprites, jouer des sons, etc...
    j'espere que mes travaux sur ce jeu que j'affectionne depuis le college vous plairont et que vous aurez du temps pour m'aider à finir le projet.
    @+
    françois

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 860
    Points : 219 062
    Points
    219 062
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    Super votre nouveau projet sur ... Barbarian (comme toujours)
    Pour jouer des sons, c'est plutôt facile, avec la SDL. Il suffit d'ajouter la bibliotèque SDL_mixer et d'utiliser trois/quatre fonctions et le tour est joué.
    Pour le miroir, je tenterai de blit une surface avec des valeurs négatives pour les width ou height mais je doute que cela fonctionne. Sinon, faire le miroir à la main, ou encore dans un logiciel de dessin et de le rajoute dans le spritesheet.

    Note : vous devriez séparer votre code dans plusieurs fichiers, pour mieux l'organiser et vous y retrouver.
    Note 2 : Content que le template de projet vous ai servi.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Membre habitué Avatar de barbarian.1987
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2012
    Messages : 41
    Points : 131
    Points
    131
    Par défaut
    merci !
    et oui, encore barbarian
    en effet, ce template m'a bien depanné !!
    depuis hier soir, je suis arrivé à faire l'effet miroir, en ajoutant la librairie sdl-gfx et sa fonction rotozoomXY bien pratique
    j'ai fait ceci quand j'ai besoin d'inverser l'imageA :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
                        SDL_Surface * imageAflip = NULL;               
                        imageAflip = rotozoomSurfaceXY(imageA, 0 , -1 ,1 , 0); // surface, angle,zoomx, zoomy, lissage
                        SDL_BlitSurface(imageAflip , NULL, ecran, &position);
                        SDL_FreeSurface(imageAflip);
    voici un premiere ebauche du jeu :
    https://www.dropbox.com/s/bfa4id9qhi...anSDL.zip?dl=0
    il manque encore les sons et quelques details.
    si jamais j'ai des soucis avec sdl_mixer, je pourrais vous demander de l'aide ?
    si oui, merci d'avance
    a bientot pour une prochaine etape du jeu : ecrire les scores et le chronometre

  4. #4
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    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 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Le souci de la sdl-gfx , c'est que c'est une lib très très lente ,surtout que ce que tu fait ralenti encore plus l’affichage par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SDL_Surface * imageAflip = NULL;               
                        imageAflip = rotozoomSurfaceXY(imageA, 0 , -1 ,1 , 0); // surface, angle,zoomx, zoomy, lissage
                        SDL_BlitSurface(imageAflip , NULL, ecran, &position);
                        SDL_FreeSurface(imageAflip);
    Il y'a du malloc , et 2 copie de tableau.
    Bon de nos jours c'est pas un souci , mais si tu es sur un PC un peu ancien ça peut ralentir pas mal.

  5. #5
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 860
    Points : 219 062
    Points
    219 062
    Billets dans le blog
    120
    Par défaut
    Pas de problème pour la demande d'aide sur SDL-mixer. C'est fait pour ça le forum
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  6. #6
    Membre habitué Avatar de barbarian.1987
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2012
    Messages : 41
    Points : 131
    Points
    131
    Par défaut
    dans l'exemple que j'ai donné, je déclare la surface imageAflip pour que ça soit plus parlant, et si quelqu'un veut se servir du code.
    je ne declare pas cette variable à chaque loop evidemment
    pour un petit jeu comme barbarian, je ne vois pas de ralentissement avec la librairie sdl_gfx. faudra que j'essaye sur un vieux pc

    sinon, le jeu est presque fini, j'ai rajouté les scores et le chronometre. je commence à mieux aprehender les fonctions de la sdl, ça fait moins peur
    il ne manque plus que les sons. peut etre ce weekend
    @+

  7. #7
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 075
    Points : 7 980
    Points
    7 980
    Par défaut
    Génial, j'ai joué des heures à Barbarian sur Amstrad ^^
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  8. #8
    Membre habitué Avatar de barbarian.1987
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2012
    Messages : 41
    Points : 131
    Points
    131
    Par défaut
    merci !
    moi aussi j'ai joué à ce jeu sur amstrad et d'ailleurs c'est d'ailleurs la version que je prefere !

    je viens de finir le portage . voici le lien :
    https://www.dropbox.com/s/bfa4id9qhi...anSDL.zip?dl=0

    dans le zip j'ai mis la source main.c et toutes les ressources
    si d'autres personnes veulent se faire les autres versions, ou le porter sur d'autres supports (mac,linux...) c'est fait pour ça ! (mais à but non lucratif)

    finalement mettre les sons avec sdl_mixer a été assez simple. je suis content de moi, le jeu est exactement comme je voulais, et je n'aurais mis que quinze jours à le faire (a temps perdu)
    mission accomplie

  9. #9
    Membre habitué Avatar de barbarian.1987
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2012
    Messages : 41
    Points : 131
    Points
    131
    Par défaut
    hello
    je remonte le sujet car un bug est apparu quand on fait tourner le jeu sous linux :
    la canal alpha des sprites disparait quand la fonction rotozommXY les retourne !
    du coup, j'ai enlevé le canal aplha des sprites .png et bizarrement rotozoom ne les retournait fonctionnait plus.??
    j'ai donc transformé les .png en .bmp + couleur blanche transparente et là ça marche.
    il ne manque plus qu'à tester sur linux pour savoir si je met à jour une nouvelle version avec des sprites en .bmp compatible linux

    si jamais quelqu'un ici veut compiler ce jeu sous mac, pour savoir s'il y a le meme probleme avec rotozoom, ça serait sympa
    @+

Discussions similaires

  1. Problème avec la sdl sur devc++
    Par cuicuicui dans le forum SDL
    Réponses: 3
    Dernier message: 07/08/2006, 13h04
  2. Error LNK2019 avec la SDL 1.2.9
    Par dude666 dans le forum MFC
    Réponses: 1
    Dernier message: 09/02/2006, 09h12
  3. probléme avec la sdl et c++
    Par wikers dans le forum OpenGL
    Réponses: 1
    Dernier message: 10/11/2004, 19h02
  4. Problème avec lib SDL
    Par Info-Rital dans le forum Linux
    Réponses: 8
    Dernier message: 02/07/2004, 20h59
  5. chargement de texture avec la SDL
    Par Fry dans le forum OpenGL
    Réponses: 7
    Dernier message: 27/05/2004, 15h31

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