Daily Life Project 1ère partie... Le temps a de l'importance!
Voici la traduction (autorisée !) d'un article que j'ai trouvé sympathique, et qui, je pense, pourra intéresser la communauté francophone de RPG Maker XP. ;)
Parmi tous mes efforts pour rendre le monde du RPG meilleur, l’une de mes préoccupations est de créer un moteur de simulation de vie. Pas un genre de Sims (après tout, il est bien connu que Les Sims, c’est le mal absolu), mais simplement un système dans lequel il ne serait pas possible de passer cinq « nuits » à l’auberge locale avant que le soleil ne se couche, ou inversement, de parcourir les cartes pendants des heures sans prendre une seule minute de repos. En bref, quelque chose où le temps ne s’étire pas de façon absurde pour suivre le rythme du joueur.
J’ai appelé ce moteur le Daily Life Project, et en voilà le premier tenant. Ce script pour RPG Maker XP donne de l’importance au temps dans votre jeu.
Caractéristiques
Ce qu’il fait
-
Gérer et compter le temps en minutes, heures, jours, semaines, mois et années.
-
Contrôler le temps grâce à des variables de jeu.
-
Afficher facilement les heures, les dates, les jours de la semaine... dans les fenêtres de messages (attention: cette caractéristique utilise une modification de la classe Window_Message, qui gère les fenêtres de message. Si vous utilisez déjà un script qui modifie ces fenêtres, vous aurez certainement besoin de choisir entre les deux)
-
Afficher la date et l’heure sur un panneau de contrôle.
-
Contrôler la visibilité de ce panneau grâce à un switch.
-
Gérer le jour et la nuit automatiquement.
-
Cette gestion automatique peut être désactivée pour les endroits clos éclairés artificiellement.
-
Emuler la variation de durée de jour tout au long de l’année (plus importante en été, moins en hiver).
-
Le temps qui passe active des switches qui permettent de simuler des emplois du temps individuels.
-
Adapter automatiquement les teintes d’écran en fonction de la luminosité actuelle.
Ce qu’il ne fait PAS
-
Pas de gestion des années bissextiles (parce que c’est la misère à coder, et que de toute façon il vous faudrait un scénario qui s’étend sur au moins 4 ans).
-
Le temps n’avance pas de lui-même, c’est-à-dire que vous pouvez laisser le jeu tourner pendant une heure, et pas une seule minute ne sera passée. L’avancement du temps doit être contrôlé par des events (donc il est possible de créer un événement qui fait avancer le temps régulièrement après tout).
Mode d’emploi
Si vous n’avez pas encore commencé votre jeu, faites une copie du kit de démonstration et c’est tout bon !
Autrement, suivez ces étapes :
-
Copiez les différentes parties du script depuis le kit de démonstration
-
Créez des variables et des switches nouveaux dans le panneau de contrôle. Il vous faut de la place pour ce qui suit :
-
variable: Temp [temporaire]
-
variable: Time [temps]
-
switch: Enable Daylight [activer la lumière du jour]
-
switch: Display Time HUD [afficher l’horloge sur la carte]
-
Les variables Hours, Days, Months [heures, jours, mois]... ne sont pas indispensable mais sont utiles (par exemple pour créer des events qui n’apparaissent que pendant un certain mois, ou dans un certain intervalle d’heures).
-
Les switches Day is Multiple of... and Day is NOT Multiple of... [ce jour est multiple de... / n’est pas multiple de...] ne sont pas indispensables mais sont utiles (pour créer des events qui apparaissent uniquement un jour sur deux, trois...)
-
De même pour les switches Daytime et Nighttime [journée et nuit] (pour créer des events qui n’apparaissent que le jour ou la nuit).
-
Ouvrez le script et changez les constantes pour les variables respectives vers lesquelles elles pointent, par exemple si vous avez choisi la variable n°37 pour Time, changez VAR_TIME pour 37. De même pour les constantes qui pointent vers les switches.
-
Changez les constantes d’options à votre guise
-
DISPLAY_YEAR s’il faut afficher l’année dans toutes les dates (défaut = false)
-
HOUR_FORMAT_24 si vous voulez afficher les heures en format 24h [France] au lieu de 12h [USA] (default = false)
-
STARTING_YEAR si l’année a une importance dans votre jeu, quelle année sommes-nous quand Time = 0
-
WINDOWSKIN_HUDTIME si vous voulez utiliser une skin particulière pour l’horloge (l’extenstion doit être précisée!)
Et voilà.
Je suggère que vous regardiez bien toutes les caractéristiques du kit de démonstration pour voir comment vous pouvez utiliser les différentes possibilités de ce script au mieux.
Pour l’avoir
Allez commenter l’article original. ;)






