The game server is currently online.

Planned new feature: Overhauling the time system

Written by Silver on Friday, October 1, 2021

Hi all,

I have been mulling over my thoughts and I think I have a solid road plan for the next few features that need to be released on our way to version 1. I know, you guys still don't have an idea of what I want in version 1. I promise, I'll let you all know about it soon. But for now, I just want to focus on getting something tangible in terms of new features out the door before I reveal the greater plan of what's to come. I've been working overtime to try and get the engine bugs fixed and to get things to a stable point, but right now I feel like it's time to release something new.

The first thing I want to mention is there will be an impending account wipe. I want to retire certain technologies that I am currently using to store accounts and transfer data between the client and the server. The technology in place now is rigid and unchangeable. When I create a data contract, that contract can't be changed after I start utilizing it, which has been a bane to new development whenever it affects player data. I want to keep "account wipes" to a minimum, especially on the road to version 1. After version 1, there will be no more account wipes ever, no matter what, but this time it has to be done in order to implement this new technology. This technology future proofs data contracts which allow for them to be changed even after their implementation, which will ease the development of new features surrounding player data.

Because I want to implement this new technology, which will result in an account wipe, I thought now would be the time to start implementing more NPCs for players to interact with. The NPCs in place now are fine, but they can be done with more care and precision, so they will be redone. But to be honest, the code needed to implement new NPCs is still incomplete from a planned reimplementation from a while back. This will have to be completed before I can commit to actually adding or altering any NPCs.

But, nothing I've said yet is really a new feature, per se. The next point I want to make is the feature all of the aformationed changes need to be made for: I plan to overhaul the time system in PokeStory. The way time works now, There are 4 "times of day": "Day, Evening, Night, and Morning" and every 3 real time hours, they shift along that cycle. This worked fine, but lacked real depth. The system I plan to implement will be much more granular and robust. For starters, it will actually introduce the concept of a "game day" with tracking down to the hour, minute, and even second. Since this system can track hours and minutes, reason would have that it can also track days and even months. The scale of the system will be 1:6 to real time. In other words, 1 real time second is 6 in game seconds; game time would move at 6 times the rate of real time.

To give you some numbers on what this system would look like...

(Game Time | Real Time)
6 Seconds = 1 Second
1 Minute = 10 Seconds
1 Hour = 10 Minutes
1 Day = 4 Hours
6 Days = 1 Day
1 Month = 5 Days
1 Year = 60 Days

Doing this would enable me to implement the idea of "seasons" which will let me play around even more with Pokemon spawns. Much like in real life, there would be four seasons: "Winter, Spring, Summer, and Autumn" and they would line up with the game calendar the way they would a real time calendar. Even the idea of longer or shorter days and nights, depending on the season, is possible.

The four "times of day" will continue to have an affect on the game as well. "Day, Evening, Night, and Morning" will coincide with this new time system's game hours. This will shift things from each time of day cycle happening twice in a day to each time of day cycle happening 6 times in a day with each time of day cycling through at the same rate of each real time hour. This means that there will be six complete time of day cycles, or 6 game days, in one real time day.

This new time system will also play into the Pokemon League system (feature coming in later versions) which resets Gym Badges earned every 1 game year (which translates to 60 real time days) revolving around a central Championship Tournament. More details to come on this later.

To sum it all up, the next three release versions should look like the following:

[Version 0.23.0]
- New time system

[Version 0.24.0]
- Finish reimplementation of PokeStory Object Editors
- Reimplement and add new NPCs
- Redo Pokemon spawns

[Version 0.25.0]
- New Data Storage format

I don't have definitive dates on when any of these patches will release. However, I hope this gives you all a good understanding of what I have in store for the immediate future of PokeStory.