Okay, first things first, Zenand can now move again, I fixed that yesterday, but it wasn't big enough news to make an entire devlog for.
I have yet to start implementing the feature I was talking about last time, which if you're wondering, is Zenand avoiding hazards they're not immune to.
While I do plan to implement that soon, my top priority is getting the base Zenand features working, after which, I'll then focus on making the other types, which shouldn't take very long, since the code I'm writing has that in mind.
Anyways, today, I've been working on quite possibly the most important feature in the game (next to Zenand being able to move), which of course, is Zenand being able to pick stuff up, and bring it to either their factory, or a material stack.
This was one of the simplest features to implement in the original. A Zenand would walk up to something, delete the object, storing all of the objects information, then walk to where it belonged.
In the C2 port, I was able to simplify this further by making the object just attach itself to the Zenand, and tell the Zenand where to go.
This time, it isn't so simple. While I could do what the original did, that frankly feels cheap, and there'd be no way of knowing if, or what, a Zenand is carrying.
This lead me to trying to make a system like the C2 port had, however, that didn't work, and I have no clue why.
So, what's the solution to this?
Elementary! We follow tradition!
What do I mean by that? Well, in both engines I've made the game in so far, I have a different way of implementing the feature, so why not create another?
The way this method will work, is you'll tell a Zenand to pick something up, and it'll package it up! It'll then carry this package back to base.
A more in-depth explanation of this, is that the Zenand would store the attributes from the object, then delete it, and create another object with those attributes, which it'll then carry back to base.
This cloned object however, will only be for show. It'll be part of the Zenand as far as the game is concerned.
With this new system, I also plan on adding something I should've added in the C2 version: Zenand dropping their object.
If a Zenand is carrying a package back to base, and you tell it to go somewhere, it'll first drop the package where it's currently standing, then go where you told it to.
For those who don't know, in the C2 version, a Zenand would hold the object until it finally put it away. This also allowed it to hold an infinite amount of object.
Now then, the packages solve a programming issue, however, they cause a game-play issue: How does the player know what the Zenand is carrying?
Well, there's a simple fix for this as well! Simply label the packages.
Here, you can see 3 example sprites for the Nutrient packages. The top left corner shows what color Zenand it's best with, if there's no color, it'll give the same number for all Zenand.
The bottom right corner shows the number it's worth. In this case, the amount of Zenand it'll give you.
Finally, the bottom left corner shows the amount in Binary, which I did in the event you got a colorless 2, 5, 6, or 9. This way, you have another marker to rely on.
Materials will use a similar design, tho I imagine I'd put an icon instead of a color. I'll probably increase the resolution of the sprite, just so I can make the icon easier to read.
Anyways, that's all for today! G'Night!
0 comments