Bugfixed a few upgrades. Added a year count to the weather UI. Orders got a little upgrade though and now have a timer (which scales based on your plot count and the order size), and the rewards have been revamped. Originally they all gave $200 and 300xp, but now the reward values scale with both the quantity and the qualities of the crops in the order. To put it in short, an order will give you about 50% more money and EXP for the crops within it. And that does mean that crops now have individual EXP values as a trait, and some give more EXP than others. I've contemplated (once I truly decide to expand upon and add depth to Orders) allowing some choice in difficulty so Orders aren't completely out of your control. Onto bigger things, however, planting controls have changed to a 2-part system. This is a more elegant solution to a previously-ignored problem. Previously, you would enable planting mode with Q and then scroll to select the crop you want, which runs into severe limitations very quickly for obvious reasons. The moment you have more than a small handful of crops in the game, selecting any particular one gets very tedious and clunky, as you're basically scrolling through a list of them until you get to the one you want. I could add ways to skip-scroll or scroll faster, but that doesn't fix the system being clunky in the first place. This is where you might start to see the "RTS" bit of the game coming to life. Now, when you plant it will first bring up a submenu of choices, of which you choose from with another keypress. It's very similar to hotkey systems in games like StarCraft or They Are Billions (or any RTS for that matter), where the hotkey list stays dormant until it's needed. This means fertilizer acts in the same way for consistency. It is worth mentioning that this change frees up the scroll wheel for other use, as you no longer have to use it for selection. Since the scroll wheel traditionally alters your zoom, you can now zoom in and out while selecting your crop/fertilizer, which you couldn't do before. On a different note, I added a new Milestone as well as a volume slider. With the addition of yet another random slider in the already myriad settings, however, I figured it was finally time to fix that UI, too. The simple solution is tabs, which don't take terribly long to implement given how I've already coded the system: This gives me a lot of breathing room for settings, and I'm now completely unafraid to add any setting I desire. Really the only major change left on the settings page is sorting the settings checkboxes and sliders so they're organized and look nice, but that's well beneath my consideration at the moment.
I promise I'll be done with UI soon, if not right now. The problem with UI is it limits a lot of what you can do implementation-wise, since features almost always depend on UI to function. But I'm consistently cleaning up more and more of it, and things like this new settings page or planting/fertilizing UI are what I could call "final" implementations for now. Note that "final" doesn't mean "polished" or "publicly playtested", but just something clean enough where it might hold its own weight. Cleaning up a fair bit around my code. Also entering the latter stretch of the tutorial UI, which happens to be mostly menu stuff. CR-0 is now a little more helpful, and has replaced my initial idea for implementing menu tooltips. Especially for places like the Upgrades menu or Settings, I have an engaging and sensible place to put tooltips--CR-0 will relay them to you. This is a bit more charming than your average stale text-box tooltips, and definitely a measure more fun. Controls are also now a visual layout instead of just text. Clearer and quicker. I'll worry about making it prettier once art is a concern. The aforementioned fertilizer changes have been made: a crop now accumulates Quality Chance based on the fertilizer it has. If the tier of fertilizer changes midway, the Quality Chance will reflect that. This makes fertilization a bit more important (namely fertilizer decay is a little more impactful), but fertilizer as a whole is a bit more consistent and accurately reflects the changing values and states of the game.
My laundry list for optimizations and UI improvements has become considerably long. There's a lot of things I'd like to change and improve, but I'm going to have to push them off for now in favor of content. Now that the tutorial content is effectively almost done, I can focus on improving the core systems and shaping them up with some depth and interest. I am currently considering:
CR-0 has now found his way onto the menus. Metafiction beware. There's supposed to be a little 4th-wall-breaking on purpose, though. It's half a lore thing and half a tutorial thing. CR-0 is there to tell you what things are so you are guaranteed to never be lost. I still want to add custom dialogue for when you hover over specific things (like telling you what a setting does when you hover over it), which is probably another day's work.
On a different topic, I added another one or two Almanac pages and cleaned up a little UI. There are still a couple pages to go. The chance for a crop to be quality (affected by fertilizer) has also been shifted from the end of the crop's growth to the start, which is just a little nicer all around. I might end up making it a little more complex later, but it gets into the gray zone of if I get enough depth out of it for the complexity to be worth it. The running idea is likely accumulating quality chance (based on fertilizer quality) each time it drains fertilizer, meaning the chance scales pretty average with the amount of time it spends on specific fertilizer qualities. For a quick example, if a crop grows halfway on Tier 1 fertilizer and the next half on no fertilizer, the old implementation would've given it no extra quality chance. The new implementation would give it full Tier 1 fertilizer quality chance. A system based on drain would accumulate half of the Tier 1 fertilizer quality chance (equivalent to the growth time it spent with that fertilizer), then stop accumulating quality chance when there's no fertilizer left, leaving you with half of the Tier 1 quality chance. I looked back at some of my earliest blog posts, and man the game looked gross. Not necessarily visually, but mechanically it was a shoddy prototype. It's come a long way since then. My ideas and to-do list keep piling up so there's still a lot of work to do, but it is definitely getting somewhere. Taking a small break to work on my portfolio and audio reel. Realized they weren't as good as they could be. I'd expect it might take another week, but I might try and slip something small in here in the meantime.
I have found a blessing today in the form of Scribble, a prebuilt text renderer for GameMaker. It has given me a very impressive set of tools, of which I otherwise would have needed to code myself. From these tools, CR-0 has gotten a potent dose of character. And there is much more that isn't shown. More important to the actual gameplay, though, I have spent much time adding an Almanac, which is effectively just my game-mechanic encyclopedia. Where the tutorial leaves you high and dry, the Almanac provides the information you need to continue learning. Bonus points since the almanac is player-controlled learning, which will often mean the information the player searches is more relevant to them in the moment, which helps for retention and learning. Again, Scribble's tools have lent me a huge hand in making this thing functional. In addition to a million useful text rendering tools, I can actually make hyperlinks that forward you to other almanac entries: This is like a wet dream. I love really fluid information interfaces, and wiki-style navigation does untold amounts for a UI experience.
The almanac and tutorial being implemented marks a huge milestone, though, as these are two huge things that needed to be in the game before forwarding it to any testers. These are the two tools players use to learn, and I want to ensure players can learn on their own without my help. Any playtesting that isn't 1-on-1 needs it, as I won't be there. Either way, I can flesh out and refine the almanac a bit and then finally focus on mechanics. I've been pouring over tutorial stuff for a while. |