---------
4. The All Important Bed
Now, I want you to read that title. All important, that's the part we need to focus on. Because it's one of the most critical pieces to making a time system. If we don't go full-circle and finish the cycle we start, then we run into all sorts of problems. Look at it like this; you wouldn't make a story with a beginning and a middle, but no end, would you? No, of course not. That would leave your story incomplete. The same thing applies here. We need to make an event that will reset all switches, start the player back at the beginning and restock all lost items. Thankfully, this is all very easy to do, and we only need one event to do it with.
A bed only makes sense, really. As time passes, our player sleeps, and starts the next day with renewed vigor and the entire day starts over. So, let's make a bed.
Like I mentioned earlier, this is simple. There are no page conditions to worry about, so we only need page 1 for everything. You simply make a bed with the create event function, and in the code we put this:
0. Sleep? If yes.... 1. Remove Item: 7:00 AM 2. Remove Item: 7:00 AM 3. Remove Item: 8:00 AM 4. Remove Item: 8:00 AM 5. Remove Item: 9:00 AM 6. Remove Item: 9:00 AM 7. Remove Item: 10:00 AM 8. Remove Item: 10:00 AM 9. Remove Item: 11:00 AM 10. Remove Item: 11:00 AM 11. Remove Item: 12:00 PM 12. Remove Item: 1:00 PM 13. Remove Item: 1:00 PM 14. Remove Item: 2:00 PM 15. Remove Item: 2:00 PM 16. Remove Item: 3:00 PM 17. Remove Item: 3:00 PM 18. Remove Item: 4:00 PM 19. Remove Item: 4:00 PM 20. Remove Item: 5:00 PM 21. Remove Item: 5:00 PM 22. Remove Item: 6:00 PM 23. Remove Item: 6:00 PM 24. Remove Item: 7:00 PM 25. Remove Item: 7:00 PM 26. Remove Item: 8:00 PM 27. Remove Item: 8:00 PM 28. Remove Item: 9:00 PM 29. Remove Item: 9:00 PM 30. Remove Item: 10:00 PM 31. Remove Item: 10:00 PM 32. Remove Item: 11:00 PM 33. Remove Item: 11:00 PM 34. Add Item: 7:00 AM 35. Add Item: 7:00 AM 36. Add Item: 8:00 AM 37. Add Item: 8:00 AM 38. Add Item: 9:00 AM 39. Add Item: 9:00 AM 40. Add Item: 10:00 AM 41. Add Item: 10:00 AM 42. Add Item: 11:00 AM 43. Add Item: 11:00 AM 44. Add Item: 12:00 PM 45. Add Item: 12:00 PM 46. Add Item: 1:00 PM 47. Add Item: 1:00 PM 48. Add Item: 2:00 PM 49. Add Item: 2:00 PM 50. Add Item: 3:00 PM 51. Add Item: 3:00 PM 52. Add Item: 4:00 PM 53. Add Item: 4:00 PM 54. Add Item: 5:00 PM 55. Add Item: 5:00 PM 56. Add Item: 6:00 PM 57. Add Item: 6:00 PM 58. Add Item: 7:00 PM 59. Add Item: 7:00 PM 60. Add Item: 8:00 PM 61. Add Item: 8:00 PM 62. Add Item: 9:00 PM 63. Add Item: 9:00 PM 64. Add Item: 10:00 PM 65. Add Item: 10:00 PM 66. Add Item: 11:00 PM 67. Add Item: 11:00 PM 68. Switch Off: 001 69. Switch Off: 002 70. Switch Off: 003 71. Switch Off: 004 72. Switch Off: 005 73. Switch Off: 006 74. Switch Off: 007 75. Switch Off: 008 76. Switch Off: 009 77. Switch Off: 010 78. Switch Off: 011 79. Switch Off: 012 80. Switch Off: 013 81. Switch Off: 014 82. Switch Off: 015 83. Switch Off: 016 84. Switch Off: 017
Now, if you know a bit about rpgmaker you likely already know what I'm doing. This basically is a purge, as I like to call it. Or maybe a reboot, restart, refresh. I'm taking all the possible things that can change in the time system, and set them back to 0. That way, when the player gets back to playing, he'll restart at 7:00 AM and everything will run smoothly.
You might ask why I take all items away before adding new ones. Simply because without using page conditions, I have no idea how many items the player has. Which raises a very good point: you (and the rpgmaker) have no idea how many items the player has in his inventory when they go to bed, so if it's coded wrong, you could theorically give the player more items than should be allowed. And depending on how many items are not taken away, this could unbalance the game and give the player something to exploit to their advantage.
One could argue that a good setup of switches and page conditions could prevent such a thing from happening, and it's a valid point. But I ask; why do something complicated when you don't need to? My example above is a one event, one page simplified solution, and you could go and do complicated bed events, but it's a waste of time, and leaves you more prone to making mistakes. In this case, simple is better.
So now we have gone full circle, starting at the beginning, around the middle and to the end. So, what can you use this time system for, and what neat effect can you use with it? That is explained in detail in this next section.
------
5. Fun with Time
-Clock -Stopwatch -Change Screen
Layer upon layer make your mark now...Haste!
Err...ok, that's not what I had in mind.
So now you have a rough understanding of how the time system works. Now, it's time to bend the system to our will, and have it do whatever we want it to do. Like I said at the beginning, this readme and tech demo are more of a basic outline for what you can add to your games, and isn't the end-all be-all method. So let's mess around and get some more interesting results out of the system.
-Clock
A very basic yet nessecary item. After all, in a time system, we need to know what time it is at any given moment, right? One could look at the inventory, but if you're unfamiliar with how it works, it'll be difficult to deschiper. So a clock will help tell you the time, and it's fairly easy to make as well.
Every time item comes with a switch that keeps things in order. Basically, that switch is the stand-in for what time it is. After all, unless switch 1 is on, it's not 8am! So it's simply a matter of making an event with a clock graphic, and then making page conditions that require the switch to be on, and a message to tell you the time. Keep in mind that 7:00 am has no switch, so you can use page one for 7. Every other page and time needs it's corrosponding switch. For my example, it would work something like this:
No switch: 7:00 AM 1: 8:00 AM 2: 9:00 AM 3: 10:00 AM 4: 11:00 AM 5: 12:00 PM 6: 1:00 PM 7: 2:00 PM 8: 3:00 PM 9: 4:00 PM 10: 5:00 PM 11: 6:00 PM 12: 7:00 PM 13: 8:00 PM 14: 9:00 PM 15: 10:00 PM 16: 11:00 PM
So if I currently have switch 11 on, the clock would give me a message telling me it's 6:00 pm.
And if you'd like to take it one step further, continue reading the next section.
-Stopwatch (Tech Demo level- ClockTime Ex)
The name may be confusing, but it's easy to understand. This system let's the game recognize when the time has switched from one to another, and tells the player using the Main Character pop up bubble. So if your making a game that requires our character to be in certain places at certain times, this can be a nifty reminder of what time it is, right as the time changes. This does require a bit more programming than usual, because such a feature may start annoying players, so we'll also give the player a chance to turn it off.
First, we need a place to give the player the stopwatch and take it back. In the tech demo I use an angel statue for this purpose. We'll skip the first page and make two pages behind it. The second page will have a page condition requiring the player not have the stopwatch. In the event code we give the player the option of taking it or not, and if the player agrees we add the stopwatch to his inventory (Make sure not to let the player be able to sell this item!). On the third page we add a condition that the player owns the stopwatch and give him the option to return it. Simple, right?
Here's where we get tricky with this. Find your time system. Remember the page where we require there's no item before we flip a switch? Make a page behind that one, and then copy and paste the no item page to your new one. So we have two pages exactly the same. Now, on the new page, we change two things. We add a condition that the player has a stopwatch, and then we add an event that has a message appear over the main characters head. It would look something like this:
Page 4/34
Event Contents-Yes
No Graphic
Move Type-Don't Move
Start-From All Touch
Page Conditions Item No. 1 7:00 AM No Item No. 20 Stopwatch Yes - - - -
----------
Page 4/34
00-Switch On: 001 01-Character Message:8:00 AM 02- 03- 04- 05- 06-
As you can see, while this isn't a particulary difficult code, it does take up a lot of time to make it all work, considering you have to add a second page to the back of some pages. Copying and pasting can make the work a bit quicker, and you'll have something pretty neat when you're finished.
-Change Screen (Tech demo level- LightTime Ex)
The change screen is the most immersive and fun addition I've come up with to compliment the time system. And it's the easiest to code, as well!
You simply go to the No item page (where you turn one switch off and turn on another), and simply change the screen to match the changing time. Like I said, very easy. If you are planning on changing the screen, be warned: you can lose the cool effect by switching the colors in different areas. Say you want the screen to return to default colors every time you go inside. Make sure the exits are coded properly so you return to the color accroding to the time. You can do that by making sure you use the page conditions matched with switches.
----
6. Scratching the surface
Remember back at the beginning of this readme where I listed my goals for developing this game and readme? One of those goals is to "spark imagination for new ideas from the player". That's what I'm discussing in this section.
Because, truth be told, I myself haven't dabbled in my own creation that long. When I first conceived the idea of my time system and finish every theory and finished it, I shelfed it, waiting for a chance to show it off in my next game. And I realized over time, that the chances that I would use this system in a glorious epic game, diminished over time. I have neither the time nor patience to make a proper game that utilizes the system I've made the way I want to. Which is why I decided to release this knowledge to the public; so that other users could possibly use it where I could not.
One thing I want you to not forget is that this is not the end. If and when you learn how to use the time system effectively, it's not the top of the mountain. This time system is what I'd like to call scratching the surface. It's an iceberg, where you have only seen the surface. There's so much more that you could do with this time system and it's components. I think it's possible to take the time system one step further, and make something even better. And with enough patience, I think you could do that. Never stop learning, and challenge yourself. I believe you can do it.
-----
7. Thanks and Conclusions
I'd like to take some time and thank the many people who helped me with this project, even if they did so indirectly.
-Thanks to Lantis and Mark Soukup; for making tech demos and having a foundation to build on for my own tech demo, to learn from your strengths and weaknesses.
-Thank you to everyone reading my frequent posts on the Quixotic Productions forum; you make my work worthwhile.
-Thanks to Ixzion, and Valkysas. Not just because I like you two or because you head up sites, but because you are there to motivate and help me.
-Thank...YOU. For reading my writing, and playing my game. It means a lot to me.
And with that, I feel the purpose of the readme is at an end. I wish you all luck in your game creations, and happy rpgmaking!
-1ce/Gitaroo, at Quixotic Productions
_________________
I'm 1ce (previously Gitaroo). Nice to meet you.
My studio is Quixotic Productions! Check it!
|