Non, Hordegame V3 n’est pas arrété

Bonjour à tous,

Je me rend compte que je vous ai laissé sans message depuis un moment et je m’en excuse.

Autant le dire tout de suite la version 3 n’est pas prévu avant moment car je reprends tout encore une fois. Sauf que cette fois, je compte bien que ce soit la dernière fois que je reprenne l’ensemble du site. En effet, j’ai pris beaucoup de temps pour réfléchir à l’architecture de programmation et les différents outils que je vais utiliser.

Le but est aussi prévisionnel : j’ai pour objectif de monter une société une fois la version 3 sortie (et rentable forcement, sinon à quoi bon créer une entreprise pour qu’elle coule le lendemain…). Hors si tout se passe bien, il est possible dans le futur que j’embauche d’autres programmeurs, j’ai donc le désire de faire quelque chose de très clair et facile à prendre en main pour une personne extérieur au projet.

Pour information et pour les connaisseurs, voici sur quoi tournera Hordegame V3 :

  • Symfony2 (le meilleur framework php actuel, en gros un outil permettant de structurer le php pour mieux s’y retrouver).
  • PostgreSQL (un très très bon gestionnaire de base de données libre et gratuit)
  • Tokyo Cabinet (un outil de cache ultrarapide qui stocke en mémoire vive mais aussi sur disque)
  • Twig (outil permettant de gérer le visuel beaucoup plus facilement et proprement, en quelque sorte, les pages que vous voyez à l’écran)

Pour pouvoir travailler aisément, j’ai pris un deuxième serveur (le moins cher possible, à 15€/mois) qui me sert de plateforme de développement (je ne risque pas de casser le serveur principal). Il faut savoir que je suis depuis je suis rentré dans la vie active depuis 2 mois environ et que j’ai donc un revenue qui me permet de pérenniser Hordegame quoi qu’il arrive (je vais faire une école d’ingénieur par apprentissage avec donc un salaire chaque mois).

Je viens enfin de découvrir un programme génial que je vais surement acheter : PhpStorm. Celui-ci est ultra-complet et permet de développer en Php très aisement avec de nombreux outils et fonctionnalités. Je n’arrivais pas à trouver un programme qui comble toutes mes attentes, ce n’est donc plus le cas :) .:

 

Tout ça pour dire, que le développement redémarre doucement sur des bases solides qui ne devraient donc plus bouger.

 

Cordialement, Max

Refonte inscription

Bonjour,

Je travaille depuis un petit moment sur l’inscription et notamment à améliorer l’ergonomie. En effet, l’inscription est la porte d’entrée d’Hordegame, il faut donc éviter qu’elle repousse le visiteur pas sa complexité. C’est dans cette optique que j’ai développé une inscription en deux temps une partie pour la création peuple, une autre pour la création du joueur. Voici pour les screens :

Comme vous pouvez le voir, les informations de la race seront directement visibles dans l’inscription ce qui permettra de bien choisir sa race (ne pas tenir compte du texte). Enfin, il faudra valider la charte pour pouvoir s’inscrire.

 

Cordialement, Max

Sécurisation du nouveau serveur d’Hordegame

Bonjour à tous, cela fait un moment que je n’ai plus publié d’article et je m’en excuse. Comme toujours ma charge de travail est très variable et est souvent difficile à gérer à certaines périodes.

Même s’il n’y pas de nouveaux articles, cela ne veut pas dire qu’il n’y a pas d’améliorations, c’est simplement que je n’ai pas le temps de les mettre en forme :) .

Aujourd’hui, nous allons parler de la sécurisation du serveur. En effet, avec le changement récent de serveur, je n’avais pas eu le temps de me pencher sur l’un des points critiques de la gestion d’un serveur : la sécurité. Je vais la diviser en deux parties.

Sécurité des données

Un point que je tenais vraiment à mettre en place était la sauvegarde des bases de données. En effet, il y a encore quelques semaines, si l’on perdait les deux disques du serveur, on perdait absolument toutes les données… A vrai dire, ce n’était pas vraiment toutes les données mais plutôt celle d’un mois en arrière…

J’ai donc développé un script qui sauvegarde l’ensemble des bases de données en les transférant sur un serveur de stockage personnel.

Pour les connaisseurs, voici la démarche du script :

  1. On commence par lister le nom des bases de données à sauvegarder
  2. On récupère toutes les données de chaque base dans un fichier texte
  3. On compresse le tout au moyen de tar.gz (équivalent de zip)
  4. Puis enfin on transfert vers le serveur de stockage
  5. On supprime les fichiers temporaires (du point 2 et 3)

