omg in addition to finishing the "bare bones" implementation of planetary terrain generation, I *also* connected planet profiles to planet generation (something I had yet to accomplish), and NOW I can finally work out the issues in the Event System and settle where events are created and where they are handled!

I should quit while I'm ahead and go to bed! #programming #codejoy #gamedev

Trying to decide now if it's worth sorting the "percentile" data in the tile itself so it can take into account its neighbors' relative crustal width when pathing.

Really looking forward to the next few steps while I work this out. Oh and soon I should be able to work on wave function collapse! Huzzah!

#codejoy #gamedev

Holy crap, every trace of the old view module is just... gone. That took me maybe 30 minutes. 🤩​

Decoupling is DOPE.

#codejoy #programming

#decoupling #encapsulation
#thatmomentwhen you realize your OOP structure was worth it when you have to replace one class with another*, and when you swap in the new code for the old code... EVERYTHING STILL WORKS.

* I mean 3. THREE classes.

#codejoy

Phew. This took some mind-bending but I think I got the whole thing worked out. There is a *lot* going on here, considering how minimal the code itself is.

I like how declarative or expressive it feels. I got a *ton* of mileage out of that IntIntPredicate and the inner classes.

I even generalized the "ShipTile" functions to use the standard "TiledMapTile" objects, so it can more readily port to other libGDX projects.

#codejoy #java #gamedev

And it was SO worth it to then upload the image, edit the post, and re-edit the screenshots bc I found and fixed several errors in the process.

I don't think I have the wherewithal to stream while I code, but I certainly think I can share snippets when I experience #codejoy

edit: added relevant functions for additional context

This was such a pain in the ass to write and at the same time, SO satisfying to implement.

Requiring me to create a new Functional Interface, to implement it with an inner class, and then learn how to instantiate a non-static inner class (which I didn't even know was technically possible).

#codejoy

I've been getting better at adding, swapping, and removing external dependencies with gradle. 👍

A couple times in the last few weeks I've added a dependency just to try, decided I didn't like it, & removed it just as easily. #codejoy

I know gradle can do a whole bunch of different things, and I've barely scratched the surface with plug-ins, but everything I'm doing now is the result of self-directed effort! 👏👏👏

Yay! Go me!

Ooooh, I had this cool idea to freeze gamepad inputs into queryable snapshots ("GamepadState") objects and output a stream of them that I can manipulate with "functionally" instead of uh, "procedurally" I guess. #gamedev #codejoy