Oniromancie: Tutoriels - Creez un système de temps réaliste !e


Comment ça marche?

Aëdemphia
Par Sylvanor

Fighting Robots Quest
Par Boulon

Forstale
Par Ødd Clock

Geex
Par roys

Inexistence
Par Falco

La Légende d'Ibabou
Par Zaitan

Lije
Par Gaetz

LoveMaster
Par Cuddlefox

Sarcia
Par Kaëlar

Super Mario RPG - Lost Souls
Par Omegabowser

Jeux: Monster World RPG / Jeux: Pif et Hercule / News: Mise à jour de RPG Maker 2003 / Tutos: Création de charset / Jeux: FAYLINAWA /

Chat  (53 connectés)

Bienvenue
visiteur !






publicité RPG Maker!

Statistiques

Liste des
membres


Contact

62 connectés actuellement

9261786 visiteurs
depuis l'ouverture

1393 visiteurs
aujourd'hui

Groupe Facebook

Barre de séparation

Partenaires




TOP
GAMEMAKING


Les 5 plus
visités

Lunae, le baz'arts d'Emz0

Le studio du chat vert

Pixelandgame

Tashiroworld

HeyMakeGames

Au hasard

Shadow Temple

Magic-mangas

Condado Braveheart

Les deux derniers

Lunae, le baz'arts d'Emz0

Le studio du chat vert

Nos autres partenaires

Devenir
partenaire


Barre de séparation

Un site du réseau
War Paradise

Annuaires référenceurs




Creez un système de temps réaliste !e
Ecrit par awakeing

Bon ben quand faut y aller :-°


Salut à tous Clin d'oeil

Aujourd'hui, j'ai décidée de publier un tuto sur l'un des points forts de mon jeu : Le royaume.

Ce point fort, c'est un système de temps.

Voila donc le sujet du tuto :

Créer un système de temps réaliste

Niveau requis :

Maitrise des interrupteurs et des variables.
Maitrise des Conditions et des Boucles.

Donc, avant tout, il faut savoir ce que signifie précisément "un système de temps réaliste". Plusieurs points sont à souligner :


-Le temps ne marchera que si l'interrupteur "temps marche est activé"
-Une seconde réelle équivaut à une minute du jeu
-Un système d'alternance jour/nuit (par défaut, il fait jour à 6h et nuit à 20h)
-Les jours se suivent, (nous déterminerons le jour de la semaine)


Si il faut que l'interrupteur "Temps Marche" soit activé pour que le temps avance, c'est pour pouvoir le bloquer quand vous voulez, pendant les scènes cinématiques par exemple Clin d'oeil

Pour commencer, voila ce dont vous aurez besoin :

4 Interrupteurs
4 Variables
6 Evènements communs

Commençons par les interrupteurs. Voici les 4 à créer :

image


Oui, c'est peu le bordel la dedans Sourit

-Un interrupteur "Intérieur_Nuit" pour qu'il ne fasse pas nuit dans les maisons.
-Un interrupteur "Temps_Marche" pour contrôler les moment où le temps passe
-Un interrupteur jour pour contrôler le mode jour
-Un interrupteur nuit pour contrôler le mode nuit


Maintenant, jetons un œil aux variables :

image

Complètement zappée à quoi me sert la variable i :-°

Alors là, c'est hyper simple


-Une variable Minutes pour contrôler les minutes
-Une variable Heures pour contrôler les heures
-Une variable Jours pour contrôler les jours
- Une variable "Jour Semaine" Pour connaitre le jour de la semaine.


Maintenant, on entre dans la partie que vous redoutez tous : La Programmation !

Alors, voila le premier des 6 évènements communs :

image

Mais non, ça fait pas peur Tire la langue

Cet évènement est en processus parallèle :


-Il faut qu'un évènement active l'interrupteur "Temps Marche" pour que le reste puisse fonctionner
-On attends une seconde, et on ajoute une minute
-Si 60 minutes se sont écoulés
-On remet minutes à 0 et on ajoute une heure
-Si 24 heures se sont écoulés
-On remet heures à 0 et on ajoute un jour
-On ajoute 1 à jours semaines (qui détermine si on est lundi mardi etc.)
-Si variable "Jours_semaines" devient supérieur ou égal à 8
-On la remet à 1
-On sort de la boucle pour vérifier si l'interrupteur "Temps_Marche" est toujours activé.


Voila, ainsi le temps tourne parfaitement. Les trois autres évènements serviront à l'enchainement jour/nuit. Commençons par voir l'évènement "jour/nuit" :

image

C'est bien plus léger non ? Sourit

Comme vous le voyez, c'est très simple :


-Une condition qui dit que Si il est 6 heures
-On appelle l'évènement jour
-Et Si il est 20 heures
-On appelle l'évènement nuit


Voila, c'est simple, les heures de jour et de nuit peuvent bien sur être modifiées, ptêt que vous voulez qui fasse nuit à 18h Clin d'oeil

Voyons l'évènement jour en Appel :

image

Comme ça il fait jour ! Sourit

C'est très simple :


