Jeudi 15 mars 2007 à 18:53 | Dans la catégorie News
Chers joueuses, mais aussi JOUEURS, nouvelle d’importance : la démo de Viva Pinata est disponible sur le marketplace US. Pas moins de 1,5 go de papier maché rempli de bonbons !! Pour ceux qui n’auraient pas encore été séduits par le jeu.
Pas d’inquiétude, la démo devrait arriver d’ici peu sur d’autres marketplaces nationaux. Pour ceux qui n’auraient pas bien compris le concept, ou pour ceux qui veulent avoir quelques bases avant l’arrivée de la démo, voici un tutorial présenté par les pinatas eux-mêmes ! (pour nos lecteurs anglophones) :
Jeudi 15 mars 2007 à 12:35 | Dans la catégorie Jeu Gen360
Aujourd’hui on lance une nouvelle rubrique sur le blog, “Jeu Gen360″, on va faire une sorte de jeu concours perpétuel, avec une étape par semaine, ça prendra différente forme, comme aujourd’hui des mots croisés, mais pourquoi pas d’autres choses…
Pour les mots croisés le principe est simple, vous remplissez la grille (si vous en êtes capables hé hé) et vous nous envoyer par mail les mots que vous avez trouvés (sur generation360[at]gmail[dot]com), le premier arrivé obtiendra un point.
Le premier arrivé à 4 points gagnera un cadeau surprise !
Voila voila, bonne chance, et à la semaine prochaine pour la correction et la suite !
This interactive crossword puzzle requires JavaScript and a reasonably recent web browser, such as Internet Explorer 5.5
or later, Netscape 7, Mozilla, Firefox, or Safari. If you have disabled web page scripting, please re-enable it and refresh
the page.
“);
}
// Finally, show the crossword and hide the wait message.
Initialized = true;
document.getElementById(”waitmessage”).style.display = “none”;
document.getElementById(”crossword”).style.display = “block”;
}
// ———-
// Event handlers
// Raised when a key is pressed in the word entry box.
function WordEntryKeyPress(event)
{
if (CrosswordFinished) return;
// Treat an Enter keypress as an OK click.
if (CurrentWord >= 0 && event.keyCode == 13) OKClick();
}
// ———-
// Helper functions
// Returns true if the string passed in contains any characters prone to evil.
function ContainsBadChars(theirWord)
{
for (var i = 0; i < theirWord.length; i++)
if (BadChars.indexOf(theirWord.charAt(i)) >= 0) return true;
return false;
}
// Pads a number out to three characters.
function PadNumber(number)
{
if (number < 10)
return "00" + number;
else if (number < 100)
return "0" + number;
else
return "" + number;
}
// Returns the table cell at a particular pair of coordinates.
function CellAt(x, y)
{
return document.getElementById("c" + PadNumber(x) + PadNumber(y));
}
// Deselects the current word, if there's a word selected. DOES not change the value of CurrentWord.
function DeselectCurrentWord()
{
if (CurrentWord < 0) return;
var x, y, i;
document.getElementById("answerbox").style.display = "none";
ChangeCurrentWordSelectedStyle(false);
CurrentWord = -1;
}
// Changes the style of the cells in the current word.
function ChangeWordStyle(WordNumber, NewStyle)
{
if (WordNumber< 0) return;
var x = WordX[WordNumber];
var y = WordY[WordNumber];
if (WordNumber<= LastHorizontalWord)
for (i = 0; i < WordLength[WordNumber]; i++)
CellAt(x + i, y).className = NewStyle;
else
for (i = 0; i < WordLength[WordNumber]; i++)
CellAt(x, y + i).className = NewStyle;
}
// Changes the style of the cells in the current word between the selected/unselected form.
function ChangeCurrentWordSelectedStyle(IsSelected)
{
if (CurrentWord < 0) return;
var x = WordX[CurrentWord];
var y = WordY[CurrentWord];
if (CurrentWord <= LastHorizontalWord)
for (i = 0; i < WordLength[CurrentWord]; i++)
CellAt(x + i, y).className = CellAt(x + i, y).className.replace(IsSelected ? "_unsel" : "_sel", IsSelected ? "_sel" : "_unsel");
else
for (i = 0; i < WordLength[CurrentWord]; i++)
CellAt(x, y + i).className = CellAt(x, y + i).className.replace(IsSelected ? "_unsel" : "_sel", IsSelected ? "_sel" : "_unsel");
}
// Selects the new word by parsing the name of the TD element referenced by the
// event object, and then applying styles as necessary.
function SelectThisWord(event)
{
if (CrosswordFinished) return;
var x, y, i, TheirWord, TableCell;
// Deselect the previous word if one was selected.
document.getElementById("welcomemessage").style.display = "none";
if (CurrentWord >= 0) OKClick();
DeselectCurrentWord();
// Determine the coordinates of the cell they clicked, and then the word that
// they clicked.
var target = (event.srcElement ? event.srcElement: event.target);
x = parseInt(target.id.substring(1, 4), 10);
y = parseInt(target.id.substring(4, 7), 10);
// If they clicked an intersection, choose the type of word that was NOT selected last time.
if (TableAcrossWord[x][y] >= 0 && TableDownWord[x][y] >= 0)
CurrentWord = PrevWordHorizontal ? TableDownWord[x][y] : TableAcrossWord[x][y];
else if (TableAcrossWord[x][y] >= 0)
CurrentWord = TableAcrossWord[x][y];
else if (TableDownWord[x][y] >= 0)
CurrentWord = TableDownWord[x][y];
PrevWordHorizontal = (CurrentWord < = LastHorizontalWord);
// Now, change the style of the cells in this word.
ChangeCurrentWordSelectedStyle(true);
// Then, prepare the answer box.
x = WordX[CurrentWord];
y = WordY[CurrentWord];
TheirWord = "";
var TheirWordLength = 0;
for (i = 0; i < WordLength[CurrentWord]; i++)
{
// Find the appropriate table cell.
if (CurrentWord <= LastHorizontalWord)
TableCell = CellAt(x + i, y);
else
TableCell = CellAt(x, y + i);
// Add its contents to the word we're building.
if (TableCell.innerHTML != null && TableCell.innerHTML.length > 0 && TableCell.innerHTML != ” ” && TableCell.innerHTML.toLowerCase() != “ ”)
{
TheirWord += TableCell.innerHTML.toUpperCase();
TheirWordLength++;
}
else
{
TheirWord += “•”;
}
}
document.getElementById(”wordlabel”).innerHTML = TheirWord;
document.getElementById(”wordinfo”).innerHTML = ((CurrentWord < = LastHorizontalWord) ? "Horizontal, " : "Vertical, ") + WordLength[CurrentWord] + " lettres.";
document.getElementById("wordclue").innerHTML = Clue[CurrentWord];
document.getElementById("worderror").style.display = "none";
document.getElementById("cheatbutton").style.display = (Word.length == 0) ? "none" : "";
if (TheirWordLength == WordLength[CurrentWord])
document.getElementById("wordentry").value = TheirWord;
else
document.getElementById("wordentry").value = "";
// Finally, show the answer box.
document.getElementById("answerbox").style.display = "block";
try
{
document.getElementById("wordentry").focus();
document.getElementById("wordentry").select();
}
catch (e)
{
}
}
// Called when the user clicks the OK link.
function OKClick()
{
var TheirWord, x, y, i, TableCell;
if (CrosswordFinished) return;
if (document.getElementById("okbutton").disabled) return;
// First, validate the entry.
TheirWord = document.getElementById("wordentry").value.toUpperCase();
if (TheirWord.length == 0)
{
DeselectCurrentWord();
return;
}
if (ContainsBadChars(TheirWord))
{
document.getElementById("worderror").innerHTML = "Le mot que vous avez rentré contient des caractères invalides !";
document.getElementById("worderror").style.display = "block";
return;
}
if (TheirWord.length < WordLength[CurrentWord])
{
document.getElementById("worderror").innerHTML = "Pas assez de lettres ! Ce mot a " + WordLength[CurrentWord] + " lettres.";
document.getElementById("worderror").style.display = "block";
return;
}
if (TheirWord.length > WordLength[CurrentWord])
{
document.getElementById(”worderror”).innerHTML = “Trop de lettres ! Ce mot a ” + WordLength[CurrentWord] + ” lettres.”;
document.getElementById(”worderror”).style.display = “block”;
return;
}
// If we made it this far, they typed an acceptable word, so add these letters to the puzzle and hide the entry box.
x = WordX[CurrentWord];
y = WordY[CurrentWord];
for (i = 0; i < TheirWord.length; i++)
{
TableCell = CellAt(x + (CurrentWord <= LastHorizontalWord ? i : 0), y + (CurrentWord > LastHorizontalWord ? i : 0));
TableCell.innerHTML = TheirWord.substring(i, i + 1);
}
DeselectCurrentWord();
}
// Called when the “check puzzle” link is clicked.
function CheckClick()
{
var i, j, x, y, UserEntry, ErrorsFound = 0, EmptyFound = 0, TableCell;
if (CrosswordFinished) return;
DeselectCurrentWord();
for (y = 0; y < CrosswordHeight; y++)
for (x = 0; x < CrosswordWidth; x++)
if (TableAcrossWord[x][y] >= 0 || TableDownWord[x][y] >= 0)
{
TableCell = CellAt(x, y);
if (TableCell.className == “box boxerror_unsel”) TableCell.className = “box boxnormal_unsel”;
}
for (i = 0; i < Words; i++)
{
// Get the user's entry for this word.
UserEntry = "";
for (j = 0; j < WordLength[i]; j++)
{
if (i <= LastHorizontalWord)
TableCell = CellAt(WordX[i] + j, WordY[i]);
else
TableCell = CellAt(WordX[i], WordY[i] + j);
if (TableCell.innerHTML.length > 0 && TableCell.innerHTML.toLowerCase() != “ ”)
{
UserEntry += TableCell.innerHTML.toUpperCase();
}
else
{
UserEntry = “”;
EmptyFound++;
break;
}
}
// If this word doesn’t match, it’s an error.
if (HashWord(UserEntry) != AnswerHash[i] && UserEntry.length > 0)
{
ErrorsFound++;
ChangeWordStyle(i, “box boxerror_unsel”);
}
}
// If they can only check once, disable things prematurely.
if ( OnlyCheckOnce )
{
CrosswordFinished = true;
document.getElementById(”checkbutton”).style.display = “none”;
}
// If errors were found, just exit now.
if (ErrorsFound > 0 && EmptyFound > 0)
document.getElementById(”welcomemessage”).innerHTML = ErrorsFound + (ErrorsFound > 1 ? ” erreurs” : ” erreur”) + ” et ” + EmptyFound + (EmptyFound > 1 ? ” mots incomplets ont été ” : ” un mot incomplet a été”) + ” trouvé(s).”;
else if (ErrorsFound > 0)
document.getElementById(”welcomemessage”).innerHTML = ErrorsFound + (ErrorsFound > 1 ? ” les erreurs sont” : ” l’erreur est”) + ” trouvé.”;
else if (EmptyFound > 0)
document.getElementById(”welcomemessage”).innerHTML = “Pas d’erreurs mais ” + EmptyFound + (EmptyFound > 1 ? ” mots incomplets ont été” : ” un mot incomplet a été”) + ” trouvé(s).”;
if (ErrorsFound + EmptyFound > 0)
{
document.getElementById(”welcomemessage”).style.display = “”;
return;
}
// They finished the puzzle!
CrosswordFinished = true;
document.getElementById(”checkbutton”).style.display = “none”;
document.getElementById(”congratulations”).style.display = “block”;
document.getElementById(”welcomemessage”).style.display = “none”;
}
// Called when the “cheat” link is clicked.
function CheatClick()
{
if (CrosswordFinished) return;
var OldWord = CurrentWord;
document.getElementById(”wordentry”).value = Word[CurrentWord];
OKClick();
ChangeWordStyle(OldWord, “box boxcheated_unsel”);
}
// Returns a one-way hash for a word.
function HashWord(Word)
{
var x = (Word.charCodeAt(0) * 719) % 1138;
var Hash = 837;
var i;
for (i = 1; i < = Word.length; i++)
Hash = (Hash * i + 5 + (Word.charCodeAt(i - 1) - 64) * x) % 98503;
return Hash;
}
//-->
Bienvenue !
Cliquez sur une case du puzzle pour commencer !
Bravo !
Vous avez bien trouvé tous les mots de ce puzzle !
N’oubliez pas d’envoyer les mots que vous avez trouvés par mail pour participer au Jeu !
Jeudi 15 mars 2007 à 12:30 | Dans la catégorie Vie du site
Aujourd’hui, Generation360 s’associe au blog High-tech Carnage, en effet celui-ci vous propose de choisir entre le Blu-ray et le HD DVD dans une bataille sans merci à coup de… commentaires…
Jeudi 15 mars 2007 à 10:42 | Dans la catégorie Jeux
Je rappelle qu’Eternal Sonanta est un RPG exclusif à la Xbox 360 réalisé par tri-Crescendo, les créateurs de l’excellent Baten Kaitos. Le scénario est très original : quelques heures avant de mourir de la tuberculose, Frédéric Chopin, entre dans un monde onirique ou les personnes avec des maladies en phases terminales ont des pouvoirs magiques !
Le jeu propose donc une sorte de best of des compositions de Chopin, mais aussi des graphismes tout ce qu’il y a de mignons et enchanteurs (ça tombe bien non ?). Avec tout cela il faut absolument que ce jeu arrive chez nous !
Mercredi 14 mars 2007 à 18:45 | Dans la catégorie Hors sujet
Alors la on est complètement hors sujet, quoi qu’il s’agit de l’histoire du jeu vidéo. Voici 2 vidéos montrant (dans l’ordre), les 10 personnages de jeux vidéos les plus cool, puis les 10 meilleurs Beat em Ups de tous les temps. Il en manque dans la liste alors quels sont vos personnages préférés ?
Mercredi 14 mars 2007 à 17:44 | Dans la catégorie Jeux
Les premières images in-game de Flatout Ultimate Carnage arrivent enfin ! Nouveau design et nouveau gameplay, Flatout sera constitué de courses allant jusqu’à 12 voitures. Cing nouveaux modes en solo, pour 2 nouveaux en multi (sur le Live), 8 000 objets dynamiques, une résolution en 720p, des effets de lumières dynamiques (encore heureux !). Vous l’aimez comment votre voiture ? finit les 7 500 polygones de Flatout 2, ici on en est à 20 000 (vivement qu’il sorte, que les fans puissent les compter :p). Bien sûr il y aura du contenu sur le marketplace. Annoncé sur 360 depuis le 1er février, le jeu est toujours prévu pour juin.
Mercredi 14 mars 2007 à 17:24 | Dans la catégorie Jeux
Alors que le 19 janvier nous annoncions que GOW dépassait les 3 millions de vente, voila qu’il atteint désormais les 4 millions ! Ca avance lentement maintenant, mais ça continue d’augmenter. Le Jeu de l’Année 2006 n’a pas finit de faire parler de lui, que ce soit pour ses suites probables (certaines ?), pour son portage sur PC (toujours en tant que rumeur), pour l’arrivée d’un patch (attendu par une grande partie des joueurs), ou pour un nouveau contenu sur le marketplace (rêvons !).
Mercredi 14 mars 2007 à 11:56 | Dans la catégorie Tests
Chez Gen360 on aime pas faire comme les autres, suite à une petite panne de console, je n’ai pu mettre en ligne en temps et en heures mon test de Crackdown, alors aujourd’hui je vous le propose, puisse celui-ci vous donner envie de tester vous aussi ce jeu qui est vraiment jouissif…
Nous en profitons pour faire un test très “Web 2.0″, à vous de nous dire comment vous trouver cela !
Ca a le gout de GTA, la couleur de GTA, mais c’est pas GTA
Crackdown… Depuis le lancement de la Xbox 360 on en entend parler, pourtant à chaque démos, ou vidéos, je me suis dis : non non c’est vraiment pas pour moi ce genre de jeu, c’est trop n’importe quoi de jouer un flic surhumain dans un GTA futuriste. Et bien voila, il est la maintenant, alors voyons ensemble ce que la bête à dans le ventre…
Le jeu se déroule dans la ville de Pacific City, qui n’a bien entendu de Pacific que le nom. Le monde a bien changé, l’anarchie règne sur les rues (via les gangs) et les polices du monde entier ont du fusionner afin de créer “L’Agence”. Mais même de cette manière cette police n’arrive que très rarement à rétablir l’ordre dans les villes, afin d’apporter un peu de poids à leur argument pour la justice et l’ordre, l’agence se paye les services d’un bio généticien. Ce dernier créé pour l’agence un agent doté de pouvoir surhumain, cet “agent” devra à lui tout seul reprendre le contrôle de la ville de Pacific City. Vous l’aurez compris sans mal, vous êtes cet agent, et vous voila parachuté dans une ville qui comporte trois quartiers, chacun contrôlé par un Gang, le premier par les “Los Muertos”, le second par les “Volk” et le troisième par les “Shai-gen”.
Ce n’est donc pas forcément pour le scénario que Crackdown restera dans les mémoires, mais aussi simple soit ce dernier, il a le mérite de vous placer directement au cœur de l’action, au cœur du jeu (comme on dit chez Microsoft).
Première balade en ville
La première chose qui frappe lorsque l’on commence à se promener en “ville” c’est que c’est plutôt réussi graphiquement, sans atteindre le niveau d’un Gears of War, le jeu s’approche relativement sans mal du niveau de détail d’un Saints Row. Bien sur le monde futuriste dans lequel se déroule Crackdown est nettement plus coloré et les couleurs sont plus proches d’un comics que d’un Rainbow Six, mais le tout est agréable à l’œil.
Le jeu commence donc sur l’île de l’agence, un ancien hôtel de luxe transformé en forteresse pour résister aux assauts répétés des gangs, la on nous demande de choisir notre “monture”, soit une supercar (rapide mais relativement peu maniable et peu blindée) soit le 4×4 (plus solide et maniable mais nettement moins rapide), et enfin le camion de l’agence (un peu le Van de l’assurance tout risque version future, donc bien balèze mais encore plus lent), une fois ce choix fait vous pouvez vous lancer dans la “bataille”. La prise en main est rapide et assez intuitive, le système de visée peut paraître un peu confus au départ mais on s’y habitue très vite…
Mais la ou cela devient vraiment sympa, c’est que votre perso évolue, il gagne un peu d’”expériences” à chaque fois qu’il combat (que ce soit aux flingues ou au corps à corps) ou alors qu’il conduit, en fait votre personnage est défini selon cinq caractéristiques :
- Conduite : Evidemment ce talent augmente la maniabilité des différents véhicules du jeu, mais aussi modifie l’apparence des véhicules de l’agence (ajoutant en autre une tourelle mitrailleuse sur le 4×4), il permet aussi d’avoir une jauge de nitro, mais aussi de contrôler (un peu plus) le véhicule lors de gros sauts. - Agilité : Cette caractéristique vous rend capable de faire des bonds gigantesques d’immeubles en immeubles, mais aussi de courir très très vite. - Explosifs : Bon comme son nom l’indique cette caractéristiques vous permet de devenir plus précis avec les explosifs mais aussi augmente leur aire d’effet. - Armes à feu : Cette caractéristique augmente votre précision avec des flingues, mais aussi leurs dommages. - Force : En plus d’augmenter visuellement votre masse musculaire, de vous permettre de tuer d’un seul coup vos ennemis, cette caractéristique vous permet de soulever des poids plus lourds (comme des bus par exemple) mais aussi d’augmenter votre vie d’une barre complète à chaque niveau.
Ce côté un peu super héros vous détournera souvent de votre mission principale (éradiquer les gangs de Pacific city) vous prendrez plaisir à sauter de toit en toit pour récupérer les précieuses Orbes d’agilité, finir les quelques activités subsidiaires (deux en fait) : Les courses d’agilités (de toit en toit donc) mais aussi les courses en voiture. La ville est nettement plus peuplé que les jeux du genre et souvent vos balles perdues ne le sont pas pour tout le monde, donc prudence !
Le Coop est a la mode, ne nous en plaignons pas !
Le mode coopératif est un peu le même que dans Gears Of War, n’importe qui peut donc vous rejoindre pendant votre partie solo pour vous aider, et une fois dans le mode de difficulté le plus élevé, un coup de main ne saurait vous gêner, je vous l’assure !
Votre agent peut transporter 8 grenades (de tous types : explosives, à fragmentations, etc…) et deux armes (une lourde, et l’autre… moins lourde) votre arsenal est moderne mais largement inspiré de ce qui ce fais de nos jours (pas de laser et autres amusement de ce type). Mais en plus de tout cela vous avez Havoc, oui oui je sais Havoc est un moteur physique, pas une arme ! Mais dans Crackdown tout ce qui peut être soulever peut être jeter à la tronche de vos ennemis, comme des voitures, des briques, des lampadaires… Bref de quoi vous amuser gaiement :p
Les graphismes Cartoon bien…
C’est un moteur maison, mais c’est un joli moteur. Les décors et les textures sont biens choisies, et le léger cell shading appliqué à l’ensemble donne un petit côté Comics de super héros à l’ensemble qui est des plus réussi.
Lors des premières démos j’avais eu du mal à m’intéresser à ce jeu, mais maintenant j’avoue que l’ensemble est cohérent et que ce côté super héros assumé me plait bien !
Evidemment pas de balade dans les immeubles, mais sur les toits, mamma mia, c’est jouissif ! L’alternance du jour et de la nuit est bien rendu et les décors prennent d’un coup une autre tournure une fois le soleil couché. la mer qui entoure les différents quartiers de la ville est bien rendue, elle n’a pas le côté huileux de certain jeux.
Atmosphère, atmosphère, est ce que j’ai une gueule d’atmosphère?
Le jeu se déroule largement sans musique, il faut monter dans les voitures pour en avoir, et même une fois dans la voiture pas de Radio à la GTA, non mais des morceaux uniques ne se suivants que très peu. Je ne saurais trop vous conseiller d’utiliser la fonction musicale de votre Xbox 360 pour vous mettre un peu de musique durant le jeu. Un peu de Rammstein pour les phases de combats par exemple, ou alors de grande envolée à la John Williams pour les sauts d’immeubles en immeubles !
C’est fluide, c’est beau et la distance d’affichage est énorme ! Un petit point bonus pour les explosions en chaînes !
Qui n’a jamais rêvé d’être un héros de comics ? Et bien c’est chose faite, tout n’est pas parfait, mais le fun est la !
Bon c’est vraiment la que le bas blesse, même si les explosions et autres effets sonores sont de bonnes factures, l’ambiance de la ville bien rendue, mais pas une seule musique d’ambiance aux moments cruciaux, et les musiques en voiture sont assez bof…
Encore une fois, pas de quoi se relever la nuit, mais rien que le fait d’être un flic dans un GTA-Like (complètement cette fois) est jouissif !
Une dizaine d’heure pour finir le mode solo en difficulté “Coriace” qui est la plus faible, le coopératif rend la chose plus sympa, le multi ne peut que s’améliorer dans le temps, donc du tout bon !
Un jeu solide, avec des bases saines et simples, mais qui procure un Fun immédiat et indéniable ! Du très bon !
Notre note :
N’hésitez pas à venir donner vos impressions dans les commentaires.
Attention, notre note n’est pas une moyenne arithmétique des différents critères, mais plutôt un avis général de la qualité du jeu.
Le mot de la fin – Avis d’Edrysark
C’est incontestablement la surprise de cet hiver sur Xbox 360, un jeu qui ne paye par forcément de mine mais qui est un destructeur de vie sociale en puissance, le principe de ce “bac à sable” permettant tous les délires, de vous donnez la possibilité de devenir un super héros bien violent est forcément déjà très jouissif, mais en plus la réalisation est des plus correctes !!
Si vous voulez devenir un héros de comics sautez dessus ! A défaut essayez la démo et vous aurez déjà un bon aperçu de la chose !
Les +
- Joli
- Le mode coopératif (Live surtout)
- Un scénario certes linéaire mais laissant la part belle à l’exploration
Les -
- Pas assez d’activités hors scénario
- Trop court !
Mercredi 14 mars 2007 à 00:45 | Dans la catégorie Jeux
On nous en parlait, mais rien n’était vraiment sûr. La LiveVision aura son rôle dans les parties acharnées de C&C3 ! Comme dans Uno, c’est surtout le côté “fun” qui est mis en avant. Avec cette petite vidéo, vous pouvez regarder comment ça se passe
Mercredi 14 mars 2007 à 00:17 | Dans la catégorie Jeux
Si vous êtes fan de tous les Tom Clancy, vous avez surement joué à ceux qui sont sur 360. Si par hasard vous avez une sauvegarde de Rainbow Six Vegas et Splinter Cell: Double Agent vous aurez de nouvelles têtes (4) dans GRAW2 en multi-joueurs. Alors oui ce n’est pas la nouvelle de l’année, ce n’est pas LE contenu ultime, mais le fait d’offrir un plus aux joueurs fidèle d’une série est une bonne idée. Peut être Bungie y pensera dans Halo 3 ?
NOREVE
Pour toute commande sur leur site, Norêve offre les frais de port (hors Chronopost) aux membres de GMP3 en entrant le code 'generationmp3' Accèdez au site
MobiliParts
Pour toute commande sur leur site, MobiliParts offre les frais de port aux membres de GMP3 en entrant le code 'GMP301' Accèdez au site