Finishing up the Generator for now.

Finishing up the Generator for now.

Today I think I will be done with the generator for a while, I have it generating some pretty solid sprites now and have not seen any bugs in any new slimes in a while. I am sure there will be some and they will be found by Moon testing it out and adding new parts and palettes.

I've added a dice roll to the generator to allow for certain body parts to get the main body color, which adds a bit of coherence to the sprite.

I also want to start adding effects at some point but I would rather know the generator is fairly well tested before I go slapping on rainbow painters or glow effects.

The last thing I want to do is break the config out of the hard code and put it into the DB so it can be more easily modified without requiring a restart. In order to do this I think I will create a new application called config and set up a model for the Slime Generator Config, then in the admin panel all the values will be accessible and easily tweaked.

Lots of things to tweak.

My reasons for doing this are;

  • Ease of access during development, getting the settings tweaked to generate the best slimes we can.
  • Future events where perhaps we want a higher or lower chance of certain things occurring.

After this I think it will be time to start designing the socket server and planning out how it will interact with the API. I wanted to start on the tools first but I think we can rely on aseprite and the admin panel for now while I wait for some libraries I want to use to catch up to Godot 4.

Welp, better get on that config. In the meantime, here's some interesting slimes the generator spat out today...

Image

Image

Image
I am glad I added that name generator now.

Image

Image

Image

Image

Image
Set up in the DB, now to set it up in the generator.
There we go, loading conf from DB.

Welp, that should make things easier going forward if we need to change generator config.

Finished displaying the data I think will be important on the tester.

That should allow easier debugging of traits as well.

Now it's lunch time and I don't even know what to do after this. Better figure it out.

So then, on to the tools or on to the socket server? I'm still unsure what should be done first. I'd rather not be working around constantly shifting codebases in the libraries I would use for the tools but they would make it easier to develop slimes.

Ah well, I said I would do the server next. Socket server it is.

Disregard that,

Hmm, the development of the tools would make adding new slime parts a bit easier, but not THAT much. I think my time would be better spent on the socket server and client for now. Once I have slimes loading and saving in the server and slime images showing up client-side I can get on with the development of the tools.

I realized while looking through the code for Pixelorama that it would take a bit of work to convert the way it saves and loads data as well as add a lot of stuff to the UI. I also need to spend a lot more time thinking of HOW the UI will work in the first place.

Not something I want to be starting at 4pm on a Friday.

...

The only thing the tools would help with right now is uploading slime part sprites more efficiently and that's not really going to do a whole hell of a lot for us at the moment. It'll maybe save like... 2-5 minutes of work while taking me 2-6 weeks to implement. Maybe I will start on the tools way later on down the line when they will be more useful. For now I will just keep writing down ideas for their design as I go through the processes manually.

I guess that means I am going to spend the next hour figuring out the socket server and how it interacts with the API.

So far I have the idea that it will have to use HTTP, while I could use HTTPS that would be extra work that isn't quite necessary as the API is only accessible via an encrypted VPN so the traffic is already encrypted.

Welp, not going to be much to show here the rest of the day so I will just sign off on this for now and get to the books to design the socket server's core.