-Si l'interrupteur jour est désactivé
-On modifie le ton de l'écran (100, 100, 100, 100) pour le rendre façon jour, en 10 secondes pour le réalisme
-On active l'interrupteur jour
-on désactive l'interrupteur nuit


Si on a besoin de ces deux interrupteurs, c'est pour ne pas rendre le jeu façon jour quand il fait déjà jour (ou inversement Clin d'oeil ) et pour les intérieurs (vous verrez plus loin...)

Maintenant voyons l'évènement nuit en Appel :


image

C'est un peu la même chose :-°
C'est (aussi) très simple :

-Si l'interrupteur Intérieur Nuit est désactivé (on verra ça plus loin)
-Si l'interrupteur nuit est désactivé
-On modifie le ton de l'écran (50, 50, 60, 100) pour le rendre façon nuit, en 10 secondes pour le réalisme
-On active l'interrupteur nuit
-on désactive l'interrupteur jour


C'est bon, vous avez un système temporel opérationnel Sourit

Enfin... A un détail près, en entrant dans une maison, il fera encore nuit, et ça c'est pas cool >.<

Mais vous en faites pas ! Y a une solution !
Elle s'appelle : Intérieur nuit & Extérieur nuit !

En fait, c'est un peu chiant, parce qu'il vous oblige à appeler l'évènement commun "Intérieur nuit" dans toutes les entrées et Extérieur Nuit dans toutes les sorties de maisons. (vous avez pas besoin de screen pour ça j'éspère)

Ne confondez pas l'interrupteur Intérieur nuit et l'évènement commun Intérieur Nuit ! Là, c'est de l'évènement commun Intérieur Nuit qu'il s'agit !

Voila l'évènement Intérieur Nuit en Appel :

image


Vraiment simple :


-Si il l'interrupteur nuit est activé (si il fait nuit)
-Modifier le ton de l'écran façon jour (100, 100, 100, 100) en 0.1 secondes pour le réalisme



Puis l'évènement Extérieur Nuit en Appel :
image
Oui, c'est quasiment la même chose !

Aussi simple :


-Si il l'interrupteur nuit est activé (si il fait nuit)
-Modifier le ton de l'écran façon nuit (50, 50, 60, 100) en 0.1 secondes pour le réalisme


Ok, maintenant il reste un problème : Disons que noue entrons dans une maison à 19h (il fait jour) et qu'on y reste jusqu'à 20 heures (la nuit), on aura pas appelé l'évènement intérieur nuit vu qu'on est entré le jour, donc il fera nuit !

Oui ! C'est vrai, mais pas de panique ! Il suffit de se servir de l'interrupteur Intérieur Nuit !

Tout ce que vous avez à faire, c'est d'activer cette interrupteur dans chaque entrée de maisons et le désactiver dans chaque sortie (pour que la nuit puisse tomber le lendemain si on est dehors)

Ainsi, il n'y a plus de problèmes.

Si vous vous demandez comment ça marche, c'est très simple :

Si il fait nuit pendant qu'on est dans la maison, l'interrupteur Intérieur Nuit empêche la nuit de tomber. Et la nuit retombe grâce à l'évènement commun... Extérieur Nuit ! Oui, si il fait nuit et qu'on sort de la maison, la nuit se place grâce à cet évènement !

Vous voyez la magie de la programmation ? Sourit

C'est plusieurs bouts de code empilés les uns sur les autres qu'on relie les uns aux autres avec une toile géante !

Voila, votre système est maintenant opérationnel à 100%

Mais il y a encore une chose dont je voudrais vous parler : Les jours de la semaine. Nous avons créer une variable jours_semaines, on va l'utiliser Clin d'oeil


Bon, maintenant disons que vous créez un PNJ qui donne les jours de la semaine, voila ce que vous devez coder dedans :

image

Ben quoi ? Vous avez jamais vu une vache donné la date ?


On ne voit pas le bout, pourtant il est très important, alors voila un récapitulatif :


-Si Jours semaines = 1
-C'est lundi
-Sinon Si jours semaines = 2
-C'est mardi
-Sinon Si jours semaines = 3
-C'est mercredi
-Sinon Si jours semaines = 4
-C'est jeudi
-Sinon Si jours semaines = 5
-C'est vendredi
-Sinon Si jours semaines = 6
-C'est samedi
-Sinon Si jours semaines = 7
-C'est dimanche


Voila, c'est bon, maintenant votre vache (ou calendrier, c'est vous qui voyez) vous donnera le jour de la semaine Clin d'oeil

Ainsi s'achève notre tuto, j'espère qu'il vous aidera et vous permettra de créer pleins de jeux avec un système temporel :-D !

Ah ! Et surtout, lorsque le temps commence à passer dans votre jeu, n'oubliez pas d'initialiser les variables "heures" "minutes" et "jour", sinon vous commencez automatiquement à 0h00 le jour 0.

Attention ! Si votre jeu commence un mercredi (par exemple) vous DEVEZ initialiser la variable "jour_semaines" à 3, même si c'est le premier jour de jeu !

Salut Clin d'oeil


