Connexion
Pour récupérer votre compte, veuillez saisir votre adresse email. Vous allez recevoir un email contenant une adresse pour récupérer votre compte.
Inscription
En vous inscrivant, vous acceptez les conditions d'utilisation du site et de nous vendre votre âme pour un euro symbolique. Amusez vous, mais pliez vous à la charte.

Un Rédacteur Factornews vous demande :

ARTICLE

Tick Tick Boom

CBL par CBL,  email  @CBL_Factor
 
The Evil Within est encore un exemple de jeu dont le framerate est bloqué à 30 FPS sur PC. Bethesda a publié la liste des commandes debug permettant de faire sauter cette limite tout en précisant que cela peut donner des résultats inattendus.

Pour comprendre l'origine du problème, il est nécessaire de donner un petit cours de programmation sur les moteurs graphiques.
En général, ils fonctionnent grosso modo de la manière suivante. On commence par faire les calculs liés au gameplay, à l'IA, à la physique, aux collisions, aux animations... afin d'obtenir la position des différents objets 3D. Puis on va balancer le tout à la carte graphique qui va rendre le résultat et afficher une belle image.

Selon la complexité de ce qu'il y a à afficher et la puissance de la carte graphique, le rendu va prendre plus ou moins de temps. Accessoirement les calculs mentionnés plus haut vont aussi prendre du temps. La conséquence est qu'entre deux images, il se passe quelques dizaines de millisecondes. C'est la période entre deux images et si vous vous rappelez vos cours de collège, la fréquence équivaut à l'inverse de la période. F = 1/T. Donc si votre période est de 33 ms ou 0.033 s, votre fréquence est de 30 Hz (et des poussières). C'est votre frame rate. On l'exprime plutôt en frames par seconde (FPS).

Pour la majorité des calculs liés au gameplay comme les déplacements des personnages, on les effectue au sein de fonctions Tick qui sont gentiment fournies par le moteur et qui s'exécutent à chaque nouvelle image. Cette fonction Tick va aussi vous fournir le temps qui s'est écoulé depuis la dernière image, la fameuse période. Appelons-la dt (pour delta temps). Du coup il y a deux manières de faire ces calculs : en fonction du framerate ou en fonction du temps.

Quand vous fondez vos calculs sur le frame rate, vous espérez toujours atteindre un certain frame rate. Mettons 30 images par seconde. Imaginons maintenant qu'un ennemi court à 10 mètres par seconde en ligne droite le long de l'axe X. Comme une frame correspond à 1/30 de seconde, le calcul de la position de l'ennemi va ressembler à cela dans sa fonction Tick :
void Tick(float dt)
{
    x = x + 10/30;
}

Si vous souhaitez plutôt fonder vos calculs sur le temps, le calcul sera plutôt du genre : 
void Tick(float dt)
{
    x = x + 10 * dt;
}

Si votre jeu tourne vraiment à 30 FPS, le résultat sera le même. L'ennemi bougera de 10 mètres en une seconde. Bloquer un jeu à 30 FPS est facile mais vous ne pouvez pas empêcher qu'il tombe en-dessous. Supposons qu'en même temps que l'ennemi court, votre carte graphique doive rendre une explosion atomique et arrive péniblement à cracher du 20 FPS. Si vous avez fondé vos calculs sur le frame rate, à la place d'avancer 30 fois en une seconde de 10/30 mètres, l'ennemi ne le fera que 20 fois. Il ira plus lentement.

En clair, tout le jeu sera ralenti. Si au contraire vous avez utilisé le temps, l'ennemi aura parcouru la même distance qu'à 30 FPS. Mais comme le rendu n'a été rafraîchi que 20 fois, son mouvement n'a pas dû paraitre très fluide. Si à la place d'un ennemi c'est une balle de Metal Slug qui se dirige vers vous, il est beaucoup plus juste de ralentir l'ensemble du jeu que de vous laisser moins de chance d'esquiver le projectile. Accessoirement quand le delta temps entre deux frames devient trop grand car le jeu rame à plein tubes, utiliser ce dt dans certains calculs type physique peut provoquer des effets indésirables vu qu'on perd beaucoup en précision.

