Place
For each location on our map that the player can travel to, we should create a main background image for it (similar to those to the left). A few of these locations might be a bustling city, spooky forest, arid desert, and various types of merchant shops.
So for example, if you want to go fight monsters you might click on the "Shudderwood Forest" at which point the main background image of the website would change to a forest which would then serve as the setting for the player's encounters. Likewise, when traveling to or exploring inside a city, the player would be presented with a sweeping cityscape of buildings, roads, and monuments.
When creating these background images, there are a couple of things to keep in mind. Firstly, this website has a specific width and layout that must be maintained. To achieve this layout the backgound should be sliced to match the existing backgrounds (top,middle,bottom,side). Secondly, each image should be created in way such that the left and right sides of the image can tile. Third and finally, three variations of each image should be created to match the varying times of day.
Time of day
This website template has the ability of displaying a different background image depending on the time of day. This is currently calculated relative to the client machine's system time, but we should change this to be concurrent with the Server's Time. In this way all players will experience the same time within the game world. This is important when you consider how we deal with Simulating time with Ticks which is touched upon within the Travel article. It's critical that we determine how many in-game hours exist within one real-world hour before we can adjust this JavaScript.
The background images that represent the time-of-day need to be created for morning, afternoon, and evening with the possible addition of in-between times like dawn and dusk. These images should also be able to tile their width. I feel they should depict landscape scenes that will lend a setting to the game world much like the maps will. Generic enough to not look like any one single location, but with enough details to hint at the type of game such as fantasy, sci-fi, or mafia.
Weather
As the module at the top of this page depicts, we can display the current weather conditions for various cities throughout our game. The module uses the Google API and does lookups on real locations, but the location name that is shown to the player can be whatever we want. In this way we can find real world locations that have climates similar to what we want represented in our fictional cities. You will also notice that the weather module includes a four day forcast. We might be able to leverage this information for keeping track of what day of the week it is. The names that are displayed are controlled by a language file and should be edited to stay consistent with the world we are creating.
If it is not possible to adapt the days to our reckoning of time (which will undoubtedly pass much faster than reality), they will have to be hidden.
Some thought should probably be given as to where we want this module to be displayed. At the very least, for each town your character visits we will want to have the weather visible. If we end up with a map system comprised of only locations that you can instantly travel to with no sandbox type of wandering, then we should consider always displaying the weather conditions for the characters current location. This could be combined into a larger module that also displays not only the characters current position, but also those other players that might be near.
Taking it further
So far what we have discussed is mostly cosmetic and visual. With a mechanism in place for determining the current time and weather, we can tie many events into these variables. A brief list of just a few of the possibilities that might be achievable...
- monsters that only come out at night / day
- NPC's that say something different depending on the time
- spells that are more or less effective depending on weather conditions
- increase the chances of getting lost when traveling in bad weather