raado - posté le 24/07/2008 à 14:36:06. (599 messages postés)

Noob flemmard

C'est vraiment bien fait ton tuto mais je me demande comment ça se passerat avec RMXP ou RMVX(c'est ce dernier que j'ai...:hum)

Cliquez!


Youhouy - posté le 14/08/2008 à 07:32:44. (5 messages postés)

Jtrouves ça trés utile, quand ça marches:) je ne sais pas d'où viens le soucis (je sais pas si ça a de l'importance mais j'utilises VX et les événements communs n'ont pas de déclenchements ''en appel'' seulement ''processus paralléles'' et éxécutions automatiques'')
MERCI D'AVANCE:)


adidyan - posté le 21/08/2008 à 21:42:50. (57 messages postés)

Apprenti Mappeur

Merci beaucoup pour ce tuto très instructif...
(J'adore tes commentaires sous les images :) )

Pour repondre a Youhouy, sur VX (que j'utilise) l'equıvalent de "Appel", c'est "Aucun".



Adidyan

Adidyan


Wolf (visiteur non enregistré) - posté le 25/08/2008 à 11:28:39.

MERCI !!!

Grâce à ce tuto très utile, j'ai réussi à faire un pouvoir qui permet d'activer la nuit ou le jour quand on veut !
Il suffit de le lier à l'évènement commun Nuit !

PS : Ça marche avec le jour !

Utile pour faire des évènements uniquement le jour ou la nuit, du genre une plante qui pousse que la nuit,

>condition : si l'interrupteur nuit est activé, message :
La plante pousse !!
Utile aussi pour forger son épée : le forgeron vous dit de revenir demain !
Utile, non ? MERCI pour ce tuto !!!!!!!!!<3<3:kirby:sonic


^^ (visiteur non enregistré) - posté le 03/11/2008 à 16:03:08.

moi sa fait un vieil effet avec le ton de lécran...


kmi81 - posté le 19/02/2009 à 02:03:43. (103 messages postés)

Buvez, c'est mon sang. Mangez, c'est mon corps. Touchez pas c'est mon cul.

C'est super merci! J'avais jamais réussi à faire un système qui marche à 100%...

Commence tout, ne fini rien...


bakka - posté le 06/06/2009 à 13:54:20. (4 messages postés)

Bonjour,

J'ai un problème avec la gestion du temps ...
Donc je crois que dans mon jeu (une fois l'interrupteur Temps_marche = ON) 1sec (réel) = 1h (In game)...

Je vois pas ou est le problème donc je viens poster ^^

Screen de mon évènement : Temp :
http://www.picdo.net/Fichiers/3e3f33e5946f208d080f934ef5b808de/ScreenShot028.jpg

Merci d'avance !


Loly74 - posté le 05/09/2009 à 12:24:22. (795 messages postés)

Couteau pas tout à fait Suisse Agréé

Ouaou!c'est un tuto très utile ,en plus,si on veut faire un jeu ou on se trouve sur un planete ou 4 heures=1 jour,c'est faisable!

EDIT:j'ai pas les déclanchement en APPEL,donc ceci n'est pas faisable sur VX....je vais chercher une autre solution pour que ca marche

(moi,je fais plus compliqué:
passage matin>jour>apres-midi>sior>nuit>aube>matin

ET en plus,a midi et minuit,la cloche du village rententi...)

Sylvan Melody, c'est par ici ! | Mes Musiques! | "Les RTP c'est quand même très limité. Quand on réalise un jeu, on réalise un univers qui va avec, et cet univers il passe beaucoup par les graphismes, et l'identité qu'on leur donne."


luclis - posté le 21/11/2009 à 11:43:29. (1 messages postés)

Pour l'instant tout marche bien mais la derniere image a disparu...
Donc si quelqu'un pourrait m'aider (je vais essayer tout seul mais j'suis pas sur) ou sinon remettre cette image.


samcool_129 - posté le 09/02/2010 à 14:03:53. (65 messages postés)

C'est moche comme tout mais... c'est moi qui l'ai fait ! :F

Pas bête ^^
On peut aussi arrêter le temps en désactivant l'interrupteur Temps_marche ^^

Bosse sur La vie de Lucas, un RPG à la con... | Vous êtes perdu ?

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe

Plan du site:

Activité: Accueil | News | Forum | Flash-news | Chat | Commentaires | Galerie | Screen de la semaine | Sorties | Articles perso | Livre d'or | Recherche
Jeux: Index jeux séparés | Top Classiques | Top Originaux | Les autres | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Jeux complets | Proposer
Rubriques: Le Wiki | Collection Oniro | Tutoriaux | Scripts | Guides | Gaming-Live | Tests | Making-of | Interviews | Articles perso | OST | L'Annuaire | Divers | Palmarès
Hébergés: Aëdemphia | Fighting Robots Quest | Forstale | Geex | Inexistence | La Légende d'Ibabou | Lije | LoveMaster | Sarcia | Super Mario RPG - Lost Souls
Ressources: Jeux | Programmes | Packs de ressources | Midis | Eléments séparés | Sprites
RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis