30

Orion_ :
alors au lieux de créer 50 tableau avec chaqu'un des valeurs max differente comme tu le propose, y'a un truc supere qui s'appel modulo: exemple quand tu veut limiter le nombre que tu reçoit du rand a 5, tu fait rand()%5, et petite optimisation que je te file: si c'est un nombre en puissance de 2, au lieux de faire genre: rand()%32, tu fait rand()&31, c'est beaucoup plus rapide


À titre d'info, pas la peine de se prendre le chou avec ce genre d'optimisations : GCC le fera lui-même (eh ouais il est pas con...)

31

magiceyes
:
thyphoon :
Est ce que vous avez une idée ou une fonction qui marche bien?

Il existe sous linux (j'ignore si ca existe ailleurs, mais donc a priori ca va etre dispo sur la console) d'un device générateur de nombre aléatoire (/dev/random) dont le but est justement la fiabilité de l'impossibilité de prédiction (très important pour des raisons de sécurité dans les cryptages). On s'en sert normalement en l'ouvrant comme un fichier et en lisant dedans, mais je te laisse chercher sur le net si ca t'interesse.


Il doit etre riche a million ton garswhat

parceque le jour ou t auras un veritable random sur machine faut m appeler! C'est impossible!
avatar
https://air-gaming.com/tests/ si vous voulez de la bonne lecture :=)

32

GCarrier
:
Orion_ :
alors au lieux de créer 50 tableau avec chaqu'un des valeurs max differente comme tu le propose, y'a un truc supere qui s'appel modulo: exemple quand tu veut limiter le nombre que tu reçoit du rand a 5, tu fait rand()%5, et petite optimisation que je te file: si c'est un nombre en puissance de 2, au lieux de faire genre: rand()%32, tu fait rand()&31, c'est beaucoup plus rapide


À titre d'info, pas la peine de se prendre le chou avec ce genre d'optimisations : GCC le fera lui-même (eh ouais il est pas con...)


Les compilos en general sont capable de pas mal d'optimisations, et celle là pourrait en faire partie, mais est-ce vraiment le cas ? As tu verifié avant d'affirmer ?
Sur quelle version de gcc ? Et si mon code doit être compilable sur une autre plateforme ?

J'ai souvent eu des surprises en verifiant le code generé par differents compilateurs, dans la pratique ils sont rarement aussi bons qu'on le dit... Sur certains bout de code critiques (blitters bas niveau, en general ce qui est intensif au niveau bande passante memoire) j'ai vu des versions assembleur 10 fois plus rapides que des version C optimisées...



developpeur de jeux mobiles chez int13 production --- http://int13.net

33

StephC_int13 :
Les compilos en general sont capable de pas mal d'optimisations, et celle là pourrait en faire partie, mais est-ce vraiment le cas ? As tu verifié avant d'affirmer ?
Sur quelle version de gcc ? Et si mon code doit être compilable sur une autre plateforme ?

J'ai souvent eu des surprises en verifiant le code generé par differents compilateurs, dans la pratique ils sont rarement aussi bons qu'on le dit... Sur certains bout de code critiques (blitters bas niveau, en general ce qui est intensif au niveau bande passante memoire) j'ai vu des versions assembleur 10 fois plus rapides que des version C optimisées...


Oui. Il y a eu un thread complet sur le sujet sur linuxfr. Quand à la vitesse des blitters, c'est probablement en grande partie lié à la "prudence" du code généré à partir du C (domaine de définition des données (variables locales par exemple), transtypage, etc.), mais aussi bien sûr au fait que si GCC optimise facilement une séquence de 2 ou 3 instructions, c'est beaucoup plus dur pour des codes longs (d'où l'importance du -O : compromis entre vitesse de compilation et vitesse d'exécution, mais aussi entre empreinte mémoire et consommation du temps processeur, dont les gentooistes ont découvert l'importance il y a un moment déjà).

34

Whaaaa, ca troll d'enfer ici tongue Ca tombe bien j'adore ça !! smile

En plus on m'interpelle, wééééé !!!
Manoloben :
parceque le jour ou t auras un veritable random sur machine faut m appeler! C'est impossible!


En effet, une fonction rigoureusement totalement aléatoire est impossible à réaliser, mais il est possible de réaliser une "véritable random" comme je l'ai bizarrement appellée qui est une fonction pour laquelle même une machine ne saura arriver à un taux de prédiction lui permettant de casser un code qui s'en servirait pour ses cryptages. J'espère effectivement que cela peux servir de base pour placer des bonus imprévisibles. happy (en pratique c'est une solution démesurée pour ce besoin), je voulais surtout mettre en avant la facilité d'utilisation de cette fonction (lecture simple dans un fichier (pseudo device) sans init).

Maintenant, il est évident que le rand est une fonction largement suffisante pour les besoins de typhoon, il suffit de l'initialiser correctement avec un nombre difficilement prédictible, et il devient impossible à un humain normal de deviner le prochain nombre.

Ceci dit, continuez à fighter avec du code please, je préfère les combats geeks aux cocktails molotov et cramages de bagnole .. Agime !! pam

35

J'ai déjà vue pas mal de post où on compare du code, mais en général on ne se bat pas!!!

http://www.grapheine.com/bombaytv/play.php?id=176207

36


naaaaaaaaaaaaaannn pas bombay tv ici !!!!!!!!!

fouet Retourne dans ton sujet fxmaniesque toi smile

37

Désolé, c'est le premier que je fait et il va rester là fuck smile

38



Désolé aussi, mais je vais vous faire revenir au thème du post smile smile

Voici une jolie fonction de hasard (a adapté en C):

function IntNoise(32-bit integer: x)

x = (x<<13) ^ x;
return ( 1.0 - ( (x * (x * x * 15731 + 789221) + 1376312589) & 7fffffff) / 1073741824.0);

end IntNoise function .


Plus sur le bruit en général, qui est essentiel dans nos jeux:
http://freespace.virgin.net/hugo.elias/models/m_perlin.htm
avatar
:*)

39

bille2 :
Désolé aussi, mais je vais vous faire revenir au thème du post smile smile

Voici une jolie fonction de hasard (a adapté en C):

function IntNoise(32-bit integer: x)

x = (x<<13) ^ x;
return ( 1.0 - ( (x * (x * x * 15731 + 789221) + 1376312589) & 7fffffff) / 1073741824.0);

end IntNoise function .


Plus sur le bruit en général, qui est essentiel dans nos jeux:
http://freespace.virgin.net/hugo.elias/models/m_perlin.htm

sympa ça... je ne connaissais pas...j'ai appris plein de chose dans cette histoire grin

40

function IntNoise(32-bit integer: x)

x = (x<<13) ^ x;
return ( 1.0 - ( (x * (x * x * 15731 + 789221) + 1376312589) & 7fffffff) / 1073741824.0);
end IntNoise function .


super rapide comme routine grin ( je plaisante bien sur bille2 ;-) )
mais il est possible de réaliser une "véritable random"


Sur nintendo DS par exemple, tu actives le micro et tu converties avec une routines maison les bruits en random, la tu as a coup sur du random parfait. C'est super lent a réalisé mais le resultat est là...

(Petite astuce inspirer avec l'histoire du noise de bille2)


cela dit, je reviens sur le sujet, vaut-il vraiment la peine d'avoir un hasard parfait voir presque parfait dans un jeu ?

41

Non effectivement, rine ne vaut un "smoth random" !!!
smile

J'adore ton histoire de random par entrée audio, j'vais essayer de l'adapté au moyen du bord de la GP2X (qui n'a pas de mic, mais on peut mettre des fichiers sons) .
A voir
avatar
:*)

42

Tu peux utiliser le temp d'appuit sur une touche.

LAF ! ! ... !
avatar
"Je peux pas vous faire le cris du tube de colle." Dixi premier CD de Naheulbeuk

Soutenez la presse indépendante achetez Pirates mag. Je ne parle pas au cons, cela les instruit.
J'ai créé un topic avec un tutorial pour créer une alim 3V stabilisé avec le 5V fournit par le port USB avec en plus la posibilité d'utiliser le cable de liason GP32 <-> PC voir là :
[url]topics/48646-une-alim-3v-a-partir-du-prt-usb [/url]

43



Oui, il y a peut être a creuser de ce coté, définir le profil de chacun, suivant sa manière de maintenir les touches ... mmmmm. Très intrigant.


J.
avatar
:*)

44

-

45

YES !
avatar
:*)

46

Orion_ :
au même endroit a chaque demarrage de partie.

A l'auteur de définir si c'est un avantage ou un inconvénient fou
Bille2 :
Plus sur le bruit en général, qui est essentiel dans nos jeux

Excellent article, ca m'a l'air vraiment bien pour les déplacements des vagues d'ennemis dans le shootzemup que je programme dans mes rêves toutes les nuits (oui ben je fais ce que je veux de mes nuits hein !!).

47

-

48

hhaaaaa.... Bille2..... Toujours là pour nous épauler wink
Un Coder(oooooo) qui surgit du fond du foruummm.... Court vers sa machine au galoooooop.
Son nooooom il le signe à la pointe de sa souris, d'un B qui veut dire Bille2 ! smile

mon site dessins en tout genre ( BD, presse... ) :
http://loupekele.free.fr
mon site de peinture :
http://dmontoro.free.fr

49

ah tiens, j'avais pas vu mais, avec un tableau précalculé, les bonus tomberont toujours au même endroit a chaque demarrage de partie.

non pas forcement si tu increments la position du tableau à chaque fin de traitement graphique même au debut avant que le joueur n'appui sur start.

50

Et si t'appliques un xor sur le tableau à chaque partie, les bonus seront une fois sur deux au même endroit.
Pourquoi je dis-ca ? Pour rien, c'est juste pour allonger le trolling

(bravo aux plus perspicaces qui auront noté la dédicace, comme on dit
dans les banlieues à la chaleur d'un bon petit feu de voiture).

51

magiceyes, ne le prend pas mal mais tu es légérement soulant avec tes histoires de trolling, toute petites choses a son commentaire même des fonctions ridicule comme le random...

52


coderman .. tu, tu veux dire que tu étais sérieux avec ton incrément ? no comment (feed 2 troll !!)

53

Allez une petite gratuite pour la route...

De deux choses l'une, soit CoderMan est un con et ça m'etonnerais quand même un peu, soit CoderMan n'est pas un con et ça m'etonnerait quand même beaucoup.



developpeur de jeux mobiles chez int13 production --- http://int13.net

54

Hum ... certain mot font du mal .

No Comment . livre turtle
avatar
:*)

55

C'est quoi votre problème a vous deux là ?

56

pas un peu fini vos histoires ?

tout ca pour un random, quand meme vous abusez là grin
avatar
pourquoi la mort ? parce qu'elle nous est si douce, au contraire de la vie :)

57

FagEmul :
pas un peu fini vos histoires ?

tout ca pour un random, quand meme vous abusez là grin

Je suis assez d'accord ! Si j'aurais su j'aurais rien demandé lollllllll tongue
bon on peut peut-être verouiller ce sujet non ?

58

a la demande de l auteur du topic et aussi parceque je l'ai pas vu plus tot je clos...
avatar
My sassy girl/citizen dog/Azumi/Devdas/The blade : Asian movie powwwaaa!!

AMIGA FOREVER

One duck some time may change every thing... Or just make you laugh a lot!!
Thanks Taliaferro thanks Barks