Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

eharper256's Dynamic Time System VERSION 5.1!!

Dynamic Time System
UPDATED TO VERSION 5.1!!
By eharper256


Hello all, this is a EVENT Based Dynamic Time System that I created. It was created to meet my needs for an adaptable time system which weren't catered for by the currently available systems, scripting based or otherwise. I wanted the ability to alter the speed of times flow, like Calderons time, the adaptive weather of punkids system, and, most importantly, the ability to fiddle with the time of day at will without screwups and have it tell other events via a simple switch whether it was Night, or bad weather, or suchlike.

Features
  • Keeps track of minutes, hours, days, weeks and years through easily alterable variables. As a result of this, you can easily implement things like Inns that add 8 hours to the clock, and such...
  • Automatically checks if its night-time; and if it is, pulls a switch. You can have things like shops closing at night and such through this.
  • Set up default values for the time, like the AMS; and reset them to this value at will by a simple switch pull (hey I can do a Majoras Mask with this and return to the beginning, LOL).
  • Change the speed of times flow by altering a variable. This achieves an effect similar to Calderons Time; you can have time speed by quicker when on the World Map, for instance, or go slower in the Snowfield of Death. There are 5 settings for time flow by default (Normal, Fast, Faster, Uber-Fast and Slow).
  • Changes screen tone according to the hour; and changes it differently whenever one is inside, or when the weather is bad.
  • But there is the easy option to Switch the screen tone change off whenever you need to, whilst keeping time flowing in the background. Useful for cutscenes and places with unusual light conditions.
  • Support for Ccoa's Weather. Checks the weather every hour of game time based on Seasonal evaluation.
  • Much, Much, Much better weather support in version 2! The weather change is no longer quite so random; but more reliant on seasons and their individual likelihood of generating high/low pressure fronts. The system can be turned off at will.
  • Additionally, the weather now works in the same fashion as the tone changer; running then turning itself off every game hour. This has required an additional switch to be added to the line-up, but as a result the whole affair is much more stable and is also less laggy.
  • A final weather based addition: automatic application of appropriate BGS; which stays on (though lessens in volume) when you go inside. This feature is also easy to disable if you want your own BGS.
  • Also, a stupid bug in the demo was quashed. It continued to rain inside because of my lazy event programming before.
  • Much like the night-time check, theres a check for bad weather that pulls a switch. You can have people react differently to bad weather.
  • No big daft clock hangin' around onscreen all the time. I figure that most fantasy characters don't really have digital watches, in any case. ':| As of 5.1, still no big daft clock, HOWEVER, there is a toggle-able time & date window. See below.
  • However, you can tell the time at any time (tongue twister!) by simply calling a common event. This way, your characters can still look at the town clock or use a personal sundial, or something. This clock calling event has support for Dubealex's AMS by default, so the time shows up in a clear text box rather than a message; but if you don't have that, you can remove dependancy on it easily by a quick event modification. (I'm sure its easily changable to Ccoa's UMS as well, but I don't have that)
  • Finally, because of the separated events and conditionals, it does not lag at all. (At least it doesn't on my old laptop, which is a 1.6 GHz Athlon)

Version 3 Adds alot of cool new features!
  • Due to popular demand, I added a feature called FastTone. People didn't seem to like the fact that the tone change was slow when switching between inside and outside. This feature addresses that; it should detect when it is needed, and then make the tone alter considerably quicker.
  • SpecialLight was added. Previously, when you wanted to use a special kind of light not conductive with the typical day/night effect, you would have to apply the Tint Fixer switch and do it manually. SpecialLight addresses this problem by offering a standard library of unique lighting conditions, defined from within the Tint Changing Common Event. Therefore, you can define your special light type there, assigning it a variable value. Then, whenever you need to use that light type, you call upon it in a snap by simply setting the variable to your desired value, flipping a switch and then raising the Tint changing FLAG as normal. The Tint changer will then recognise the need for your Special Light; and it will usurp the typical Day/Night Tint whilst still letting time run and recognising the difference between day and night.
  • Special Light currently has the following default conditions programmed into it: Dark Cave, Sewer, Crystal Caverns (Blue and Purple), Icy Cavern, Fiery Cavern and Forested Canopy. You can add additional types if you have a reasonable proficiency with event programming.
  • Time Based Lighting was added. This basically allows the system to utilise the unique symbiosis of Time and Tint in ways besides the standard day/night cycle. As a result, you can add considerable amounts of atmosphere to your game with very little effort! For example, you can have a eerie dungeon with a pulsating light effect, or have the effects of thunderclaps with lightning flashes without the rain for that mad professors hideout.
  • Time Based Light currently supports the following unique conditions: Slow Strobe Light, Pulsating Light, Intermittant (Flickering) Light, Disco Lights :D , Battlefield effect with explosions, Underwater effect with bubbles, and Lightning Flashes for interiors. If you can think of other effects you'd like, post 'em here and I'll see what I can do.

Version 4 Adds some pretty funky new stuff also!
  • Now using Ccoa's Tileset swap script, the Dynamic Time system can automatically adjust the tileset for you depending on the season! This allows a switch to new tilesets to show the effects of winter, autumn and such more dramatically. In order to utilise this feature, simply adjust the tileset values for seasons in the configuration event. By default, Spring will use the default selected tileset, Summer will add +50 to this number, Autumn will add +100, and Winter will add +150. Hence, if you wanted versions of the RTP grasslands to change season, the spring version would be Database Tileset ID 1, Summer 51, Autumn 101, Winter 151 etc.
  • As mentioned, better customisation was my main goal for this version. To achieve this, the system now makes use of Script Arrays which are fully customisable in the setup event. For example, previous versions didn't recognise the difference between weekdays, and all months were always 30 days long. But no longer! The arrays allow the system to store both important numerical and string related data like the names of weekdays, the lengths of months, etc. without having to use further variables and switches. In a nutshell, this means the system now fully recognises the Date, the Day of the week and the month, and these things are fully changeable to the game-makers needs.
  • By fully customisable, I mean it! You can decide for yourself how many days are in a week, what those days are named in your world, how many weeks are in a month, how many months are in a year, how long each of those months are, and what each of those months is called!
  • As a result of the above change, the Time-Telling common event from before is a little bit more advanced; incorporating a calendar. Hence now when you call the common event that tells you the time, you not only recieve precise information on the time, but also learn what the date, day of the week and month are. Example: "Its 12:31pm! And its Tuesday the 15th of February, 2009!"
  • Another slight change: I've supplied a couple of fogs for this release, which are utilised by The Weather Generator to create further atmosphere. Like all of the other, similar, features, you can choose to deactivate this at will.
  • And finally, this version incorporates the mod I did a while back for Grimreaper; more extensive day period decision. The system automatically pulls switches when its Early Morning, Late Morning, Afternoon, Evening and Night. While this neccesitates a chunk of extra switches; you can use these switches as a comprehensive basis for creating fully scheduled NPC's (i.e. they go shopping in the morning, then go to work in the afternoon, then to the pub for the evening, then into bed for night)
Version 5 Adds THIS Stuff!
  • Stupid Bugfix Sorry guys, version 4 caused stupid errors with savegames due to '[]' not being defined. I didn't notice this until about 3 months after I released since I was using an outdated version 3.5 in my game until then. Then again, no-one gave me any feedback on the issue either...
  • Its gone partly Script-a-licious Partly in order to more easily quash the above bug, and partly to tidy things up a bit, the global settings of the DTS now have their own script class, $JT_DTS.
  • Phased Lighting. The main new feature. Technically an upgrade for the ol' Special Light thats been with the system since V3. Are all caves universally dark throughout? Do you see the glow from lava even on the next floor? Do rooms stay dark even with the lights on? No, of course not. Whilst it is not truly possible to model the advanced lighting of modern games in base RMXP, I thought of Phased Lighting to be a buffer of sorts. Basically, whilst Special Light may provide a 'library' of effects, Phased Light takes this a step beyond and offers the user controlled change of circumstances.
    Change a variable, raise the usual flag, and the properties of the area's light change to match your predefined options. Got closer to that lava? Then make the red saturation of the screen go up! Close to a caves exit? Then it should be brighter, right? Phased Light should be able to do this to create even better atmosphere.
    The DEMO only includes the Fire Cavern Phases. Since I can't anticipate how everyone is gonna want to use various phases, its up to you to actually make them and place them into the Tonal Change event. So this is an intermediate feature; you'll need a small modicum of event programming skill to make it happen.
  • World-Map-Time An additional setting for the time flow module thats been around since the beginning. This changes how the time flow operates from the usual frame based operation to a X-Y co-ordinate operation. In a nutshell, this means every time you move a square on a map, X amount of minutes instantly pass; but time is frozen when you're standing still. This is obviously meant for maps like world maps, where simulating the time it takes to travel large distances is beyond the capabilities of the normal time flow engine: crossing a country should take days, not minutes, after all.
  • Torches that deplete over time. I've had this one on the back burner for a while. Its still not up to my expectations, however, since it has a tendancy to lag behind the player. Lazy light, if you like, lol. Still, irregardless, I'll probably include it in this release. Its now much better since I made it based upon SephirothSpawns Torches, and changed some of the settings, fogs and graphics. It also supports flashlights at a remove, but you'll have to enable those manually.
  • Pre-defined days (holidays, holy days etc.) A Calender addition. Though we've had days of the week already, what if you wanted special stuff to happen in your game on certain days? So it happens to be a festival day in the game, and you want a market to be in town on this day only, etc.
    That said, its up to you actually take a special day and use it so, making this also an intermediate feature.
Version 5.1 Just adds the watch feature!
  • Watch/Dynamic Time Window Initially created by robot79796, this allows a clock and calender to displayed as a window at the top left hand part of the screen, which dynamically updates itself, and like many parts of the system, can be turned on and off at will with a switch.

The Watch & Calender window
Withthewatch.jpg


Worldmaptime in action
Worldmap1.jpg

Notice the fairly short (map-wise) distance to the junction.
Worldmap2.jpg

A fair while has passed getting there, as travelling a world map should do.
Worldmap3.jpg


Phased Light in action
PhaseLight1.jpg

PhaseLight2.jpg

PhaseLight3.jpg

PhaseLight4.jpg


More seasonal stuff
Seasonal1.jpg

Seasonal2.jpg

Seasons
Spring
DTSSpring.jpg

Autumn
DTSAutumn.jpg

Winter
DTSWinter.jpg

Night
DTSNight.jpg

Disco! (looks better in motion)
DTSDisco.jpg

Underwater
DTSUnderwater.jpg

Get the !Updated! Version 5.1 Demo from RAPIDSHARE here:
http://rapidshare.com/files/119548714/DTS-V5-1.exe
Or Get the !Updated! Version 5.1 Demo from MEDIAFIRE here:
http://www.mediafire.com/?fue1fzmjify

Want more mirrors? Just ask!

Get the !Updated! Version 5 Demo from RAPIDSHARE here:
http://rapidshare.com/files/118540685/DTS-V5.exe

---------------------------------------------------------
--------Using Version 4 is not recommended: It has an issue with Savegames...---------
Get the !Updated! Version 4 Demo from RAPIDSHARE here:
http://rapidshare.com/files/38525076/DynamicTime4.exe
Or get the !Updated! Version 4 Demo from MEGAUPLOAD here:
http://www.megaupload.com/?d=AWO9KRTM
--------Using Version 4 is not recommended: It has an issue with Savegames...---------

---------------------------------------------------------
Get the !Updated! Version 3 Demo from RAPIDSHARE here:
http://rapidshare.com/files/26498482/DynamicTime.exe
Or get the !Updated! Version 3 Demo from MEGAUPLOAD here:
http://www.megaupload.com/?d=ZYNSY6ZX[/SIZE]
Or get the !Updated! Version 3 Demo from the RMXP download manager here:
http://www.rmxp.org/forums/downloads.php?do=file&id=832

---------------------------------------------------------
The Old Version (Version 2) is also still available on Rapidshare Here:
http://rapidshare.com/files/16561109/DynamicTime.exe
OR here from the RMXP.org Download Manager:
http://www.rmxp.org/forums/downloads.php?do=file&id=481
---------------------------------------------------------

Enjoy; and feel free to use it in your games with credit.:thumb:

NEED HELP?? Here's a F.A.Q.
Q: How do actually go about adding this to my RMXP project?
A: Check out the Addition Guide I wrote:
viewtopic.php?f=7&t=14739&p=457573#p457573

Q: What the hell do all the switches and variables do?!?
A: Lots of stuff! Studying the comments I made will typically tell you all you need to know.
But, if you want a quick summary of what each component does, check this below post:
viewtopic.php?f=7&t=14739&p=514866#p514866

Q: Does it work with VX?
A: No, sorry, it probably doesn't. But I can't check since I've not had the moolah to buy VX.

Q: Does it work with the SDK/MACL etc.?
A: Yes. It hardly involves any scripting at all, so it'll co-operate with these scripting devkit things without any issues, as far as I'm aware.

Q: I have another question not listed here!
A: Fire away. I'll probably answer. But I'm a lazy & busy git, so don't expect an awesomely quick reply. Sorry.
 
The 'Its Night' switch is handled automatically by the Tonal Checker event. To have an additional divisionary period, you can simply create a new switch 'Its late night' or whatever and have that turned on at the appropriate time.

However, if you don't want to mess with the default events and settings (I realise it looks a little imposing), you can do this in your OWN common event. Set it to Paralel Process, with the condition of the 'Tonal Alternation FLAG' switch. It should look like this:

Code:
Conditional branch is switch 'Its night!' == ON?
If Yes: Conditional branch is switch 'Its latenight!' == ON?
     If Yes: Conditional branch is variable 'Hours' => 23?
         If Yes: Control switch 'Its latenight' = ON
         If No: Conditional branch is variable 'Hours' => 6?
              If Yes: Control switch 'Its latenight' = OFF
              If No: Nothing
     If No: Nothing
If No: Nothing

Obviously, replace the 23pm - 6am with the hours you want to define as 'Late Night'. It will trigger every game hour, presumably at the same time as the Tonal checking event (which is what you would have to modify anyhow) and its a pretty quick event to run, so shouldn't lag. (it'll get thrown out immediately if its not night already, after all).

Hope that helps. Tell me if it works...(or not)
 
I created a modification of the Dynamic Time System to meet GrimReapers request to make it [the system] differenciate between different periods of the day in more detail than current. This version recognises 5 different periods, each of which is linked to its own unique switch. Naturally, this requires 5 more switches and an extra common event. However, if people like it, I shall make it canon for the next release (whenever I do that). Call this version 3.1, or something...

http://rapidshare.com/files/30370172/DynamicTimeMod.exe
 
Hope you're ok, GR...get well soon.

On another side note: I had a brainstorm a couple of days ago about the potential of adding arrays to the system to increase customisation and actually have a means for the user to input the names of months, weeks and their length.

Since then, the modification of the system to accept arrays seems to be a success! The system can now store Month Names, Month Lengths, the length of a week and Day Names as global objects to be retrieved at any time. This means one can tell not only the time precisely, but also the date, weekday, month and year. It also means the system is more supportive of strange time and calendar systems: since these objects are defined in the DTS setup module, it is simply up to the player to say "I want 10 months in a year only" or "I'd like a 14 day week, but months to still be 28-31 days"

Very cool stuff. I'll continue to test, and if all is fine, shall release a version 4 soon.
 
Slow but nice!

But wait, it could just be my computer....
Or my hard drive...
OR my memory....
OORR my version...
OORRRRRR I dont have an explanation and don't bug please because I have enough to eat cheese about and stuf and stuff and-

WHY!!!!!!!!!!!!!!!!!!!!!
 
Thanks for your comments.
I haven't noticed it being slow, unless it happens to be running simulataneously with other paralell processes, then it can lag just a tiny bit. That was on the test on my old laptop (An Athlon 1800+ with gig of Ram). In general, however, it is designed to lag as little as possible thanks to the excessive branching I did.
 
Well, the basic weather effects are courtousy of Ccoas weather script; so, yes, there are more, check out the script to see them. As for adding more of those, that would require you to script them in.

If you want to alter the various frequencies of weather, you'll have to play with the two weather generator modules. Part A looks at the month, determines the season from that, and generates a weather pattern from those available. As explained in the comments, low numbers = precipitation, mid numbers = fair weather and high numbers = unstable weather (storms etc.). Part B interprets this information and applies the weather.

Or are you talking about the Special Light/Dynamic Light stuff? If so, what did you have in mind? I might add it to the next version.
 
i quite like how you did the lighting on it i reckon altering the speed of the strobe would be nice :)
i was thinking like cherry blossom and adding splashes and the likes for rain? and leaves falling in autumn
 
