Version 0.44 Anniversaire : 05/01/05 |
|
Version 0.43 Anniversaire : 05/01/04 |
|
Version 0.41 : 15/10/03 |
|
Version 0.40 : 27/09/03 |
|
Version 0.36 : 02/04/03 |
|
Version 0.35b : 16/03/03 |
|
Version 0.35a instable : 11/02/03 |
|
Version 0.34 instable : 09/12/02 |
* Nouveautés - La sélection multiple sert enfin à quelque chose : par exemple les unités sélectionnées se déplacent ou attaquent maintenant en coeur et intelligemment. Je n'aurais pas imaginé que j'aurais autant de mal à l'implémenter, ça a été affreux bien que ça ait l'air stupide... Le fichier Selection remanié centralise maintenant une bonne partie de la gestion des unités. Attention, le déplacement multiple est toujours instable, ne vous en servez pas trop avant la prochaine maj ! - Possibilité de mettre en faction les unités, ce qui servira beaucoup par la suite. - Possibilité de cliquer sur la Minicarte pour effectuer une action (par exemple pour envoyer son scout explorer de l'autre côté de la carte). - Nouveaux bâtiments avec beaux graphismes (merci à TATMF qui s'est déchiré) : la Centrale, l'UsineLegere, l'UsineAerienne, l'Habitation, le CentreRecherche (les trois derniers ne servent à rien pour le moment), la DCA (les graphismes pour le Port sont aussi prêts, mais vu que l'eau n'est pas prête...). Séparation de l'attaque au sol et en l'air en conséquence. - Le code source fait maintenant 360 Ko pour 135 fichiers. - Ajout des fichiers AFaire.txt et Programmation.txt. * Améliorations - La StationMiniere change de graphismes, les anciens servent maintenant au CentreRecherche. - Le Generateur change aussi de graphismes. - Curseurs et flèches au sol retouchés. - L'affichage du Menu est maintenant toujours appelé par RafraichirMenu, permet de rassembler les fonctions intelligentes à plusieurs unités. - Les SurAffichages sont recalculés à chaque image pour simplifier et éviter les problèmes de raffraichissement. * Corrections - Les unités ne peuvent plus tirer sur elles-mêmes. - AvancerVers(coord,-1) foirait, l'unité avançait sur place une fois arrivée. - Quelques corrections pour l'élément ATTAQUER du menu. - Possibilité de tirer sur les Connecteur, ne marchait pas. - Comme les Centrales, le CentreCommandement produit maintenant 6 d'électricité et non 4. - Corrections de quelques détails après le rafraîchissement de seulement la partie left de FenetreJeu. - N'Affichage plus les animations en dehors du champ de vision, pour l'instant c'était pas très important. |
Version 0.31 : 09/11/02 |
- Correction d'un problème de couleurs, ça foirait quand l'utilisateur n'était pas déjà en 32 bits. - Découverte étonnante : c'est le texte qui fait ramer l'affichage, pas seulement la MiniCarte... Je ne rafraîchis la partie left du jeu qu'une fois par seconde, énorme accélération (ne se voit que sur les ordis un peu limites). - Correction d'un bug dans les timers initialisés longtemps avant de servir, ce qui explique pourquoi le défilement était parfois trop rapide. - Au début d'un tour, rafraîchit correctement le menu de l'unité sélectionnée. - Le curseur de la première unité sélectionnée clignote (servira pour les actions multiples). |
Version 0.30 : 07/11/02 |
- Remplacement de DiretX par OpenGL, en prévision de mon passage sous Linux : comme ça, le code source sera quasiment immédiatement portable (merci à Jeff Molofee pour ses tutoriaux). Le portage a quand même été plus long que prévu, principalement parce que la fonction glDessinePixels s'est révélée monstrueusement lente (30 fps sur mon ordi, c'est dire) : en effet, la limitation de bande passante ralentit tout lorsque les données sont en RAM. Finalement, je charge tout dans des textures dans la mémoire vidéo (occupation : 18 Mo), mais je dois leur donner des tailles en puissances de deux. Pour le portage sous Linux, mon disque dur où je l'avais installé est mort (vive les 60GXP), ce sera donc pour plus tard. - Principal avantage d'OpenGL : 256 niveaux de transparence, contre 1 seul pour DirectDraw. Relissage des graphismes en conséquence et ajout d'ombres, les textes de ZoneTerrain disparaissent petit à petit maintenant. - Au lieu qu'il y ait un seul fichier exe contenant les graphismes, ceux-ci sont maintenant à part dans des TGA compressés (décompresseur maison), ce qui fait passer les ressources de 8,3 à 2,8 Mo. Prochaine étape dès que j'en aurai le courage : stocker dans des PNG, beaucoup mieux compressés, et rassembler toutes les ressources en un seul fichier. A faire : Affichager une image d'intro pendant que les images sont chargées, ce qui n'est plus du tout immédiat. - J'ai par contre dû faire toute la gestion du texte à la main (calcul de taille, centrage, retour à la ligne, etc avec des listes d'OpenGL), vu que je ne peux plus me servir des fonctions GDI de Windows. Pareil pour les cercles, qui sont maintenant des polygones, moins beaux qu'avant mais j'y peux rien... - Deux nouveaux bâtiments : le générateur électrique et le radar, tous deux animés. - Correction de plusieurs bugs, dont : plantage de LibereJeu ; FinTour ne s'exécutait que pour la première équipe ; les SurAffichages disparaissaient quand le Sondeur bougeait tout seul ; le GrosConstructeur se retrouvait avec des réserves négatives. |
Version 0.27 : 24/09/02 |
- Gestion des animations asynchrones ! En gros, je peux rajouter (et je l'ai fait) n'importe quelle animation comme l'explosion d'un bâtiment, les missiles tirés, les véhicules qui se déplacent case par case, sans que ça empêche le reste de tourner. Attend quand même que les déplacements soient finis pour passer au tour suivant. - Encore deux corrections dans la gestion des curseurs. - Nouvel algorithme plus intelligent pour le déplacement du sondeur. - Plein d'autres détails plus intelligents : par exemple, quand on dit à une unité d'attaquer et qu'elle est trop loin, elle commence par se rapprocher à la distance nécessaire. - Pas mal de remaniements de fond dans le déplacement (rajout de l'argument distance), l'attaque (gérée principalement par la classe Combat maintenant), et la gestion des événements (liste). - Ne plante plus quand on détruit une unité sélectionnée par l'autre joueur. - Je me suis bien documenté : prochaine mise à jour, U.M.A.X. 0.30 en remplaçant DirectDraw par Direct3D ! |
Version 0.26 : 25/07/02 |
- Les objets de plusieurs cases (comme bâtiments 2x2) sont maintenant dessinés case par case, ne cachant plus le sondage. - Nouveau bâtiment 2x2 capable des construire des unités : UsineLourde. - Réorganisation des ressources (probabilités différentes), maintenant le CentreCommandement mine aussi. - Dans Menu, séparation de ANNULER et RETOUR, rajout de SOUS_TENSION. - Gestion de l'attaque. - Nouveaux graphismes pour le tank, l'ancien servira de 'super tank'. - Gestion des reliefs, d'autres variétés ajoutées au Terrain. - La sélection se conserve d'un tour sur l'autre. Quelques autres corrections (principalement avec les connecteurs) dans la gestion de la sélection, des pointeurs et de l'attaque. - La mémoire est bien désallouée quand on ferme l'application de force (merci Sly de t'être dévoué...). - Réécriture presque intégrale de la gestion des BlocBatiment, trop trop trop trop, mais alors trop relou et très long. Maintenant, quand vous rajoutez ou supprimez des batiments, les usines électriques s'allument et s'éteignent intelligemment, les gains et l'utilisation des différentes ressources sont mis à jour sans erreurs, etc. - On peut choisir l'emplacement de la construction avec un GrosConstructeur. - Modification (police, durée, raffraichissement) de l'affichage des messages sur ZoneTerrain. - Le code source est maintenant disponible sur FLâneries ! |
Version 0.25 : 07/06/02 |
- Gestion de l'affichage des messages sur le ZoneTerrain (déjà utilisé avec DEBUT_TOUR, RESSOURCES_INSUFFISANTES, PAS_DE_CHEMIN, UNITES_VIDES, UNITES_PLEINES). - avanverVers et avancerVersDestination renvoient maintenant un EDeplacement. - Quelques corrections dans la gestion du Menu. Chaque case du Menu a une propriété 'cout' affichée pour centraliser la récupération d'informations. - Rassemblement en blocs des ressources sur le Terrain. - getCaracteristiques est maintenant une propriété des Objets (avec héritage). - Les Batiments ont aussi une procédure finTour (toujours avec héritage). - Nouveaux bâtiments 1x1, stockage de minerai, de carburant et d'or, avec de jolis graphismes et des jauges qui indiquent le niveau de remplissage. - Nouveau bâtiment 2x2 (toujours avec des jolis graphismes) : la Station Minière, capable de miner ! Gestion de la construction des bâtiments 2x2 par le gros constructeur gérée de manière simpliste pour l'instant. - Les ressources ne se perdent plus lors de la reconstruction des blocs. - Les caractéristiques des unités ont été copiées sur celles de M.A.X., que j'ai réinstallé sur un vieux dur à la maison (et joué une interminaaaaaaaaaaaable partie avec mon frère), chaque unité nécessite maintenant une certaine quantité de minerai et un certain nombre de tours pour sa construction. - Toutes ces modifications ont été écrites pendant ma semaine de vacances, sans pouvoir tester, et il ne m'a fallut qu'une heure de corrections une fois rentré à Brest pour pouvoir le compiler : je suis tout heureux :-) - Rapatriement de Ddutil et dxutil dans mon répertoire afin de les personnaliser. - Gestion du transfert des ressources (nouvelle Fenetre, 4 nouveaux Boutons et le Remplissage définis en conséquence). - On peut retirer les bâtiments, création de FenetreQuestion pour la confirmation. - Les boutons du Menu sont remplacés par des dessins de TATMF. - Le fond du terrain est remplacé par un fond de TATMF rougeâtre, les connecteurs sont plus petits afin de ne plus masquer les unités en dessous. |
Version 0.21 : 03/05/02 |
- Suppression du menu de débogage et du clic droit pour coller des objets : maintenant, la gestion du menu est bien avancée (inspirée de celle de Starcraft) et dépend de l'unité sélectionnée (ajouteBoutons avec héritage), le clic droit et le curseur s'adapatent à plus de situations. - Chaque équipe part maintenant d'un coin du terrain, avec un Centre de Commandement entouré de routes, de connecteurs et d'un véhicule de chaque type. - Nouvelles fonctions tourSuivant pour tous les Objets et finTour pour les Unites. - Nouveau bâtiment : la Tourelle à Canon. - Nouveaux véhicules avec des beaux dessins : le Scout (le Lance-Roquette récupère les graphismes de l'ancien Scout) et le Petit Constructeur, qui est capable de constuire des Connecteurs, des Routes (corrigées d'ailleurs, gérées par le Terrain et plus par les équipes) et des Canons ! - Nouveau bouton Tour Suivant, fait tourner les équipes. - Le Sondeur peut sonder automatiquement. |
Version 0.20 : 23/04/02 |
- Grâce à un agréable voisin de TGV, j'ai compris d'où venaient mes problèmes avec les classes ! - Nouveaux graphismes semi-définitifs pour le menu de départ et l'interface du jeu. - Nouvelle surcharge de la fonction DessineSprite et de CImage pour Affichager des sprites déformées. - Gestion du déplacement des véhicules ! - Gestion de la sélection multiple d'unités en une passe, quelques modifications des procédures des ObjetGDI nécessaires. - Ajout d'une Etiquette aux éléments du Menu. - Surcharge des opérateurs pour SRect et SCoord, suppression de DecaleSRect et AjouteSCoord en conséquence. - Refonte de Graphiques.cpp avec getSurfaceInfo et modification des appels aux BMP. - J'ai trouvé enfin comment déboguer le programme : je le lance en mode fenêtre, ce n'était qu'une ligne à changer... - Mise de mettreSurCase et retireDeCase dans les sous-classes, l'encombrement est maintenant une propriété de CObjet, plus une fonction virtuelle. - Enfin un joli Readme en html, mise en forme aussi appliquée à ce fichier-ci. |
Version 0.14 : 05/04/02 |
- Accélération de l'affichage avec GetHDC et LibereHDC (je me suis rendu compte du problème quand je suis descendu à 1,5 fps en modifiant la minicarte, d'ailleurs le problème n'est toujours pas complètement résolu). J'essaye de tout transformer au maximum en images pour Affichager plus vite. - La carte et la Minicarte Affichagent différement les zones visibles, non-visibles et les zones non-visitées. La MiniCarte s'adapte à la taille et aux proportions du terrain. - Brouillard un peu plus potable. - Boutons pour régler l'affichage utilisant la nouvelle classe Coche (comme Bouton mais ne se relâche pas quand on relâche, comme une case à cocher). - Nouvelle image animée de TATMF pour les connecteurs, qui en plus se connectent maintenant ! - Nouveau bâtiment, le centre de commandement, ça m'a obligé à corriger quelques procédures qui n'avaient pas encore été testées avec des unités 2x2. - Nouvelle unité avec beaux dessins, le sondeur, le bouton sondage Affichage effectivement les résultats (le sondage est aussi affiché si un sondeur est sélectionné). - Menu pour la construction d'unités, on peut en sélectionner une et la coller sur le terrain avec un clic droit (histoire de pouvoir tester). - Nouveaux curseurs animés par TATMF. - Quelques corrections dans la sélection d'unités. - Séparation de EquipeEnCours et EquipeAffichage en prévision d'une IA en parallèle dans le futur. - Je sais que ça va s'empirer, mais je commence à ma noyer dans tous mes fichiers sources (77 fichiers, 160 Ko), j'ai donc réorganisé le projet en jolis répertoires. |
Version 0.13 : 31/03/02 |
- Listes des caractéristiques des véhicules et des bâtiments initiales et dans chaque équipe, remaniement des paramètres des différents constructeurs en conséquence. - Affichage du brouillard (point rouge) après correction pour les connecteurs. - Gestion personnalisée des touches qui peuvent rester enfoncées (directions, control, maj). - Gestion personnalisée du temps avec des timers, appliquée aux fps et aux défilements du terrain. - Gestion de la sélection multiple d'unités, entoure de blanc les unités sélectionnées ; séparation du fichier Selection. - Affichage de la portée et de la vue de chaque unité de combat sélectionnée ; affichage des couleurs de l'équipe. - Les points sur la Minicarte dépendent de la taille du terrain (par exemple, vu que la Minicarte fait 200 de large, des unités sur un terrain de 100 de large seront représentés par deux pixels de large). - Tests et corrections pour plusieurs équipes. - Nouvelles unités avec les dessins de TATMF : le scout et le tank (j'ai dû séparer UniteAttaque en deux, l'héritage multiple ne peut pas marcher dans ce cas) ; le gros constructeur a aussi des beaux dessins. - Finalement remplacé les VERIFIE par des assert, m'évite de devoir tenir une liste de numéro des erreurs. - Affichage ou non des informations de débogage avec F12, de la vision, de la portée et des couleurs avec F1, F2 et F3 (en attendant les boutons). |
Version 0.12 : 08/03/02 |
- Petit problème de disque dur, j'ai dû tout réinstaller, je viens de remettre Visual Studio. - Le fps faisait planter si l'ordi était trop rapide. - Correction de la gestion de la MiniCarte. - Les fenêtres d'erreur ne se centraient pas, contrairement à ce qui était annoncé. - Les couvertures et les connecteurs (donc les bâtiments et leurs blocs !!!) fonctionnent, on peut cliquer avec le bouton droit pour poser-retirer des connecteurs. - Liste des noms des unités dans Langue.h. - Gestion de la vision des unités et du brouillard de guerre, même si j'ai désactivé son affichage pour l'instant par manque de sprite correct. - Nouvelles image avec tous les curseurs, encore plus moches qu'avant ! Ils changent quand on passe sur certains objets. |
Version 0.11 : 22/02/02 |
- Deux semaines de vacances devant moi, histoire de reprendre et de bien avancer le projet (a posteriori, j'ai plutôt bourriné sur FLâneries). - Terminé la programmation de la plupart des fonctions de base des classes mères (comme par ex. la gestion complète des blocs de bâtiments !). - Avancement de l'interface : nouvelles classes CZoneCaracteristiques et CMiniCarte, listes et fonctions UniteSelectionnee et CaseSuraffichage. - Possibilité de faire défiler avec la souris. - Un clic sur une case sélectionne une unité (mais bon, on ne peut pas encore savoir si ça marche, évidemment...). - Affichage du fps en bas à right en mode DEBUG. - Le source dépasse les 100 Ko pour 52 fichiers... |
Version 0.10 : 05/02/02 |
- Après la mise au point globale de l'interface, je peux enfin commencer la programmation d'un jeu de stratégie ! - Début d'implémentation de différentes classes de bases (pas encore de spécifiques). - Remise en page des en-têtes de classes. - Quelques détails d'interface : nouveau bouton OK, moche mais remplace le bouton Quitter disproportionné ; les petites fenêtres se centrent au démarrage ; message d'erreur pas dans fenêtre Windows, elle apparaissait parfois en arrière-plan. |
Version 0.05 : 30/01/02 |
- Je m'y remets difficilement, je suis en pleine partie de programmation ingrate. - Création des procédures d'initialisation du jeu, maintenant ça se lance et ça Affichage le terrain ! - Possibilité de faire défiler le terrain, mais c'est la répétition par défaut de Windows, pas terrible et une seule direction à la fois. Sera amélioré. - Chaque fenêtre est maintenant une classe dérivée de CFenetre. Plus lourd car répétitions mais plus simple à continuer. |
Version 0.04 : 20/01/02 |
- Nouvelles classes Terrain, ZoneTerrain, BlocBatiment. - Création des variables globales permettant de gérer le jeu, l'affichage. |
Version 0.03 : 17/01/02 |
- L'interface du jeu est divisée en 4 bouts, histoire de pouvoir rajouter de la transparence par la suite. - Ecriture à la main de la fonction GetTexteTaille, la fenêtre erreur a maintenant la taille du texte affiché, qui peut être sur plusieurs lignes. - Chaque bouton du menu de départ ouvre une fenêtre d'erreur. - Rajouter un graffiti pour distinguer les boutons enfoncés des autres. - Correction de la gestion de l'ObjetGDI en cours, par ex. les boutons ne se relâchaient pas correctement. - Rajout des fonctions de maniement de registre que j'ai programmées pour Noc-Nod. |
Version 0.02 : 13/01/02 |
- J'ai inséré des VERIFIE là où nécessaire. - Les fenêtres sont maintenant toutes en mode exlusif, ça simplifie quand même bien le source. - Je n'avance pas trop, je suis en train de bourriner City Hunter. |
Version 0.01 : 05/01/02 |
- J'ai à peu près fini la programmation de tout le GDI. Objets disponibles : boutons, images et textes. - Toutes les procédures graphiques et utilitaires sont opérationnelles. - La majorité des en-têtes de classes écrits. - Dessin d'un menu de départ, qui peut ouvrir un fenêtre de jeu ou un message. |
Copyright FL 2001-2004