Si jamais une perte de la base survenait, il est dorénavant possible de revenir sur une base fonctionnelle datant d’au maximum 24 heures. En effet, le script est lancé automatiquement chaque nuit, ceci permettant de limiter la perte des données en cas de problème.

 

Sécurité du serveur

Le but est d’éviter que des pirates puissent s’introduire sur le serveur et causer toute sorte de problème dessus.

J’ai donc configuré le firewall (pare-feu)  du serveur pour que tout soit bloqué, excepté les services normaux. Le serveur aura donc moins de chance d’être la proie de pirate mal intentionné.

 

Cordialement, Max

Gestionnaire de synchronisation de fichiers gratuits

Bonjour, aujourd’hui je vais vous parler d’un sujet un peu particulier. En effet, cet article a pour but de vous présenter un logiciel très pratique que je viens de découvrir.

Ayant eu un nouvel ordinateur pour mes 20 ans, j’ai été confronté à un problématique de taille : comment faire pour travailler sur deux pc différents sans à avoir à garder tout le temps une clé usb avec les fichiers à jour par exemple. J’ai donc cherché un système qui permettrait de synchroniser facilement mes différents pc. J’avais  beaucoup attendu parlé de dropbox mais j’ai préféré faire un tour d’horizon pour voir ce qu’il se faisait dans la concurrence. Après plusieurs essais, j’en ai retenu un qui proposait toutes les fonctionnalités que je recherchais : synchronisation en direct, synchronisation de dossier, logiciel et site internet (très pratique lorsqu’on est pas sur son propre pc) intuitifs, utilisable sur smartphone android, un grand espace de stockage et gratuit.

J’ai retenu SugarSync pour les raisons suivantes :

  • Version gratuite à  5Go (avec possibilité de passer à une offre à 5$/mois pour 30Go si jamais le besoin s’en fais sentir)
  • Logiciel assez intuitif et propre. Chaque ordinateur s’ajoute au compte en précisant un nom et une image ce qui permet de bien repérer les fichiers de chacun.
  • Site web très intuitif avec autant de possibilités que le logiciel (voir même plus).
  • Possibilité de synchroniser des dossiers
  • Magic Briefcase : dossier à la dropbox, on dépose dedans et on peut le récupérer n’importe où.
  • Possibilité de récupérer les fichiers supprimés
  • D’autres options « Mobile photos » et « Web archive » que je n’ai pas encore utilisée :)
  • Disponibles sur de nombreuses plateforme : windows, mac, android, iphone, blackberry, etc…
  • Système de parrainage très sympathique (500 Mo pour le parrain et le filleul à chaque inscription, et plus si le filleul prend un version payante)

Au niveau des inconvénients j’en remarque deux principalement :

  • Pas de logiciel sous linux (mais un est en préparation : Linux client)
  • Pas de version française pour le moment (mais pas très grave vu le peu de texte)

 

Si vous voulez essayer, je vous invite à utiliser mon lien de parrainage SugarSync qui vous fera à gagner à vous comme à moi 500Mo (vous commencerez donc avec 5.5Go :) ).

 

Cordialement, Max

Un fossé entre la version 2 et la future version 3

Bonjour à tous, cette article est un peu spécial. En effet, il ne va pas traiter du développement ou des changements de la version 3 mais plutôt de l’évolution de mon niveau de programmation.

A vrai dire, je viens de regarder un peu comment été codée la version 2, et voici ma réaction : « Euh… c’est moi qui est codé ça ?! ».

J’ai vraiment été choqué, je pensais pas coder aussi mal à cette époque : c’est très très difficilement maintenable et c’est vraiment peu optimisé. D’un autre coté, c’est normal puisque c’est la raison pour laquelle j’ai voulu lancer la v3 : tout reprogrammer pour avoir quelque chose de propre et optimisé.

Ne croyez pas, que la version 2 est complètement nul, non loin de là. C’est simplement que corriger une erreur peut prendre un très long moment (voir même être quasi-incorrigible), et que pour le serveur c’est plutôt lourd. Pour vous prendre un exemple concret : alors que j’ai entièrement programmé la version 2, je ne sais même pas par où commencer pour comprendre l’édifice. C’est une sorte de gros bazar sans trop de logique. Imaginez si je devais un jour expliquer le fonctionnement à quelqu’un qui m’aiderait à programmer… Je suis donc certain aujourd’hui que la v3 est un très bonne chose, au delà de l’aspect utilisateur (interface et fonctionnalités), simplement pour le code.

Lorsque je regarde les différentes versions d’Hordegame, je me rends compte à chaque fois de l’évolution de mon niveau de programmation. D’ailleurs au passage, je dois dire que j’étais assez septique quand à l’enseignement dans mon IUT informatique, mais quand je vois mes améliorations (en grande partie dû notamment à l’IUT), je peux que réviser mon jugement. Ce qui est amusant, c’est qu’à chaque version, je pensais avoir la meilleur méthode et d’être quasiment au « top niveau », alors que c’était complètement faux :) . Ayant fait des études d’informatiques, je pense quand même maintenant aboutir à quelque chose de très stable, et optimisé. Je ne pense donc pas qu’une v4 voie le jour mais qui sait, peut-être qu’une solution encore meilleur sera disponible.

En résumé, le développement d’Hordegame a été et est une véritable mine d’expérience pour moi. J’ai pu énormément apprendre de mes erreurs et cela m’a permis de bien mieux comprendre ma formation à l’IUT (car j’avais déjà rencontré pas mal de problèmes et problématiques qui ont été abordés à l’IUT).

En plus de toutes les améliorations qu’apportera la version 3, elle reposera en prime sur un très solide socle qui sera donc beaucoup plus aisé pour moi de maintenir et d’améliorer.

 

Cordialement, Max

Révision en cours

Bonjour à tous, bien que je n’ai pas écris de news depuis un petit moment, ne vous inquiétez pas, la révision avance bien. C’est simplement que ce que les changements sont très abstrait pour les personnes ne programmant pas, sachez simplement que j’ai développé des techniques fortement sympathiques, qui permettront une forte optimisation ainsi qu’un codage très propre.

Cordialement, Max

Encore une révision de la base a prévoir?

Bonjour à tous, je vais encore une fois revoir la base d’Hordegame. Ne vous inquiétez pas, celle-ci devrait être plus rapide à développer que les précédentes

Par « revoir la base d’Hordegame », j’entends relire tous les fichiers un à un et les adapter à une nouvelle façon de programmation (qui en principe est plus propre, plus belle et plus rapide).

A votre niveau, vous ne verrez que très peu de changement, mais à mon niveau, c’est à chaque fois une grande amélioration. En effet, dès que par la suite il faut retoucher à quelque chose, je peux le faire bien plus facilement.

Pour les connaisseurs, je vais passer Hordegame sur le framework php codeIgniter. En effet, c’est l’un des plus léger et il est vraiment très pratique à utiliser. C’est exactement ce que je cherchais.

Les changements visibles à votre niveau :

  • des adresses plus explicites : les futurs adresses seront dans le style : http://v3.hordegame.com/forum/index par exemple au lieu de http://v3.hordegame.com/forum_index.php.
  • une rapidité d’exécution supérieur : je vais notamment changer la gestion de la base de données actuelle pour accélérer les traitements.

Rien n’est certain, mais je pense que ce devrait être la dernière refonte complète d’Hordegame ! En effet, la seule possibilité serait de passer sur un autre framework type Symphony mais ça m’étonnerait. C’est donc une très bonne nouvelle pour la suite.

En résumé, la sortie de la v3 se retrouve un peu plus éloignée mais c’est pour le bien de la version 3, pour avoir quelque chose de nickel chrome.

Cordialement, Max

Les changements des unités et de la partie combat

Bonjour à tous, je vais vous présentez toutes les nouveautés et les modifications qui vont concerner les unités de la version 3 ainsi que la gestion des combats.

Les objectifs principaux que je me suis fixé sont :

  • Le combat doit devenir beaucoup plus stratégique. Le gros problème de la version 2 est que les unités ont pour seule différence leurs caractéristiques d’attaque et défense. Ceci veut dire que la première unité de la caserne est produite au début du jeu, puis totalement délaissée sur la fin. C’est pourquoi on se retrouve dans les combats du haut de classement avec 2000 soldats d’élites contre 2000 soldats d’élites… Il n’y a absolument aucune diversité si ce n’est l’ajout de machines de guerre…
  • Le combat doit être optimisé, car c’est la partie qui monopolise le plus le serveur (notamment les combats de 2000 unités contre 2000 unités).
  • Les logiques des combats doivent être respectée : deux armées de même taille et de même puissance doivent avoir environ des pertes égales. En revanche, une armée de 1000 hommes doit écraser une armée de 50 unités par exemple (il ne doit pas rester une seule unité chez les défenseurs, ça parait logique).

Tous ces objectifs sont très simple à énumérer mais les réaliser est une toute autre affaire. Je pense cependant être sur une très bonne voie :D .