Metal Slug 2, un bon exemple de jeu qui rame à fond les ballons

Ceci étant dit, coder en fonction d'un framerate fixe n'est pas propre pour deux raisons. Tout d'abord si des petits malins débloquent la limite que vous avez fixée, votre jeu va aller beaucoup plus vite que prévu. C'est l'effet Benny Hill. Mais aussi certains aspects du jeu bénéficient d'un framerate élevé. C'est le cas des animations de personnage. Mettons que vous levez un bras. Les animateurs vont définir l'orientation de départ et l'orientation d'arrivée et le moteur va se charger d'interpoller entre les deux. Plus vous avez d'images par seconde pour réaliser cette interpollation et plus ce mouvement paraitra fluide.

Un des solutions consiste à mélanger les deux systèmes à l'aide d'un accumulateur. L'idée est de débrider le framerate mais de ne faire certains calculs qu'après un certain temps écoulé. La fonction Tick va alors ressembler à quelque chose dans ce genre :
const float PERIODE = 1 / 60;
float accumulateur = 0;

void Tick(float dt)
{
    accumulateur = accumulateur  + dt;
    while(accumulateur >= PERIODE) 
    {
        MonTick(PERIODE);
        accumulateur = accumulateur  - PERIODE;
    }
}

void MonTick(float dt)
{
    x = x + 10 * dt;
{

En clair, si le delta temps est supérieur à celui voulu (donc si le frame rate est trop bas), on va effectuer les calculs plusieurs fois à chaque Tick histoire de compenser le fait qu'il y a moins de Tick. S'il est inférieur (donc si le frame rate est trop haut), on ne va pas faire les calculs à chaque Tick. Mais comme vous pouvez le constater, le code est bien plus lourd que si on se fondait uniquement sur le frame rate en priant pour qu'il atteigne les 30/60 FPS voulus. C'est du temps de dev en plus.
 
Need For Speed Rivals, l'exemple typique de la version PC codée avec les pieds

Du coup quand l'équipe qui est chargée de réaliser la version PC d'un jeu pensé avant tout pour consoles se retrouve avec ce genre de code sur les bras, ils ont deux solutions : soit ils en réécrivent une partie, soit ils conservent la même limite de frame rate que sur consoles.
 

Commentaires

Masquer les commentaires lus.
Mendoza
 
Z'ont qu'à le sortir sur PSN si ils veulent en vendre plus. Na. Je veux ce jeu sur ma télé. Pffff.
Keraoc
 
Et moi je veux Journey sur ma xbox.
Zakwil
 
Le sur-coté Mark of the Ninja...
florian
 
Je l'ai acheté suite au test de Factornews, finalement j'ai été juste déçu par ce côté " infiltration" qui manque cruellement de finesse (caché/visible ) mais pour le reste c'est du tout bon. Alors à ce prix la.
zouz
 
Zakwil a écrit :
Le sur-coté Mark of the Ninja...


Que nenni, il est sur-coté pour les gens qui en attendaient trop et puis coté infiltration en ce moment a concurrence est tellement faible qu'il gagne haut la main.
Perso j'ai eu l'effet de surprise et il rentre dans mon Top 5 2012.
Gingembre
 
A ce prix là, je prends
channie
 
Zakwil a écrit :
Le sur-coté Mark of the Ninja...


On aura tout lu !
AMMoNiuM
 
Moi aussi, je voulais le prendre mais j'avais prévu d'attendre d'avoir moins de jeux à faire. Mais difficile de résister à ce prix ! Steam finira par avoir la mort de mon compte en banque. A feu doux.
Vous devez être connecté pour pouvoir participer à la discussion.
Cliquez ici pour vous connecter ou vous inscrire.
SLICE Les plus beaux screenshots de la communauté
Soutenez Factornews.com

Tribune

BeatKitano
(09h32) BeatKitano Fwdd > Ouais. Je parlais pas du gameplay (apparemment ils ont dans l'idée une tout autre experience avec le mode aventure alors ça m'intéressera peut-être au final, j'espère juste qu'ils changeront le visuel).
Fwdd
(09h31) Fwdd Ouais je comprends, c;est vraiment, vraiment raide, je réagissait juste à la skin minecraft, faut pas que les gens s'imaginent trop çà, ca va générer bcp de frustration :D
BeatKitano
(09h29) BeatKitano Fwdd > Et c'est pas du tout ce que je recherche. Je veux m'amuser pas en chier. Je laisse ça aux chomeurs. (Moment Zaza gratuit).
Fwdd
(09h27) Fwdd VIntage çà ressemble fortement a Minecraft, mais c'est quand même une expérience nettement plus brutale à tous les niveaux. C'est un vrai survival deja,
BeatKitano
(08h37) BeatKitano C'est cool pour ceux qui aiment vintage mais perso ça m'intéresse pas. l'esthétique de hytale qui tranchait radicalement avec minecraft c'est ce qui m'a attiré au début. C'était plus frais qu'un enieme skin sur minecraft.
Vector
(08h37) Vector (00h10) COD c'est l'exception. Pourquoi le modele est pas copié?
BeatKitano
(08h36) BeatKitano choo.t > J'ai pas trop suivi, ils vont embaucher des ex-hytale pour un mode aventure dans vintage story c'est ça ?
Vector
(08h36) Vector Plus precisement les ventes de tickets sur le box office
Vector
(08h35) Vector (00h03) c'est pas ça que Nolan critiquait mais l'influence negative de Netflix sur le cinema
choo.t
(08h07) choo.t BeatKitano > [vintagestory.at]
CBL
(00h10) CBL C'est tres dur de battir une loyaute avec cela
CBL
(00h10) CBL Mais pour un JV, tu dois attendre 4 à 5 ans pour une suite
CBL
(00h09) CBL Tu peux sortir une nouvelle saison de Stranger Things tous les 2 ans voir tous les ans si tu compresses à mort
CBL
(00h09) CBL Un AAA dans le JV, c'est au moins deux fois cela. Et c'est pas juste le budget mais le temps
CBL
(00h07) CBL La saison 1 de Stranger Things c'est 50 millions de dollars de budget
CBL
(00h07) CBL C'est aussi pas les mêmes budgets et les mêmes risques
CBL
(00h04) CBL Sa forme streaming est absente des consoles Sony et Nintendo, des plateformes Apple, d'une majorité de smart TVs...
CBL
(00h03) CBL La forme native du Game Pass n'existe que sur Xbox et PC
CBL
(00h03) CBL Le modèle Netflix fonctionne grâce à son ubiquité. Mis à part les consoles Nintendo, l'appli est présente absolument partout
Saturday 05 July 2025
Vector
(22h42) Vector (21h03)Nolan s'est pris une volée de critiques pour avoir simplement critiqué le modèle Netflix. Uun fondateur de Arkane Studio pas assez important pour qu'on cite son nom ne sera pas plus ecoute
BeatKitano
(21h03) BeatKitano [resetera.com]
BeatKitano
(21h03) BeatKitano "Founder of Arkane Studios: "I think Gamepass is an unsustainable model that has been increasingly damaging the industry for a decade"; impacts sales" OH SHOCKER
Nicouse
(11h46) Nicouse Ah ben tiens... j'entamais justement la saison 2 de X-Files avec ma fille
BeatKitano
(11h04) BeatKitano Ouf.
Le vertueux
(01h41) Le vertueux Palido > Nann
Palido
(01h29) Palido Mark Snow est mort aussi. :(
Le vertueux
(01h11) Le vertueux Nip Tuck aka Julian McMahon est mort.
Friday 04 July 2025
BeatKitano
(10h14) BeatKitano Plus depuis que Krafton les as racheté y'a un an ou deux.
Le vertueux
(10h05) Le vertueux Ah je pensais que c'était un jeu indé subnautica.
BeatKitano
(09h23) BeatKitano [krafton.com] "we owe our players nothing less than the best possible game, as soon as possible,”. Ils vont nous refaire un callisto protocol
BeatKitano
(09h19) BeatKitano Donc grosso-modo, Unknown World n'est plus Unknown World.
BeatKitano
(09h18) BeatKitano Le pire c'est que le gars remplace 3 des anciennes tête du studio: Charlie Cleveland (Flayra), Max McGuire et Ted Gill.
BeatKitano
(09h17) BeatKitano Le CEO de Unknown Worlds (Subnautica) se fait remplacer par Steve Papoutsis ex-CEO de Striking Distance (Callisto Protocol) par Krafton. Je suis inquiet pour Subnautica 2.
ptitbgaz
(02h37) ptitbgaz (22h15) punaise moi qui venais de me retaper Réservoir Dogs (Arte tv) et sa scène mythique sadique. Elle m’avait bien marqué celle là à mon adolescence…
Thursday 03 July 2025
MaloneXI
(22h26) MaloneXI (22h15) Han merde...
BeatKitano
(22h15) BeatKitano Michael Madsen est mort.
Fwdd
(20h48) Fwdd Non mais la prison ca sert certainement à rien pour ce genre de cas, faut les taper fort au portefeuille.
LeGreg
(19h05) LeGreg sans compter que la France a un problème de surpopulation déjà dans ses prisons. Certes ils pourraient investir dans du meilleur, plus grand, plus moderne, mais c'est pas la priorité..
LeGreg
(19h03) LeGreg Le sursis a été créé dans le but d'éviter de renforcer un pipeline de criminels endurcis en prison (pour qui la peine de prison ne devient plus un déterrant).
Fwdd
(09h36) Fwdd CBL > Ah mais je sais que c'est mort, pis on a plein d'exemples en occident d'electeurs qui aiment les magouilleurs (Trump, Dassault, Tapis, Balkany, Sarkozy, le RN)
Mascouell
(08h33) Mascouell CBL > la loi prévoit bien de la prison. Le choix de condamner à du sursis, c'est le judiciaire via le juge. Considérer que les juges se protègent de leur future condamnation pour harcèlement en maintenant une jurisprudence light, pas convaincu.
BeatKitano
(07h37) BeatKitano Ça date de 1990.
BeatKitano
(07h34) BeatKitano Fwdd > [youtube.com]
CBL
(03h34) CBL Il faut des peines lourdes pour avoir une classe politique honnête mais il faut une classe politique honnête pour avoir des peines lourdes
CBL
(03h33) CBL Donc elles ne sont jamais trop lourdes car ils pensent toujours à leur futur
CBL
(03h32) CBL Le problème est que les lois qui forment la base des amendes/peines sont votées par les mêmes gens qui les subissent
Wednesday 02 July 2025
Fwdd
(21h44) Fwdd (genre faire en sorte que Sarkozy se retrouve dans un T2 au lieu de partir en vacances aux seychelles))
Fwdd
(21h38) Fwdd Va quand meme falloir trouver un systeme d'amendes proportionnelles aux moyens pour les calmer un peu.
LeGreg
(21h09) LeGreg réhabilitation vs punition, surpopulation carcérale tout ça
noir_desir
(20h35) noir_desir Zaza le Nounours > les délits en col blanc en France sont mal condamné... C'était voulu à l'époque par Copé, car il ne faut empêcher de se lancer dans les affaires
Zaza le Nounours
(16h29) Zaza le Nounours Prison avec sursis = pas de prison, et les amendes on parle de montants qui équivalent à un ou deux mois de salaire pour eux. Globalement c'est à peine une tape sur les doigts, y a pas de quoi se réjouir.
Doc_Nimbus
(14h25) Doc_Nimbus Jusqu'à 3 ans de prison avec sursis dans le cadre du procès ubisoft [lemonde.fr]
Tuesday 01 July 2025
Latium
(10h27) Latium Sur le fond la vidéo est vraie pour le "forcing"
BeatKitano
(10h06) BeatKitano Et l'example d'après est encore pire, chacun vient rajoutter sa brique de bouse séchée a la tour de crotel.
BeatKitano
(10h05) BeatKitano Latium > Que ce soit utile c'est possible mais cet UX c'est JUSTE PAS POSSIBLE. Six putains de boutons pour la même chose. Faut arrêter les conneries.
Latium
(09h15) Latium BeatKitano > C'est pourtant dans Excel que copilot est le plus puissant, et ce n'est pas lent comme dans la vidéo et totalement configurable. Franchement j'ai pu faire des choses que je n'aurais même pas espéré il y a 3 ans.
CBL
(03h37) CBL On mentionne rarement l'original quand on parle de cyberpunk alors qu'on baigne dedans
CBL
(03h34) CBL Ne parlons même pas du remake qui passe totalement à côté du sujet
CBL
(03h33) CBL Et oui le 3 est une horreur. C'est d'ailleurs le seul à été PG13
CBL
(03h33) CBL Rien que pour la scène où ils présentent les prototypes, ce film mérite d'être vu
CBL
(03h32) CBL kirk.roundhouse > en plus c'est Frank Miller qui a écrit RoboCop 2
Monday 30 June 2025
BeatKitano
(21h11) BeatKitano Ahaha putain je suis tellement content de plus devoir utiliser ces soft de cons [youtube.com]
kirk.roundhouse
(19h01) kirk.roundhouse Et il n'est vraiment pas si mauvais. C'est un film mal aimé. Comme predator 2, ou gremlins 2. Alors que si ce n'est clairement pas au niveau des premiers opus, il y a du très bon dans certains idées de mise en scène.
kirk.roundhouse
(18h58) kirk.roundhouse Palido > Robocop 2 est un chef d'oeuvre comparé au 3. Je ne me remettrai jamais de la scène du jetpack.
Zaza le Nounours
(09h31) Zaza le Nounours Ça fait zizir.
Palido
(09h29) Palido La bonne nouvelle, enfin je crois, c'est que j'aime bien le jeu (!!).
Palido
(09h29) Palido Zaza, Le Vertueux : j'ai commencé à jouer à Robocop. La mauvaise nouvelle, c'est qu'avant, je me suis refarci le 1er film (ok) et le second (ohlalala non).
Anglemort
(08h57) Anglemort Un humble bundle centré sur les jeux narratifs (avec du très bon dedans) [humblebundle.com]
Saturday 28 June 2025
BeatKitano
(14h33) BeatKitano Encore un truc ou on va me traiter de parano et certains se diront dans 10 ans "ah mais il avait vu juste"
BeatKitano
(14h33) BeatKitano Et puis le lendemain après des années a déshumaniser une partie de la population on aura la super idée de remplacer la prison part "de la rééducation"... et... bref.
BeatKitano
(14h31) BeatKitano Brain in a jar, l'horreur continue: [newatlas.com] On va vraiment avoir un super GPT un jour et tout le monde va être hype parce que personne comprendra comment c'est aussi bon, et ce sera des millions de ces trucs...
Friday 27 June 2025
choo.t
(17h28) choo.t BeatKitano > Pas besoin que l'opération soit rentable, suffit que les investisseurs pensent que le sera :p
BeatKitano
(16h38) BeatKitano On va pas se mentir, même si je suis curieux, je doute qu'il y ai un public suffisamment vaste pour que l'opération soit rentable. J'y crois pas trop.
BeatKitano
(16h37) BeatKitano choo.t > Ouais enfin l'ex patron qui dit "je suis pret a mettre 25 millions sur la table" c'est des grosses rumeurs hein.
choo.t
(14h51) choo.t BeatKitano > Y’a des rumeurs de reprise/rachat pour Hytale : [reddit.com]
Thursday 26 June 2025
noir_desir
(19h44) noir_desir Zaza le Nounours > ok
Wednesday 25 June 2025
Zaza le Nounours
(22h11) Zaza le Nounours Oui, c'était pas une question.
noir_desir
(20h31) noir_desir Zaza le Nounours > 5a je crois mais effectivement il est arrivé après
Zaza le Nounours
(12h49) Zaza le Nounours Eh, le premier avait fini par arriver sur Xbox aussi, genre 3 ou 4 ans après tout le monde.
noir_desir
(12h47) noir_desir Zaza le Nounours > ^^' quelle colère. On verra à quel moment. Tu as plus de chance de l'avoir sur pc que sur xbox....
Zaza le Nounours
(00h09) Zaza le Nounours Leurs pseudo-exclusivités à la con pour leur console sans jeux, là.
Zaza le Nounours
(00h09) Zaza le Nounours Sauf que le premier, on savait quand il allait arriver exactement. Là DS2 tout le monde sait qu'il arrivera sur PC aussi, mais ces gros cons de Sony ils font durer le suspense.
Tuesday 24 June 2025
noir_desir
(23h58) noir_desir Zaza le Nounours > je pense que ça fera comme le 1er d'ici 1a...
Zaza le Nounours
(21h22) Zaza le Nounours Ouais d'ailleurs Sony ils ont dû museler Kojima pour pas qu'il leur refasse le coup du premier DS, où la version PC avait été annoncée deux semaines avant la sortie de la version PS4.
CBL
(19h56) CBL J'attend la version PC
noir_desir
(15h49) noir_desir Connard > Ok merci :)
Connard
(12h34) Connard De toute façon, des gens de la rédac le prendront eux-mêmes à la sortie, si nous n'avons rien, j'imagine
Connard
(12h33) Connard noir_desir > On ne le saura que le jour de la sortie, nous n'avons rien reçu en avance
Zaza le Nounours
(11h19) Zaza le Nounours Tonolito_ > c'est quand même toujours mieux que les DA Fortnitesque de merde qu'on se tape dans environ un jeu sur deux.
Tonolito_
(10h41) Tonolito_ Faudrait un peu de neuf niveau DA, entre ca et les PtW, extract shooter dark-gritty ou Arkane Style. Ossecour.
Tonolito_
(10h40) Tonolito_ Par contre je commence reellement à avoir du mal, avec la tendance automates rouillés, on en mange depuis un moment (life of P, steelrising, clockworks, Clair Obscur...)
Tonolito_
(10h38) Tonolito_ BeatKitano > (06h41) Ca me fait furieusement penser aux temple de "jedi survivor" même DA. meme rendu. c'est super mignon, mais le perso fait tache;
noir_desir
(09h58) noir_desir est ce que factor a reçu death stranding 2?
Monday 23 June 2025
Zaza le Nounours
(23h00) Zaza le Nounours Fouède qui parle d'un jeu comme étant "un poil trop chronophage", ça veut dire qu'un être humain normalement constitué ne devrait pas s'en approcher à moins de 3 kilomètres.
BeatKitano
(22h02) BeatKitano Meh moi j'attends Lay of the Land [store.steampowered.com]
Fwdd
(21h05) Fwdd C;est franchement chouette Vintage Story, ptetre um poil trop chronophage
choo.t
(20h48) choo.t Il reste Vintage Story !
BeatKitano
(19h12) BeatKitano Pour ceux qui sont curieux mais qui ont jamais entendu parler: [youtube.com] Voilà. Fin.
BeatKitano
(19h10) BeatKitano 10 ans de dev et un rebuilt from scratch sur un moteur proprio pour dire "oh ben non en fait"... Pas que minecraft me passionne en 2025 mais j'étais curieux de voir un rpg solo avec un framework moche mais qui permet de développer des tonnes de contenu..
BeatKitano
(19h06) BeatKitano Racheté par Riot pour... rien. Balaise.
Rechercher sur Factornews