Sprite Generator Front and Rear

Sprite Generator Front and Rear

Well, I finished up testing the sprite generator with static sprites, got front facing and rear facing working as intended.

I'll still need to get animation in and working, that's going to be 2 frames I think, since the generator at the moment is python based, thus not terribly speedy. I would like to offload the image manipulation to either C, C++ or Rust, depending on what happens to look best to me at the time I get to that point.

Unfortunately, during all this my wrist started acting up again... I guess that means I should take a long weekend but the thing is I don't even know what I should do... not like I can clean or work on anything. Mouse and keyboard will be out and I am not sure what else I could do aside from sit around, maybe play some video games with a controller assuming that doesn't irritate my wrist in some way.

Well, that's a problem for me to work out. I will leave the office at lunch time today and get to work not working I guess. I suppose I can spend the time planning what to do next with the project. I hadn't really thought too much about what happens after I have the sprite generator and slime generator built.

Realistically I suppose I should be either starting on the client or a socket server after those are done. It can interface with the API to handle login, then have player character creation and generate and load the first slime into the game. After that I suppose I might want to set up a socket server or something to handle the slime care, I suppose I could have the API handle it but I would rather have that focused on saving, loading, authentication, etc.

Having a socket server dealing with the pet care might seem like overkill to me right now but I may want to add more involved care systems in the future and then I would just have to add one in anyway. Plus it will get me out of the Django mines for a bit.

At any rate I will have 4 days to think about it before Monday, hopefully my wrist will be better then. I need to figure out what it is that I am doing that causes this... probably not taking breaks as often as I should. Some days I only break for lunch or to take my dog out.

Detail View (Still just a blown up version of the world sprite, this is fine for now.)
In Game World Sprite

The generator does not yet handle shifting parts around on the slimes, I wanted to wait until I had the animations all in there first.

If there is a rear view sprite for a part it will render that instead of the front view, otherwise it uses the front for both, I figure that could save time in the art department.

It handles transparency by whatever the slime's transparency value is for the particular part it is currently working on, from 0 - 255.

Not much else to it really, the main API sends over the data after the slime is saved into the DB and then the Sprite Generator recolors parts, composites the highlights and shadows onto the parts, modifies their alpha channel according to the values in the DB, then composites all the parts together, doing a little math to place the hands in the right spots and then uploads it back to the object storage. It does this for the world sprite, which will follow the player around in game and the detail sprite which will be shown when looking more closely at the slime, like when feeding, bathing, examining, etc.

Detail Sprite in Object Storage server.

The object storage retains all versions of the slime so if something goes wrong I can roll back, it also mirrors the slime's sprites and parts across multiple other servers in case of hardware failure and for future load balancing/CDN if it should ever be required.

This Detail Sprite has 27 versions so far.

The sprites are not stored as images, they are stored as bytes, an octet stream. The API converts them to an image when it works on them. I figured this might be useful if I ever had to do streaming updates on the sprites for whatever reason. I had a few ideas where that might happen. Anyway, neither here nor there at the moment.

I have also finally got around to setting up a place for future players, testers and developers to more easily discuss the game, report bugs, etc.

The New and Slightly Improved Geruterra Site:

A land of sapient gelatin.

I've not had much time to add categories, don't really need em yet. Dev chat happens in the Mattermost instance primarily and nobody else is doing anything on the project as yet so there's no rush to do much more here. But it was important to make an easier way for people not familiar with IRC or other communication methods I use to get in touch for whatever reason.

With any luck, next week I will have finished at least the sprite generator so Moon can start making some sprites to test the Slime Generator which will likely be a very complex bit of code, thinking on it. I have to, in essence, implement genetics. I have a few reference sources on how genetics work, though I should probably simplify it a bit in the actual generator or I will likely be working on it for a couple months.

Welp, time to rest this blasted wrist.