Ajout

  • Remplacement de tous les modèles 3D assemblés avec plusieurs formes géométriques par leur équivalent en un seul bloc au format 3ds

  • Hit visible avec coloration rouge des modèles 3D

  • Pan sound sur press L et R dans database

  • Modification de ground en plus de atmosphere avec la touche debug 4

  • Manœuvre d'évitement si on se dirige dans la même direction que le barrel roll

  • Nouvel obstacle : Torii


Réglages

  • Texture Background (stars) en 4096 au lieu de 1024

  • Réduction de la taille des particules d'étoiles

  • Couleur de la charge

  • Lotus life passe de 50 à 100

  • Réglage du pan sound des boutons de l'écran titre

  • Colorisation des ombres en fonction de la couleur de ground

  • Couleurs classic VGA pour les Space Invaders

  • Mise en place de la durée des niveaux (SET_INSIDESHIP était interminable...)


Optimisations

  • Suppression du double affichage mine green/red dans database

  • Fusion des models Enemy et Asteroid

  • SkyBitmap passe de 64x64 à 1x3

  • GroundBitmap passe de 128x128 à 2x2

  • ShadowBitmap passe de 16x16 à 1x1

  • StarsBitmap passe de 4096x4096 à 2048x2048

  • FlatBitmap et TransparentBitmap passent de 8x8 à 1x1

  • Simplification ombre/sol/sous sol avec transparence en ombre/sol flat

  • Fusion de Nebulae, Stars et Gradiant Sky en un seul model

  • Simplification code détection Gamepad


Debug

  • Problème de Z order sur Android réglé : le viseur et le virtual gamepad ne disparaissent plus derrière le décor !

  • Scale automatique du background pour qu'il s'affiche correctement quel que soit le ratio de l'écran

  • Le visor ne passe plus à travers le sol

  • Plus de clipping dans les modèles 3D depuis l'import des fichiers 3ds

  • Le FX barrel roll s'affiche correctement par-dessus ground

Ajout

  • Nouveaux weapons : Laser ennemi

  • Nouveaux ennemis : Training Target

  • Nouveaux décors : Tower, WaterPlan, Pine Tree, Larch Tree

  • Remplacement des sphères astéroïdes small et big, visor, capsule et blimp par des modèles 3DS

  • Nouvelle icône vectorielle pour Android

  • Remplacement du pourcentage Hull par une jauge HUD

  • La touche debug sky gère maintenant la nébuleuse et le wormhole en plus du ciel

  • Nouveau bouton debug Sky pour Android

  • SoundTik sur bouton pause



Réglages

  • Suppression des touches haut/bas sur les menus de type gauche droite, c'était beaucoup trop dérangeant

  • Il manquait un Space Invader dans la database

  • Agrandissement de la collision box de Lotus Heart

  • Placement automatique des boutons du Virtual Gamepad en fonction de la résolution de l'écran

  • Réduction du volume du son d'activation du mode Debug

  • Les lasers bleus du joueur ne collisionnent plus avec son propre vaisseau

  • Ralentissement de la vitesse des lasers de Stalker et Moskito

  • Ajout des  groupes de collision COL_LASERPLAYER et COL_LASERENEMY et des MASK qui vont avec

  • Petite passe sur les couleurs

  • Enfin le retour du fullscreen sans barre de navigation Android

  • Le quadrillage au sol est devenu de simples lignes

  • Vitesse de rotation du Lotus divisée par 4

  • Réécriture des Scraps en mode shape aléatoire

  • Meilleur positionnement des explosions et des scraps

  • Inside Ship devient Mothership

  • Réglage optimum pour la taille de Lotus Heart

  • On ne peut plus désactiver l'affichage FPS en mode debug

  • Taille de la collision box de SpaceInvader

  • Meilleure précision de tir

  • Augmentation de la limite de déplacement en X de -12/12 a -15/15

  • Suppression de CHIPTUNE NO.52 BY FRANK E.LARSEN, la musique était bien, mais  beaucoup trop métallique et aiguë



Optimisations

  • Ajout de la phrase

  • Suppression de VGDebugText sur Virtual Gamepad

  • Suppression de fonction InitVirtualButton et clean code sur Virtual Gamepad

  • Suppression de la variable SoundData Array<String>

  • Une seule fonction pour le rendu des mesh player, enemy, onstacles, weapons et shadows afin d'éviter de modifier plusieurs fois le nom des mesh

  • Suppression des anciens modèles non utilisés

  • La prise de screenshot (touche F2) est maintenant instantanée alors qu'il fallait plusieurs longues secondes auparavant

  • Nouvelle gestion de la vitesse et du positionnement en Z du vaisseau durant les SmokeModel repassent en RenderOrder DepthSorted

  • Suppression de ScrapColor et ExplosionSphere

  • Le spawn debug boucle en fin de tableau



Debug

  • La zone de collision du vaisseau tourne enfin correctement avec sa rotation sur l'axe Z

  • Sur la dernière version de ZGE, on ne pouvait plus faire boucler les menus vers la gauche

  • Le jeu plantait si on affichait Lotus dans la database

  • La musique continuait de jouer quand le jeu perdait le focus sur Android

  • Suppression du warning

  • java.source=1.8

  • java.target=1.8

  • dans ant.properties ( ça correspond à jdk1.8.0_281 )

  • Le vaisseau du joueur continuait à fumer même lorsque son Hull repassait au-dessus de 25%

  • L'interface de jeu apparaissait en mode photo

  • Blimp arrête de tirer s'il est en train d'exploser

Ajout

  • Nouveau building et gateway pour plein de nouveaux paternes pour l'environement Town


Réglages

  • Réglage de la hauteur des ombres pour éviter le clipping sur Android


Debug

  • Les impacts lasers ne s'affichaient pas sur Android

  • Les bonus ne collisionnent plus par magie avec player lors de leur apparition. En fait il fallait set leur zbtSetPosition avant d'activer la collision zbtSetCollisionFilterGroupAndMask et zbtSetSleepingThresholds

Ajout

  • Randomisation du placement des étoiles de BackgroundStars au démarage. Je ne le fais pas à chaque génération de Background parce que la génération de BackgroundStars en 2048 freeze le jeu sur machine peu puissante


Réglages

  • Scale de 0 à 1 sur l'apparition des weapons

  • Positionnement initial de player laser en retrait

  • Réduction de la taille des particules de fumées du missile

  • L'affichage des ailes cassées du vaisseau dans la database n'apparait qu'en mode debug

  • Les mines font apparaitre 20 nails au lieu de 10


Optimisations

  • Mise à jour de la librairie SunVox de 1.9.4c à 1.9.6c

  • Mise à jour d'Android targetSdkVersion de 26 à 29

  • ZGameEditor utilise maintenant la librairie SDL2 au lieu de l'antiquité SDL1.2

  • ZGameEditor détecte maintenant l'unit LINUX pour ne pas avoir à gérer le chemin des librairies externes manuellement

  • Réduction du nombre de points BackgroundStars de 64 à 16

  • Simplification de la création de rigid body pour les ennemis

  • Remplacement du numéro de l'objet ayant un problème lors de la création de son Body par son nom, plus facile pour débugger


Debug

  • La génération du background et son affichage est géré quelle que soit la taille de l'écran et l'OS

  • Test pour empêcher le logo Txori de s'afficher à l'envers sur certain devices

  • Atténuation de la visibilité du bug des fonts sur Android en remplaçant le Transparency de BitmapFromFile en BlackColor plutôt que AlphaLayer

  • Les éléments de décors apparaissaient penchés en fonction de l'orientation du tir laser de player

  • La taille du virtual joystick influait sur la rotation maximum du vaisseau lors de ses déplacements

  • La position du virtual gamepad était mal récupérée au loading de la sauvegarde

  • La texture BackgroundStars se répétait sur un écran avec trop grande résolution

Ajout

  • Nouveaux modèles 3DS : SonicBoom

  • Database: Key repeat sur les boutons Previous et Next


Réglages

  • Le jeu est maintenant en mode 64bits et utilise la librairie ZgeBullet_x64.dll

  • Agrandissement de background pour ne pas afficher du noir en coin d'écran lors du camera shake

  • Ralentissement de EnemyLaser de 200 à 150

  • Après avoir vu le gars sur Twitch activer le mode debug par erreur, j'ai passé l'activation à 4 clicks et la désactivation à un seul click

  • La couleur du Visor s'adapte à la couleur d'arrière-plan


Optimisations

  • Simplification de l'export TEXT en vue de l'update classes de ZGameEditor

  • GroundColor passe de vec3 a mat4 pour le transfert des couleurs du sol au shader shadow

  • Suppression de SkyRenderSetColor maintenant que l'alpha de sky est géré par le shader

  • Remplacement de tous les =. en =0.

  • Désactivation des fonctions et const OpenGL non utilisées

  • Désactivation des fonctions ZgeBullet non utilisées


Debug

  • Une ligne de texte sur deux avait un problème de fond non transparent sur Android

  • Réparation du Camera shake qui n'avait jamais fonctionné

  • Problème de boite de collision non réinitialisée dans database

  • Les ombres s'affichent correctement !

  • Database: l'affichage du boss Lotus en mode debug cassait la rotation de l'affichage de la boîte de collision sur les autres modèles

  • La forme des montagnes et stalagmites générée aléatoirement ne l'était plus depuis la version 210331