Voici donc les nouveautés/modifications :

  • Classement des unités en 4 catégories : T (unité à terre, produit par la caserne), M (unité montée, produit par l’écurie), S (machine de siège, produit par l’arsenal), et H (héros, produit par le château et l’école de magie).
  • Chaque unité a un bonus plus ou moins fort contre un autre type désigné : par exemple un archer aura un avantage contre les unités montées (M), alors qu’un guerrier aura un bonus contre les unités à terre (T). Ce bonus peut être plus ou moins fort selon l’unité en question et la race (on peut par exemple penser à une race avec de fortes spécialisations et donc un fort bonus contre un certain type d’unité).
  • Choix de qui va attaquer qui : il fallait trouver un moyen de donner une part semi-aléatoire de quelle catégorie chaque unité allait attaquer. Par exemple, on peut imaginer qu’un guerrier intelligent aura plus de chance d’attaquer une unité de la catégorie contre qui, il a le bonus, cela représentant le fait qu’il est spécialisé dans un domaine, il va donc essayer au mieux d’utiliser son avantage. Je pense notamment donner une sorte d’intelligence à chaque race : plus la race sera intelligente, plus elle aura de chance d’attaquer la catégorie contre qui elle est forte. Si on prend une intelligence de 0 (donc pas de bonus), on a 1/106 de chance d’attaquer un héros, 5/106 d’attaquer une machine de guerre, 50/106 d’attaquer une unité à terre, et 50/106 d’attaquer une unité montée. Si jamais on tombe sur une catégorie que l’armée d’en face n’a pas, on attaque la catégorie contre qui on a le bonus. Par exemple, un archer attaque, on tombe aléatoirement sur machine de siège mais l’ennemi n’en a pas. On va donc attaquer une unité montée puisque l’archer a un bonus contre. Si jamais, il n’y a pas d’unité montée, on prend la catégorie où il y a le plus d’unités.
  • L’introduction de la stratégie : Elle découle du point précédent. En effet, il va dorénavant falloir composer des armées composés de toutes les catégories si l’on désire avoir une armée efficace. Par exemple, prenons le cas d’une armée composée que d’unité à terre et de héros qui attaque le village. Si jamais le défenseur, met par exemple que des unités T6 (l’unité à terre qui a un bonus contre les héros). Sur une armée bien répartie (c’est à dire environ 50 unité à terre, 50 unité montée, 10 sièges, 5 héros par exemple), on aura seulement une chance sur 106 d’attaquer le héros. Hors dans le cas précédent, l’armée attaquante n’a pas d’unité montée. Cela veut donc dire que la chance d’attaquer un héros passe à 1 (chance normal) + 50 (chance de tomber sur unité montée) + 5 (chance de tomber sur une machine de siège) = 56/106 à la place de 1/106. En effet, si on tombe sur unité montée, on attaque la catégorie contre qui on a le bonus (ici héros). Il va donc falloir créer des armées assez homogènes, au moins en nombre d’unités à terre et montées.
  • Les éclaireurs prennent leur sens : on peut très bien imaginer envoyer des éclaireurs pour regarder la défense de l’ennemi et puis de lancer une attaque avec des unités qui ont un bonus contre elle. J’irais même plus loin en disant que si par exemple l’ennemi n’a que des archers (qui ont un bonus contre les unités montées), on enverra  que des guerriers (bonus contre unité à terre) qui auront donc un bonus mais en plus l’ennemi n’aura jamais de bonus (puis les guerriers sont des unités à terre et non montée).
  • Disparition des spécialités : ça ne va pas plaire à tout le monde, mais j’ai décidé de retirer les spécialités de la version 3. En effet, cela n’apportait rien de spécial au niveau de la stratégie et complexifiait le jeu inutilement.
  • Révision des prisonniers : je n’ai pas encore décidé exactement de leur utilité mais ce ne sera plus des unités combattantes comme avant. En effet, c’est assez illogique d’attaquer avec des prisonniers (qui auraient plutôt tendance en s’enfuir par exemple). Je pense plutôt qu’ils apporteront un bonus au niveau de la production de ressources ou alors au niveau de la vitesse de construction des bâtiments.
  • Révision des statuts : ils seront toujours au nombre de 3 : repos, défense, attaque. Cependant, on ne pourra plus mettre toutes ses unités en repos. En effet, le bastion ne pourra réellement garder au repos qu’un tiers de la limite qu’il impose actuellement. Par exemple, si le bastion permet de produire 1000 unités au maximum, la limite du repos sera de 333 hommes, le reste sera donc soit en défense, soit en attaque.

J’espère que vous aurez compris ce que j’ai voulu dire, et que c’est modifications vous plairont.

