Posted December 02, 2023 by Exodus Software
I’m a day late here which I’m going to blame on, uh, holidays, let’s go with that. Totally not me losing track of time. In any case, big systems were the name of the game this month. That and sprites, lots and lots of sprites.
For systems, they may not sound complicated, but both are rather involved. The first is actually something that is new to this version of the game, hybridizers. They have to do specifically with crops and flowers. In the current version of the game there are what I would consider to be a lot of crops. If you play what is live they are all simply available from the general store from the start. There isn’t anything inherently wrong with this, but I thought it might be a bit overwhelming to a new player. Aside from that, farming doesn’t really have much progression. I suppose putting in irrigation is really the only progression, outside of just scaling up how much you grow. There are a few other things to address that progression issue, but hybridizers are meant to help with this a bit.
At the start of the game you’ll have far fewer crops available to. Three for each season unless something changes. However, one of the opening quests will be to use hybridizers. In short how these work is that you plant two different crops and a hybridizer in between them. Once both crops are fully grown they will potentially spawn a new crop where the hybridizer is. Each crop outside the original three you start with has a specific combination that is needed to spawn it. So you can slowly gain all the crops as you figure out the combinations.
Also, because no one would want to go through this process forever, once you get the new crops you’ll be able to turn in around 5 or so to Lylah and then she will start selling the requisite seeds. This same process is being done with flowers as well. This along with a few additions to automate some of farming in the later stages I think will help make players feel like they’ve made progress as they play.
Farming aside, the other system I’ve been working on is livestock, which is actually like eight systems hiding under one name. While I say livestock I’m basically just now getting to making that. I tend to make systems in the same order a player would experience them. So, before you can have livestock you have to have a building to put them in. This was the odyssey I went on this month.
The UI for buying a building isn’t in place yet because, well, in a word, sprites. We will get to that later, but for now I just have a button that initiates the building process. So first we had to make a system to allow you to scroll the view without the player on the screen. Then allow for the creation of a building with stipulations like you can’t build it on top of a tree, or in the water because structural integrity is important kids.
Once that was done, I decided to just go the whole nine yards and add in the ability to move, remove, and upgrade a building as well. So ignoring a few minor things like Simeon actually showing up to build the structure each day, and linking it all to a simple GUI, the framework for building is done.
After that I had to build out the transition system that moves you from room to room in the game. Fun fact if you didn’t know already, all of the coop and barn interiors are the same room. In short, everything inside a building that houses livestock is loaded dynamically. To explain, normally when you move to a room everything (generally speaking) in it has been setup by me during development. Every tree, building, chair, path, etc I put in place. Because rooms are static in this way I can just setup an invisible object at the edge of a screen that when the player touches it the game takes you to the corresponding room. For livestock buildings you can technically have as many as you can fit onto your land. Who am I to say you shouldn’t make your fortune through nothing but chickens.
Since I don’t know how many chicken coops you crazy people are going to make I have to allow for any number, which means creating static transitions to the interiors is out. So instead of building out an innumerable amount of coop interiors I just build one. When you enter a coop you always enter the same room, but the transition that occurs when you enter has a few pieces of data tied to it, specifically the tier of coop you are entering, how much feed is there, and the data versions of all your livestock. From all this data it populates everything when you enter.
This is where I’m at currently. At this point it should be smooth sailing for a while until I get to the nightmare that will be pastures. Building out animal functionality is fairly simple it just involves a lot of iteration for the most part. Pastures will likely be a tough cookie to crack, but I have several working ideas of what to do so I’m not worried.
The last thing I worked on this month was sprites. For those unfamiliar with game development sprites are not little forest creatures. It’s just the term used for the images you see in game. Let me tell you, there’s a lot of them in this game. In the previous version I’d been adding them as I got them for the most part. Now I face the annoyance of needing to transfer what already exists (and the new ones coming in) to the new engine. So instead of adding them all at once (and going insane) I’m splitting out some time to add them bit by bit. I mention this mostly because it means the time I have to write code is down a bit while I add these in.
This also does link up with what I mentioned before about GUIs. If you recall I mentioned that constructing buildings doesn’t have a GUI at the moment. If you have played the game however you’ll know that one exists, so what gives?
What gives is improvement. I’m not quite sure how obvious it is from a player’s perspective. I’d guess that some people likely notice and others don’t. At the risk of enlightening people to the blunders of the current game, if you look at the various pieces of UI they are only tangentially similar to each other. A lot of them have similar theming but the details are different.
Generally, it is considered good form to have all your UI match in terms of appearance and functionality. When I was making what currently exists I had an idea to make each bit of UI sort of unique to what you are doing. For instance, the alchemy UI looks like a tome. The fermentation UI has a different look. The forge is made of molten stone, so on and so forth. I don’t think this is a terrible idea, but I think it wasn’t implemented well. In general, I feel that the inconsistency isn’t worth it. It may seem like a minor thing, but having to parse a different UI every time you open a new interface isn’t ideal.
So, the reason there is no building UI yet is because it is being redone. Pretty much every UI will probably have some sort of alteration made, whether it’s a function or visual change, or just an overhaul. Currently we’re in the process of making a guide to make of this by so we can keep things consistent across the board but once its done UI will be added back into the game in a more significant way.
I think that’s it for this month. I was going to talk about changes to the mines, which are planned to be pretty extensive, and in my opinion pretty cool, but I’m just about at two pages here and I like to keep these relatively short so I think I’ll hold off until next month. I suppose the next time I post it will be 2024 or just about 2024. Since I won’t have another chance to say it happy holidays and I wish you all a good 2024! Hopefully your 2023 was pretty good too. I can honestly say I wasn’t expecting to be doing what I’m doing now when 2023 started, but I’m still glad that I am. While starting over was far from ideal I think the game will be far better for it. On that note, I’m off to squeeze in what work I can between the holidays.