Ajout

  • Nouveaux modèles 3DS : Canon, Blimp, Scrap, Stalagmite small & big, Ruin Pillar, Moai

  • Nouveau pattern : Torii gates

  • Nouveau set : Forest

  • Affichage du pourcentage d'ennemis abattus par niveau

  • Le pourcentage d'ennemis abattus se cumule au score en fin de niveau % x 10

  • Ajout de la table de HighScores et de l'écran NewHighScore

  • Le Power-up Shield colore la jauge de vie et l'Omeganaut

  • Légende d'utilisation sur l'écran Setup Virtual Gamepad

  • Timer sur l'écran Disclaimer pour passer à l'écran Title

  • Timer sur l'écran Title pour passer  à l'écran HighScores

  • Option d'activation/désactivation des vibrations Gamepad dans l'écran Setup

  • Fonction Google Doc d'export de la liste des models affichables dans Database

  • Coloration rouge du cockpit et/ou wings de l'Omeganaut lors d'un hit

  • Apparition d'un Boss tous les trois Stages

  • Rotation de la lampe dans la Database pour mieux apprécier les volumes

  • Pas de temps de transition pour le premier Stage en mode Debug

  • Animation d'apparition du titre Omeganaut


Réglages

  • L'Omeganaut n'est plus bloqué dans le couloir. On peut forcer un peu pour sortir du couloir

  • Ralentissement de la vitesse des lasers ennemis : 150 → 130

  • Meilleur timing pour l'apparition de la fumée sur l'Omeganaut

  • Le tir chargé est moins OP (il ralentit et finit par disparaitre à force de collisions)

  • Réduction du damage cockpit 5 → 2

  • Suppression des noms aléatoires des niveaux

  • Modification taille et forme du missile

  • Réduction de la distance d'apparition sur les axes X et Y du MineField 40 → 32

  • Réglages Shake gamepad pour la fumée et le BarrelRoll

  • Suppression du triple tir → Charge facilitée

  • Réglage volume sur les sons Tick et Validation

  • Le Boss Lotus tire quatre fois plus de missiles

  • EnemyWasHit est indexé sur App.DeltaTime

  • Apparition des Weapons, Enemis et Decorium avec un Scale = 0

  • La collision des Weapons ne s'active qu'après qu'elles ont atteint leur Scale == 1

  • Réactivation de l'apparition des astéroïdes en tant que décors dans AsteroidField

  • Réglage de la distance caméra sur tous les objets de Database

  • Temps de transition entre niveaux différents selon le numéro de Stage et le Sector

  • Probabilité d'apparition de PowerUp différent selon le type d'ennemi détruit

  • Disparition du Fire Charge au-delà d'une distance de 300

  • Le son du Fire Charge se lance quand il est chargé au lieu du moment de son apparition

  • Interceptor 1.5x plus gros

  • Animation de rotation du logo Txori

  • Remplacement de tous les sound_vaildation par sound_tick


Optimisations

  • Le dégradé du ciel de Background n'est pas rendu dans les menus

  • Simplification de l'affichage du viseur

  • Réécriture totale de la fumée

  • Amélioration du déplacement des explosions et Scraps

  • Renommage de toutes les variables pour s'y retrouver plus facilement

  • Conversion des int qui ne peuvent dépasser 256 ou être négatifs en byte

  • Réécriture totale du spawn object sous la forme

    Dummy.Position = vector3(0,0,10);
    createModel(Dummy);

    au lieu de

    model m = createModel(Dummy);
    m.Position = vector3(0,0,10);
  • Utilisation des paramètres RGB au lieu de XYZ pour les vector3

  • Clean des Mesh, Materials, Textures et Shaders non utilisés

  • Enemy.Behavior devient un int au lieu d'un Array, parce que les Array ne sont pas nominatifs aux Models

  • Réduction du shape AsteroidSmall par x0.5

  • Pas de création de Scraps au-delà d'une distance de 250

  • Réécriture de la gestion du spawn des obstacles en intérieur et la détection de la fin de ce genre de niveau

  • Réécriture de la gestion du tir chargé

  • Simplification de la coloration des particules catch PowerUp

  • Optimisation du nombre de tests Raycasting pour le Visor


Debug

  • La musique se relance dans l'écran setup si on fait "Music: On" ou "Reset Settings"

  • Le spawn Invader, Lotus et Mine sur une planète ne fait plus planter le jeu à cause de la fonction renderMesh. Tout se passe dans CreateShadow (à améliorer)

  • Réinitialisation des Timer.CurrentRelativeTime pour éviter les surprises d'apparition d'objets au mauvais moment

  • Réinitialisation des paramètres Camera en début de jeu pour éviter les problèmes

  • AsteroidSmall explosait instantanément à son apparition après destruction de AsteroidMedium

  • Le PowerUp pouvait entrer en collision avec autre chose que l'Omeganaut. Bug incompréhensible... Donc j'ai limité ce test de collision a une courte distance

  • Le patern Mine n'apparaissait que sur OnPlanet

  • La sortie de Corridor cachait le Virtual Gamepad

  • Les objets disparaissaient par le haut ou le bas de l'écran alors qu'ils étaient encore dans le champ de vision

Ajout

  • Nouveaux modeles colorés pour Interceptor, Moskito, Stalker et Blimp

  • La touche Debug permet de passer directement de l'écran Disclaimer au mode debug

  • Respawn rapide de l'Omeganaut en mode debug simplement en tirant

  • Fonction Google Doc d'export de la liste des models que l'on peut spawn en mode Debug

  • Petit shake gamepad quand le tir chargé est prêt

  • Les Power-Ups sont attirés vers l'Omeganaut lorsqu'il charge un tir

  • Son d'accélération de l'Omeganaut

  • Son woosh stéréo (axe X, il faut voir comment je vais faire pour Y) des objets environnants

  • Variable debug pour prendre des photos avec ou sans UI

  • Ajout du rollover souris sur tous les menus

  • Légère rotation aléatoire des arbres sur leur axe X et Z

  • Prise en compte du bouton Back sur les manettes Xbox


Réglages

  • Sur clavier, la touche Back [Z] disparait au profit de la touche [ESC]

  • Suppression de la détection de la touche Back dans Setup Keyboard

  • Basculement entre les channel 0 à 3 à chaque lecture d'un son pour éviter de saturer un seul channel

  • Désactivation du son de validation bouton sur le spawn Explosion en mode Debug

  • Limite threshold joystick pour les menus (0 → 0.2)

  • Réduction du shake gamepad pour la fumée (0.2 → 0.12)

  • Réduction du shake gamepad pour le roll (0.4 → 0.1)

  • Augmentation du nombre de particules Stars ([50,500] → [100,1000])

  • Suppression de l'accélération de l'Omeganaut lors du Game Over. Remplacé par un simple éloignement sur l'axe Z

  • Renommage Invader B. en Invader C.

  • Réglages vitesse de déplacement et caméra lors des transitions entre niveaux

  • Texture au sol pour délimiter la zone de déplacement sur l'axe X

  • Utilisation d'un shader basic pour l'affichage du Sonic Boom

  • Réduction de la longueur des Stages (25 → 20)

  • Division de la vitesse des Scraps à leur apparition par 4

  • Seules les ailes cassées de l'Omeganaut subissent des dommages de collision

  • Réduction du volume son Laser Hit (0.8 → 0.6)

  • La destruction des Asteroids medium et big donnent un nombre fixe de rejetons, au lieu d'un chiffre au hasard comme avant. Les règles doivent être strictes !

  • Les touches clavier ENTER et SPACEBAR ne sont plus prise en compte lors du setup clavier. Avant elle faisaient un Backbec

  • Suppression de la touche Back pour valider le nouveau highscore

  • À l'écran nouveau HighScore, le bouton Fire permet de valider une lettre ou de valider le nom si la dernière lettre est sélectionnée

  • Ajout du ButtonEscape pour différencier de ButtonBack, permettant plus de finesses entre UI clavier, gamepad et écran tactile

  • Lors du setup clavier, n'importe quelle touche clavier enclenche la détection, par contre les touches réservées ne sont plus prise en compte une fois le setup lancé

  • On peut maintenant quitter le Setup Gamepad ou Clavier en appuyant sur bouton Escape

  • Réglage de la précision du clic souris sur tous les menus

  • Blimp et Moai peuvent apparaitre sur le set Plain

  • Les Mountains n'apparaissent plus sur le set Plain

  • Suppression du spawn AsteroidBig sur Set_Moon

  • Réduction du nombre d'astéroïdes sur le set Moon

  • Beaucoup plus d'arbres dans la forêt

  • Arbres plus massifs


Optimisations

  • Les Shadow ne sont plus des Models, du coup le nombre de models affichés a été divisé par deux. Les Shadow sont directement affichées sur le onRender des Enemy, Objects et Weapons. Le seul model Shadow restant concerne le Player, à cause de sa rotation sur l'axe Z (Barrel Roll)

  • Simplification de la gestion des contrôles Virtual gamepad qui se trouvaient sur player au lieu de onUpdate du jeu

  • Suppression du contrôle souris

  • Simplification du code onUpdate de CatchPowerUp

  • Suppression de lookAtCamera(CurrentModel) sur CatchPowerUp et Explosion, apparemment il n'y a pas besoin de le tourner vers la caméra

  • Suppression du vieux model Manta qui trainait dans le projet depuis le début

  • Suppression de la collision physique sur le power-up. La collision se fait avec un simple CalculateDistance3D

  • Simplification de l'affichage PowerUp

  • Division du model Enemy en sous modèles EnemyState, comme pour le model Weapon

  • Suppression de CalculateEnemyMove et utilisation de CalculateVelocity à la place en passant l'EnemySpeed en négatif

  • Simplification du calcul de ralentissement de la rotation du ModelViewer

  • Simplification de l'animation basée sur le calcul du temps dans ModelViewer

  • Séparation des Obstacles et des Décors, ces derniers n'ont pas besoin de HitBox ni de Shadow

  • Le sprite Boost ne s'affiche que si Speed > SpeedMax

  • Réécriture totale de la gestion du rebond de l'Omeganaut lors d'une collision sur les ailes

  • Simplification du Database Render Mesh

  • Suppression du model SonicBoom. Maintenant, c'est un effet directement intégré dans l'affichage de l'Omeganaut

  • Simplification du code du FX hit

  • Réduction de la texture des planètes/lunes de 256x128 à 128x64 pour éviter la saute sur petite config

  • Plus qu'une seule fonction Google Doc pour exporter VARS et DATA au même endroit

  • Apparition Invaders avec 2 boucle "for" au lieu de 5...

  • Déplacement de la gestion des boutons de navigation du model Database au state Database


Debug

  • La note passée dans la fonction PlaySound3D n'était absolument pas prise en compte...

  • Réinitialisation du Roll et BarrelRoll au respawn de l'Omeganaut

  • La collision entre Omeganaut et un bonus ne se faisait plus pendant le Game Over

  • L'App.DeltaTime n'était pas pris en compte dans la réduction des scraps

  • On ne pouvait pas mettre le jeu en pause à la fin d'un niveau avant l'affichage de "PRESS FIRE"

  • Les scraps et la charge tir n'avaient pas d'ombre

  • LevelCleared n'était pas réinitialisé en début de partie, si bien que le LEVEL CLEAR s'affichait en mode debug si on a avait quitté à ce moment-là

  • Suppression de la gestion de l'axe Y pour le volume du son parce qu'il était inaudible dans l'espace et trop fort au sol...

  • Même cassées, la collision des grandes ailes étaient toujours prises en compte

  • Reset des Timers sur le OnLeave de GameState pour éviter d'avoir un immeuble qui passe sur l'écran HighScore

  • Il manquait la signature TGA en fin de fichier de capture photo pour produire une image vraiment compatible

  • Pour éviter plusieurs problèmes, la sauvegarde des settings se fait à chaque fois qu'on revient à l'écran Setup

  • Le changement de taille du Virtual Gamepad n'était pris en compte que pour le cercle externe

Ajout

  • Suppression des musiques MOD temporaires. J'aurais dû le faire avant, mais maintenant que le moteur de musique fonctionne, il faut que je me remette à l'écriture de ma propre partition !

  • Ajout d'un HeartShape en plus du BodyShape pour les Ennemis

  • L'activation du mode debug photo permet de prendre des photos avec le bouton X de la manette XBox

  • La touche photo permet de prendre des screenshots sur tous les écrans, pas seulement pendant le jeu

  • Jauge de vie pour les Boss

  • Tige de collision sur les modèles dans Database en mode Debug

  • Transition de rotation du Visor pour éviter les sautes lors d'un Barrel Roll


Réglages

  • Le Barrel Roll annule le tir chargé

  • Suppression du délai KeyTime sur l'écran Setup VG

  • L'Omeganaut revient à son scale Z normal durant les transitions si ce n'est pas un wormhole

  • Le Lotus tire 2x plus de lasers

  • Gros boulot sur les boites de collisions

  • La taille du pointage laser dans Database varie en fonction de la distance de la caméra, pour que ce soit toujours bien visible


Optimisations

  • Suppression du support Android OUYA


Debug

  • Le physic body des ailes de l'Omeganaut était en vrac...

  • L'icon de l'exe ne prenait pas en compte la nouvelle icon pour Android

Ajout

  • Tir sur les ennemis facilité grâce à l'aide à la visée

  • Détection haut et bas des objets environnants le player pour un rendu du son en stéréo

  • Remplacement des explosions 2D par de la 3D

  • La pression d'un bouton manette désactive le Virtual Gamepad s'il était affiché

  • Variable de mode DEBUG global, permettant de skip automatiquement l'écran Disclaimer et Title

  • Variable DEBUG_WEAPON pour choisir son niveau de tir

  • Nouveau système de génération de nébuleuse qui peut s'animer et changer de couleur

  • FX lignes de vitesse

  • Le changement de Zone ou de Sector en mode debug permet de sortir de SET_MOTHERSHIP

  • Aspiration des power-ups au lieu d'une simple disparition

  • Augmentation du Score façon Pinball


