Crunchez vos adresses URL
|
Rejoignez notre discord
|
Hébergez vos photos
Page 5 sur 6 PremièrePremière 123456 DernièreDernière
Affichage des résultats 121 à 150 sur 170
  1. #121
    Dernière mise à jour sur le site :
    Canard PC n°269 est en kiosque. Vous y trouverez la neuvième leçon, deuxième partie du cours sur le monde de jeu.

  2. #122
    Merci. Ca prend forme. On sent que c'est hyper modulable.
    ¯\_(シ)_/¯ ♫♪♪♫ .......d(oO)b....... ♫♪♪♫ ¯\_(ひ)_/¯

  3. #123
    C'est le but mais il y a encore du taf.

  4. #124
    Euh, question, depuis quelques temps j'ai changé d'ordi et je me retrouve avec windows 8. Mon dernier était un vista et j'avais pas de problème pour suivre le cours. Là, j'ai l'impression que Framework XNA 4.0 marche pô avec Win 8, ou alors ...

    PS: Si, j'ai trouvé un tuto en anglais, c'est juste plus chiant à installer.
    Dernière modification par Molina ; 04/02/2013 à 22h47.

  5. #125
    À propos de la dernière leçon, je tique un peu sur GetRandomDefinitionID. Du moins tel que cette méthode est décrite dans le magazine (je n’ai rien pour ouvrir un .7z et j’ai la flemme d’installer ce qu’il faut).

    Mon reproche c’est qu’il y a une probabilité non nulle que l’on ne trouve pas de définition valable, même s’il en existe une. De plus, le temps mis pour trouver une définition valide est aléatoire. Un jeu qui peut potentiellement freezer aléatoirement, je trouve ça un peu moche. Ok, la limite à 10000 limite le freeze mais cause un échec de la fonction, ce qui est pire. Cela implique aussi de concevoir le jeu de telle façon qu’il y ait une bonne chance de tomber sur une définition valide. Imagine qu’il n’y a qu’une définition valide parmis 10000. La probabilité d’échec est quand même super élevée (une sur deux à vue de nez). C’est une limitation arbitraire et c’est triste. D’une façon générale ce n’est vraiment pas une bonne pratique de choisir un élément aléatoirement de cette façon.

    Un algorithme raisonnable est le suivant.
    1) Filtrer les définitions valides (ou simplement considérer que les invalides ont une probabilité de 0).
    2) Compter la somme des poids de probabilité associés à chaque définition.
    3) Choisir un nombre aléatoire entre 0 et la somme de ces poids moins 1.
    4) Parcourir les définitions valides pour trouver celle qui correspond à notre choix.

    En pseudo-code ça donne ça :
    Code:
    - initialiser sum à 0
    - pour chaque définition D
       - si D est valide, ajouter le poids de D à sum
    - choisir un entier A entre 0 et sum-1
    - pour chaque définition D
        - si D est valide
            - si A est supérieur ou égal au poids de D
                - retrancher le poids de D à A et passer à la définition suivante
            - sinon, retourner D
        - sinon, passer à la définition suivante
    Par contre tu as choisi une autre notion que le « poids ». Il faut donc adapter les définitions. On doit pouvoir calculer le poids à partir de ton nombre entre 1 et 10 mais autant directement stocker le poids.

  6. #126
    Citation Envoyé par doomeer Voir le message
    À propos de la dernière leçon, je tique un peu sur GetRandomDefinitionID.
    En effet, ton algorithme est beaucoup mieux. J'ai vraiment écrit le mien à l'arrache entre deux papiers. J’inclurai ta modification (et tu seras crédité, of course) dans une prochaine leçon.

    ---------- Post added at 17h01 ---------- Previous post was at 15h02 ----------

    Dernière mise à jour sur le site :
    Canard PC n°270 est en kiosque. Vous y trouverez la dixième leçon, troisième partie du cours sur le monde de jeu.

  7. #127
    Je viens de lire la dixième leçon et j’avoue être assez curieux de voir comment tu comptes implémenter les intérieurs.

    Du coup je me mets à imaginer comment générer des intérieurs avec les contraintes suivantes :
    - être aléatoires (c’est un rogue-like après tout) ;
    - ne pas avoir d’endroit où on ne peut pas aller (quoique si plus tard on ajoute la possibilité de creuser, ce n’est pas obligatoire) ;
    - ne pas empêcher d’avoir un chemin entre l’entrée et la sortie-;
    - n’utilisant que des algorithmes simples, mais efficaces (c’est Développez Couché, après tout).
    Ça donne l’impression d’avoir besoin d’algorithmes sur les graphes. Va-t-on voir un Dijkstra dans Développez Couché ?

    Diantre, le suspense est insoutenable !

  8. #128
    Citation Envoyé par doomeer Voir le message
    Je viens de lire la dixième leçon et j’avoue être assez curieux de voir comment tu comptes implémenter les intérieurs.
    Tu vas être déçu. J'utilise une technique très... euh... sommaire, on va dire.

    Malheureusement, expliquer l'agorithme de Dijkstra en une page à des débutants était impossible.

  9. #129
    Je me disais bien qu’expliquer Dijkstra était un peu ambitieux Mais je reste curieux de ta voir ta technique sommaire, pour voir quel compromis tu as choisis. Même si c’est juste « faire un gros carré et puis voilà ».

  10. #130
    Dernière mise à jour sur le site :
    Canard PC n°271 est en kiosque. Vous y trouverez la onzième leçon, quatrième partie du cours sur le monde de jeu.

  11. #131
    Contrairement à ce que tu disais, je ne suis pas déçu : l’algo que tu as choisi est simple mais malin, il donne des bons résultats pour un prototype et ça c’est le genre de truc que j’apprécie Alors ok on peut faire bien mieux mais j’ai été agréablement surpris. Et tu donnes deux liens pour en savoir plus que j’irai lire avec plaisir !

    En fait depuis le début je trouve que tu fais de très bons choix au niveau du compromis expressivité / puissance. C’est dommage que y’ait pas plus d’animation sur ce fil, pour discuter d’alternatives potentielles à tes choix…

  12. #132
    A ce sujet:
    http://pcg.wikidot.com/pcg-algorithm:dungeon-generation

    Une mine d'or .
    Du coup je me tâte à réaliser un roguelike. Mais ca ne sera pas du C#.

  13. #133
    Dernière mise à jour sur le site :
    Canard PC n°272 est en kiosque. Vous y trouverez la douzième leçon, qui porte sur les objets et l'inventaire.

  14. #134
    Aaaaaah on va bientôt voir du LOOT ? Attention il est scientifiquement prouvé qu’à partir du moment où un jeu a du loot, on devient accroc et le développement ralenti fortement.

  15. #135
    Dernière mise à jour sur le site :
    Canard PC n°273 est en kiosque. Vous y trouverez la treizième leçon, première partie du cours sur le gameplay et les règles de jeu.

  16. #136
    Citation Envoyé par doomeer Voir le message
    Aaaaaah on va bientôt voir du LOOT ? Attention il est scientifiquement prouvé qu’à partir du moment où un jeu a du loot, on devient accroc et le développement ralenti fortement.
    Je croyais que c'était quand les gars du marketting prenaient le pouvoir.
    ¯\_(シ)_/¯ ♫♪♪♫ .......d(oO)b....... ♫♪♪♫ ¯\_(ひ)_/¯

  17. #137
    Je viens de terminer la saison 1, et j'ai trouvé ça plutôt facile, bien fait dans le sens où on écrit le code essentiel et on comprend bien ce que l'on fait.
    Du coup j'entame la saison 2, et là je suis très déçu: malgré mon passif en programmation (je me considère pas comme débutant complet disons), j'ai beaucoup de mal à suivre. J'en suis à la leçon de Noel (n°266 je crois), et je suis largué.

    La principale raison vient du fait que l'on ne code rien finalement, on se contente de lire ce qui a déjà été produit, et encore une infime partie, le gros du boulot étant fait par des classes qui ne sont pas détaillées et qui sont franchement incompréhensibles en l'état.

    Bref, je suis déçu parce que ça n'est plus du tout didactique, je serai complètement incapable de reprogrammer tout seul ne serait-ce que le moteur vidéo de la 2ème leçon alors que lors de la saison 1 j'étais capable de tout refaire tout seul ou presque.

    Après je comprends bien les limites imposées par la demi-page tous les 15j, certes, mais n'aurait-il pas fallu partir sur quelque chose d'un peu moins complet/modulable pour que ça soit plus accessible ? Moi qui pensait pouvoir utiliser cette base pour créer mon propre RL, je pense que ça ne sera pas possible.

    Désolé de refroidir l'ambiance ici, j'ai hésité à poster mais je suppose que je suis pas le seul dans ce cas là.

  18. #138
    Nan, tu n'es pas le seul, moi j'ai presque sombré complet, je n'ose même plus ouvrir les classes, même si j'ai remarqué que LFS avait commenté son code par endroit. La marche est haute entre la saison 1 et la saison 2.
    Si je suis motivé, je me prendrai plusieurs heures la tête entre les mains et j'essaierai de reprendre bien avant.

  19. #139
    Il y a toujours ce fil pour poser des questions si jamais

  20. #140
    Je vais regarder tout ça, je vous tiens au courant.

  21. #141
    Dernière mise à jour sur le site :
    Canard PC n°274 est en kiosque. Vous y trouverez la quatorzième leçon, deuxième partie du cours sur le gameplay et les règles de jeu.

  22. #142
    J'ai un soucis avec les potions de soin. Pas moyen de les consommer.
    A part ça toujours aussi sympa de retrouver cette rubrique. J'ai même tendance à me jeter dessus en premier.
    ¯\_(シ)_/¯ ♫♪♪♫ .......d(oO)b....... ♫♪♪♫ ¯\_(ひ)_/¯

  23. #143
    Citation Envoyé par Djinn42 Voir le message
    J'ai un soucis avec les potions de soin. Pas moyen de les consommer.
    Normal, ce n'est pas encore implémenté. C'est prévu pour une prochaine leçon.

    J'aime bien le mot "implémenter", il est tellement laid qu'il est beau.

  24. #144
    IMPORTURGENT :

    La rubrique "Développez Couché" du prochain numéro de Canard PC (enfin pas le prochain mais celui d'après, le n°276 daté du 15 mai 2013) sera entièrement consacrée à vos questions.
    Si quelque chose dans n'importe quelle leçon depuis le début de la saison vous a semblé difficile, peu clair, etc, dites-le moi ici (et le plus vite possible, date de bouclage oblige).

  25. #145
    Dernière mise à jour sur le site :
    Canard PC n°275 est en kiosque. Vous y trouverez la quinzième leçon, troisième partie du cours sur le gameplay et les règles de jeu.

  26. #146
    Salut Sébum.

    J'ai commencé a mater tes leçons très sympas, mais je n'ai pu m'empêcher de constater un bug/exploit:

    Quand tu ramasses un objet, tant que tu ne bouges pas, tu peux ramasser l'objet en n exemplaires.

    En effet, dans ton code (Entity_Players.cs, version 273-275), tu fais:
    Code:
    public bool Action_GetItem()
    ...
                        if (String.IsNullOrEmpty(Game.Player.Inventory[i]))
                        {
                            Audio.PlaySound("game\\pickup");
                            Game.Player.Inventory[i] = ((Entity_Item)e).DefID;
                            Game.BR.UI.AddConsoleLine("Objet ramassé : " + Game.BR.Univ.GetDefinition<D_Item>(((Entity_Item)e).DefID).Name, Color.White);
                            e.Destroy();
    
                            return true;
                        }
    Destroy devait t'assurer la "disparition" de l'objet de la case.
    Mais ca ne marche pas car ClearDestroyedEntities() (ou Game.EndPlayerTurn() qui l'appelle) ou autre n'est pas appelé pour enlever l'entité du tableau (comme c'est le cas pour les ennemis), le tour n'est pas "fini".


    Si on rajoute une ligne pour le supprimer, ca marche comme prévu à l'origine:
    Code:
                        if (String.IsNullOrEmpty(Game.Player.Inventory[i]))
                        {
                            Audio.PlaySound("game\\pickup");
                            Game.Player.Inventory[i] = ((Entity_Item)e).DefID;
                            Game.BR.UI.AddConsoleLine("Objet ramassé : " + Game.BR.Univ.GetDefinition<D_Item>(((Entity_Item)e).DefID).Name, Color.White);
                            Area.Entities.Remove(e);
                            e.Destroy();
    
                            return true;
                        }
    Note que je n'ai pas appelé Game.EndPlayerTurn(), car ça ferait avancer les ennemis. Et ClearDestroyedEntities() pour un seul objet qu'on connait, c'est ameuter les renards pour aboyer après que la caravane soit passée !


    Dans le métier du jeu, le débogage, c'est le plus important !

  27. #147
    C'est pas faux.

    Pour revenir au jeu j'ai quelques questions :
    1. Pour l'instant, un objet équipé est perdu quand on en équipe un autre, c'est bien ça ?
    2. Quand on se déplace le son est pénible, il faudrait lancer un grand concours de sons à intégrer dans le jeu (8bits ou pas). En tout cas, comme c'est le son qu'on entend le plus souvent dans le jeu il faudrait vraiment faire quelque chose.
    3. Peut-on en l'état gérer la rareté d'apparition des ennemis ? Je pense par exemple à intégrer une araignée "rare" qui droperait un objet "rare", ce genre de choses.
    4. J'ai souvent des alertes "Utilisatio processeur élevée" quand je lance BabelRogue. C'est pas vraiment une question, je sais.

    Beau boulot pour finir. On peut être fier de nous.
    Je me replonge dans les précédentes leçons histoire de voir si j'ai bien compris tout le code.
    Dernière modification par Djinn42 ; 03/05/2013 à 09h04.
    ¯\_(シ)_/¯ ♫♪♪♫ .......d(oO)b....... ♫♪♪♫ ¯\_(ひ)_/¯

  28. #148
    Citation Envoyé par Djinn42 Voir le message
    1. Pour l'instant, un objet équipé est perdu quand on en équipe un autre, c'est bien ça ?
    Non, il est remis dans l'inventaire dans le "slot" qu'occupait l'objet qui le remplace. Je viens de vérifier, ça marche.

    Citation Envoyé par Djinn42 Voir le message
    2. Quand on se déplace le son est pénible, il faudrait lancer un grand concours de sons à intégrer dans le jeu (8bits ou pas). En tout cas, comme c'est le son qu'on entend le plus souvent dans le jeu il faudrait vraiment faire quelque chose.
    C'est déjà fait : https://sites.google.com/site/develo...che/contribuer

    Citation Envoyé par Djinn42 Voir le message
    3. Peut-on en l'état gérer la rareté d'apparition des ennemis ? Je pense par exemple à intégrer une araignée "rare" qui droperait un objet "rare", ce genre de choses.
    Oui, en modifiant le paramètre "conditions.rarity" dans leur définition. Par contre les ennemis ne droppent rien pour le moment.

    Citation Envoyé par Djinn42 Voir le message
    4. J'ai souvent des alertes "Utilisatio processeur élevée" quand je lance BabelRogue. C'est pas vraiment une question, je sais.
    Bizarre.

  29. #149
    Dernière mise à jour sur le site :
    Canard PC n°276 est en kiosque. Vous y trouverez la seizième leçon qui porte sur la correction de bugs.

  30. #150
    Dernière mise à jour sur le site :
    Canard PC n°277 est en kiosque. Vous y trouverez la dix-septième leçon qui porte sur le contenu.

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •