La Zone
La Zone - Un peu de brute dans un monde de finesse
Publication de textes sombres, débiles, violents.
 
 

code monkeys du dimanche

Démarré par lapinchien, Novembre 29, 2015, 05:52:27

« précédent - suivant »

lapinchien


lapinchien

mais j'avais déjà remarqué que beaucoup de fonctionnalités javascript sont interprétées différemment en fonction des OS et browsers et de leur version. ça craint j'ai fait chauffer la console dans plusieurs environnements pour voir d'où venaient deux problèmes. le premier est lié au preloader que j'ai essayé d'innocemment réaliser à scratch. D'abord en lançant le chargement simultané de tous mes media puis en désespoir de cause en enchaînant les chargements. Le problème vient de la détection de la fin du chargement qui n'est pas la même pour les images qui ont une méthode onload()  permettant d'appeler une fonction, cette même fonction onload() existe théoriquement pour les videos/audios mais elle est obsolète dans beaucoup d'environnements. En écument les forums j'ai trouvé qu'il était préférable d'associer un Event listener à mes fichiers audio mais ça semble se comporter différement d'un environnement à l'autre. Ce que tu vois est la barre de chargement et j'ai l'impression qu'elle bloque sur le dernier élément à charger. Le second problème est lié à la gestion merdique de la lecture audio en javascript. Pareil en fonction des environnements, on peut ou on ne peut pas sans faire planter l'interpréteur javascript, lire plusieurs sons en même temps. En plus certaines méthodes et propriétés ne sont pas compatibles partout (ex: lire un son à partir d'un moment précis). Je regrète vraiment Flash qui rendait toutes ces conneries de bas niveau transparentes pour les codeurs qui théoriquement devraient n'en n'avoir rien à foutre. J'ai constaté que pour contrecarrer cette instabilité absurde de nombreuses librairies javascript sont apparu mais on se retrouve rapidement à télécharger des mégatonnes de code inutiles pour gérer la moindre connerie basique comme la lecture de sons ou le préchargement.
Après toutes mes adaptations et compromis chez moi, ça marche sur IE12, Firefox, Chrome, Opera mais je suis à deux doigts d'abandonner car pour débugger la moindre connerie il faut se dire que le comportement est different sur des centaines d'environement différents, d'ailleurs les librairies conseillées (CreateJS et compagnie provoquent des bugs dans certains environnement chez moi en particulier la lecture de sons multiples) En réalité c'est juste super mal fichu. Je regrète l'ère des middlewares même s'ils n'étaient pas open source. là non seulement mon code est facilement accessible (mais j'ai bien compris que dans tous les corps de métier il était de plus en plus rare de produire des choses qui puissent avoir une valeur marchande de nos jours et en un sens tant mieux) par contre j'ai pas de machine assez puissante pour coder sous Unity, Sterling, Haxe qui semblent être les outils produisant dans cette période misérable les codes les plus stables et exportables sur de multiples supports.

sinon si tu lances la console sur ton browser, t'as des messages qui apparaissent pendant que le preloader tourne à vide ? voir d'autres bugs signalés comme l'obsolésance d'une methode qui ferait tout planter ?

Dourak Smerdiakov

#17
C'est vrai que j'aurais pu jeter un coup d'oeil à la console. Elle dit :
La ressource média http://patrick.gomez.ruiz.free.fr/canvas/exemple01/block/snd_beep.mp3 n'a pu être décodée. block1.html

J'utilise Iceweasel, qui est une recompilation par Debian de Firefox sans tout ce qui est propriété de Mozilla, mais avec un retard dans les versions. Le support de MP3 est récent dans Firefox. Bref, c'est moi qui ai une vieille config.

http://caniuse.com/#search=mp3 (site intéressant, si tu ne connais pas)

Sinon, au niveau librairies, j'ai de plus en plus de pages qui coincent sur mon vieux PC à force d'en charger, qui bloquent. Mais jQuery, de base, est légère et est devenue une sorte de référence, très répandue. Par contre, pour contrôler l'audio et la vidéo, je ne sais s'ils sont intéressants. Au pif, je vois ce lien qui correspond peut-être à tes besoins : http://codesamplez.com/programming/control-html5-audio-with-jquery
Pour le débat citoyen et convivial dans le respect indivisiblement démocratique de la diversité multi-culturelle des valeurs républicaines oecuméniques.

lapinchien

merci bien. Je vais bien être obligé de m'intéresser à ces librairies absurdes et merci à l'open source de bien avoir détruit les players propriétaires qui eux se faisaient un devoir d'être stables sur tout support sans qu'on ait à aller jeter un coup d'oeil dans leur slip pour voir si tout fonctionne bien.

lapinchien

http://patrick.gomez.ruiz.free.fr Ajout d'un parser pour gérer les liens dans la fenêtre info. Surtout utile dans la section "La Revue Qui Te Parle" vers les pages auteurs pour l'instant. #javascript #HTML5 #CSS3

lapinchien

http://patrick.gomez.ruiz.free.fr/canvas/exemple01/3D4.html Canvas - moteur 3D filiforme - test 04  en ‪#‎javascript‬ ‪#‎HTML5‬ ‪#‎CS3‬ sphère En cliquant sur la sphère on va créer des explosions de facettes localisées. Des triangles vont se désolidariser de la sphère. La caméra tourne aléatoirement autour de la sphère à chaque explosion.

lapinchien

http://patrick.gomez.ruiz.free.fr/canvas/exemple01/3D6.html Canvas - moteur 3D filiforme - test 06 - ‪#‎javascript‬ ‪#‎HTML5‬ ‪#‎CS3‬ Simulation d'un effet de tunnel généré à la volée

lapinchien

http://patrick.gomez.ruiz.free.fr/canvas/exemple01/3D8.html Canvas - moteur 3D filiforme - test 08 3D en ‪#‎javascript‬ ‪#‎HTML5‬ ‪#‎CSS3‬ Nous allons réaliser le squelette d'un personnage afin
de l'animer en variant les paramètres qui le composent.

lapinchien

Canvas - moteur 3D filiforme - test 09

http://patrick.gomez.ruiz.free.fr/canvas/exemple01/3D9.html

3D test 9 en ‪#‎javascript‬ ‪#‎HTML5‬ ‪#‎CSS3‬ - Classe personnages
Tentative de faire coexister plusieurs personnages animés
sur une petite surface et gérer leurs positions et vitesses.

lapinchien

http://patrick.gomez.ruiz.free.fr/canvas/exemple01/3D10.html 3D test 10 en ‪#‎javascript‬ ‪#‎HTML5‬ ‪#‎CSS3‬ - gestion scène - Modifier la manière dont est géré le rendu afin d'entrer à l'intérieur de scènes dont des objets sont derrière la caméra. Rien à voir, mais si on pouvait récupérer les quelques bones en temp réel des squelettes de tous les joueurs d'un vrai match, ça permettrait de voir en 3D des matchs enregistrés voire même en live en baladant la caméra où on le veut. Probablement des milliards pour la startup qui produira ce concept pour une vingtaine de capteurs sur chaque joueur.

lapinchien

http://patrick.gomez.ruiz.free.fr/canvas/exemple01/block3.html | test de jeu de bloc en ‪#‎javascript‬ ‪#‎HTML5‬ ‪#‎CS3‬ | Cliquez sur un bloc de couleur pour détruire toute la zone des cellules limitrophes de la même couleur. Plus les cellules détruites sont éloignées et plus vous marquez de points. Vous jouez à présent en tour par tour contre un algorithme absurde qui fait des choix aléatoires. Le vainqueur est celui qui dépasse 1000 points. Il est assez facile de gagner et il est très amusant d'essayer de perdre.

Dourak Smerdiakov

Pas mal fait, mais effectivement trop facile de gagner et, aussi, de perdre (suffit de cliquer sur des cases isolées). Dès la deuxième part, celle où je perdais exprès, j'ai dû me forcer pour aller jusqu'au bout. Pas le concept de jeu qui va te rendre millionnaire, a priori.

Le dessin de fin de jeu (surtout quand on perd) est trop maladroit mais c'est tellement évident que t'en es sûrement conscient.

S'il y avait du son, je ne l'ai pas entendu mais, comme déjà dit, ce serait alors sans doute lié à ma version spéciale de Firefox (Iceweasel). Pour un projet "pro", éventuellement prévoir un ficher son alternatif au format Ogg, par exemple.

Pour le débat citoyen et convivial dans le respect indivisiblement démocratique de la diversité multi-culturelle des valeurs républicaines oecuméniques.

lapinchien

en fait, le CPU joue aléatoirement pour l'instant mais je vais faire une version ou il essaie vraiment de faire le maximum de points et une autre version ou le but sera de pousser l'adversaire à inexorablement avoir à cliquer sur de grandes zones par pénurie de pièces isolées (c'est pour ça que je dis qu'actuellement c'est plus marrant d'essayer de perdre car on voit bien que le CPU jouant aléatoirement au bout d'un moment se bouffe plein de points en faisant tout s'effondrer). les images de fin ont été aléatoirement choisies. En l'état ça n'a aucun intérêt si ce n'est de filer le code d'un jeu de type candy crush à qui voudra en faire quelque chose. Perso, mon intérêt est l'étape suivante qui me servira dans d'autre jeux du même type, l'IA du CPU (même si c'est probablement un bien grand mot)

lapinchien

-sinon pour les graphismes de fin, ça vient des rage comics de 4chan https://fr.wikipedia.org/wiki/Rage_comic
-pour le son, c'est plus ma priorité c'est vraiment trop mal géré par javascript
-pour les jeux pro : je cherche désespérément un vrai framework pour m'y remettre, faire des apps et les vendre mais j'en trouve pas. On ne peut sérieusement pas faire de jeux pro en javascript parce que tout le code est visible ce qui pose des problèmes surtout s'il faut communiquer avec un serveur
-sinon se faire de l'argent avec des casual games, c'était une niche au debut des années 2000, là ce n'est plus trop possible. Les gros groupes sont constitués et continuent à se bouffer les uns les autres, flash est mort, les jeux sont produit en Inde et sous traités chez les pygmées et on paye les développeurs avec des pacotilles.

lapinchien

http://patrick.gomez.ruiz.free.fr/canvas/exemple01/block4.html | test de jeu de bloc en ‪#‎javascript‬ ‪#‎HTML5‬ ‪#‎CSS3‬ | Vous jouez à présent contre un algorithme qui fait des choix plus judicieux. Le CPU trouve les cellules qui permettent de remporter le plus de points et il choisit aléatoirement l'une d'entre elles, puis clique dessus. Vous pouvez suivre la réflexion du CPU dans la console de votre navigateur.
Il doit être possible de le battre car il n'anticipe pas la configuration qu'il va vous laisser après s'être gavé de points mais ça va être difficile. Essayez de le piéger par excès de gourmandise afin qu'il vous offre au tour suivant, des zones rapportant encore plus de points.
Cliquez sur un bloc de couleur pour détruire toute la zone des cellules limitrophes de la même couleur. Plus les cellules détruites sont éloignées et plus vous marquez de points. Le vainqueur est celui qui depasse 1000 points.