Cordialement, Max

Messagerie privée terminée !

Bonjour à tous, je suis heureux de vous annoncer que le messagerie privée est enfin fini :) .

Pour les améliorations en résumé :

  • la messagerie privée a été renommée ‘Vos missives’
  • les messages ont réorganisé en discussion : c’est exactement le même principe que les sujets du forum (vous avez des missives auxquelles l’auteur et le destinataire peuvent répondre autant de fois qu’ils veulent). L’avantage c’est que votre messagerie sera bien mieux structuré.
  • tout ce fait en direct sans à avoir à recharger la page (excepté pour voir les nouvelles missives, mais ce n’est pas un tchat non plus

J’espère que vous l’apprécierez,

Cordialement, Max

Du dynamisme coté messagerie

Bonjour à tous, ayant du temps libre ce week-end, j’en profite pour développer hordegame. Je travail actuellement sur la messagerie privée renommé pour l’occasion : Vos Missives.

Les nouveautés sont nombreuses, dont voici les principales :

  1. Les missives sont gérées en fil de discussion : une missive donne lieu à différentes réponses de la part de l’auteur et du destinataire. On aura donc toute l’arborescence du message sans avoir une armée de citation dans son message. Ceci apporte de nombreux avantages : beaucoup beaucoup moins lourd au niveau de la base de données (on ne recite plus tous les messages précédents, donc plus aucun message en doublon), les messages deviennent bien plus propre (puisqu’on a plus que le message réel et non tous les précédents), etc…
  2. Le fait de cliquer sur une missive affiche automatiquement la missive et ses réponses (remplaçant la liste des missives) sans rechargement de la page. Un bouton en haut permet alors de revenir en arrière (donc à la liste des missives) toujours sans recharger la page. De plus, le nombre de nouvelles missives (dans le menu) est tenu à jour lorsque l’on lis missive que l’on a pas encore lu (actuellement, dans la version 2, il faut changer de pages pour voir le changement, dans la nouvelle version tout est fait automatiquement :) ).

Vous l’aurez compris, je m’efforce de faire une gestion des missives la plus agréable possible. En effet, le fait de ne pas avoir à recharger la page fait gagner beaucoup de temps et évite les clignotements habituels entre les pages. De plus, tout est tenu à jour même sans recharger la page.

Je suis vraiment satisfait du résultat actuel, c’est vraiment sympa de se balader dans les missives sans avoir à attendre. De plus, ça l’air de rien, mais le fait de tenir à jour le nombre de missives encore à lire est très utile car sinon on n’a l’impression d’avoir encore des choses à lire alors que c’est faux.

D’ailleurs, je trouve que mon niveau en javascript et jquery (permettant de faire toutes les interactions sans avoir à recharger la page) a fortement augmenter ces derniers jours, et je vais donc l’intégrer à un maximum d’endroit pour la navigation soit la plus agréable possible pour vous :) .

Il me reste à gérer l’ajout de missives, l’ajout d’une réponse à une missive, et la suppression de missives mais le plus important vient d’être fait :D .

Cordialement, Max

Une petite news

Bonjour à tous, je vous ai encore laissé sans nouvelle pendant un petit mois et je m’en excuse. A vrai dire, je pensais avoir les vacances pour pouvoir avancer tranquillement Hordegame mais il se trouve que les projets ont empiété sur toutes mes vacances m’empêchant de développer HG. Ils sont enfin finis ! Bien-sûr d’autres arrivent mais ils seront bien moins conséquent que ceux là.

Je vais donc essayer de reprendre doucement le codage d’Hordegame bien que la charge de travail à mon IUT est toujours bien fourni.

Je tenais à vous prévenir pour que vous ne pensiez pas que j’avais arrêter le développement, c’est juste que je n’avais plus une seule minute à moi (à vrai dire mes vacances de noël se sont réduites aux seuls jours de fêtes, et encore j’ai travaillé aussi le 24 ^^).

La prochaine news devrait donc porter sur des améliorations.

Cordialement, Max

Plus de news depuis près de deux mois

Bonjour à tous, je tiens à m’excuser pour n’avoir rien publier depuis aussi longtemps mais j’ai énormément de travail en ce moment et je ne trouvais pas le temps pour publier les news (pour info, je sors tout juste d’un oral d’anglais, et j’ai un partiel demain matin ^^).

Bien  que je n’ai pas posté de news, j’ai quand même pas mal avancé la version 3, notamment au niveau de la surprise que vous pourrez découvrir lors la version béta sortira (date totalement impossible à prévoir, tout dépend de mon temps libre). Je suis d’ailleurs très satisfait de cette surprise, j’ai vraiment fait mon maximum pour qu’elle soit le mieux possible exploitée (j’en dis pas plus :p).