Réglages

  • Taille et durée des particules catch Power-Up

  • Les explosions n'ont plus leur propre vitesse sur l'axe Z, mais celle de la vitesse du player

  • Remplacement du modèle sphère par une icosphère pour les planètes

  • Je n'utilise plus la texture pour les planètes. Simplement des vertex colorés, comme le reste des modèles

  • Position du "soleil" beaucoup plus éloignée

  • Augmentation de la vitesse de dégagement du wrong path sur les côtés

  • Accélération de l'aspiration des power-ups avec la diminution de la distance avec PlayerShip + set d'une distance minimale pour les attirer

  • PlayerShip ne fume plus pendant qu'il est invincible

  • Blur de 8 sur la texture wormhole

  • Réglages HP Asteroid Medium 12 -> 10, Asteroid Big 40 -> 30, Moskito 4 -> 2, HP Stalker 4 -> 3, Rhino 15 -> 10

  • Position Z max des Decorium 4000 -> 3000

  • Temps de transition entre niveaux 4 -> 5

  • Réglages rotation axe X de l'Omeganaut pendant les transitions 0.1 -> 0.06

  • Les laser player apparaissent plus proches de l'Omeganaut


Optimisations

  • Le calcul du timer fumée ne se fait qu'une seule fois lors d'un damage au lieu d'une fois par frame

  • Réduction de la taille de la texture nébuleuse de 128x64 à 64x32 pour rester à 60fps pendant les transitions

  • Simplification de la rotation des planètes (suppression de RenderTransformGroup)


Debug

  • Les valeurs PlayerWasHit, PlayerWingLeftWasHit et PlayerWingRightWasHit n'était pas reset au spawn de l'Omeganaut

  • La vitesse du Blimp n'était pas branché sur le fps, du coup, il ralentissait beaucoup trop sur les ordinateurs rapides

  • Le déplacement de Decorium (planetes, lunes...) n'était pas branché sur le fps

  • J'avais oublié de désactiver DEBUG_PHOTO_UI ce qui engendrait le bug "Oh... You can hide the reticle"

  • La fonction TestLimits faisait disparaitre les lasers de l'Omeganaut sur les côtés de l'écran en position Z = 0

  • Le tir chargé restait coincé en fin de niveau s'il était chargé à fond

Ajout

  • Relief des planètes aléatoires

  • Affichage des coordonnées et velocity de PlayerShip en mode Debug

  • Gonflement des mines avant explosion

  • Ajout d'une touche Kill Switch (0) en mode debug

  • Remplacement du sprite de boost vitesse par un modèle 3D

  • Remplacement des vieux "Space Pillars" par le vaisseau amiral BFG

  • Shake de l'Omeganaut pour toutes les accélérations

  • Téléportation de tous les objets à l'origine de World à la fin de chaque Stage pour éviter les surprises si on s'éloigne trop

  • Différenciation entre object fixe (qui peut passer dans le sol), mouvant (qui nécessite un update de son body à chaque frame) et enemy (pareil que mouvant, mais fait fonctionner le visor)

  • Petite mise en scène du pourcentage de complétion en fin de stage

  • Disparition du tir chargé en fin de stage

  • Gestion des ombres au sol dans Mothership

  • Branchement des couleurs random sur les murs et sol du Mothership

  • Fusion des deux path en un seul decorium si la zone est la meme (ex: planet town et planet forest)


Réglages

  • Inversion des mouvements des objets du jeu : Au lieu que ce soit tous les objets qui viennent a la rencontre de la caméra, c'est le PlayerShip et la caméra qui avancent

  • Rotation Z des missiles en fonction de leur rotation Y

  • Branchement du nombre, taille et vitesse des StarParticles en fonction de la vitesse et du set

  • Réorder des touches debug 5,6,7 -> Next Zone, Next Sector, Random Stage

  • Réduction du cone de visée automatique 44 -> 40

  • Réduction du nombre de faces sur Moskito

  • Rhino tire deux salves de missiles

  • Les missiles sont beaucoup plus agressifs

  • Le waterplan qui n'a pas besoin de collision et ombre est devenu un décor au lieu d'un obstacle

  • Désactivation des anciennes montagnes 3D en attendant de voir comment les réintégrer proprement

  • Apparition des obstacles/ennemis à TimerTransisiton - 1 seconde pour qu'il n'y ait pas d'attente pour avoir de l'action en début de niveau

  • Les PowerUps comptent comme un ennemi pour ne pas envoyer la fin de stage directement après avoir tué le boss

  • Réglages de life en fonction du tir chargé qui fait pile 5 points de dommages maintenant :
    Rhino 10 -> 5, pour pouvoir être tué avec un seul tir chargé
    Asteroid Medium 10 -> 5
    Asteroid Big 30 -> 15
    Lotus 400 -> 200
    Stalker 4 -> 3
    Blimp 50 -> 20
    Asteroid Field: moins d'astéroides d'un coup (ça fait freeze le jeu) mais plus souvent

  • Grossissement et armement des Weapon deux fois plus rapide, pour éviter de tirer à travers les ennemis trop proches


