Celà fait longtemps que je veux réaliser un jeu du royaume, c'est à dire un jeu où l'on gère un domaine quelconque (oui, c'est le nom originel de ce genre de jeux). Eh bon, après environ 25 ans, me voilà à l'ouvrage.

samedi 16 juin 2012

Mise à jour d'après examens

- Meilleur affichage des cases.
- Multi-joueurs en local.
- Affichage de la liste des constructions possibles dans les villes.
- Affichage approché de la population des villes sur la carte (option).


Changement de la formule du calcul de hauteur des cases (et autres éléments de terrain) :

var taille_case_vertical = (taille_case/2)+(taille_case/8);


La formule précédente était en fait fausse. Je l'avais donc mise en commentaires, et bien sûr il n'y avait donc plus de "height" dans le tag d'image, ce qui ralentissait évidemment le navigateur (quand on ne met pas les tags de taille, le navigateur doit le rechercher DANS le fichier d'image lui-même. C'est plus lent).


Il a aussi fallu que je redimensionne mes images, afin de les faire tomber toutes sur un compte juste, genre 320*200 pixels (rapport 1/6, en fait, car il faut compter la hauteur du sous-sol dans le lot).
Ça c'est lourd, mais c'est l'expérience qui rentre, et la preuve qu'il vaut mieux TOUT préparer lorsqu'on se lance dans un projet quelconque.


Autre amélioration, le jeu supporte à présent le multi-joueurs (en local. Comme je l'ai dit, je ne connais rien au multi par internet).
L'appui sur le bouton de passage de tour ne fait avancer au tour suivant que si tous les joueurs sont passés, sinon il fait simplement passer au joueur suivant.
Pour l'instant, chaque joueur (humain) peut tout faire.


Dans le panneau de ville, la liste des batiments s'affiche.


Toujours dans le panneau de ville, le nom des armées constructibles s'affiche (le combat est basé sur des armées composées de bataillons).


J'ignore si je l'avais déjà mis en place avant les examens, mais l'affichage de la population des villes sur la carte peut aussi se faire de manière approchée :

if (carte_ville_pop_type == 1) {var b = ville_population[a];} else {var b = Math.floor(Math.log(ville_population[a]/carte_ville_pop_desc[0])/Math.log(carte_ville_pop_desc[1]));}

La valeur approchée consiste, grosso-modo, à afficher la population non sous sa valeur exacte, mais avec un nombre symbolique (comme dans les "civilization"). J'utilise les logarithmes, pour ça.




1 commentaire: