Gameplay elements: Work in Progress
1. Basic Environment
Time:
I have a time script now, but I would like to have one that only does what I need and includes all I need without me having to event modifications.
Ultimately, I need to keep track of minutes, hours, days, day of the week and season. These need to be in independent variables so that I can event time specific events (Ie, a television program only showing Tuesdays) easily.
Weather: Weather types dependent upon season, but also that can be hijacked for story events. Seasons have probabilities of weather types. This is a little tricky, as the system would need to set the weather types seven days in advance and store the type in an accessible variable, so that I can have a weather forecast on the TV. Likely weather types: Sunny, cloudy, rain, storm, heat wave, snow, blizzard.
Hud: I have an evented HUD, but of course, scripted would be less likely to break. This is shown in the screenshot on the project post.
To the left, it shows time (in 15 minute increments, but doesn't have to be), with a.m. p.m., an icon for weather, season icon, day of the week, day and an icon that toggles on when the player has a new notification(just check a switch). I have images for all of the text.
To the right, there is a display for on-hand items and which is equipped. I am using MA's limited inventory, and actually could use a mod to it to set items in the inventory to the hotkeys. When items are hotkeyed, show their icon ID in appropriate slot. When an item is equipped (hotkey has been pressed to equip it) the selection square is in that position.
2. Crops
Crops will be the bulk of scripting. I have a mostly working event system for this, but it's bulkiness and sheer character count would make implementing it for all of the field squares and crops would be a monstrous chore. It is going to need to be scripted to manage the assorted variables and whatnot, and I just lack those skills.
Crops will be affected by several variables. Each crop will also have varying requirements for growth. Ultimately, variables will be checked daily, and each day that a variable is not within optimal range for the crop, quality points are deducted from the crop. Upon harvest, quality points dictate the quantity of items harvested.
Variables:
• Water level: Values 0-8, Start at 0 beginning of game. Set variable at 8 when watering can is used, weather type is "rain" or "storm" or a switch is on (for laborer watering for you, irrigation system on, ect). Level decreases daily, with weather and season affecting how much (-1 in spring, -2 in summer, additional -1 in "heat wave" weather).
• Soil Nutrients: Values 0-6, Start at 3 at beginning of game. Increased by using item fertilizer on field tile (+3) or by certain crops (peanuts: +4 at harvest). Decreased by crops upon harvesting, in varying lvls (ie. -4 for corn, -2 for strawberries). Before harvest, check nutrient level, if 0-1, subtract from crop quality, if 2-4, no change to quality, if 5-6, add to quality.
• Climate: Checks for appropriate season, if season active is incompatible, subtracts from crop quality.
Crop Planting, Growth and Harvest
• Check item ID equipped
• Check tilled
• Check tile character is facing, type and location (perhaps events?)
• Set up crop tile: crop type, days planted variable, quality variable
• Each game day start, check variables (water, nutrients, season)
• Modify quality based on variables
• +1 to days planted
• Check quality, if =0, crop dies, switch to dead stalks
2.1. General field crops
One large, walk-able field, the basic harvest moon style field. Till with hoe, plant seeds, water/fertilize. Place for most vegetables, root crops and berries. Currently: Peanut, carrot, turnip, potato, onion, tomato, bell pepper, cabbage, broccoli, cauliflower, strawberry. Potential: Summer squash, pumpkin, watermelon
2.2. Large scale crops
A larger, inaccessible by overhead walking, field. Accessed by event, so all event-driven in care, access tractor to plant, fertilize and harvest, access irrigator to water. Three large units of field. Crops thus far: Sweet corn, field corn, spring wheat, winter wheat.
2.3. Vine crops
Along the fencerow and on wooden lattices, for specific vine crops. Same as general field, just different set of events and complementary crops. Current crops: Cucumbers, beans, kiwis, vine tomatoes.
2.4. Raised beds
Specialized units, long term or permanent crops. One for herbs, multiple harvests once planted. After harvest, plant's days are subtracted to set the plant back before harvest. Long term crops, such as asparagus would use beds, but his is a feature to be worked on later, not vital.
2.5. Trees
Special tiles for tree plantings. Once fully grown, will not die, has to be removed by event. Same general growth and quality levels as general crops, but with harvest schedule like herbs.
3. Livestock
Here is the next large part of the game mechanics. I have not done as much though on the real mechanics of how to do it in-game, but I'll list here what I would like to be able to do.
I'd imagine this will be largely event based, and I'm okay with handling such a thing, just seeing if there is a script element to this that might streamline it.
Generally, buy or breed the animal, and assign to it an ID and certain variables. There will be a max number of hoofstock and poultry, so that variables don't get outta' control.
3.1. Chickens
3.2. Cows
3.3. Sheep
3.4. Pigs
4. Economy
4.1. Market fluctuations
5. Buildings/areas/add-ons
5.1. Outdoor Areas
5.2. Home
5.3. Barn
5.4. Machine Shed
6. Social
6.1. z
7. Cooking