15 septembre 2007

Collision PALET/RECTANGLE

Le problème des collisions PALET/PALET était également présent.

Il a été résolu de la même façon.

On distingue 2 cas :

  1. Celui où le palet rentre en collision avec un des côtés du rectangle
  2. Celui où le palet rentre en collision avec un des coins du rectangle


Étape 1 : On a donc un palet qui arrive (sur un des côtes du rectangle)

Étape 2 : On le déplace jusqu'a ce qu'il soit tangent au côté

Étape 3 : Et on gére la collision

Collision entre un palet et un côté de rectangle


Étape 1 : On a maintenant un palet qui arrive (sur un des coins du rectangle)

Étape 2 : On le déplace jusqu'a ce qu'il soit tangent au coin

Étape 3 : Et on gére la collision comme si il avait en face de lui un mur, tangent au cercle au point de contact.

Collision entre un palet et le coin d'un rectangle

Par thomas porez

6 septembre 2007

Coding Style

Je viens de terminer la rédaction du codding-style de Migoo.


Un Coding style, c'est un document qui définie quelques régles concernant :

  1. Les noms des variables et des fichiers
  2. L'indentation
  3. La syntaxe à utiliser


Les ésprits les plus vifs auront remarqués qu'il aurait mieux fallut l'écrire avant la première ligne de code. C'est exact, mais j'étais trop préssé de coder !

Ce document s'adresse uniquement aux codeurs du projet, mais pour les curieux, le voiçi :

pdf.png

Coding style

Par thomas porez

4 septembre 2007

En vrac

Je vais avoir 10 jours de vacances avant la rentrée. Et ça, ça fait plaisir !

Je vais donc en profiter pour :

  1. ecrire un article sur l'ajout de la gestion des collisions PALET/RECTANGLE
  2. ecrire le codding-style du jeu
  3. en profiter pour refaire un coup de propre dans les lignes de codes qui s'entassent

Par thomas porez

3 août 2007

Amélioration des collisions

Les collisions entre 2 palets ont été repensées.

il y avais jusqu'a alors une legere imprécision dans leur detection et dans leur gestion. L'impréciion était inhérente au nombre de fps et a la puissance du processeur

En effet, le déplacement des palets n'est pas continu. Il est raffrachi tous les T secondes (avec T=1/FPS).

On a ainsi quelque chose du genre:


étape 1 (à l'instant T-1) : Arrivée du palet

Avant : Arrivée du palet

étape 2(à l'instant T) : Detection de la collision

Avant : Collision

étape 3 (à l'instant T+1) :Gestion de la collision, les directions des palets sont changées.

Avant : Gestion de la collision


On s'appercoit donc qu'à l'etape 2 les palets sont imbriqués. Ce qui est physiquement impossible. De plus, les palets devraient changer de direction des qu'ils se touchent, et non pas lorsqu'on detecte la collision. Ce problème entraine donc une legere approximation. Approximation d'autant plus génante que T est grand.

Pour regler le problème, il faut donc prendre en compte une étape intermédiaire entre :

  • l'instant T-1 où les 2 palets ne sont pas en collision,
  • l'instant T où les palets sont en collision.


étape 1 (à l'instant T-1) : Arrivée du palet

apres_etape1.png

étape 2(à l'instant T) : Detection de la collision

apres_etape2.png

étape intermédaire (on revient quelques millisecondes en arriere) : Les 2 palets sont tangents

apres_etape3.png

étape 3(à l'instant T) : Gestion de la collision, les palets se retrouvent a leur veritable position physique

apres_etape4.png

Par thomas porez

4 avril 2007

Capture d'écran de Migoo


Une capture avec exactement 50 palets :
Capture avec 50 palets


Une capture toute simple qui permet d'apprécier la perspective :
Première capture de Migoo

Par thomas porez

- page 1 de 2