crispychaney;223026 said:
i quite like how you did the lighting on it i reckon altering the speed of the strobe would be nice :)
i was thinking like cherry blossom and adding splashes and the likes for rain? and leaves falling in autumn

Falling Sakura petals and autumn leaves are already part of ccoa's weather. I could have placed them into the random weather generators lineup for spring and autumn respectively, but I chose not to simply because there's no guarantee you'll be in an area that has that variety of flora. However, you can trigger these effects yourself. Simply turn off the weather generator with the appropriate switch, and then use the script command $game.screen.weather [x,y,x]. You can find instructions for this in the weather script, and can also check out how my common events do it.

As for rain splashes; that would require you to completely re-write the weather bitmap class, I believe o_0' So I don't think thats possible, at least not for me and my meagre RGSS skills.

Finally, you do know strobe and pulse are basically the same, just the latter does the effect much faster. What did you have in mind for this? Faster or slower?
 
lol yeah i wondered why it said strobe but it was pulsing lol
well if you increase the frequency and speed then alter the colour to a slightly deeper blue. would look more like it lol :D
for hte pulses i reckon they could work really well with a fog of some sort for like the inside of a creature or something to that effect.
i havent had chance to look over the flora so i didnt know it was included :P
will have to have a look later lol
how do you play with the seasons or is it set to a certain amount of days between one and another? if its possible can you map a splash to certain tiles? (i would draw the bitmap if needed)
like to say only land on water or stone?
 
