Might as well start making this official. This month I’m going to be building a game. Much like NaNoWriMo in November. January is going to be my development month. And frankly things are off to a swimming start! I’ve completely eliminated >all< my crashing. It was a long and arduous process but I’m glad that it is finished. We’ll move onto the first update of what works in the game and my plans for tomorrow.
Currently the game allows for spawning of Moosecats from a “spawner” object. In this case it is a present. But I’m going to change it later to something more thematically appealing.
The moosecats spend their time roaming around the play area. Currently this is determined by some of their genetic stats. The most important of these (and currently the only one applicable) is their “Excitability”. Think of this like children. Some kids are naturally energetic and others are naturally less so. Cats, Dogs, all animals share this spectrum. Your first moosecat will have a variance between 10% +- the baseline of “1”. The lower the excitability value of a moosecat the slower it moves. This number is logarithmic which means it’ll never LITERALLY reach 0. At least not in a game played during a human lifetime (rounding errors could potentially put it at 0 eventually). Additionally it grows in a similar fashion but with depreciating returns over time. There is basically an asymptotic shape to it (I think that’s the word I’m looking for).
During their wandering you are given the option to drop food into the play area. If they happen to be hungry they’ll check every X seconds to see if there is food available. If it is they’ll see which food is nearest. Once they know this they’ll move towards the closest food and consume it (like in the GIF above). This will raise their fullness rating (which I non-intuitively call hunger currently). The more full the moosecat the less often they’ll search for food. If they are “completely” full they won’t look for food again until they are under 75% or so of between “empty” and “full”. Note also that you CAN starve your moosecat but this would be very bad. Doing so reduces their “happiness” which also goes up as long as they are getting fed (but will go down if you try to stuff them to bursting beyond full).
The happier a moosecat the more likely it is to breed with other Happy moosecats, which is not implemented yet, but it IS coming.
Additionally over time your Moosecat will AGE. Oh yes, the big A. They will go from a tiny baby (shown above) to a larger child and finally they will grow towards their maximum size. If you wish to achieve the maximum size for your moosecat you’ll want to keep them well fed as a child. Genetics is a line after all, that line is the nature side of life, and where we land on that line is determined by nurture. If you starve your kitties they will likely be stunted (which is something I could easily support already if I wasn’t going to bed after this).
The plans for tomorrow is to re-implement the “bounce” for the moosecats. This gives them a little more life, I might try improving upon it a bit. At the very least it looks nice when they bounce as they move. I had to remove this for now because blendable moves are kinda gross if your moosecat somehow gets beyond the borders you’ve set. Sending them rushing off into infinity somewhere unknown.
So that’s that for now! Today I had a fair bit of progress and introduced my first debug button (dropping food onto the scene). The art for the food is entirely placeholder. And I do hope to have food of multiple types and sizes. Small (one meal), medium (two meals), and large (three meals). The image is dynamically named and sized to match whichever of these three options you choose. It’ll also create cute little situations where moosecat will gather around a big meal and munch away. Additionally I need to work in an “eating” animation to give them a bit more life than simply fluttering over and making the item vanish.
And finally, tomorrow I’ll have their wandering to the food end at the precipice of the food, rather than upon its zero point.