It has officially been 5 months since the first post.
Anyone who knows me probably knows I'm a musician. It's one (if not the one) favorite of mine for a thousand reasons, and I have a long history with music. I don't know if I've ever talked about the music for this game, and if I have I don't remember. I originally envisioned a hybrid of jazz, orchestral, and electronic (with some give or take here and there), but it ended up shifting to pretty much exclusively jazz. Jazz is obviously a genre I'm familiar with, considering I have to compose the music. I can see some of my other genres as potential fits, but ultimately I felt that I wanted to be putting a lot of character into this game. Not zany per se, but a little world of its own that stands out. CR-0 was one of the first to be a departure from tradition, as he gives character and entertainment value to tutorials and tooltips, which are a conventionally dry and unexciting thing. Jazz is another step in a similar direction--where many games may settle for similitude, I want my game to have uniquity. I'm obviously not the first person to put jazz music in a game, but I'm not too far down the line--it's not a common occurrence. Jazz also carries the energy and tone that matches my gameplay. Going full slow-orchestral felt counterintuitive to the faster pace of the game. I also feel as if jazz is one of the more universal genres (if you stay out of the nerd/complicated stuff), as it's largely real instruments and easy-to-grasp energy and groove. Undertale's music has some jazz roots, and though a little more stylized, it is a great example. The music depends on the weather, which means it switches up every minute. I wish I had something to show, but unfortunately Weebly locks audio behind premium. I spent this week composing tracks for the 5 weather states you saw last post, and I'm happy with how they turned out. One more big task off the checklist. The game's pretty close to a playable alpha, and there's only a few big things left. A few of them are things I still haven't brainstormed design I'm happy with, so they may take a little longer than usual and I may clean up smaller things as they progress. Cleaning up a few visual things. The combo multiplier text is now quite a bit more fun. The old one was just a static gradient that scaled with the value. Now it has a wave that scales in size and speed, as well as color cycling. I'm aware it's a little hard to see around 2.00, as that's where the saturation and value are in this middling area that contrasts poorly with the grass, especially when it cycles yellow. I'll probably put my usual transparent box behind it, but it'll either need to change color or be an awkward other color since the text can be both black and white. Text outlines don't work because they're pretty abhorrently ugly with pixel fonts. The weather chance bars also now have textures. This makes them a little more distinguishable at a glance, and gives a little bit of shape language that may help with identifying what each bar represents. As a reminder, there is Rain, Frost, Heatwave, Time Tear, and Clear (none). If you can figure out which are which from just these images, they're doing their job. I also added a Fahrenheit option because it's easy and practical. We also now have a potato. I realized the few crops I have were distinct, but not unique. They were different, but none of them stood out. Likely because I've never put much serious thought into value balancing yet outside of just quick skims to ensure some variety.
The Potato is a first attempt at some more "extreme" outliers. Anyone who's been watching closely might notice that these are very not valuable, but not every crop's value comes from the money it makes. Potatoes are very passive and grow slowly, making them harsh investments space-wise. But in turn they are very robust and take little upkeep, and they far outclass the combo limit of anything else. I'll be changing existing crops similarly. I want each one to have some character. Long time no see.
Unfortunately, I have nothing pretty to show today. The time I spent on the game this past while was mostly just working on a save system, which proved to be about as big of a pain I thought it would be, if not bigger. I'll try to keep the technical jargon to a minimum, but with a save system you're obviously writing all of your relevant data to some external file(s). At first I tried JSONs, which were in a tutorial or two I was looking at for guidance, but those tutorials only went over structs. There's a different type of data in GameMaker called a data structure grid (ds grid) which can't be easily saved to a JSON in this way. It seems dumb and makes save systems a pain in the ass, but I suppose it's probably due to technical limitations and differences between JSON formatting and GameMaker. With 2/3 of my data being ds grids, I shifted to .ini files briefly, which has more built-in GameMaker support, but quickly stopped. Ini files are very limited and aren't the greatest for saving data, so back to JSONs. I ended up having to create a function that converts ds grids into some format where you can make it JSON-compatible, which took a little longer than I'd hoped. External files aren't your average GameMaker experience, and it's sometimes like half a taste of a different world. I'm no GameMaker engineering expert, and I imagine I'm probably in the Valley of Despair on the Kruger curve. Story time aside, though, it works. Saving things adds a little overhead to anything I wish to add to the game, since obviously many things you might add to a game will add variables you want to save. Saving isn't the end, though. I realized in making this system that it's likely I'll eventually have to create some code that manages porting old save data to new saves, which involves reworking how my save code functions. It's not huge (and it'll make for a better system) but it's necessary to prevent the game from breaking nearly every update. There's a lot of code in the game I'd like to just improve in general, but that's a time sink that shouldn't be very high on my list. I think content and core features will come first until I have a playable copy, and then I can do some needed clean-up so 1.0 is in an optimal state. Ahh! What's happening? Seems corporate's future-fiddling has had some unintended consequences. But they're not all bad.
Time Tears are a new weather (tears like rips, not like crying). Though, it's more of an event than weather, but who's keeping track? Fortunately, it's one of the better ones, and will crank your crop growth to hyper-speed (x3, to be exact). And keep in mind that lasts a full day. I will admit it's a little inspired by Atomicrops's Surplus Mode. Great game, and it's influenced quite a few of my features so far. I wish I was as good at pixel art as those guys are. However, Time Tears do not act like your average weather. Since space-time stability doesn't shift with the seasons, a Time Tear becomes more and more likely the longer you go without one. If you're ridiculously lucky you can theoretically get two in three days, but on average you'll get one every 15 or so days (+/- 5), which is around every season or two. Smaller update today, but an important one. Sorry the text is small. Hope you can read it.
I've added the ability for new tutorials to enable once certain conditions are met, which means loads for gameplay. This means I can take what would otherwise be a single text-dump tutorial and spread it out into parts that only enable when they're relevant. It might seem somewhat obvious of a thing to do, but you'd be surprised how many games overlook it. Very often tutorials have fire-and-forget design: what you need to learn to play is all unloaded at the start, and the rest is left for the player to figure out on their own. AAA games are often pretty good about this, and I often see them bring back their tutorial states when introducing something new, but I also see equal amounts of other games where the player is kind of just forgotten after the initial tutorial phase. Unfortunately, that's just not a great practice, and can make the disparity between a new and practiced player much larger. I talked about tutorials a while ago, and I mentioned we learn by alternating between memorization and application. Monkey see, monkey do. Chunking a tutorial into pieces really enables that, and smoothens a learning experience for a bunch of reasons, the two most important being:
A few posts ago, in the primary tutorial you are forced to repeat core actions. After you learn the steps of planting/watering/growing crops (#1), you are forced to do the whole process in a single step (#2, also encourages memory of the whole, sole process instead of multiple steps) and then another time when you see how combos work (#3). Post-tutorial you are left to your own devices to practice the process, and you'll end up having to harvest another 100 or so crops, which is even more repetition but also lets you start figuring out your own methods of efficient and effective play. Then enters the second tutorial once you harvest enough to buy a second crop--but by now you've definitely got a firm grasp on the planting process, and it's well on its way to long-term memory, which means your short-term memory is cleared once more for new learning to take place (which happens to be variety value and crop traits, now that you have two crop types). See how that flows, but purposefully gives time between parts to facilitate memory and doesn't just move straight from part to part once you're done with them? Anyways, I could talk about tutorials forever and there's already too much text in this post. |