Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
4120 connectés 

 


 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  206  207  208  209  210  211
Auteur Sujet :

Les images/vidéos générées en IA: Midjourney Dall-e StableDiffusion...

n°74161405
Gedemon
patron-adjoint
Posté le 28-01-2026 à 14:48:43  profilanswer
 

Reprise du message précédent :
zit (z-image turbo) est moins lourd, plus rapide, avec un rendu photoréaliste amha plus "naturel" que les deux autres, et une bien meilleur adhérence au prompt que SDXL.

 

mais moins "imaginatif" que les deux autres, et moins de variété avec différents seed (ce qui est un avantage ou un inconvénient selon le point de vu :o)


Message édité par Gedemon le 28-01-2026 à 21:57:41

---------------
[hommage au beau jeu] [Footware]
mood
Publicité
Posté le 28-01-2026 à 14:48:43  profilanswer
 

n°74162184
Tammuz
Posté le 28-01-2026 à 16:46:25  profilanswer
 

Parrapa a écrit :

J'ai pas testé Z, mais en quoi est-il meilleur que Qwen ou un SDXL finetuned ?
Moins lourd et plus rapide, ou bien y a t il vraiment un gap en terme de rendu qualitatif ?


 
Pour le photoréalisme, Z-Image est nettement le meilleur modèle actuel (dans ceux utilisables en local).
 
Et par rapport à SDXL, c'est le jour et la nuit sur toutes les erreurs classiques genre mains à 6 ou 4 doigts, bras ou jambe en trop, poses anatomiquement impossibles ...


Message édité par Tammuz le 28-01-2026 à 16:49:13

---------------
"Que Dieu vous garde du feu, du couteau, de la littérature contemporaine et de la rancune des mauvais morts." Léon Bloy
n°74163385
Parrapa
pas le modal
Posté le 28-01-2026 à 20:53:58  profilanswer
 

:jap:

n°74165988
Parrapa
pas le modal
Posté le 29-01-2026 à 10:58:19  profilanswer
 

Cyber cats  
 
https://rehost.diberie.com/Picture/Get/r/486065
https://rehost.diberie.com/Picture/Get/r/486066
https://rehost.diberie.com/Picture/Get/r/486067
https://rehost.diberie.com/Picture/Get/r/486068
https://rehost.diberie.com/Picture/Get/r/486069
https://rehost.diberie.com/Picture/Get/r/486070
https://rehost.diberie.com/Picture/Get/r/486071
https://rehost.diberie.com/Picture/Get/r/486072
https://rehost.diberie.com/Picture/Get/r/486073
https://rehost.diberie.com/Picture/Get/r/486074
https://rehost.diberie.com/Picture/Get/r/486075
https://rehost.diberie.com/Picture/Get/r/486076
https://rehost.diberie.com/Picture/Get/r/486077
https://rehost.diberie.com/Picture/Get/r/486078
https://rehost.diberie.com/Picture/Get/r/486079
https://rehost.diberie.com/Picture/Get/r/486080

n°74166301
TBone
Pouet.
Posté le 29-01-2026 à 11:43:19  profilanswer
 

Sympa! :jap:


---------------
A straight line is a special case of a curve. It's a curve which is uncurved. -- Susskind.
n°74166846
bulldozer_​fusion
rip Mekthoub
Posté le 29-01-2026 à 13:28:40  profilanswer
 

Laissez nos chats z'en paix  :O


---------------
feed-back : http://forum.hardware.fr/forum2.ph [...] nojs=0#bas
n°74167453
Le Taz
Posté le 29-01-2026 à 15:06:11  profilanswer
 

Flippant :o
Je préfère les chats de maintenant :D

n°74167521
gromarik
Posté le 29-01-2026 à 15:20:15  profilanswer
 

Le Taz a écrit :

Flippant :o
Je préfère les chats de maintenant :D


Ça m'a mis mal à l'aise aussi, ça donne l'impression qu'ils ont été gravement blessés et réparés à la sauce terminator 2.
 

n°74167876
Parrapa
pas le modal
Posté le 29-01-2026 à 16:18:29  profilanswer
 

Tout les moyens sont bons pour nous anéantir  :o

n°74168019
Le Taz
Posté le 29-01-2026 à 16:38:30  profilanswer
 

https://i.makeagif.com/media/2-22-2024/Wtiv23.gif

mood
Publicité
Posté le 29-01-2026 à 16:38:30  profilanswer
 

n°74168110
Gedemon
patron-adjoint
Posté le 29-01-2026 à 16:51:08  profilanswer
 

1er test z-image
 
https://rehost.diberie.com/Picture/Get/f/486190
https://rehost.diberie.com/Picture/Get/f/486191


---------------
[hommage au beau jeu] [Footware]
n°74168123
Lt Ripley
J'en prendrai pour 1 dollar !
Posté le 29-01-2026 à 16:52:43  profilanswer
 

Ya du level !

n°74168150
Parrapa
pas le modal
Posté le 29-01-2026 à 16:56:26  profilanswer
 

Impressionant !

n°74168558
Gedemon
patron-adjoint
Posté le 29-01-2026 à 18:09:44  profilanswer
 


https://rehost.diberie.com/Picture/Get/f/486220
https://rehost.diberie.com/Picture/Get/f/486223


---------------
[hommage au beau jeu] [Footware]
n°74168925
Tammuz
Posté le 29-01-2026 à 19:30:02  profilanswer
 


Je l'ai pas encore testé, mais d'après les premiers retours, ça donne de base des images plus détaillées (parfois presque trop) et le CFG recommandé (4-7) a tendance à brûler un peu l'image si on monte trop.
 
Si on prend en compte la différence de temps de génération, je suis pas sûr que le jeu en vaille la chandelle.
 
 
 
https://rehost.diberie.com/Picture/Get/f/486239
https://rehost.diberie.com/Picture/Get/f/486238
https://rehost.diberie.com/Picture/Get/f/486240


