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

Projets Discussion :

Back to roots


Sujet :

Projets

  1. #21
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par LittleWhite Voir le message
    Le forum est là pour ça, et je suis toujours très interessé par vos projets, vu que je trouve le code magnifique . ( Tient, d'ailleurs, d'après un de vos message sur un autre post, j'ai un doute sur le fait que vous vérifié les pointeurs )
    Généralement, j'ai les tests en place, mais c'est vrai que je ne teste pas tous les pointeurs partout.


    Info du jour:

    Hier, j'ai bouger beaucoup de code pour justement faire un truc plus "propre". Par exemple, le code du déplacement des NPC avec celui du groupe est fusionné pour réduire la duplication du code.

    Ensuite, j'ai ajouté le fait qu'on peut prendre deux ou trois mouvement pour aller dans les collines ou dans une forêt, etc. C'était un des "features" du jeu... Cela permettait aux ennemis de vous rattraper par exemple.

    J'ai aussi ajouté le "passe", qui correspond à : l'utilisateur ne veut pas bouger mais veut que le reste du monde bouge. Pareil, identique au jeu original :-)

    Jc

  2. #22
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Vraiment pas beaucoup de temps ce soir, donc j'ai juste mis en place le premier magasin :-)

    Nom : Screenshot-Back to roots --- Version: 1.6.jpg
Affichages : 103
Taille : 94,2 Ko

    Bien sûr, on ne peut pas encore dialoguer on acheter quoi que ce soit, mais comme d'habitude, les vendeurs sont animés et bougent tous seuls ;-)
    Jc

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


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    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 859
    Points : 218 580
    Points
    218 580
    Billets dans le blog
    120
    Par défaut
    Peut-on voler ? ( Zelda spirit )
    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.

  4. #24
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par LittleWhite Voir le message
    Peut-on voler ? ( Zelda spirit )
    Pas encore, quoi que dans l'original il y avait un vendeur aveugle... ;-)

    Petit update du code, on a maintenant le début du système texte qui apparait, avec un ajout, un fichier NPC est donné par :

    #Name
    Guard
    #Look text
    You see a mean looking guard
    #Sprite
    data/guard_sprite.txt
    Où on peut définir pas mal de choses. Bientôt : comment gérer un magasin !

    Par contre, j'ai ajouté dans le code la gestion du Talk et du Look, bien que Talk ne fait encore rien, il est capable de voir s'y a quelqu'un. Pareil pour Look, s'il y a un personnage, il affiche le texte du fichier configuration.

    Je vous laisse l'image :-)
    Nom : Screenshot-Back to roots --- Version: 1.7-1.jpg