Optimisations

  • Suppression de la mise à jour de la physique des obstacles à chaque frame

  • Simplification du nombre de faces du modèle 3D FX line 8 -> 1

  • Suppression totale de tout ce qui faisait fonctionner l'ancienne Mountain


Debug

  • Quasiment toutes les boites de collisions basées sur du zbtCreateScalableSphereShape étaient deux fois trop grosses (diamètre au lieu de rayon...)

  • L'explosion des astéroïdes en collision avec le sol passait sous le sol à cause de Velocity.Y

  • Le tir Charge ne fait plus de dégâts lors de sa disparition

  • La position du Collision Body Heart n'était plus updatée à la mort du Boss Lotus et pouvait entrer en collision avec l'Omeganaut

Ajout

  • Waypoints pour que les ennemis circulent entre les obstacles

  • Animation du texte du path

  • Nouveaux patterns : M_RUINPILLARx3, M_RUINPILLARFALLEN

  • Variable DEBUG_WAYPOINTS pour afficher les waypoints

  • Réinitialisation des coordonnées de Texture_Ground lors du NextStage

  • Ralentissement de la caméra lors du Game Over

  • Le laser player et le tir chargé ont une portée maximum de 250

  • Le viseur ne s'allume pas au-delà d'une portée de 250

  • Ajout de la touche shift en mode debug pour faire circuler le spawn menu de 10 en 10


Réglages

  • Taille des lasers player et enemy

  • Set Plains devient Ruins

  • Le Stalker tire plus longtemps, mais moins soutenu

  • Le Stalker utilise FollowWaypoints

  • Position du spawn horizon (-500 -> -600) pour permettre aux gros objets d'apparaitre dans le brouillard plutôt que poper d'un coup dans le champ de vision

  • Minimum Terrain_Size à 16 plutôt que 0 parce que ça ne rendait pas bien du tout

  • Augmentation du nombre de bandes de montagnes 32*16 (512) à 64*16 (1024) pour qu'elles apparaissent dans le brouillard

  • Réduction du nombre d'asteroides:
    - Big émet 3 medium au lieu de 4 medium et 2 small
    - Medium émet 2 small au lieu de 6

  • Zone de clic sur les flèches haut et bas de la page HighScore plus grande

  • Skip de l'écran Disclaimer (mais je ne peux pas m'en débarrasser parce que l'initialisation de l'écran sur Android est cassé sinon...)