Les hordes ont aussi reçu quelques améliorations (voir les news concernant les hordes plus bas), et on peut notamment noter la réalisation de la page listant les hordes qui est extrêmement propre et que je vais finir de ce pas :) (en l’optimisant).

J’ai actuellement 2 projets scolaires en cours qui me prennent pas mal de temps (dont je suis en plus chef de projet ce qui n’arrange pas les choses). Tous les deux finiront fin décembre, je devrais donc mieux respirer après (bien que d’autres projets vont arriver ^^, mais il devrait plus facile).

Je vais tout de même essayer de passer un maximum de temps à avancer la version 3.

Cordialement, Max

Amélioration du bbcode

Bonjour à tous, juste un petit sujet pour vous annoncer une petite amélioration au niveau du bbcode de la v3 : les images nourriture, bois, pierre, fer, or, points HG et population ont été ajouté au bbcode et pourront donc être insérée facilement. Ces images ont été ajoutées en dessous des smileys.

D’ailleurs je tiens à préciser que je continue le développement de l’administration des hordes dans l’article dédié, maintenant un peu enterré pas les autres articles. N’hésitez pas à aller y jeter un oeil. Il en est de même pour « la révision de ce qui a déjà été codé ». J’édite le sujet en précisant la date à chaque fois ;) .

Enfin, pour ce qu’il l’aurait pas remarquer, j’ai ajouté un lien vers le document récapitulant les objectifs visés pour la v3 qui donne plus d’informations à l’article précédent.

Cordialement, Max

Des unités fondementalement différentes + recherche aide

Bonjour à tous, les unités de la version 3  n’auront plus rien à voir avec celle de la version 2. En effet, j’ai décidé de changer complètement le concept d’unité. Dans la version 2, la différence entre chaque unité résidait simplement au niveau de ses caractéristiques. Une fois qu’on était haut niveau, seul les soldats d’élites étaient créés. Dans la version 3, je cherche à entrer un dimension stratégique. Je m’explique : chaque unité aura des bonus contre d’autres types d’unités, ce qui rendra toutes les unités utiles. On peut par exemple imaginer que l’on espionne un village et découvre qu’il a fait une armée exclusivement de cavalerie. Voyant ça, on va donc créer une armée constitué essentiellement de lancier qui ont un bonus contre les unités montés. Mais il faudra aussi penser à sa défense puisque si on crée que des lanciers, un autre joueur pourrait très bien faire une armée d’archers très puissants contre les soldats au corps à corps.

Il faudra donc développer une armée équilibrée qui puisse faire face à un bon nombre de types d’ennemi.

De plus, les statuts en attente et en défense seront fusionnés. En effet, il parait logique que si nos unités sont stationnés dans notre base, elles vont aller défendre leur village au lieu de se tourner les pouces. Il sera d’ailleurs surement possible d’aller aider un village allié mais ce village devra entretenir vos unités.

D’ailleurs je pense que je vais intégré le facteur d’entretien des unités.

Comme vous pouvez le voir ça fait beaucoup de choses à prévoir, surtout qu’il existe 6 races et qu’elles se doivent d’être toutes différentes.

Je cherche donc une ou plusieurs personne(s) qui puisse m’aider à définir tout cet amas de données (comment sera calculé le coût d’entretien, définir une liste d’unités avec leur statistiques, définir les différents bonus selon leur type (archer, corps à corps, cavalerie, etc…), définir les productions, les stockages, et le coût des bâtiments, …).

Bien-sûr, cette ou ces personnes recevront de cadeaux de tailles variant selon l’aide qu’elles auront apportés.

N’hésitez pas à poster un message si vous vraiment intéressé car ça représente beaucoup beaucoup de boulot ;) .

[EDITION]

Au vue du nombre de demandes, je vous mets en ligne une première ébauche des objectifs de la version 3 : Format .docx(Microsoft Office)Format .odt (Open Office).

Ce document sera surement amélioré/corrigé dans les prochains jours.

Cordialement, Max

Connexion sécurisée

Bonjour, je croyais en avoir fini avec la connexion mais je me suis souvenu qu’il manquait une petit quelque chose d’absolument essentiel : la sécurisation complète de la connexion. En effet, une sécurité était déjà présente mais elle était très facilement contournable (il suffisait de fermer puis ré-ouvrir son navigateur pour lever la limite de maximum 5 erreurs de connexion toutes les 5 minutes).

La nouvelle sécurisation se fait ici sur les joueurs directement : par exemple, si on rate 5 connexions sur Thor (admettons que ce soit un pseudo), il faudra attendre 5 minutes pour pouvoir réessayer 5 nouvelles tentatives. Ce principe a été inauguré sur la version 2 pour protéger les comptes des personnes utilisant un bot qui teste tous les mots de passes possibles et inimaginables.

La ou cette connexion révolutionne, c’est qu’au lieu de bloquer complètement la connexion pendant 5 minutes, on demande de recopier un code de vérification comme lors de votre inscription. Ceci permettra donc de se connecter même si quelqu’un essaye désespérément d’hacker votre compte.

Je pense donc qu’il ne devrait plus y avoir de problèmes de vols de comptes (exceptés forcement pour les personnes donnant leur mot de passe…).

Cordialement, Max

Bannissement et connexion fonctionnel

Bonjour, comme je l’avais indiqué dans mes précédents articles, j’étais en train de revoir complètement la connexion. Celle-ci est maintenant de nouveau opérationnelle et est bien plus propre que la précédente. De plus, il me fallait deux informations pour vérifier si le joueur pouvait se connecter, à savoir :

  • S’il n’était pas en mode vacances
  • S’il n’était pas banni du site

J’ai donc dû m’atteler à la création de deux classes : la classe bannissement (voir précédent article) et la classe vacances (permettant de gérer le mode vacances et notamment ne pas pouvoir l’activer s’il on l’a déjà utilisé il y a moins de 7 jours).

De plus, pour pouvoir faire aisément les tests, j’ai décidé de coder la page administration des bannissements. Celle-ci est maintenant fonctionnelle et est très pratique à utiliser. J’en ai profité pour rajouter les verrous du chat et du forum lorsqu’on est banni de l’un ou de l’autre.

J’ai passé beaucoup de temps à coder tous ça car c’est beaucoup plus complexe qu’il n’y parait et je suis content d’avoir enfin pu le mettre en place :) .
Cordialement, Max

La classe bannissement terminée

Bonjour à tous, la classe des bannissements (elle permet de les gérer facilement) est maintenant terminé et opérationnel :) .

Contrairement à ce qu’on pourrait croire, elle a été très compliqué à coder. En effet, celle-ci gère le bannissement de 3 types différents :

  • le site complet (impossible de se connecter)
  • le forum (on ne peut plus poster sur le forum)
  • le chat (on ne peut plus poster sur le chat)

Je tiens à préciser que ce n’est pas encore mis en place, mais l’essentiel du travail est maintenant fait. Il ne reste plus qu’à insérer les vérifications au bon endroit.

D’ailleurs la prochaine chose que je vais faire je pense, c’est de créer la partie administration des gestions des bans, ainsi que celle de gestion des multi-comptes (en effet, une fois le multi-compte détecté il faut pouvoir sévir).

Par la suite je vais m’occuper de la gestion du mode vacances, et je pourrais enfin finir correctement la relecture de la classe connexion (celle qui permet de se connecter sur Hordegame).

Cordialement, Max

Nouvelle algorithme de détection des multis

Bonjour à tous, j’ai profité de ce dimanche que j’avais le cerveau reposé pour me lancer dans une (très) grosse réflexion nécessaire à la création d’un algorithme qui détecte automatiquement les multi. Honnêtement, je dois dire que quand j’ai enfin réussi à le faire marcher (après des heures et des heures de réflexions ainsi que de modifications) j’étais vraiment content ! Il faut dire que vu la complexité de la chose, ce n’était vraiment pas chose aisée. Surtout que je voulais un script de très haute qualité, qui donne un maximum d’infos.

Les modérateurs auront donc, une fois que j’aurais fais l’interface, un listing complet des multi-comptes classés par ip, donnant la liste des peuples concernés ainsi que le nombre de fois que celui-ci se connecte. Inutile de dire que j’ai voulu optimiser au maximum même si cette algorithme reste très lourd (il sera recalculé qu’une fois toutes les heures au minimum).

Enfin, pour éviter les problèmes où beaucoup de personnes se connectent sur la même connexion (famille importante, connexion partagée entre voisin, etc…), le nombre de mondes passera à 6 (il sera donc doublé).

Je pense donc avoir fait mon maximum au niveau de la gestion des multi-comptes et je pense qu’il ne devrait plus y avoir de problèmes dans la version 3.

PS : Toujours en cours de développement : Révision de la v3 en coursAdministration des hordes en développement

Cordialement, Max

(qui part se prendre un petit repos bien mérité ^^)

Révision de la v3 en cours

Bonjour comme je vous l’ai annoncé dans mon précédent article, je suis en train de revoir l’ensemble du codage que j’ai fais. En effet, on ne code jamais parfaitement dès le premier coup, c’est pour ça que je relis l’ensemble. Il faut quand même savoir que là ce n’est pas une réécriture, c’est juste des choses par-ci par-la qui ont besoin d’être améliorées ou modifiées.

Je vais surtout revoir l’ensemble des classes (c’est en quelque sorte une boite qui permet gérer facilement un objet. Par exemple la classe joueur me permet par la suite de récupérer facilement les informations d’un joueur, la liste de ses peuples, etc…).

Voici la liste des améliorations (celle-ci va évoluer au fil des jours ;) )

18/09/10

  • Classe Joueur : révision fini, forte optimisation, et simplification de son utilisation dans le code. Que du bon quoi :)
  • Classe Peuple : c’était long mais c’est enfin bon :) . Beaucoup beaucoup de modifications pour arriver à quelque chose de top ! (Optimisé et simplifié)
  • Classe Bâtiment révisée
  • Classe Préférences révisée (permet de gérer notamment les catégories que le joueur à cacher sur le forum, ainsi que le devenir visible/invisible du chat).
  • Classe Arme révisée (gère le développement des vos armes)

19/09/10

  • Inscription révisée avec notamment : acceptation des règles pour s’inscrire, message de bienvenue formulé en RP, message d’information présentant les principaux lien en haut. Ici je parle bien des missives (anciennement MP), ce ne sera plus dans les messages games (puisque ceux si sont réservés pour le peuple et non le joueur).

30/09/10

  • Classe Connexion entièrement revue, très fortement amélioré

2/10/10

  • Classe ressources fortement améliorée et corrigée : celle-ci gère vos ressources et vérifie notamment qu’elles sont normales (par exemple pas de ressource négative, pas de ressource qui dépasse la limite des entrepôt et grenier, etc…). Elle avait d’ailleurs un gros problème qui est maintenant réglé :) .

3/10/10

  • Classe ‘Message’ corrigé pour ne plus faire référence au joueur mais au peuple. En effet avant les messages de tous les peuples du joueur était regroupé. Pas pratique du tout pour savoir quel compte était concerné. Maintenant chaque peuple à ses propres messages.
  • Classe ‘Classement’ revue : l’algorithme qui calcul le classement des joueurs selon 4 critères vient d’être amélioré après avoir fais une série de test de rapidité de chaque script. Le gain de temps est d’environ 30% voir même 40% selon le cas! Donc que du bénef.
  • Le classement sera dorénavant mis à jour toutes les 15 minutes directement par le serveur ce qui allègera votre navigation (plus besoin de vérifier si le classement doit être actualisé, et plus de risque d’être bloqué lors de la mise à jour du classement).

7/10/10

  • Classe ‘Connectés’ : c’est elle qui permet de savoir qui est connecté en ce moment (la liste des joueurs et son nombre) ainsi que le nombre de visiteurs. C’est un algorithme qui est présent sur toutes les pages et qui se doit donc d’être allégé au maximum ce qui est maintenant fait avec brio (oui je me jette quelques fleurs :P ). Il devrait donc être bien plus rapide que le précédent.

Cordialement, Max

PS : Je continue aussi en parallèle le développement des hordes (voir notamment l’article Administration des hordes en développement)

Une révision de ce qui a déjà été codé

Bonjour à tous, une fois que j’aurais fini les hordes, je vais revoir le code dans son ensemble.

En effet, j’ai pris cette décision car je viens de remarquer les messages games se basent sur l’identifiant joueur et non celui du peuple. Le problème est donc que tous les messages de tous les peuples du joueur seront tous regroupés sur la page peuple, pas pratique de savoir à quel peuple le message est destiné.

Je vais donc changer pour que les messages games dépendent du peuple mais surtout je veux revoir l’ensemble des fichiers pour corriger toutes les petits trucs que j’ai laissé en suspend (par exemple je ne pouvais pas afficher le nom de la horde du peuple puisque je n’avais pas encore développer les hordes…). De plus, actuellement, lorsqu’on s’inscrit, la création du peuple se fait plus tard et n’est pas obligée. Je vais la rendre obligatoire excepté pour les pages accessibles aux non connectés. Ceci me permettra d’éviter des cas très embêtant, et très complexe à gérer. D’ailleurs ça ne sera que mieux pour la charge du serveur (moins de chose à calculer).

De plus, je vais en profiter pour rajouter plein de petites choses ici et là qui amélioreront l’ergonomie du jeu :) .

Cordialement, Max