---------------
"Que Dieu vous garde du feu, du couteau, de la littérature contemporaine et de la rancune des mauvais morts." Léon Bloy
n°74168997
bulldozer_​fusion
rip Mekthoub
Posté le 29-01-2026 à 19:46:59  profilanswer
 
n°74169439
Gedemon
patron-adjoint
Posté le 29-01-2026 à 21:31:25  profilanswer
 

Tammuz a écrit :


Je l'ai pas encore testé, mais d'après les premiers retours, ça donne de base des images plus détaillées (parfois presque trop) et le CFG recommandé (4-7) a tendance à brûler un peu l'image si on monte trop.
 
Si on prend en compte la différence de temps de génération, je suis pas sûr que le jeu en vaille la chandelle.
 
https://rehost.diberie.com/Picture/Get/f/486239
https://rehost.diberie.com/Picture/Get/f/486238
https://rehost.diberie.com/Picture/Get/f/486240


 
spafo, surtout qu'il lui faut vraiment un paquet de steps et un sampler lent pour de bons résultats :D
 
LTX2 me sort une vidéo pour le même temps de génération [:beleg]  
 
 


Oui, ou "base", enfin, pas sur, je crois que ce sera "omni" la version "full".  
 
la dernière à ce jour quoi [:gerarddarmon]  
 
https://rehost.diberie.com/Picture/Get/f/486254
https://rehost.diberie.com/Picture/Get/f/486255
 
et le test le plus important  [:tull chili]  
 

Spoiler :

https://rehost.diberie.com/Picture/Get/f/486253


 
 


---------------
[hommage au beau jeu] [Footware]
n°74169544
Tammuz
Posté le 29-01-2026 à 21:56:17  profilanswer
 

Gedemon a écrit :


et le test le plus important  [:tull chili]  


 
 
J'ai fait la version turbo.     [:hugeq:3]  
 

Spoiler :

https://rehost.diberie.com/Picture/Get/f/486262


---------------
"Que Dieu vous garde du feu, du couteau, de la littérature contemporaine et de la rancune des mauvais morts." Léon Bloy
n°74169624
bulldozer_​fusion
rip Mekthoub
Posté le 29-01-2026 à 22:16:11  profilanswer
 

C'est pas mal du tout, tout ça


---------------
feed-back : http://forum.hardware.fr/forum2.ph [...] nojs=0#bas
n°74170161
Fr4p
- - - -
Posté le 30-01-2026 à 06:39:30  profilanswer
 

Gedemon a écrit :


 
et le test le plus important  [:tull chili]  
 


 


 
La peau sur cette image est bluffante !
 
Edit : dommage que ce soit une "ROLLS ROLLS"  :D


Message édité par Fr4p le 30-01-2026 à 06:40:30
n°74170167
docmaboul
Posté le 30-01-2026 à 06:44:11  profilanswer
 

Tammuz a écrit :

J'ai fait la version turbo.     [:hugeq:3]  
 



 
Ce réalisme [:implosion du tibia]
 
Elle a même des mycoses aux ongles des pieds :whistle:

n°74176594
LennyB
Je ne contracte pas!
Posté le 31-01-2026 à 15:40:30  profilanswer
 

Uk Drill.
 
https://rehost.diberie.com/Picture/Get/t/486726
https://song.link/NoGoZones


---------------
"T'es vraiment con ou tu le fais exprès ? Parce que si tu le fais exprès t'es vraiment con"
n°74177405
crepator4
Deus ex machina
Posté le 31-01-2026 à 19:07:40  profilanswer
 

Jeux généré par ia :o généré par gpt 5.2 puyis retouche via gemini , faudra encore en faire un peu , mais j'ai la flemme ... (foutez le code dans un bloc note , renommez le en machin.html , lancez le et enjoy (ou pas)) edit : corriged
 
 
https://rehost.diberie.com/Picture/Get/f/486800
 
 
 
<!doctype html>
<html lang="fr">
<head>
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" />
  <title>Mini Kong Tower</title>
  <style>
    :root {
      --bg1: #0a0b18;
      --bg2: #130a1e;
      --ink: #ffe9c7;
      --panel: #00000055;
    }
    * { box-sizing: border-box; margin: 0; padding: 0; user-select: none; -webkit-user-select: none; }
    html, body { height: 100%; overflow: hidden; }
    body {
      display: flex; align-items: center; justify-content: center;
      background: radial-gradient(1200px 800px at 20% 10%, #1f2a6b33 0%, transparent 60%),
                  radial-gradient(900px 700px at 80% 20%, #b31b5a33 0%, transparent 55%),
                  linear-gradient(135deg, var(--bg1), var(--bg2));
      font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
      color: var(--ink);
    }
    #wrap {
      display: flex; flex-direction: column; gap: 10px; align-items: center;
      width: 100%; max-width: 920px;
    }
    canvas {
      width: 100%;
      height: auto;
      aspect-ratio: 4/3;
      max-height: 80vh;
      border-radius: 14px;
      border: 2px solid #ffcc66;
      background: linear-gradient(#070816, #04040a);
      box-shadow: 0 20px 60px #000000aa;
      image-rendering: pixelated;
    }
    #hud {
      width: 100%;
      display: flex; gap: 12px; flex-wrap: wrap; justify-content: space-between; align-items: center;
      padding: 10px 16px; border-radius: 12px; background: var(--panel);
      border: 1px solid #ffffff22;
      font-size: 14px;
      backdrop-filter: blur(4px);
    }
    kbd {
      display: inline-block; min-width: 22px; text-align: center;
      padding: 2px 7px; margin: 0 2px;
      border-radius: 6px;
      background: linear-gradient(#2a2a2a, #161616);
      border: 1px solid #666;
      color: #fff;
      font-family: monospace; font-weight: 700;
      box-shadow: inset 0 1px 0 #ffffff22;
      font-size: 0.9em;
    }
    .pill {
      padding: 4px 10px; border-radius: 999px; background: #ffffff12; border: 1px solid #ffffff1f;
    }
    @media (hover: none) and (pointer: coarse) {
      #controls-hint { display: none; }
    }
  </style>
</head>
<body>
 
  <div id="wrap">
    <canvas id="c" width="640" height="480"></canvas>
    <div id="hud">
      <div class="pill" id="controls-hint">
        <strong>Contrôles</strong> :
        <kbd>←</kbd><kbd>→</kbd> bouger,
        <kbd>↑</kbd><kbd>↓</kbd> échelles,
        <kbd>Espace</kbd> sauter,
        <kbd>Entrée</kbd> jouer
      </div>
      <div class="pill" id="stats">Score: 00000 · Vies: 3 · Niveau: 1</div>
    </div>
  </div>
 
<script>
(() => {
  const canvas = document.getElementById("c" );
  const ctx = canvas.getContext("2d", { alpha: false });
 
  const W = 640;
  const H = 480;
 
  const COL = {
    red: "#c43e5c", red2: "#ff8fa3",
    cyan: "#62d7ff", cyan2: "#2aa7d3",
    gold: "#ffd36b", gold2: "#ffb700",
    ink: "#ffe9c7",
    ladder: "#62d7ff", ladderRung: "#2aa7d3",
    barrel: "#c2843a", barrelBorder: "#f5d19b",
    barrelRed: "#e62e2e", barrelRedBorder: "#ff8888",
    kong: "#ff5e3a", kongStroke: "#ffb199",
    princess: "#ffc0f5",
    hammerHead: "#ddd", hammerHandle: "#8b5a2b"
  };
 
  const clamp = (v, min, max) => Math.max(min, Math.min(max, v));
  const aabb = (a, b) => (a.x < b.x + b.w && a.x + a.w > b.x && a.y < b.y + b.h && a.y + a.h > b.y);
 
  const keys = Object.create(null);
  window.addEventListener("keydown", (e) => {
    if (["ArrowLeft", "ArrowRight", "ArrowUp", "ArrowDown", " "].includes(e.key)) {
      e.preventDefault();
    }
    keys[e.key] = true;
    if (e.key === "Enter" ) keys.__enterTap = true;
  }, { passive: false });
  window.addEventListener("keyup", (e) => keys[e.key] = false);
 
  const touchState = { left: false, right: false, up: false, down: false, jump: false };
  canvas.addEventListener("touchstart", handleTouch, { passive: false });
  canvas.addEventListener("touchmove", handleTouch, { passive: false });
  canvas.addEventListener("touchend", (e) => {
    e.preventDefault();
    if(e.touches.length === 0) {
        touchState.left = touchState.right = touchState.up = touchState.down = touchState.jump = false;
    }
  });
 
  function handleTouch(e) {
    e.preventDefault();
    const rect = canvas.getBoundingClientRect();
    touchState.left = touchState.right = touchState.up = touchState.down = touchState.jump = false;
     
    if(state !== "playing" ) {
        if(e.type === "touchstart" ) keys.__enterTap = true;
        return;
    }
 
    for (let i = 0; i < e.touches.length; i++) {
      const t = e.touches[i];
      const x = (t.clientX - rect.left) / rect.width * W;
      const y = (t.clientY - rect.top) / rect.height * H;
 
      if (x < W * 0.25) touchState.left = true;
      else if (x < W * 0.5) touchState.right = true;
       
      if (y < H * 0.3) touchState.up = true;
      else if (y > H * 0.7 && x < W * 0.5) touchState.down = true;
 
      if (x > W * 0.6) touchState.jump = true;
    }
  }
 
  // --- Monde Zig-Zag ---
  const platforms = [
    {x:  0, y: H-44,  w: W, h: 10, slope: 0.0},
    {x:  0, y: H-120, w: W-80, h: 10, slope: 0.06},
    {x:  80, y: H-196, w: W-80, h: 10, slope: -0.06},
    {x:  0, y: H-272, w: W-80, h: 10, slope: 0.06},
    {x:  80, y: H-350, w: W-80, h: 10, slope: -0.06},
  ];
 
  // Ajustement des échelles : yTop ajusté pour dépasser ou coller au sol incliné
  const ladders = [
    {x: W-120, yTop: H-365, yBot: H-272, w: 22}, // Haut
    {x: 120,   yTop: H-285, yBot: H-196, w: 22},
    {x: W-120, yTop: H-210, yBot: H-120, w: 22},
    {x: 120,   yTop: H-135, yBot: H-44,  w: 22}, // Bas
    {x: 320,   yTop: H-365, yBot: H-272, w: 22},
  ];
 
  const topPlat = {x: W/2 - 150, y: H-418, w: 300, h: 10, slope: 0};
  ladders.push({x: W/2 - 80, yTop: H-418, yBot: H-350, w: 22});
 
  function platformYAt(p, xMid) {
    const t = clamp((xMid - p.x) / p.w, 0, 1);
    return p.y + (t - 0.5) * p.slope * p.w;
  }
 
  const player = {
    x: 40, y: H-90, w: 20, h: 28,
    vx: 0, vy: 0,
    onGround: false, climbing: false, facing: 1,
    lives: 3, inv: 0, hasHammer: false, hammerTimer: 0
  };
 
  const hammer = { x: 0, y: 0, w: 20, h: 20, active: false };
  const kong = { x: topPlat.x + 34, y: topPlat.y - 48, w: 52, h: 46 };
  const princess = { x: topPlat.x + topPlat.w - 64, y: topPlat.y - 30, w: 18, h: 26 };
 
  let barrels = [];
  let particles = [];
  let score = 0;
  let level = 1;
  let state = "title";  
 
  const GRAV = 1800;      
  const MOVE = 210;  
  const JUMP = 500;
  const CLIMB = 160;      
  const MAXVX = 320;
 
  let spawnT = 0;
  function spawnInterval(){ return Math.max(0.6, 2.0 - level * 0.18); }
 
  function spawnHammer() {
    const pIdx = 1 + Math.floor(Math.random() * (platforms.length - 2));  
    const p = platforms[pIdx];
    hammer.active = true;
    hammer.w = 16; hammer.h = 16;
    hammer.x = p.x + 40 + Math.random() * (p.w - 80);
    hammer.y = platformYAt(p, hammer.x + 8) - 20;
  }
 
  function reset(full) {
    barrels = [];
    particles = [];
    spawnT = 0;
    player.x = 40; player.y = H-90;
    player.vx = 0; player.vy = 0;
    player.onGround = false; player.climbing = false;
    player.inv = 2.0;  
    player.hasHammer = false;
    player.hammerTimer = 0;
    spawnHammer();
    if (full) {
      score = 0; level = 1; player.lives = 3;
    }
  }
 
  function start() {
    reset(true);
    state = "playing";
  }
 
  function nextLevel() {
    level++;
    reset(false);
    state = "playing";
  }
 
  function loseLife() {
    player.lives--;
    if (player.lives < 0) {
      state = "gameover";
      return;
    }
    reset(false);
  }
 
  function ladderAtPlayer() {
    const cx = player.x + player.w / 2;
    const cy = player.y + player.h / 2;
    for (const L of ladders) {
      // Zone de détection étendue verticalement
      if (cx >= L.x - 8 && cx <= L.x + L.w + 8 && cy >= L.yTop - 18 && cy <= L.yBot + 8) return L;
    }
    return null;
  }
 
  function addParticles(x, y, color) {
    for(let i=0; i<8; i++) {
        particles.push({
            x: x, y: y,
            vx: (Math.random() - 0.5) * 300,
            vy: (Math.random() - 1) * 300,
            life: 1.0, color: color, size: 3 + Math.random()*3
        });
    }
  }
 
  function update(dt) {
    if (keys.__enterTap) {
      keys.__enterTap = false;
      if (state === "title" ) start();
      else if (state === "gameover" ) start();
      else if (state === "win" ) nextLevel();
    }
    if (state !== "playing" ) return;
 
    const left = keys["ArrowLeft"] || touchState.left;
    const right = keys["ArrowRight"] || touchState.right;
    const up = keys["ArrowUp"] || touchState.up;
    const down = keys["ArrowDown"] || touchState.down;
    const jump = keys[" "] || touchState.jump;
 
    const L = ladderAtPlayer();
 
    // Snap échelle
    if (L && (up || down)) {
      if (!player.climbing) {
        player.x = L.x + (L.w - player.w) / 2;
        player.climbing = true;
      }
    }
    if (!L) player.climbing = false;
 
    if (player.climbing && L) {
      player.vx = 0;
      player.vy = 0;
      if (up) player.y -= CLIMB * dt;
      if (down) player.y += CLIMB * dt;
       
      player.x += ((L.x + L.w/2) - (player.x + player.w/2)) * 0.5;
       
      // Clamp qui permet de dépasser un peu le haut (-4px) pour monter sur le sol
      player.y = clamp(player.y, L.yTop - player.h - 4, L.yBot - player.h);
       
      if (left || right) player.climbing = false;
    } else {
      let speed = MOVE;
      if (player.hasHammer) speed = MOVE * 1.1;  
 
      // Contrôle "Sec" (Pas d'inertie)
      if (left && !right) {  
        player.vx = -speed;  
        player.facing = -1;  
      }
      else if (right && !left) {  
        player.vx = speed;  
        player.facing = 1;  
      }
      else {
        // Arrêt immédiat ! Fini le savon
        player.vx = 0;
      }
 
      player.vx = clamp(player.vx, -MAXVX, MAXVX);
 
      if (jump && player.onGround && !keys.__jumpHeld) {
        player.vy = -JUMP;
        player.onGround = false;
        keys.__jumpHeld = true;
      }
      if (!jump) keys.__jumpHeld = false;
 
      player.vy += GRAV * dt;
    }
 
    player.x += player.vx * dt;
    player.y += player.vy * dt;
    player.x = clamp(player.x, 8, W - 8 - player.w);
 
    // Collisions Plateformes
    player.onGround = false;
    const allPlats = [...platforms, topPlat];
     
    for (const p of allPlats) {
      const xMid = player.x + player.w/2;
      if (xMid < p.x || xMid > p.x + p.w) continue;
 
      const py = platformYAt(p, xMid);
      const feet = player.y + player.h;
      const prevFeet = feet - player.vy * dt;
 
      // Tolérance +4 pour attraper le sol après une échelle
      if (prevFeet <= py + 4 && feet >= py && player.vy >= 0 && !player.climbing) {
        player.y = py - player.h;
        player.vy = 0;
        player.onGround = true;
        // NOTE: On ne rajoute plus la vélocité de la pente au joueur (ça glisse trop)
      }
    }
 
    if (player.y > H + 60) loseLife();
 
    if (player.hasHammer) {
        player.hammerTimer -= dt;
        if (player.hammerTimer <= 0) player.hasHammer = false;
    } else if (hammer.active) {
        if (aabb(player, hammer)) {
            hammer.active = false;
            player.hasHammer = true;
            player.hammerTimer = 9.0;
            score += 500;
            addParticles(player.x, player.y, COL.gold);
        }
    }
 
    if (player.inv > 0) player.inv -= dt;
 
    // --- Barils ---
    spawnT += dt;
    if (spawnT >= spawnInterval()) {
      spawnT = 0;
      const dir = (Math.random() < 0.5) ? -1 : 1;  
      let type = "normal";
      let bVx = 150 + level * 18;
      if (level >= 2 && Math.random() < 0.25) {
        type = "red";
        bVx *= 1.5;
      }
      barrels.push({
        x: kong.x + kong.w * 0.35, y: kong.y + kong.h * 0.7,
        w: 18, h: 18,
        vx: bVx * dir, vy: 0,
        type: type
      });
    }
 
    for (let i = barrels.length - 1; i >= 0; i--) {
      const b = barrels[i];
      b.vy += (GRAV * 0.9) * dt;
      if (b.vy > 650) b.vy = 650;
 
      b.x += b.vx * dt;
      b.y += b.vy * dt;
 
      if (b.x < 0) { b.x = 0; b.vx = Math.abs(b.vx); }
      if (b.x + b.w > W) { b.x = W - b.w; b.vx = -Math.abs(b.vx); }
 
      for (const p of allPlats) {
        const xMid = b.x + b.w/2;
        if (xMid < p.x || xMid > p.x + p.w) continue;
        const py = platformYAt(p, xMid);
        const feet = b.y + b.h;
        const prevFeet = feet - b.vy * dt;
         
        if (prevFeet <= py + 14 && feet >= py && b.vy >= 0) {
          b.y = py - b.h;
          if (b.type === "red" ) b.vy = -250; else b.vy = 0;
          if (p.slope !== 0) b.vx += (p.slope * 280) * dt;
          b.vx = clamp(b.vx, -450, 450);
        }
      }
 
      if (b.y > H + 80) { barrels.splice(i, 1); score += 100; continue; }
 
      const hit = {x: b.x + 2, y: b.y + 2, w: b.w - 4, h: b.h - 4};
      if (aabb(player, hit)) {  
          if (player.hasHammer) {
              addParticles(b.x, b.y, b.type === "red" ? COL.red : COL.barrel);
              barrels.splice(i, 1);
              score += 300;
          } else if (player.inv <= 0) {
              loseLife();
              break;  
          }
      }
    }
 
    for (let i = particles.length - 1; i >= 0; i--) {
        let p = particles[i];
        p.x += p.vx * dt;
        p.y += p.vy * dt;
        p.vy += GRAV * dt;
        p.life -= dt * 2;
        if(p.life <= 0) particles.splice(i, 1);
    }
 
    if (aabb(player, princess)) {
      score += 1500 + level * 500;
      state = "win";
    }
  }
 
  function draw() {
    const g = ctx.createLinearGradient(0, 0, 0, H);
    g.addColorStop(0, "#07081a" );
    g.addColorStop(1, "#03030a" );
    ctx.fillStyle = g;
    ctx.fillRect(0, 0, W, H);
 
    ctx.fillStyle = "#ffffff18";
    for (let i = 0; i < 90; i++) {
      const x = (i * 97) % W;
      const y = (i * 53) % Math.floor(H * 0.55);
      ctx.fillRect(x, y, (i % 3 ? 1 : 2), (i % 3 ? 1 : 2));
    }
 
    function drawPlat(p) {
      const yL = platformYAt(p, p.x);
      const yR = platformYAt(p, p.x + p.w);
       
      ctx.fillStyle = COL.red;
      ctx.beginPath();
      ctx.moveTo(p.x, yL);
      ctx.lineTo(p.x + p.w, yR);
      ctx.lineTo(p.x + p.w, yR + p.h);
      ctx.lineTo(p.x, yL + p.h);
      ctx.closePath();
      ctx.fill();
 
      ctx.strokeStyle = COL.red2;
      ctx.lineWidth = 3;
      ctx.beginPath();
      ctx.moveTo(p.x, yL);
      ctx.lineTo(p.x + p.w, yR);
      ctx.stroke();
       
      ctx.lineWidth = 1;
      ctx.strokeStyle = "#00000055";
      for (let x = p.x + 18; x < p.x + p.w; x += 28) {
        const y = platformYAt(p, x);
        ctx.beginPath();
        ctx.moveTo(x, y + p.h);
        ctx.lineTo(x, y + p.h + 10);
        ctx.stroke();
      }
    }
 
    for (const p of platforms) drawPlat(p);
    drawPlat(topPlat);
 
    for (const L of ladders) {
      ctx.strokeStyle = COL.ladder;
      ctx.lineWidth = 3;
      ctx.beginPath();
      ctx.moveTo(L.x, L.yTop);
      ctx.lineTo(L.x, L.yBot);
      ctx.moveTo(L.x + L.w, L.yTop);
      ctx.lineTo(L.x + L.w, L.yBot);
      ctx.stroke();
 
      ctx.strokeStyle = COL.ladderRung;
      ctx.lineWidth = 2;
      for (let y = L.yTop + 10; y < L.yBot; y += 12) {
        ctx.beginPath();
        ctx.moveTo(L.x, y);
        ctx.lineTo(L.x + L.w, y);
        ctx.stroke();
      }
    }
 
    if (hammer.active) {
        ctx.save();
        ctx.translate(hammer.x + hammer.w/2, hammer.y + hammer.h/2 + Math.sin(performance.now()/200)*3);
        ctx.fillStyle = COL.hammerHandle;
        ctx.fillRect(-2, 0, 4, 10);
        ctx.fillStyle = COL.hammerHead;
        ctx.fillRect(-6, -6, 12, 8);
        ctx.strokeStyle = "#fff";
        ctx.lineWidth = 1;
        ctx.strokeRect(-6, -6, 12, 8);
        ctx.restore();
    }
 
    ctx.lineWidth = 2;
    ctx.fillStyle = COL.kong;
    ctx.strokeStyle = COL.kongStroke;
    ctx.beginPath();
    roundRect(ctx, kong.x, kong.y, kong.w, kong.h, 8);
    ctx.fill(); ctx.stroke();
 
    ctx.fillStyle = COL.ink;
    ctx.beginPath();
    roundRect(ctx, kong.x + 12, kong.y + 14, kong.w - 24, kong.h - 26, 6);
    ctx.fill();
    ctx.fillStyle = "#222";
    ctx.fillRect(kong.x + 18, kong.y + 22, 5, 5);
    ctx.fillRect(kong.x + kong.w - 23, kong.y + 22, 5, 5);
 
    ctx.fillStyle = COL.princess;
    ctx.strokeStyle = "#fff0ff";
    ctx.beginPath();
    roundRect(ctx, princess.x, princess.y + 6, princess.w, princess.h - 6, 5);
    ctx.fill(); ctx.stroke();
    ctx.fillStyle = COL.ink;
    ctx.beginPath();
    roundRect(ctx, princess.x + 2, princess.y, princess.w - 4, 10, 4);
    ctx.fill();
     
    const t = performance.now() / 300;
    const bob = Math.sin(t) * 3;
    ctx.save();
    ctx.translate(princess.x + princess.w / 2, princess.y - 10 + bob);
    ctx.fillStyle = "#ff4f8b";
    ctx.beginPath();
    ctx.moveTo(0, 6);
    ctx.bezierCurveTo(-6, 0, -5, -6, 0, -4);
    ctx.bezierCurveTo(5, -6, 6, 0, 0, 6);
    ctx.fill();
    ctx.restore();
 
    for (const b of barrels) {
      ctx.lineWidth = 1.5;
      const isRed = b.type === "red";
      ctx.fillStyle = isRed ? COL.barrelRed : COL.barrel;
      ctx.strokeStyle = isRed ? COL.barrelRedBorder : COL.barrelBorder;
 
      const rot = ((performance.now() / (isRed?150:220)) + b.x / 60) % (Math.PI * 2);
      ctx.save();
      ctx.translate(b.x + b.w / 2, b.y + b.h / 2);
      ctx.rotate(Math.sin(rot) * 0.35);
      roundRect(ctx, -b.w / 2, -b.h / 2, b.w, b.h, 5);
      ctx.fill(); ctx.stroke();
      ctx.fillStyle = ctx.strokeStyle;
      ctx.fillRect(-b.w / 2, -2, b.w, 4);
      if(isRed) {
        ctx.fillStyle = "#fff";
        ctx.font = "bold 10px sans-serif";
        ctx.textAlign = "center";
        ctx.textBaseline = "middle";
        ctx.fillText("!", 0, 1);
      }
      ctx.restore();
    }
 
    for(const p of particles) {
        ctx.fillStyle = p.color;
        ctx.globalAlpha = p.life;
        ctx.fillRect(p.x, p.y, p.size, p.size);
        ctx.globalAlpha = 1.0;
    }
 
    if (!(player.inv > 0 && Math.floor(performance.now() / 80) % 2 === 0)) {
      if (player.hasHammer) {
         ctx.save();
         const swing = Math.sin(performance.now() / 50) * 1.5;
         ctx.translate(player.x + player.w/2, player.y + player.h/2);
         ctx.rotate(swing);
         ctx.fillStyle = COL.hammerHandle;
         ctx.fillRect(10, -10, 4, 14);
         ctx.fillStyle = COL.hammerHead;
         ctx.fillRect(6, -16, 12, 10);
         ctx.restore();
      }
 
      const pg = ctx.createLinearGradient(player.x, player.y, player.x, player.y + player.h);
      pg.addColorStop(0, COL.gold);
      pg.addColorStop(1, COL.gold2);
      ctx.fillStyle = pg;
      ctx.strokeStyle = "#b38400";
      ctx.lineWidth = 1.5;
      roundRect(ctx, player.x, player.y + 8, player.w, player.h - 8, 5);
      ctx.fill(); ctx.stroke();
 
      ctx.fillStyle = COL.ink;
      roundRect(ctx, player.x + 3, player.y, player.w - 6, 10, 4);
      ctx.fill();
      ctx.fillStyle = player.hasHammer ? "#fff" : "#ff6b6b";
      roundRect(ctx, player.x + 2, player.y, player.w - 4, 6, 4);
      ctx.fill();
      ctx.fillStyle = "#222";
      const eye = (player.facing >= 0) ? 3 : -3;
      ctx.fillRect(player.x + player.w / 2 + eye - 2, player.y + 4, 2, 2);
    }
    ctx.lineWidth = 1;
 
    if (state === "title" ) {
      panel("Mini Kong Tower", "Nouveau: Marteau & Barils Rouges !", "Appuie sur ENTREE" );
    } else if (state === "win" ) {
      panel("Niveau terminé !", `Score +${1500 + level * 500}`, "ENTREE pour continuer" );
    } else if (state === "gameover" ) {
      panel("Game Over", `Score final: ${score}`, "ENTREE pour rejouer" );
    }
 
    const elStats = document.getElementById("stats" );
    let txt = `Score: ${String(score).padStart(5, "0" )} · Vies: ${Math.max(0, player.lives)} · Niv: ${level}`;
    if(player.hasHammer) txt += ` · Marteau: ${Math.ceil(player.hammerTimer)}s`;
    if (elStats.textContent !== txt) elStats.textContent = txt;
  }
 
  function panel(title, line, hint) {
    ctx.fillStyle = "rgba(0,0,0,0.65)";
    ctx.fillRect(0, 0, W, H);
    ctx.textAlign = "center";
    ctx.fillStyle = "#ffe4b5";
    ctx.font = "700 32px system-ui, Segoe UI";
    ctx.textBaseline = "middle";
    ctx.fillText(title, W / 2, H / 2 - 50);
    ctx.fillStyle = "#ffeedd";
    ctx.font = "18px system-ui, Segoe UI";
    ctx.fillText(line, W / 2, H / 2 - 10);
    const bw = 220, bh = 40;
    const bx = W/2 - bw/2, by = H/2 + 25;
    ctx.fillStyle = COL.red;
    roundRect(ctx, bx, by, bw, bh, 20);
    ctx.fill();
    ctx.strokeStyle = "#fff"; ctx.lineWidth = 2; ctx.stroke();
    ctx.fillStyle = "#fff";
    ctx.font = "700 16px system-ui, Segoe UI";
    ctx.fillText(hint, W / 2, by + bh/2);
    ctx.textBaseline = "alphabetic";
  }
 
  function roundRect(ctx, x, y, w, h, r) {
    if (w < 2 * r) r = w / 2;
    if (h < 2 * r) r = h / 2;
    ctx.beginPath();
    ctx.moveTo(x + r, y);
    ctx.arcTo(x + w, y, x + w, y + h, r);
    ctx.arcTo(x + w, y + h, x, y + h, r);
    ctx.arcTo(x, y + h, x, y, r);
    ctx.arcTo(x, y, x + w, y, r);
    ctx.closePath();
  }
 
  let last = performance.now();
  function frame(now) {
    const dt = Math.min(0.05, (now - last) / 1000);  
    last = now;
    update(dt);
    draw();
    requestAnimationFrame(frame);
  }
  requestAnimationFrame(frame);
})();
</script>
</body>
</html>

Message cité 1 fois
Message édité par crepator4 le 31-01-2026 à 20:40:06

---------------
...survivre à ses Medecins...
n°74179045
oh_damned
Posté le 01-02-2026 à 09:41:07  profilanswer
 

[:drapal]


---------------
“Everyone has a plan: until they get punched in the face.” – Mike Tyson
n°74179546
Gedemon
patron-adjoint
Posté le 01-02-2026 à 12:00:29  profilanswer
 

crepator4 a écrit :

Jeux généré par ia :o généré par gpt 5.2 puyis retouche via gemini , faudra encore en faire un peu , mais j'ai la flemme ... (foutez le code dans un bloc note , renommez le en machin.html , lancez le et enjoy (ou pas)) edit : corriged
 
 
https://rehost.diberie.com/Picture/Get/f/486800
 


c'est là qu'on voit que l'IA a encore des progrès à faire, elle aurait quand même pu te proposer un lien vers un site te permettant de partager le résultat directement, en économisant nos molettes [:beleg]
 
https://jsfiddle.net/npr9hm5f/
 
https://rehost.diberie.com/Picture/Get/r/486912
 
et on s'éloigne quand même du sujet, ils t'ont viré du topic GPT/Gemini ?  [:ocube]


---------------
[hommage au beau jeu] [Footware]
n°74179589
Gedemon
patron-adjoint
Posté le 01-02-2026 à 12:09:18  profilanswer
 

ZIB ne sais pas faire les chaines de transmission, remboursez [:beleg]

 

https://rehost.diberie.com/Picture/Get/r/486915https://rehost.diberie.com/Picture/Get/r/486916

 

edit: ha, si, faut juste la prompter... faut sérieusement utiliser un LLM pour les prompts maintenant [:boulitruc]

 

https://rehost.diberie.com/Picture/Get/f/486921


Message édité par Gedemon le 01-02-2026 à 12:12:14

---------------
[hommage au beau jeu] [Footware]
n°74180031
Gedemon
patron-adjoint
Posté le 01-02-2026 à 14:08:09  profilanswer
 

Nouveau model, assez léger, j'sais plus qui avait demandé pour faire de l'anime/illustration y a pas longtemps [:transparency]
 
encore en cours d'entrainement, ça se voit sur les mains.
 
avantage sur les précédents: meilleurs respect du prompt, et d'après les commentaires connait beaucoup de styles et personnages de base.
 
https://huggingface.co/circlestone-labs/Anima
 
tests:
 
https://rehost.diberie.com/Picture/Get/r/486965https://rehost.diberie.com/Picture/Get/r/486967
https://rehost.diberie.com/Picture/Get/r/486968https://rehost.diberie.com/Picture/Get/r/486969
 
https://rehost.diberie.com/Picture/Get/f/486966
 

Spoiler :

https://rehost.diberie.com/Picture/Get/f/486963
https://rehost.diberie.com/Picture/Get/f/486964
https://rehost.diberie.com/Picture/Get/f/486962


---------------
[hommage au beau jeu] [Footware]
n°74180052
crepator4
Deus ex machina
Posté le 01-02-2026 à 14:12:47  profilanswer
 

Gedemon a écrit :


c'est là qu'on voit que l'IA a encore des progrès à faire, elle aurait quand même pu te proposer un lien vers un site te permettant de partager le résultat directement, en économisant nos molettes [:beleg]

 

https://jsfiddle.net/npr9hm5f/

 

https://rehost.diberie.com/Picture/Get/r/486912

 

et on s'éloigne quand même du sujet, ils t'ont viré du topic GPT/Gemini ?  [:ocube]

 

je crois que je peut proposer un lien direct sous gemini,mais j'ai peur que l'on remonte à moi et mes projets de milliardaire... (faut juste un petit hebergeur web,mais avec mes 3/4 heures de sommeil j'etais/suis pas chaud ...)

 

et le sujet comme le resultat final se rapproche plus de la video que du texte bein .. :D


Message édité par crepator4 le 01-02-2026 à 14:14:02

---------------
...survivre à ses Medecins...
n°74180056
bulldozer_​fusion
rip Mekthoub
Posté le 01-02-2026 à 14:13:14  profilanswer
 

Gedemon a écrit :

Nouveau model, assez léger, j'sais plus qui avait demandé pour faire de l'anime/illustration y a pas longtemps [:transparency]

 

encore en cours d'entrainement, ça se voit sur les mains.

 

avantage sur les précédents: meilleurs respect du prompt, et d'après les commentaires connait beaucoup de styles et personnages de base.

 

https://huggingface.co/circlestone-labs/Anima

 

tests:

 

https://rehost.diberie.com/Picture/Get/r/486965https://rehost.diberie.com/Picture/Get/r/486967
https://rehost.diberie.com/Picture/Get/r/486968https://rehost.diberie.com/Picture/Get/r/486969

 

https://rehost.diberie.com/Picture/Get/f/486966

 



C'était moi qui avait demandé pour faire de l'animé
Frieren je valide :D


Message édité par bulldozer_fusion le 01-02-2026 à 14:13:56

---------------
feed-back : http://forum.hardware.fr/forum2.ph [...] nojs=0#bas
n°74180341
crepator4
Deus ex machina
Posté le 01-02-2026 à 15:23:04  profilanswer
 

Hebergement html du donkey pour 1 heure .. :lol:
 
 
https://developed-cyan-ylczy6chi6.edgeone.app/
 
https://pages.edgeone.ai/drop   (toujours ça de pris :o  )
 
edit je crois que ce lien durera plus longtemps , je me suis inscrit :
https://stuck-plum-hukp6baqjr.edgeone.app/

Message cité 2 fois
Message édité par crepator4 le 01-02-2026 à 17:17:52

---------------
...survivre à ses Medecins...
n°74180479
Gedemon
patron-adjoint
Posté le 01-02-2026 à 16:12:34  profilanswer
 

crepator4 a écrit :

Hebergement html du donkey pour 1 heure .. :lol:
 


mon lien pour exemple ne marchait pas ?


---------------
[hommage au beau jeu] [Footware]
n°74180493
gromarik
Posté le 01-02-2026 à 16:16:23  profilanswer
 

crepator4 a écrit :

Hebergement html du donkey pour 1 heure .. :lol:
 
 
https://developed-cyan-ylczy6chi6.edgeone.app/
 
https://pages.edgeone.ai/drop   (toujours ça de pris :o  )


C'est cheaté le marteau qui donne l'invincibilité :D
 


Il marche très bien  [:cerveau charlest]

Message cité 1 fois
Message édité par gromarik le 01-02-2026 à 16:18:17
n°74180655
crepator4
Deus ex machina
Posté le 01-02-2026 à 17:19:19  profilanswer
 

Gedemon a écrit :


mon lien pour exemple ne marchait pas ?

 

un peu ecrasé sur le dessus de mon coté (une vieille tv lcd en ecran)

 

pis je cherchais un hebergeur rapide...


Message édité par crepator4 le 01-02-2026 à 17:20:01

---------------
...survivre à ses Medecins...
n°74180725
crepator4
Deus ex machina
Posté le 01-02-2026 à 17:36:07  profilanswer
 

gromarik a écrit :


C'est cheaté le marteau qui donne l'invincibilité :D

 


 

Le marteau c'est lui qui me la filé, j'ai juste demandé amélioration/jouabilité

 

ça été beaucoup plus vite qu'avant , j'ai du faire 10 demande de modif avant d'avoir un truc honnete graphiquement et vraiment jouable

 

edit : oki , ca tiens plus d'une heure maintenant ,le donkey depuis que suis inscrit pour de vrai
https://stuck-plum-hukp6baqjr.edgeone.app/


Message édité par crepator4 le 01-02-2026 à 19:42:35

---------------
...survivre à ses Medecins...
n°74181516
bulldozer_​fusion
rip Mekthoub
Posté le 01-02-2026 à 21:03:26  profilanswer
 

Citation :

Google Genie 3 just got its biggest open-source rival

 

LingBot-World is an open-source world model that generates playable environments in real-time.

 

Built on Alibaba’s Wan2.2
10 minutes of stable generation
16fps real-time interaction

 

100% Open Source.


https://x.com/i/status/2017755667415605441
Impressionnant
Mais il faut des cartes graphiques de serveur pour le faire tourner :O

Message cité 1 fois
Message édité par bulldozer_fusion le 01-02-2026 à 21:10:30

---------------
feed-back : http://forum.hardware.fr/forum2.ph [...] nojs=0#bas
n°74182239
the_fennec
f3nn3cUs z3rd4
Posté le 02-02-2026 à 07:06:18  profilanswer
 

bulldozer_fusion a écrit :

Citation :

Google Genie 3 just got its biggest open-source rival  
 
LingBot-World is an open-source world model that generates playable environments in real-time.
 
Built on Alibaba’s Wan2.2
10 minutes of stable generation
16fps real-time interaction
 
100% Open Source.


https://x.com/i/status/2017755667415605441
Impressionnant
Mais il faut des cartes graphiques de serveur pour le faire tourner :O


 
Pour éviter de cliquer sur x: https://github.com/Robbyant/lingbot-world


---------------
Faudra que je teste un jour :o
n°74185868
bulldozer_​fusion
rip Mekthoub
Posté le 02-02-2026 à 21:09:35  profilanswer
 

Le nouveau meilleur modèle en text to image
Riverflow 2.0  
https://x.com/ArtificialAnlys/statu [...] 3089602032


---------------
feed-back : http://forum.hardware.fr/forum2.ph [...] nojs=0#bas
n°74186384
remiche35
One day the flames will fade
Posté le 02-02-2026 à 23:11:18  profilanswer
 

Sale temps en mer  [:cerveau muzah]  
https://rehost.diberie.com/Picture/Get/f/487335

n°74189263
LennyB
Je ne contracte pas!
Posté le 03-02-2026 à 15:47:16  profilanswer
 

Mélange d'acid trance et de synthwave [:stephan_lapaix]  
 
Fallout 303 by LennyB Studio
 
https://rehost.diberie.com/Rehost?size=min&url=https%3A%2F%2Fi1.sndcdn.com%2Fartworks-CKynBFCod023mvYl-zIgzsg-t500x500.jpg


---------------
"T'es vraiment con ou tu le fais exprès ? Parce que si tu le fais exprès t'es vraiment con"
n°74189927
Tammuz
Posté le 03-02-2026 à 18:20:39  profilanswer
 


Ace-Step 1.5 vient de sortir.    [:so-saugrenu:1]


---------------
"Que Dieu vous garde du feu, du couteau, de la littérature contemporaine et de la rancune des mauvais morts." Léon Bloy
n°74190204
Tammuz
Posté le 03-02-2026 à 19:33:17  profilanswer
 


Premier test vite fait.   [:festen]  
 
 
https://jumpshare.com/s/4RiKrBwjLIC4TYYczXev


---------------
"Que Dieu vous garde du feu, du couteau, de la littérature contemporaine et de la rancune des mauvais morts." Léon Bloy
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  206  207  208  209  210  211

Aller à :
Ajouter une réponse
 

Sujets relatifs
[Rehost v1.8] Hébergement d'images gratuit et anonyme !forum chasseur d'images
Review Gemini Man en HDR 3D+ 120 images par seconde ! by Dugom[Jeu] Nombres en images inversées - De 10000 à 1 - Plaques interdites
[Jeu] Lettres en images - Pas de plaques - 10 ans et 4 lettres !DEVANT LES MILLIONS D'IMAGES DE LA GUERRE (EN SYRIE)
Le topic des images étonnantes [faites par des cons]Google et emplacement changeant des images
Un topic "babes"/"érotique" pour dépolluer le topic images étonnantes[Topic unique] Pour parler uniquement en smileys gifs et images
Plus de sujets relatifs à : Les images/vidéos générées en IA: Midjourney Dall-e StableDiffusion...


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)