Optimisations

  • Grosse simplification du code spawn decorium. Plusieurs appels de fonctions (genre randomColors) étaient en double, voire en triple...

  • Simplification des explosions pour obtenir plus avec moins de code et de modèles

  • Suppression de la transparence des SpeedLines

  • La ZExternalLibrary XInput n'est pas chargée sur Android ni Linux

  • Simplification du code de positionnement des montagnes

  • Suppression du paramètre pour tester ou non la sortie des objets en dehors du champ de vision. Maintenant ça se fait de base, sauf pour le BFG

  • Remplacement des composants Timer_EmitEnemy, Timer_EmitObstacle et Timer_EmitDecors par des variables

  • Affichage de tous les modèles en Normal au lieu de DepthSorted. Ça bouffe de la patate et ce n'était intéressant que pour afficher les smoke2D correctement derrière les modèles 3D

  • Réduction du CameraGame ClipFar 1000 -> 500 pour améliorer la précision du z-buffer (https://www.khronos.org/opengl/wiki/Dep … _Precision)
    - CameraGUI ClipFar 200 -> 100
    - CameraDecorium 20000 -> 10000

  • Fusion de la texture de Ground et Terrain, comme ça plus besoin de faire défiler la texture du sol manuellement, celle-ci est directement projetée sur terrain

  • Suppression de Ground, le sol est géré directement dans State_Game

  • Remplacement des smoke 2D (player et missile) par smoke 3D

  • Ajout de la balise ZBT_CF_STATIC_OBJECT sur les obstacles pour ne pas avoir à set leur position a chaque frame pour être repoussés par le sol


Debug

  • Des fois le Terrain flottait par-dessus le Ground

  • La variable DEBUG_LENGTH faisait apparaitre autant de boss que sa valeur

  • Le dernier bloc de Corridor de MotherShip ne peut plus recouvrir le sas de sortie

  • Le viseur s'affichait derrière les montagnes

  • PlayerSpeed n'augmentait durant la transition vers Wormhole

  • Le pourcentage de completion de niveau s'affichait pour enemyTotal ==1 (Boss)

Ajout

  • Nouvel enemy : Tick

  • Nouveau weapon: Charge Enemy

  • Écran de validation du Reset sauvegarde

  • Boutons de Zoom - et + en mode Debug dans l'écran Database pour gérer le zoom facilement

  • Ajout de la liste de Zoom Database dans le DataDoc

  • Disparition de la couleur Shield en Alpha pour sa dernière seconde


Réglages

  • Diamètre des boites de collisions de forme sphérique, conique et cylindrique

  • Player speed 60 -> 55

  • Rhino speed -20 -> 0

  • Invader speed -50 -> -40

  • Timer Smoke Missile 0.01 -> 0.02

  • Réduction du cône de visée 20 -> 15

  • Timer d'apparition du premier ennemi de chaque niveau 1 -> 2.5

  • Uttilisation du material smoke pour les speed lines (blanc transparent au lieu de jaunasse)

  • Apparition de Tick dans Space, Wormhole et Town

  • Apparition d'Asteroid small et medium dans Moon Canyon

  • "Worm hole" devient "Wormhole", c'est quand même beaucoup mieux...

  • Blend de la Font en Alpha/One vers Color/OneMinusSourceColor pour mieux discerner les contours sur fond lumineux

  • Suppression du blend sur le visor (GL_ONE_MINUS_DST_COLOR, GL_ZERO) -> Affichage simple en cyan

  • Suppression de la détection des boutons D-Pad dans le Setup Gamepad

  • Désactivation totale du bouton Back sur Android

  • Modification des contrôles sur la page New High Score

  • On ne peut plus quitter le jeu à l'écran titre en appuyant deux fois sur le bouton Back

  • Skip de l'option Music On/Off dans l'écran Setup tant qu'il n'y a pas de musique dans le jeu


Optimisations

  • Mise à jour player ZGE Linux

  • Amélioration de la détection des Models passant à proximité de PlayerShip, ce qui permet d'émettre un son différent par Model, ou de ne plus rien faire, comme pour CorridorWall ou Ground

  • Le Background est rendu avec sa propre caméra, loin du jeu

  • Amélioration du dégradé de ciel avec une hauteur de 5 au lieu de 3 et une couleur transitoire = (bas + haut) / 2

  • Remplacement de "precision mediump float;" par "precision highp float;" dans les VertexShader : ShadowShader, GroundShader, VertexDiffuseShader, VertexDiffuseShaderNoFog (planet), HyperspaceShader, HitShader (red color), ExplosionShader, TextureShader (planet ring), GhostShader, ShieldShader

  • Suppression du calcul manuel de ScreenWidth et ScreenHeight, maintenant que App.ScreenWidth et App.ScreenHeight fonctionnent

  • Les arrays LTrigger et RTrigger sont désormais en int au lieu de float

  • Suppression de SmokeMaterial et SmokeBitmap qui n'étaient plus utilisés depuis les explosions en 3D

  • Simplification de l'appel à la fonction de prise de screenshot

  • Simplification de la détection RollOver et Click sur tous les boutons (menus et debug)

  • Suppression de l'interface de debug sound dans l'écran Database. Il n'avait rien à faire ici et il reviendra sous une meilleure forme par la suite

  • Réécriture totale du système de particules. Le set de ParticlesPerSecond, ParticleWidth, ParticleHeight et Speed n'avaient rien à faire dans OnEmitExpression...


Debug

  • Réparation de la librairie externe ZgeBullet qui faisait n'importe quoi avec les collisions entre objets ayant subi une rotation

  • La taille des boites de collisions correspondent finalement entre Database et le jeu

  • Terminé le clipping sur certains devices Android !!!

  • L'appel de XInput dans OnUpdate faisait planter le jeu dès le début sur Linux. Comme il n'y a pas moyen de détecter si les drivers XBox ont été installés sur Linux, j'ai désactivé le support XInput pout ce système, et le gamepad XBox se comporte comme un gamepad standard

  • Il fallait cliquer 4x sur le titre au lieu de 3x pour activer le mode Debug. J'ai toujours cru que c'était parce que je ne cliquais pas au bon endroit... hmm

  • Les Models DOOR et DOORBIG n'avaient pas de boite de collision, du coup, c'était remplacé par une sphère en plein milieu qui entrainait une petite collision

  • Il fallait 3 clics au lieu de 1 pour enlever le mode Debug si on était allé sur une autre page que l'écran titre entre temps

  • Le background s'affichait à la mauvaise taille selon la résolution de l'écran

  • La boite de collision d'Obstacle a l'air d'être déplacée lors d'une collision avec un Enemy (ex: Blimp VS Wagon). Du coup, je refais un zbtSetPosRot sur Obstacle a chaque frame en attendant de trouver mieux

  • Suppression du lag lors du BarrelRoll. Il ne fallait pas multiplier par App.DeltaTime

  • Le D-Pad des gamepads génériques sur Android fonctionnent enfin !

  • Le clic souris / touchscreen entrainait la détection clavier dans l'écran Setup Keyboard