I guess they're misnamed, actually, it should be pulse and strobe rather than strobe and pulse. I often get the two mixed up. I was also worried that if I increased the frequency further it would just seriously irritate the player for no real benefit. The current 'pulse' (aka. Strobe) effect already hurts my eyes. Why blue, by the way? My definition of strobe is basically a fast, strong, pulsing light, like one uses to take 'in motion' photography. Is that some kind of nightclub strobe effect you're talking about?

Well, you can manually enable a fog as well. Did you try the underwater effect, by the way? Or the special light? The former is pretty interesting for a 'stuck in the digestive tract' kinda effect

It determines the season based on the current month. 1-2 & 11-12 are winter, 3-5 are spring, 6-8 are summer, and 9-10 are autumn. I'm gonna have to change how this works in the new version, mind you, since that has a customisable number of months feature.

Can't really map splashes to tiles; like I said, that would require you to change the weather script, which isn't mine. Go ask ccoa if she's still around.
 
ahh kk yeah i think ccao is still around, i occasionally see comments from her floating about lol
i just think that blue or red are the most dramatic colours for strobing :D yeah i assumed it was like hte nightclub strobing
no i just tested the demo, i cant remember any underwater effects lol =/ will have another look later on to have a play with it :)
i remember the sewer effect and that was really good :)
have you considered adding a wind effect (graphical representation)? then just like have it more visible for stronger winds?
do the months/ seasons pass by like the night and day do then or do you need to set a switch to change the season? i misunderstand what you meant
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top