Updated: Aug 22, 2019
There's no such thing as a holiday for a computer scientist. I've been a tenacious little monkey here at the end of 2018, and I just wanted to provide a quick update about what's newly done and what's next on my plate.
Alien Cow Farm has been cross-posted to itch.io and Newgrounds, and Rocco from Simmer (my normal WebGL game host for this website) gave it a shout-out in his holiday newsletter. That's a decent amount of exposure, and a decent amount of playtest feedback along with it.
Speaking of feedback, I added a pause menu. I had always planned to, of course, but it was one of the most-requested features from the Pre-Alpha. Without one, there was no way to quit a game session once it had started without playing through to the end.
I fixed a bug where dropping cows could get stuck. Dropping a cow on top of a mushroom or other low obstacle would just make them sit there, unmoving, but at least they could be re-abducted. Dropping a cow on one of the sides of the barn roof (the lower parts) would lock it there permanently, as you can't re-abduct from inside a pen. You wouldn't even get credit for the score! This turned out to be a simple fix: just removing friction from the physical properties of the cow's collider made it slide right off the various obstacles, so you can drop it wherever you want and it will automatically make its way back to the ground.
Filling out the How To Play menu. This was one of the most glaring "Coming Soon" bits in Pre-Alpha, and now it has text describing the game's main goal and mechanics, a complete controls list, and better descriptions of all of the game modes, including sneak previews of ones yet to come. I'd also like to add a playable tutorial from here, but that's going to require a lot more work. Still, the sooner the better for a feature like that.
Reworked map generation. The biggest one on this list, I spent a great deal of time rebalancing my map generation. I used to do a lot of complicated placement and rotation math, in order to make the ground texture appear perfectly tileable. But thanks to a nifty world-space UV'ing shader, that's no longer a concern. Corners and edges get placed much more simply. Barns now spawn one per map quadrant, and generic pens (and even the number of cows per normal center tile) are determined based on a weighted formula accounting for map planet, map size, game mode, and game length.
I've already started looking into the Steam verification process, and I have to say, it's no fun wading through all the documentation. They would do well to provide a linear, step-by-step guide from development to release, but instead it's more like a scavenger hunt all around their website for all the different parts. Anyway, in order to meet their requirements, it looks like there's going to be big news for ZWOLYA coming soon... Stay tuned!
Along with Steam comes a lot of things that I originally thought would be out of reach for my game, like matchmaking and leaderboards. I'm still not sure about the former (for purely scope reasons), but the latter would be pretty cool. I'd also like to put in an achievement system to help flesh out the single-player, and Steam provides a framework for that too. So right now, I'm just weighing the pros and cons of all of these different features, and starting to think about how they would hook in to what I've already got going on.
The Alpha build (exact date TBA) will include at least one more game mode and one more map, meaning it will include exactly half of the total planned content. That means I'm back on the art team very soon.
I've been working on some stuff for COM AI for non-player UFOs. Unfortunately, one of the features promised by the A* package appears to be bugged and isn't working. I've been in communication with the asset's developer to try and debug it, but we haven't been successful so far. I'm going to try importing in a fresh project with the simplest use-case possible, then see if I can find the problem by building back up from there.
Other small visual improvements snuck in here and there.
It's going to be a big year!