It’s been a little silent here for a while because I haven’t been working since October but now I’m back with tons of progress!
First of all, I finally finished my scripts which concern the clock and the NPCs. I threw it all over and tried again from the very beginning and… it worked out. It was the stuff I was working on for months and I it took me just a week to make a new way better version of… everything. I have overcome a blockade I guess.
So now there is actually progress! I HAVE FINISHED THE MOTHERFUCKING SHIPYARD! An obstacle I avoided for so long. A couple of NPCs have been already scheduled, there are 3 (actually 4) new maps, 2 new cutscenes. I have also finally added all the balloon icons and made a couple new character sprites.
So stay tuned! Next up are the forest maps and the first quest and finally use of the menu features I implemented at the very beginning and wasn’t able to show them yet. See ya around.
Sincerely your unicorn.
Knights now has changing weather.
- Weather may changes once a minute (= 1 ingame hour)
- When it is sunny
- 75% chance of staying sunny
- 20% chance of rain
- 5% chance of storm
- When it rains/snows
- 50% chance of staying rainy
- 10% chance of storm
- 40% chance of sunny weather
- When it storms
- 50% chance of staying stormy
- 30% chance of rain
- 20% chance of sunny weather
- In cold areas, rain and storm are replaced by snow
- It doesn’t rain in desert areas
Lean back and watch the sunset.
And if you do, you might trigger a monologue of your lead character.
Panorama spots are not marked and they only trigger if you stay at one point for some time but if you feel like the view is worth it, just enjoy it and you might get surprised.
PS: Panorama Spots wield achievements 😉
I’m thinking about achievements and listed some ideas. Some of them will be hard to implement so this is not final. Also, some of them might be story relevant anyway but I don’t know that yet.
- Discover Gwendolyn’s secret
- More than a team
- Get to know your teammates (unlock all 3 above)
- Heart of Steel
- —more of that kind—
- Similar to 4. with another group of characters
- The Truth
- Reach the end of the game
- Commit a perfect playthrough (No hints what perfect means though)
- —secret achievement—
- ~won’t spoil that, duh~ (Opposite to 12.)
- ~won’t spoil that, duh~ (Opposite to 11.)
- Take your time (unsure about that name)
- What’s on your mind?
- Visit all panorama spots with all lead characters.
- Feeling whole (again)
- Collect all soul fragments
- Inner demons
- Somethings wrong
That’s it til now.
This is my new entity buddy.
He can already do quite a lot of things, here are some examples:
The Scan and Movement Methods:
- move(range, modificator)
- → scan
- moves randomly until the player enters his scan area (→range, →modificator)
- follows and attacks the player when in range
- avoids most obstacles (see other methods below)
- seek(range modificator)
- → scan
- moves according to a move route set by → add_step
- starts event when the player is in range
- scan(range, modificator)
- scans the area for the player (see examples below)
- add_step(direction, count)
- adds count times the move direction to the move route
- for example:
up, up, down, down, left, left, left
- moves its route set with add_step backwards
Scan area examples:
Round view: scan(2, true)
Forward view: scan(2) or scan(2, false)
Expanded view: scan(2, 6)
(more missing pictures)
Note: The scan method has no use on its own, it is only used within the move and seek methods using the same parameters.
move(2) → scan(2, false)
seek(3, true) → scan(3, true)
Round and expanded view cannot be combined.
- → clear_temp
- → declare_area
- → write_path
- A summary method to initialize the pathfinding algorithm
- resets all temporary variables
- → find_middle_position
- locates all obstacles in range
- locates the player and the entity
- → div
- returns the position between the player and the entity to optimize pathfinding
- adjusts the maximum path length in relation to the surroundings to optimize pathfinding
- write_path(position, direction)
- → recalc_pos
- searches every possible path to reach the player and automatically filters the shortest one
- recalc_pos(x, y, d)
- recalculates the coordinates x and y if you move in direction d
- converts move direction (“up”, “down”, “left”, “right”), into a move command
- returns the opposite of the direction
- “right” → “left”
- “up” → “down”
There’s still a lot more to do but I’m making great progress and it’s extremely funny to interact with this little guy. (I made him go through labyrinths to test his pathfinding skills) See ya.
I’ve been playing too many games lately.
Gotta get back to work.
Gotta finish the shipyard.
Check out my new buddy.
My villagers finally learned how to use a watch.
The system is yet inconsistent but I’m working on it.
With this function, I also added unlimited self-switches.
That’s it for today :3
The whole clock/time/day-changing system is finally complete… I guess.
I bet I’ll find some more stuff to add later but basically, it’s done.
What does it do?
- it uses a minute – day – month/season – year rhythm
- all of them are adjustable
- for example:
- 24 minutes a day
- 30 days a season
- 12 months a year
- it works independently from a common event, toggleable by a switch
- it depends on the in-game timer system, therefore:
- toggle it off to use the timer normally
- toggle it on to use the clock
- switching it on/off or skipping time works without bugs or other issues
- the command $game_system.change_time(minutes) keeps an inner order to prevent an irregular rhythm
- note: always set up the time using the change_time command when you toggle the switch on, the script rearranges itself anyway but it’s safer like this
- note-note: you could also stop the timer before activating the clock but then it will start at 00:00 o’clock
- with the changing daytime comes a changing screen tone (Dawn/Sunrise/Midday/Midnight, whatever you want) based on the time
- the script will differentiate between indoor and outdoor maps if listed correctly
- the calendar window shows the date and the daytime through the small icon in the top-left corner
- probably forgot something
Maybe I’ll record a tutorial for that some time, it’s kinda complicated though.
If not, feel free to ask me on Twitter for help.
Added the full tone schedule for the clock system. Finally.
Also added some more intern functions for the clock and a new message command: \A[n] to automatically skip through text boxes after n seconds.
Still no story progress. Come on future me.
After too much time spent on playing games myself, I decided to get back to work.
Bugfixes & System stuff:
All occurring errors caused by the new features when you start a new game, mostly undefined variables, have been fixed.
The calendar, as well as the hunger bars, have moved to their own classes. Plus, the calendar itself no longer depends on a common event. The clock still depends on the in-game timer, but as long as I don’t have any issues with separating them (clock and timer) I probably won’t change that.
The system concerning the hunger bars has been rewritten and compressed.
A player won’t notice any difference though.
I still didn’t finish the shipyard but I added this pigeon.
(missing picture of a nice pigeon)
Note to my future self:
Still gotta add all color tones for the calendar system and by that, you should probably rework the script too, as you did it with the hunger bars. And get up and finally finish the shipyard and the store or you’ll never come past the tutorial.
PS: The BalloonIcos are waiting for your attention too. It’s been one month, show them some love.
– Past You