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

Mathématiques Discussion :

Trouver un algo de calcul ?


Sujet :

Mathématiques

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Juin 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Trouver un algo de calcul ?
    Bonjour à tous !
    Je me permet de venir poster ici car j'ai un petit problème.
    J'ai d'abord cru que ça concernait les statistiques, et en particulier la régression non linéaire multiple avec la méthode des moindres carrés, mais en fait plus j'approfondis cette piste, et plus je pense qu'il s'agit d'algo.

    Evidemment, je n'en suis pas sûr alors excusez moi par avance si je me trompe d'endroit.

    Donc, mon problème...
    A la base je voulais faire une petite appli en php ou en utilisant la java AWT pour pouvoir bosser un peu pendant les vacances (j'ai finis mon IUT info).
    J'ai donc du chercher un sujet, et étant a) un geek et b) pas motivé par les cours, je me suis orienté vers un appli pour un jeux video.
    Je m'explique. Dans ce jeu, on crée des personnages, on leur monte leur compétences (19 compétences différentes, chaque a plus ou moins de points). A tout moment, on peut voir le "rang" de notre perso.
    Ce rang est calculé automatiquement par le jeu et varie en fonction de nos competence. Au debut on a pas beaucoup de points dans nos 19 compétences, donc notre rang est de 32 par exemple. A la fin, quand on a bien monté toutes nos 19 competences, on a un rang de 94 par exemple.

    Donc voilà, je pense que le jeu/les dev utilise une sorte d'algorithme et j'aimerais bien le trouver, ou au moins trouver une appoximation.

    genre : Rang = 19 + 3,5*compétenceA + 4,2*compétenceB etc...

    Enfin ça a l'air tendu, car je suis quasi sur que c'est pas linéaire, il y a de l'exp ou des racines...

    Qu'en pensez vous ?

  2. #2
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Citation Envoyé par carlitto666 Voir le message
    Qu'en pensez vous ?
    Que tu te casses bien la tête...

    Ce genre de niveau, que ce soit dans les jeux de rôle "papier", des RPG informatiques, ou quoi que ce soit d'autre, est basé sur une règle systématique et constante, qui est quasiment toujours expliquée en détail dans les règles du jeu. Dans les rares cas où ça ne l'est pas, c'est le plus souvent une progression linéaire ou un système plus ou moins aléatoire de gain de compétence.

    Par exemple, dans WoW, les gains de points de métier sont partiellement aléatoires : une réalisation ("craft") peut ne rien rapporter quoi qu'il arrive (niveau "gris"), rapporter rarement (niveau "vert"), rapporter souvent (niveau "jaune") ou à coup sûr (niveau "orange"). Cette distinction est clairement décrite dans la documentation du jeu.

    Le gain de niveau de personnage est linéaire par morceaux : dans la documentation, c'est décrit comme "il vous faudra de plus en plus d'expérience pour passer au niveau suivant". En pratique, on a donc une progression linéaire sur chaque niveau, la courbe finale étant en fait plutôt géométrique (il faut approximativement deux fois l'expérience nécessaire pour passer du niveau N-1 à N pour aller du niveau N à N+1 : u(n)=2*u(n-1), donc).

    En tout cas, il est plutôt rare que des fonctions mathématiques complexes soient à l'œuvre, et encore plus si c'est un jeu massivement multijoueur !! Dans 99% des cas, ce ne sont QUE des fonctions affines, bien plus rapides et moins gourmandes en temps CPU. Bref, des approximations linéaires, éventuellement "par morceaux" dans certains cas "complexes".



    Dans tous les cas : la documentation est ton amie si tu cherches à faire un reverse-engineering sur un jeu existant, ainsi bien sûr qu'une analyse réelle et précise des valeurs lors de l'évolution de ton personnage. Sans ces données, tu ne pourras de toutes façons rien faire, sauf si c'est une formule triviale (ex : somme des points de compétence).

    Si c'est pour inventer les tiennes, laisse faire ton imagination, mais le plus simple est souvent le plus efficace...

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Juin 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Tout d'abord, merci pour ta réponse.
    Ensuite, tu prends l'exemple de WoW qui utilise des formules simples. Cependant, justement WoW, pour les calculs d'arene (cote, gain, etc...), utilise des formules trés compliqués avec exponentielles, racines, fractions, etc...

    Enfin, je me suis mal fait comprendre

    Le jeu existe déjà, et la formule aussi. Je ne veux pas inventer une formule.
    Il n'y a aucune doc sur la formule, et les dev ne veulent pas la communiquer.
    Il me faut donc retrouver la formule, qui concerne 19 parametres (variables).
    Evidemment je peu créer des personnages en modifiant à chaque fois les 19 parametres pour voir ce que ça donne et ainsi établir des données statistiques en quelque sorte.
    Comme tu dis, c'est probablement assez linéaire. C'est pour cela que je voudrais utiliser une régression linéaire multiple. Même si la fonction n'est pas EXACTEMENT linéaire, je vais l'approximer à une fonction linéaire.

    Mon problème maintenant, c'est que je ne trouve pas de logiciel pour faire ça.
    A chaque fois j'ai une erreur, et j'ai essayé plusieurs logiciels.
    Les regressions linéaires multiples marchent avec 3 ou 4 paramètres, mais quand je met les 19, il me sort une erreur.

    Quelqu'un pour maider ?
    Thx

  4. #4
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Citation Envoyé par carlitto666 Voir le message
    Cependant, justement WoW, pour les calculs d'arene (cote, gain, etc...), utilise des formules trés compliqués avec exponentielles, racines, fractions, etc...
    Pas si complexes que ça, c'est juste qu'elles prennent en compte des centaines et centaines d'équipes... Cela reste "affine par morceaux", tes gains étant dépendants de l'écart de cote. Au final, cela parait complexe, mais ça ne l'est pas tant que ça.

    Citation Envoyé par carlitto666 Voir le message
    Comme tu dis, c'est probablement assez linéaire. C'est pour cela que je voudrais utiliser une régression linéaire multiple. Même si la fonction n'est pas EXACTEMENT linéaire, je vais l'approximer à une fonction linéaire.
    Si elle n'est pas exactement linéaire, tu passeras sur une fonction polynomiale, c'est pas très complexe à trouver en fait... Ce forum est un bon endroit pour ça, d'ailleurs.

    Citation Envoyé par carlitto666 Voir le message
    Mon problème maintenant, c'est que je ne trouve pas de logiciel pour faire ça.
    N'importe quel tableur (Excel ou OpenOffice) devrait être en mesure de t'aider sur ce bout de fonction, notamment via son module Solveur. Inutile de sortir l'engin de guerre (Matlab) pour ça, sauf si bien sûr tu as déjà accès à une licence légale Matlab. Sinon, direction (Open)Office, et ça devrait aller.
    Il te faudra bien sûr savoir poser correctement tes formules et données, mais là aussi, il y a un beau forum dédié à ces outils ici où tu pourras trouver l'aide de pros du tableur.


    EDIT : N'utilise pas les messages visiteur pour signaler tes réponses stp, ce n'est pas fait pour ça... Je suis abonné à toutes les discussions auxquelles je participe, je vois les réponses d'office.

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Juin 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Merci beaucoup pour ta réponse, et désolé pour le message privé.
    Je vais tenter ça, ça ne coûte rien d'essayer.
    Par contre j'y connais rien en tableur.
    Jvais fouiller sur le forum...

  6. #6
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Citation Envoyé par carlitto666 Voir le message
    Merci beaucoup pour ta réponse, et désolé pour le message privé.
    Ben justement, ce n'était pas un MP, mais un message visiteur...

    Citation Envoyé par carlitto666 Voir le message
    Par contre j'y connais rien en tableur.
    Jvais fouiller sur le forum...
    Il y a quelques tutos sur le forum, je crois... Le forum Office t'aidera aussi pas mal, je pense.

Discussions similaires

  1. Algo qui calcule une aire
    Par le_nardo dans le forum Algorithmes et structures de données
    Réponses: 36
    Dernier message: 25/08/2012, 15h57
  2. [String]Recherche algo pour calcul dimension
    Par GyZmoO dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 30/04/2008, 13h12
  3. Recherche algo pour calculer les n°AR
    Par Barbibulle dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 25/10/2007, 19h47
  4. graph, automate d'état finit, algo de calcul du langage .
    Par Clad3 dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 13/04/2005, 18h01
  5. Algo de calcul de FFT
    Par djlex03 dans le forum Traitement du signal
    Réponses: 15
    Dernier message: 02/08/2002, 18h45

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