Affichages : 98
Taille : 94,0 Ko

    Petite mise-à-jour des informations:
    Fichiers cpp: 23
    Fichiers h: 23
    Fichiers de configuration : 10
    Nombre de lignes : 3756 (2244 effectifs)

    :-)
    Jc

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


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    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 859
    Points : 218 580
    Points
    218 580
    Billets dans le blog
    120
    Par défaut
    Où on peut définir pas mal de choses. Bientôt : comment gérer un magasin !
    Ressortez vos bouquins d'éco :aie;

    Le texte est fait avec la SDL_TTF en utilisant une police système ( ou fichier dans le projet ) ?

    Je me demandais, n'est t'il pas interessant de faire une police bitmap, et de l'afficher sans SDL_TTF ( et hop on enlève ce truc du projet ). Ok, peut être beaucoup de complication pour rien.

    Sinon, peut on voir ( ou avoir ) une explication du code pour afficher le texte, ou devrais je mieux aller dans le code source ( j'ai pas peur ).

    Finalement, quel est la résolution du jeu?
    Est elle statique?
    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. #26
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par LittleWhite Voir le message
    Le texte est fait avec la SDL_TTF en utilisant une police système ( ou fichier dans le projet ) ?
    Non, je triche encore, j'utilise GLUT pour le moment. Je passerai à:

    Je me demandais, n'est t'il pas interessant de faire une police bitmap, et de l'afficher sans SDL_TTF ( et hop on enlève ce truc du projet ). Ok, peut être beaucoup de complication pour rien.
    Voilà, je vais passer à un truc comme ca plus tard.

    Sinon, peut on voir ( ou avoir ) une explication du code pour afficher le texte, ou devrais je mieux aller dans le code source ( j'ai pas peur ).
    Je triche en utilisant Glut donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
      52 void TextRenderer::renderBitmapString(float r, float g, float b, float a, float x, float y, void *font, char *string) {
       53     char *c;
       54 
       55     glDisable (GL_ALPHA_TEST);
       56     glDisable (GL_TEXTURE_2D);
       57 
       58     glColor3f (r, g, b);
       59 
       60     glRasterPos2f(x, y);
       61     for (c=string; *c != '\0'; c++) {
       62         glutBitmapCharacter(font, *c);
       63     }
       64 
       65     (void) a;
       66 }
    , quand j'aurai le temps, je passerai le tout à un système plus maléable.

    Finalement, quel est la résolution du jeu?
    Est elle statique?
    J'ai mis 1024 * 800. Pour le moment, elle est statique mais avec OpenGL, ca ne sera pas difficile à changer.

    Jc

  7. #27
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Potentiellement des choses à changer ici. Mais nous avons un fichier de configuration pour un NPC marchand.

    Bien sûr, le nom et ce qu'on voit lorsqu'on fait look :

    #Name of the NPC
    Merchant
    #Look text
    You see a seemingly nice merchant
    Ensuite la sprite et le type:

    #Sprite of the seller
    data/seller_sprite.txt
    #First we have the type of NPC
    merchant
    Ensuite le texte, avec les commentaires, ca devrait être assez clair :

    #First we have the text: For each line, we start with a number that says if yes or no he continues to talk
    #Welcoming text
    1 Welcome sir to my shop! I hope you'll find what you need
    #What happens when we say good bye
    0 Good bye sir! Please come again!
    #What happens when we say something he does not know about
    1 I'm sorry, I don't quite follow
    #Then we have the various textual options
    #First how many:
    4
    #Each line contains the user command + if the answer is text/buying/selling
    1 0 JOB # Well, I sell what I can for my family
    1 0 FAMILY # That's a bit private, no?
    1 0 BUY # Here are the weapons we have available:
    1 0 SELL # We buy the following weapons
    Enfin, ce qu'il vend et ce qu'il achéte :
    #How many things does this merchant have to sell ?
    3
    #Now we have what this merchant sells and a index factor of how expensive
    1 Sword
    2 Short sword
    2 Long sword
    #How many things does this merchant buy?
    3
    #Finally we have what this merchant buys and the index factor of how little he buys it for
    2 Sword
    1 Short sword
    1 Long sword
    Je pense que c'est assez maléable pour les besoins du jeu. Il fonctionnait comme ca donc ca devrait le faire.

    :-)

    Jc

  8. #28
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 021
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 021
    Points : 2 278
    Points
    2 278
    Par défaut
    Sympa le projet
    Bonne continuation.
    Vive les roues en pierre

  9. #29
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par Djakisback Voir le message
    Sympa le projet
    Bonne continuation.
    , on verra jusqu'où cela me mène mais pour le moment, ca avance bien ! :-)

    Jc

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


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    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 859
    Points : 218 580
    Points
    218 580
    Billets dans le blog
    120
    Par défaut
    , on verra jusqu'où cela me mène mais pour le moment, ca avance bien ! :-)
    Ça mène jusqu'à un jeu, parce que là, je regarde pas le sujet pour rien, j'ai l'intention de jouer. ( Comme la tortue qui faisait du moonwalk ( le tout avec une louche ) )

    Utilisez vous SDL ... hum, de mémoire oui, pour le chargement des textures. Ça fait un peu bizarre votre truc. OpenGL pour le graphisme / SDL pour les textures / GLUT pour le texte.
    Qui ouvre la fenêtre? ( non je ne demande pas à passer par la fenêtre )

    Intéressante gestion du marchand ( Je viens d'apprendre qu'ils achetaient des choses )
    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.

  11. #31
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 27
    Points : 12
    Points
    12
    Par défaut
    -
    Ouais... c'est vrai ça on a envie de jouer , ça traine !!!!

    Suiland ...
    -

  12. #32
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par LittleWhite Voir le message
    Ça mène jusqu'à un jeu, parce que là, je regarde pas le sujet pour rien, j'ai l'intention de jouer. ( Comme la tortue qui faisait du moonwalk ( le tout avec une louche ) )
    Haha, ben je vais faire de mon mieux :-)

    Utilisez vous SDL ... hum, de mémoire oui, pour le chargement des textures. Ça fait un peu bizarre votre truc. OpenGL pour le graphisme / SDL pour les textures / GLUT pour le texte.
    Le combo SDL + OpenGL est un classique. Ensuite, SDL pour charger les images dans OpenGL est encore un classique...

    Glut + OpenGL pour le texte est classique.

    Mais comme dit, je vais changer cela quand le projet sera plus mature.

    Qui ouvre la fenêtre? ( non je ne demande pas à passer par la fenêtre )
    SDL l'ouvre pour OpenGL, SDL gére les événements, etc.

    Intéressante gestion du marchand ( Je viens d'apprendre qu'ils achetaient des choses )
    Hehe oui. Faut que je peaufine cette partie.

    Citation Envoyé par Suiland
    Ouais... c'est vrai ça on a envie de jouer , ça traine !!!!
    Va falloir être patient. Je suis tout seul et je fais ca le soir ;-)


    Petite mise à jour :

    Je viens de terminer une première passe des discussion avec une bonne petite gestion de l'affichage, gestion du clavier. Le NPC dit bonjour, attend que l'utilisateur pose une question et répond. Ensuite, si on dit bye, il quitte.

    Nom : Screenshot-Back to roots --- Version: 1.8.jpg
Affichages : 79
Taille : 97,6 Ko

    Je dois maintenant gérer comment il gére les questions des utilisateurs et on pourra déjà dialoguer un peu avec les NPC :-)

    Jc

  13. #33
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Bon, j'ai avancé un peu avant le weekend :

    - Gestion des dialogues maintenant :-)

    - On peut poser des questions et avoir des réponses comme le montre ces deux images :-)

    Nom : Screenshot-Back to roots --- Version: 1.8.jpg
Affichages : 92
Taille : 96,0 Ko
    Nom : Screenshot-Back to roots --- Version: 1.8-1.jpg
Affichages : 93
Taille : 96,4 Ko


    Maintenant, je vais travailler sur la classe groupe pour pouvoir gérer les achats et les ventes d'un commercant ;-)

    Jc

  14. #34
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Après avoir passé 1~2 heure(s) à tenter de faire du PHP pour un autre projet, je suis revenu là pour ajouter : du path finding pour qu'on puisse avoir des ennemis qui nous courent après, ou juste un personnage qui nous suit pour X raison.

    Chose faite !

    Inspiré de : http://www.policyalmanac.org/games/aStarTutorial.htm

    Ce post présentera rapidement comment cela s'intégre dans le code. Premièrement, nous avons une nouveauté dans les fichiers de configuration des sprites :
    #How do they move (0: dontmove, 1:move randomly, 2:move to group always, 3:move to group sometimes
    #If move to group, then the next line contains the vision distance
    #If move to group sometimes and a percentage of chance of following
    3
    5
    90
    Je pense que les commentaires sont assez clairs. Du coup, dans le code de mouvement d'un objet, j'ai ajouté le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
        //If direction is not 0, then we already chose
        if (direction == 0)
        {
            /* The decision on the direction really depends what this object does... */
            switch (moveState)
            {
                case MOVE_TO_GROUP_ALWAYS:
                case MOVE_TO_GROUP_SOMETIMES:
                    //Either we move to group always or we check the percentage
                    if (moveState == MOVE_TO_GROUP_ALWAYS || (rand () % 100 < percentageMoveToGroup))
                    {
                        int groupI, groupJ;
                        if (canSenseGroup (group, groupI, groupJ))
                        {
                            direction = PathFinder::findPath (map, maxI, maxJ, i, j, groupI, groupJ);
     
                            //If not random, then break, otherwise FALL THROUGH
                            if (direction != HANDLE_RANDOM)
                                break;
                        }
                        //Did not find group, move randomly
                    }
     
                    //FALL THROUGH !
                case MOVE_RANDOMLY:
                    direction = rand () % 10;
                    break;
                default:
                    /* Takes care of case DONT_MOVE too */
                    return HANDLE_PASS;
            }
        }
    Ce qui bien sûr se traduit par on va parfois (si parfois est ce que l'on cherche à faire) avoir un appel à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     if (canSenseGroup (group, groupI, groupJ))
                        {
                            direction = PathFinder::findPath (map, maxI, maxJ, i, j, groupI, groupJ);
     
                            //If not random, then break, otherwise FALL THROUGH
                            if (direction != HANDLE_RANDOM)
                                break;
                        }
    canSenseGroup vérifie que la distance entre le NPC et le groupe est plus petit que ce qui est donné par le fichier de configuration.

    findPath permet de faire tourner l'algorithme.

    L'algorithme est relativement facile et tourne sur moins de 300 lignes de code.

    L'idée de l'algorithme est de faire une recherche pour trouver un chemin vers le groupe. On part d'une liste de positions encore à regarder, on a une liste de position qu'on a déjà visité, et on continue tant que : on a trouvé la destination, on n'a plus de positions possibles.

    Chaque élément de la liste a un élément nommé F qui est le coût de cette position. F est donné par :

    F = G + H où G est le coût depuis le départ et H est le coût vers la destination.
    H est un heuristique puisque nous ne connaissons pas cette distance mais on utilise la distance en vol d'oiseau.

    Voilà le code en pseudo-code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    listeActive = depart;
     
    tant que listeActive n'est pas vide
       minElement = trouver le minimum F dans la liste active
     
       Si ce F est > 4 * distance depart/fin
          On sort de la boucle
     
       Si minElement est l'arrivée
          On sort de la boucle
     
        On enleve minElement de listeActive
        On ajoute minElement a listeParcouru
     
        On ajoute toutes les cases possibles à listeActive sous les conditions suivantes:
           - Si cette case est déjà dans listeParcouru, on ne l'ajoute pas
           - Si cette case est déjà dans listeActive, on met simplement à jour G si nécessaire
     
    Ensuite, une fois qu'on a fini, on remonte le chemin inverse pour trouver vers quelle case il faut aller.
    Les éléments d'une liste contiennent en fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
            int i,j;  //Position
     
            int f,g,h; //F = G + H, G -> distance du départ, H -> supposition distance vers la fin
     
            PathFinderList *parent;  //Qui m'a mené ici
            PathFinderList *next;    //Prochain de la liste

    J'ai ajouté :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
       Si ce F est > 4 * distance depart/fin
          On sort de la boucle
    afin de ne pas chercher des chemins trop compliqués.

    Ensuite, j'ai ajouté la gestion de collision et tout le reste. Vous trouverez le code dans les fichiers PathFinder.cpp.

    Enfin, j'ai ajouté un nouveau NPC au jeu, nommé follower. Voici une image de ce qu'il raconte après avoir suivi une bonne partie de la map :
    Nom : Screenshot-Back to roots --- Version: 1.8-2.jpg
Affichages : 93
Taille : 98,9 Ko
    Nom : Screenshot-Back to roots --- Version: 1.8-3.jpg
Affichages : 82
Taille : 104,8 Ko

    Maintenant, je peux continuer la gestion des magasins ;-)
    Jc

  15. #35
    Futur Membre du Club
    Inscrit en
    Mai 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 17
    Points : 6
    Points
    6
    Par défaut
    Ca me fais penser à Heroes of Might and Magic, j'espère que tu persévéra dans ton intention et que je pourra y jouer ;-)

    Si je peux donner un conseil, essaye de faire le jeu 'jouable' puis passe du temps pour que d'autres gens (par exemple toi quand t'as oublié comment ça marchait ) puisse rajouter des maps, dialogues, quêtes, items etc.

    Bon courage, c'est vraiment une excellent idée de faire un jeu comme ça !

    Valmond

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


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    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 859
    Points : 218 580
    Points
    218 580
    Billets dans le blog
    120
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    case MOVE_RANDOMLY:
                    direction = rand () % 10;
                    break;
    Bon, je tombe dans un cas particuliers, mais je n'aime que les cas particuliers.
    Si la direction choisi est une case d'eau, le perso ne va pas bouger, car dans la fonction de mouvement, il ne pourra pas bouger.
    Mais, si cela tombe toujours sur une case d'eau ( fonction aléatoire cassée ( srand manquant ) ) alors le perso ne bouge jamais.
    Mieux vaut t'il pas généré toujours une possibilité d'une liste de mouvement possible ?
    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.

  17. #37
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par Valmond Voir le message
    Ca me fais penser à Heroes of Might and Magic, j'espère que tu persévéra dans ton intention et que je pourra y jouer ;-)
    Moi aussi, mais ca a l'air bien parti ;-)

    Si je peux donner un conseil, essaye de faire le jeu 'jouable' puis passe du temps pour que d'autres gens (par exemple toi quand t'as oublié comment ça marchait ) puisse rajouter des maps, dialogues, quêtes, items etc.
    Oui, c'est ce que je fais. Pour le moment, je ne bosse pas sur vraiment peaufiner les fichiers de configuration. Seulement pour que cela fonctionne et que ca tourne...

    Plus tard, ces fichiers vont sûrement disparaître et un éditeur de jeu permettra de tout automatiser. Mais j'attend d'avoir un pseudo-moteur complet.

    Jc

  18. #38
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par LittleWhite Voir le message
    Bon, je tombe dans un cas particuliers, mais je n'aime que les cas particuliers.
    Si la direction choisi est une case d'eau, le perso ne va pas bouger, car dans la fonction de mouvement, il ne pourra pas bouger.
    Mais, si cela tombe toujours sur une case d'eau ( fonction aléatoire cassée ( srand manquant ) ) alors le perso ne bouge jamais.
    Mieux vaut t'il pas généré toujours une possibilité d'une liste de mouvement possible ?
    1) srand manquant ne veut pas dire que rand retourne le même entier, seulement que le programme utilisera toujours la même génération de nombres ;-) (d'ailleurs c'est ce que je fais ici pour le moment)

    2) Oui il est possible que le NPC reste coincé longtemps, tel est le but. Je ne veux pas "forcer" un mouvement, ils peuvent rester coincer ou rester dans un coin, ca me va et cela ne me "choque" pas plus que ca ;-)

    3) On verra après avec les tests si cela pose des soucis ;-)

    (Je viens de dépasser les 5000 lignes de code !)
    Jc

  19. #39
    Membre éclairé
    Avatar de Gregouar
    Profil pro
    Chercheur en mathématiques
    Inscrit en
    Décembre 2007
    Messages
    246
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur en mathématiques

    Informations forums :
    Inscription : Décembre 2007
    Messages : 246
    Points : 899
    Points
    899
    Par défaut
    Au niveau des dialogues, tu penses ajouter une commande "help" qui permettrait d'avoir la liste des choses qu'on peut dire ?
    Et limite, tu laisses certaines en cachées, comme pour des mots de passe ou autre.

    Sinon, très bon travail. C'est très intéressant de voir comment tu gère tout.
    Holyspirit : Hack'n'Slash amateur gratuit !

    www.holyspirit.fr

  20. #40
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par Gregouar Voir le message
    Au niveau des dialogues, tu penses ajouter une commande "help" qui permettrait d'avoir la liste des choses qu'on peut dire ?
    Et limite, tu laisses certaines en cachées, comme pour des mots de passe ou autre.

    Sinon, très bon travail. C'est très intéressant de voir comment tu gère tout.
    Je ne me souviens plus trop comment le jeu de base faisait. Mais en fait, tu pouvais toujours faire :

    name
    job
    help
    et ensuite, dépendant des réponses, tu pouvais sauter sur une autre réponse etc.

    Donc je pense que je vais faire pareil, lorsque j'aurai une mini demo, je ferais un petit bouquin sur le jeu, etc.

    Il me faudra d'abord un bon petit scenario car je pense que je ne vais pas refaire le jeu entièrement... J'ai une idée mais on verra quand le moteur sera plus en place :-).
    Jc

Discussions similaires

  1. [phpMyAdmin] [phpMyAdmin] Problème mot de passe Root !
    Par StouffR dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 7
    Dernier message: 26/09/2014, 11h59
  2. IDE vs programmation "roots" ?
    Par yoloosis dans le forum Débats sur le développement - Le Best Of
    Réponses: 44
    Dernier message: 27/01/2005, 00h37
  3. Comment change l'utilisateur root de mysql?
    Par silvermoon dans le forum Installation
    Réponses: 3
    Dernier message: 29/10/2003, 11h25
  4. probleme identification et mot de passe root
    Par freums dans le forum Débuter
    Réponses: 5
    Dernier message: 19/09/2003, 17h09
  5. Password root perdu !!
    Par Va(l)ve dans le forum Administration système
    Réponses: 8
    Dernier message: 18/08/2003, 22h24

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