Comment faire un jeu d’ordinateur …

Comment faire un jeu d'ordinateur ...

Comment faire un jeu d’ordinateur

Une introduction simple

Par Joe Hitchens

© 2003 Sleepless Software Inc.
Tous les droits sont réservés
Novembre 2003

introduction

OK, vous avez été daydreaming de faire des jeux informatiques non? Vous ne savez pas où commencer si. Ai-je raison? Eh bien voici votre point de départ.

Ce court document a été écrit pour donner aux gens qui sont intéressés à faire des jeux d’ordinateur un endroit pour commencer. Il est destiné aux personnes qui ne savent pas vraiment quoi que ce soit sur le développement du jeu ou l’industrie du jeu, mais qui veulent en apprendre davantage sur ce qui est impliqué dans la création de jeux. Il est également destiné à être une feuille de route de haut niveau pour faire un jeu, si tel est votre désir.

Vous trouverez des informations d’introduction ici sur la conception, la programmation, les illustrations, audio et de réseautage. Vous ne trouverez aucune information sur la façon de publier indépendamment un jeu. J’ai choisi de ne pas inclure que même si, si votre intention est de distribuer ou de vendre des jeux sur votre propre, il est probablement le plus gros problème que vous devrez faire face.

Pour les programmeurs, il n’y a pas d’exemples de code de programme ici. Une partie de ce qui fait le plaisir de programmation est en train d’écrire le code. Voilà pourquoi les programmeurs font ce qu’ils font. Ils aiment trouver une façon d’écrire du code pour résoudre un problème. En tant que tel, je vais vous faire la faveur généreuse de vous présenter avec un tas de problèmes et pas de solutions. (-:

Alors, commençons.

Les commandements

La première chose que vous devez savoir sont les deux commandements de jeu de décision:

1: Tu terminer la chose friggin

Vous devez terminer un jeu pour qu’il soit un succès. Cela signifie qu’il doit avoir un début, un milieu et à la fin, comme une histoire. L’exemple le plus simple que je peux penser serait minime "Rebondir" Jeu. Ce jeu est ennuyeux et boiteux à l’extrême, mais si vous avez fait toutes ces choses, ce serait fini! Et cela est très important. Voici la conception du jeu pour elle.

Début

Un écran qui vient en disant, "Bienvenue à rebondir".

Milieu

un point qui se déplace vers le bas de l’écran, rebondit sur une palette qui se déplace horizontalement sous votre contrôle. Si vous le manquez, vous perdez. Chaque fois qu’il rebondit sur le plafond, vous obtenez un point.

Fin

lorsque vous déposez la balle et perdre, votre score est affiché avec un message disant: "Jeu terminé. Appuyez sur un bouton pour jouer à nouveau".

2: Tu le rendre amusant

Pour quelque chose à être raisonnablement appelé "Jeu", Il doit être amusant. Cela ne signifie pas qu’il doit être SAUVAGEMENT amusant, ou le jeu de funnest jamais inventé. Mais il n’a pas besoin d’avoir au moins la plus petite quantité détectable de plaisir. Le jeu de rebond décrit ci-dessus serait admissible. À peine. Il pouvait se livrer pendant environ 15 secondes, mais ça suffit. S’il n’y a absolument aucune valeur de divertissement détectable que ce soit, ou unpleasantness détectable worse-, alors il est pas amusant. Sinon, vous êtes OK.

Ces deux commandements sont cruciaux si vous êtes sérieux au sujet de faire des jeux. Si quoi que ce soit dans votre jeu est dans la manière de parvenir à l’un d’eux, l’exterminer avec préjudice extrême.

Imprimez ces commandements et les agrafer au mur près de votre écran d’ordinateur.

Conception

Créer un document de conception

Le document de conception est quelque chose que vous écrivez pour aider à clarifier dans votre esprit ce que vous voulez faire. Il est beaucoup plus important d’avoir si vous avez plusieurs personnes travaillant sur votre jeu.

Soyez bref. NE PAS faire ce document très détaillé. Il sera gaspillée effort. Le jeu va changer radicalement que vous le créez. Vous trouverez certaines choses sont impossibles pour des raisons techniques. Vous verrez que d’autres personnes ont des idées que vous aimez et que vous voulez incorporer. Vous trouverez que des choses est tout simplement pas amusant.

Le document de conception devrait prendre entre 15 minutes et 1 jour à écrire en fonction de l’ampleur du projet que vous voulez faire.

Rester simple. Considérez que chaque "belle idée" vous avez, quand écrit sous la forme de "une phrase" pourrait être équivalent à 3 semaines de dur, le travail à temps plein. Shoot pour un design qui semble ridiculement simple, et peu profonde si vous êtes débutant. Shoot pour quelque chose qui semble tout simple et peu profonde si vous êtes expérimenté.

Choisir un langage de programmation et le système d’exploitation

Décidez de ce que le système d’exploitation que vous voulez que votre jeu à exécuter sur (qui sera typiquement aussi celui sur lequel vous programmez le jeu) et ce que vous voulez utiliser un langage de programmation.

De toute évidence, il y a des zillions d’options pour les deux, mais permettez-moi de suggérer obtenir le SDK Java de java.sun.com et la création d’un jeu Applet (fonctionne dans un navigateur). Il y a un SDK pour Windows, Linux, et de nombreux autres systèmes d’exploitation. Le code sera suffisamment portable pour fonctionner dans un navigateur bien connu sur tout système d’exploitation.

Aussi, Java est un bon langage à apprendre avec. Il est bien conçu et cohérent. Il ne vous donnera pas une performance maximale, mais vous n’avez pas besoin que commencer. Si vous commencez programmeur, il vous orienter vers de bonnes habitudes dès le départ. Finalement, si vous avez besoin de meilleures performances, vous passez à C / C ++.

états de jeu ou "écrans"

Tous les jeux auront au moins quelques-unes différentes "États" qu’ils sont à tout moment donné. Ils sont parfois appelés "écrans". Par exemple, le "écran titre" est l’état dans lequel le jeu montre le titre du jeu et probablement vous invitant à "appuyez sur une touche pour démarrer", ou quelque chose comme ça.

Décrire les différents états de votre jeu peut être et comment vous le joueur peut se déplacer de l’un à l’autre.

menus

Tous les jeux auront au moins un menu principal. Vous devez avoir au moins "Jouer" et "Sortie" articles dans votre menu principal.

D’autres sélections peuvent inclure "Paramètres", "Aidez-moi", "Sur" et "Difficulté".

Chacun de ces éléments de menu, lorsqu’il est sélectionné vous enverra à un état de jeu différent. Votre document de conception du jeu devrait décrire les différents menus que votre jeu a, quels articles sont en chacun, et où ils vous prennent, ou ce qu’ils font.

Game Play

Décrire le jeu "mécanique". Autrement dit, comment le jeu est effectivement joué.

Si elle est un jeu de plateau ou jeu de cartes ou jeu de puzzle, expliquer les règles, les coups légaux, etc. (ne soyez pas trop impliqué ici, sauf si vous créez un jeu où les règles sont déjà connus, comme les échecs. Si vous êtes faire les règles, vous allez passer beaucoup de temps à trouver plus tard que ce qui semblait être des règles nettes ne sont pas amusant à jouer et changer tout autour).

Si vous faites un jeu où la plupart de l’action consiste à courir et de tuer les choses, décrire comment le joueur peut se déplacer, ce qu’il peut faire, quelles sortes de choses qu’il peut tuer, où il peut aller, etc.

Est-ce votre jeu une aventure avec une histoire? Décrire l’histoire et la séquence de base des événements. Ne pas aller dans beaucoup de détails, il est pas nécessaire au départ. Si vous ne pouvez pas résister, écrire un livre et de le vendre comme une fiction.

Game Over / Victory

Quand un joueur perd, il devrait y avoir un "jeu terminé" écran. Quand ils gagnent, il devrait y avoir un "la victoire" écran. Vous voudrez certainement faire un écran de victoire beaucoup plus élaborée que jeu sur l’écran, peut-être avec toutes sortes d’animation cool et les effets spéciaux.

Contrôles

Expliquer les différentes fonctions du clavier, contrôleur de jeu ou de la souris. Expliquer comment le joueur interagit avec les choses sur l’écran. Est-il un peu de blaireau animé? Expliquer les choses que vous pouvez lui faire faire.

questions multijoueurs

Les jeux multijoueurs ont beaucoup de questions que les jeux solo ne le font pas. Si vous voulez faire un jeu multijoueur, le plan sur elle étant au moins deux fois plus dur, et en prenant deux fois plus longtemps pour créer. Si vous êtes débutant, comprendre 3 ou 4 fois. Je ne prétends pas faire jusqu’à ce que vous avez beaucoup de jeux sous votre ceinture.

problèmes réels sont discutés ci-dessous.

La programmation

Cette section est pour le programmeur de votre jeu et il assume ou elle sait généralement comment programmer un ordinateur.

Tous les jeux fonctionnent généralement le même. La différence la plus commune entre un jeu et tout autre type de programme est un jeu est généralement toujours en cours d’exécution à plat. Il est en train de faire des choses, même si vous n’êtes pas. Il est généralement calcule les positions des objets et déplacer des choses, animer graphiques etc, même si vous êtes juste assis là. Jeux ont également tendance à avoir beaucoup de code dédié à dessiner des graphiques. jeux 3D ont aussi beaucoup de code dédié à la manipulation des objets dans le monde 3D afin de les faire apparaître à se déplacer en 3 dimensions.

Voici comment le code est normalement organisé.

Init

Chargez tous les graphiques et les sons à l’avant si vous le pouvez. Rester simple. Ne pas essayer de récupérer des erreurs ou mal sur. Si quelque chose est pas où vous attendez qu’il soit ou ne peut pas être trouvé, juste sortie.

Vous invariablement code qui ouvre un affichage d’une certaine sorte. Sur un ordinateur, ce qui est souvent une fenêtre ou en plein écran.

Les systèmes audio sont mis en place.

S’il est un jeu multijoueur, vous aurez probablement des connexions ouvertes à d’autres ordinateurs, tels qu’un serveur de jeu ou un serveur correspondant.

Boucle

La boucle principale est l’endroit où tout le travail réel est fait. Ceci est où le jeu passe la plupart de son temps. En vérité, il peut y avoir plusieurs boucles en fonction de l’état dans lequel le jeu est, mais nous sommes fondamentalement prendre au sujet de la boucle où le jeu est effectivement joué ici.

Rendre

Ceci est le dessin réel sur l’écran ou de la fenêtre de ce que l’utilisateur voit. Par exemple, si elle est un simulateur de vol, vous pouvez dessiner un ciel bleu, puis tirer quelques avions au loin, puis dessinez un graphique représentant le poste de pilotage et de la canopée, puis tirer des jauges sur le dessus de cela.

Vous dessinez l’affichage en commençant par les choses dans le dos d’abord, puis travailler jusqu’à les éléments les plus proches.

Cocher

C’est là tous les objets dans votre monde du jeu "penser ", "Déplacer" et "réagir" à des choses.

Disons que vous faites le jeu de rebond décrit dans l’introduction. Vous pourriez avoir à l’intérieur d’un objet représentant le mur, l’un représentant la palette, et un représentant la balle.

Lorsque vous "cocher" le ballon, il ferait avancer sa position sur l’écran (sans réellement dessin. ce qui se passe au-dessus). Après le déplacement, vous vérifiez si la nouvelle position est celle qui recouvre la paroi (détection de collision) et si oui, réfléchissez la direction de Voyage de sorte qu’il se déplace loin du mur, la prochaine fois à travers la boucle. Vous pouvez également déclencher un effet sonore précisément cet instant.

Si l’objet anime, vous auriez probablement avancer un numéro d’index ici pour que une image légèrement différente se rendait chaque fois dans la boucle.

Entrée utilisateur

Une fois que vous avez "cochées" tout ce que vous vérifiez pour les événements utilisateur-entrée. Dans cette section, vous regarder pour les clics de bouton, les frappes, les mouvements de la souris, etc. que vous êtes intéressé à prendre les mesures appropriées quand ils se produisent. Par exemple, si le système d’exploitation dit qu’un mouvement de la souris a eu lieu, vous pouvez déplacer la position de la palette dans votre jeu de rebond.

Dormir

Après avoir fait tout le travail pour un seul passage dans la boucle principale, vous devriez essayer de calculer combien de temps se soit écoulé depuis le sommet de la boucle ici. Vous devez limiter la vitesse à laquelle vous allez dans cette boucle ou tout va aller trop vite. Alors, choisissez un "frame rate" (Le nombre de boucles par seconde). Par exemple, un taux de trame bonne est de 10 à 30 images (boucles) par seconde. Si vous parvenez à tout le travail pour une boucle précoce (qui devrait être le cas le plus tout le temps), puis de calculer le temps restant et mettez-vous à dormir jusqu’à ce qu’il est temps pour la boucle suivante.

Terminé

Lorsque l’utilisateur veut quitter le jeu, votre code va tomber hors de la boucle principale en quelque sorte. Quand cela arrive, vous êtes censé nettoyer. Libérez toute la mémoire que vous avez alloué. Fermez toutes les ressources que vous avez consultées, etc. Personnellement, je trouve que c’est une grande perte de temps dans la plupart des cas. Lire la documentation de la plate-forme que vous développez et les ressources que vous utilisez. S’il est dit que vous devez absolument libérer quelque chose gracieusement ou de mauvaises choses vont se passer, faites-le. Si non, alors que la sortie. La plupart des systèmes d’exploitation nettoyer la plupart des choses pour vous comme la mémoire allouée, les fenêtres ouvertes, ouvert dispositifs sonores, etc.

Ouvrages d’art et les objets

Je suggère de faire une très simple tableau de structures pour représenter les objets dans votre monde du jeu. Vous pouvez organiser les données qui composent votre monde comme vous le souhaitez bien sûr, mais l’expérience m’a montré qu’un plat, tableau simple fonctionne toujours mieux.

En outre, ne pas avoir peur d’imposer des limites sur les choses. Par exemple, un tableau de taille fixe est très bien. Vous pouvez utiliser un système de liste chaînée pour tenir vos objets afin qu’il y ait "sans limites" à combien il y a, mais croyez-moi, cela ne fera que prendre plus de temps, d’introduire la complexité, il ne vous aidera pas, et il faudra probablement vous faire du mal à la ligne. Si vous ne me croyez pas, allez-y et faites votre chemin. Si vous continuez à faire des jeux, vous finirez par comprendre.

Ne pas créer de grandes hiérarchies, sauf si vous avez vraiment besoin. En général, en gardant vos données simple et "appartement" fonctionne mieux. Ceci est lbecause un jeu est un processus créatif à bien des égards, et cela signifie que vous serez expérimentez beaucoup. Essayer différentes choses pour voir ce qui est amusant et ce qui est pas. Si vous construisez une grande hiérarchie, soigneusement aménagé d’objets ou de données, vous aurez juste à déchirer tout en dehors et de le construire à nouveau à plusieurs reprises. Faites-vous une faveur et garder les choses simples.

Ne vous inquiétez pas au sujet de votre code étant tous "parfait" et tout. Les jeux sont, dans une certaine mesure, destiné à être jetable. L’idée est de créer quelque chose de nouveau et différent à chaque fois. Voilà pourquoi jeu "moteurs" ont tendance à ne pas bien fonctionner. Lorsque vous faites un nouveau jeu, vous voulez faire un nouveau jeu. Vous essayez de faire quelque chose de nouveau et différent. Ce ne sont pas propices à la réutilisation du code. Il y a beaucoup de choses que vous pouvez réutiliser et vous devriez mettre des soins dans ce genre de choses, mais un gros morceau de votre jeu sera écrit une fois, puis jeté. Cette partie peut être aussi laid que vous le souhaitez.

Art

Dans les temps anciens, l’œuvre et la programmation a été réalisée par le même gars. La technologie est tellement mieux maintenant que la bonne œuvre est assez importante, et presque toujours au-delà des capacités du programmeur. Je suis unique, j’ai beaucoup d’expérience à la fois. Cela peut ou peut ne pas être le cas pour vous.

Sprites

Le terme "lutin" est généralement utilisé pour décrire toute sorte de bitmap ou une image qui se déplace indépendamment de l’arrière-plan. Sprites dans un jeu 2D sont généralement juste un bitmap qui a une couleur transparente, de sorte que l’image peut avoir des bords irréguliers.

Lors de la création de sprites, il est presque toujours une bonne idée d’avoir les bords de l’image fondu au noir ou "vers" noir. Un bord foncé ou noir sera à peu près regarder à droite contre toute arrière-plan. En outre, l’esprit et les yeux attendent naturellement des choses qui courbe loin de devenir plus sombre que moins de lumière reflète directement dans l’œil. Enfin, un bord noir permet de clarifier vraiment les bords d’un objet qui peut être très important dans distinguer les objets forment un autre quand ils se déplacent autour. Il est pas une règle dure et rapide, mais il est presque jamais une mauvaise chose.

Fond

Fond sont les images les plus éloignés. Souvent, une seule grande image qui couvre la totalité de l’écran est utilisé comme arrière-plan.

Certains jeux utilisent un "carrelage" système dans lequel le fond est constitué d’une bande de bitmaps rectangulaires plus petites qui sont tirés d’une manière telle qu’ils apparaissent pour former une image agrandie, continue. Cela se fait lorsque vous voulez faire un grand, grand monde qui défile autour derrière vos sprites. Vous devez habituellement des outils spéciaux pour créer des fonds carrelés.

Animation

Sprites habituellement animer. Par exemple, si vous avez un personnage de jeu qui va et vient à travers une plate-forme, alors le personnage devra avoir un "fonctionnement" animation. L’œuvre d’art pour ce serait sous la forme d’une série de bitmaps qui parcourut rapidement pour créer l’illusion du mouvement, tout comme un film d’animation.

Il y a aussi des choses comme des boutons pour les interfaces utilisateur qui exigent normalement des images différentes en fonction de l’état du bouton. Par exemple, une image normale, une "rouler" image qui est affichée lorsque la souris touche, et un "pressé" image qui est affichée lorsque le bouton est effectivement cliqué.

3D en temps réel

jeux 3D en temps réel sont assez standard aujourd’hui. Ils sont généralement plus élevés et le budget prennent plus de temps pour créer. Il y a beaucoup de différences dans faire un jeu RT3D, mais une grande partie de l’information qui précède applique encore. Je vais essayer de décrire quelques-unes des différences ici.

La programmation est différente

Le monde du jeu est différent dans un jeu en 3D. Toutes les données représentant les objets et le monde se décrivent tailles et positions dans 3 dimensions d’espace au lieu de coordonnées juste 2D. Déplacer des objets autour d’un tel monde est pas très différente de celle en 2D, mais il y a beaucoup d’autres émissions spéciales nécessaires pour rendre l’écran car il est généralement d’un point de vue à la première personne. Cela nécessite beaucoup de rotation spéciale et la transformation des données pour créer l’illusion.

RT3D tend également à être beaucoup plus cpu intensive. Code spécialisés est nécessaire pour rendre le monde apparaissent correctement et courir assez vite, comme l’abattage en arrière-face et z-buffers.

Du côté positif, il y a beaucoup de moteurs de jeux 3D spéciaux qui sont conçus tout cela plus facile. Retour à la baisse à nouveau cependant, ils exigent habituellement une redevance pour l’utilisation.

jeux RT3D ne sont pas pour les faibles de cœur. Je ne suggère d’entrer dans eux jusqu’à ce que vous avez obtenu quelques jeux sous votre ceinture et être familiarisé avec les bases de faire un bon match.

Création d’œuvres d’art est différent

Création de temps réel des jeux en 3D est très différent. En tant qu’artiste, vous allez passer beaucoup de temps "la modélisation" objets 3D dans un outil spécial à cette fin. L’objet serait composé d’un tas de rectangles ou triangles plats qui sont fixés de telle manière à faire un maillage dans la forme désirée.

Vous créez ensuite bitmaps 2D qui sont appliqués aux triangles "textures" pour créer l’effet d’un objet solide 3D.

L’œuvre d’art serait fourni au programmeur sous la forme de fichiers spéciaux de données qui comprennent à la fois le modèle et les textures. Le programmeur peut alors déplacer les objets ou parties de ce programme lorsque le jeu tourne.

Audio

L’audio dans un jeu est généralement composé de "effets sonores" et "la musique". Les effets sonores sont des sons qui sont généralement liés à une sorte d’événement. Un tel événement pourrait être quand la balle touche le mur dans le jeu Bounce. Lorsque cela se produit, un effet sonore comme " boing !" serait joué et entendu. Musique, d’autre part, est juste une piste sonore longue boucle qui joue en permanence en arrière-plan et est destiné à établir un état d’esprit.

L’audio pour un jeu ne nécessitera presque autant de temps et d’efforts que la programmation et les illustrations. En tant que tel, il est souvent pas démarré jusqu’à ce que le jeu est en fait en grande partie ou tout au moins bien dans le développement. Cependant, je ne peux pas souligner assez l’importance audio est.

Un jeu avec de bons effets sonores et la musique sera largement supérieur à celui avec mauvais ou pas d’audio. Parce qu’il est un investissement relativement petit de temps et d’efforts, mais a un impact énorme sur la sensation du jeu, il est crucial que vous avez une bonne audio.

mode multijoueur

Les jeux multijoueurs sont ceux dans lesquels 2 ou plus humains jouent, que ce soit avec ou contre l’autre. Les joueurs interagissent généralement dans une sorte de connexion réseau, le plus souvent l’Internet.

jeux multijoueurs, des jeux comme RT3D représentent encore un autre ordre de grandeur de la complexité. Si un seul joueur, 2D jeu prend 3 mois pour créer un jeu à joueur unique 3D pourrait prendre 6. Ajouter multijoueur, et il pourrait être 9.

Types de jeux multijoueurs

Tournez à base

Un jeu au tour par tour est un jeu où un joueur doit attendre jusqu’à ce que l’autre joueur est fini de déplacer ou de fournir d’entrée avant qu’il ne puisse faire la même chose. Les joueurs "à tour de rôle". Des exemples seraient des jeux de société et jeux de cartes. Dans le monde du jeu multijoueur, jeux tour par tour sont les moins susceptibles d’avoir des problèmes avec la tricherie et avoir le moins, les problèmes épineux ennuyeux qui leur sont associés.

Temps réél

Temps réels jeux seraient des jeux dans lesquels tous les joueurs sont considérés comme dans un monde de jeu unique, et sont tous agissant de manière indépendante dans le même temps et d’interagir en temps réel. Des exemples seraient des jeux de rôle tels que Ultima Online et Everquest. ou jeux de stratégie en temps réel telles que Real War. Ces jeux sont des jeux multijoueurs les plus difficiles à mettre en œuvre. Ils souffrent de problèmes tricherie, retard et de synchronisation. Ces choses sont problématiques parce que les jeux tentent de créer l’illusion d’un monde de jeu unique qui est dans un état continu de flux. La nature de l’Internet, il est très difficile de garder tous les ordinateurs des joueurs synchronisés et à jour dans des intervalles de temps très courts.

Sockets

Ordinateurs communiquer entre eux à travers un réseau à l’aide "douilles". Sockets sont comme les extrémités d’un morceau de tuyau ou d’un tuyau. Pour communiquer avec un autre ordinateur, votre ordinateur ouvre une "douille" qui établit un tuyau entre les deux machines. Votre ordinateur peut alors parler dans une extrémité du tuyau et le message va sortir de l’autre extrémité à la machine distante. La machine distante peut parler de retour de la même manière et dans le même temps.

Serveur client

La plupart des communications de réseau utilisent le modèle client / serveur. Un serveur est simplement un ordinateur qui est "attendre" pour recevoir une nouvelle connexion de prise depuis un autre ordinateur. Le client est tout simplement l’ordinateur faire le raccordement. Certains jeux sont conçus comme des jeux client / serveur. Dans ces jeux, un seul, l’ordinateur central est en contrôle et entraîne le monde du jeu, et les clients sont vraiment seulement des terminaux qui permettent à l’utilisateur d’interagir avec ce monde à distance.

Référence

Il y a beaucoup d’outils et de ressources disponibles pour faire des jeux informatiques. Je liste certains d’entre eux ici.

La programmation

  • http://gcc.gnu.org/ – GNU C / C ++ La libre, open source GNU C / C ++ est disponible pour Linux, Windows et probablement beaucoup d’autres plates-formes. La plupart des grandes distributions Linux incluent gcc
  • http://java.sun.com/j2se/ – Java Development Kit de soleil. Le JDK est gratuit et disponible pour Linux, Windows et probablement d’autres plates-formes aussi bien.

Art

  • http://www.gimp.org/ – GIMP est un programme similaire en fonctionnalités à Adobe Photoshop. Il est gratuit et disponible pour Linux et Windows.

Audio

  • http://www.spies.com/Sox/ – Sox est un outil qui convertit les fichiers d’échantillons sonores d’un format à l’autre.

Autres liens et ressources

RELATED POSTS

  • Comment faire pour se débarrasser de l’Désagréable Vaginal …

    Comment faire pour se débarrasser de l’odeur vaginale Désagréable Comment se débarrasser de l’odeur vaginale désagréable! Comprendre ce qui signifie que votre odeur féminine en particulier et…

  • Comment faire de La gymnastique (Photos AVEC) …

    Comment faire de la gymnastique Des Recherches sur les catégories locales. La gymnastique est Pas vraiment le sport non Que vous pouvez vous Enseigner. Lire à ce sujet est bon non Debut, Mais à…

  • Comment faire une relation stronger_3

    Comment avoir une relation saine Prendre la responsabilité de votre propre bonheur. Epargnez-vous quelques heures de disputer en se souvenant de cette seule règle: il est pas à quelqu’un…

  • Comment faire un lavement de café à la maison …

    Et une eau Enema normal aussi! je # 8217; ai eu beaucoup de demandes de gens qui demandent comment faire un lavement à la maison et surtout comment faire un lavement de café. Même si vous ne…

  • Comment faire la différence entre …

    Comment faire la différence entre une élongation musculaire ou douleur pulmonaire Douleur ou malaise dans la région de la poitrine est certainement une cause de préoccupation, car il peut être…

  • Comment faire de l’eau kéfir à la maison …

    Comment faire de l’eau kéfir à la maison # 8211; Fizzy Soda Ce # 8217; s bon pour vous! Cet article peut contenir des liens affiliés. Il ne vous coûte rien et contribue à maintenir…

Laisser un commentaire