2024-12-17 December Adventure 2024: Day 17

December Adventure 2024: Day 17

MyCmd Registry Implementation

I made pretty good progress on the implementation of the MyCmd Registry. However, in the process of doing today’s implementation, I had to break some existing tests. I am making enough progress, however, that I will be updating things to get all tests passing again tomorrow. I like what I have written today, as they are a simplification of what I previously had implemented.

I should be able to make decent progress on the integration of this code tomorrow. I should also add documentation comments to mycmd-registry-lib to document the objects I have implemented and their components. The code for Command Groups and Commands now shares a large common base and their unique code is going to be very small. These efforts have been well worth it.

My First Entity Component System

Today, on the Nova discord, Arnaldur described an Entity Component System as the following:

The core ideas are certainly very simple.

I’m pretty sure there isn’t anything more to it in the general sense

It made me realize that what I’ve been implementing using the Pseudo-Struct Pattern and the implementation of the Registry and the common type, Registered Item, for Command Groups and Commands is essentially an ECS using this definition. The entity id that I use is the fully qualified name, such as mycmd/shell/extended.

I think I want to read more about how ECS are implemented and used to see if I can find improvements to the pattern in my implementation.

Cognitohazards, Side Quests, and Shiny Object Syndrome

While walking on the treadmill today, I watched this video, “Tired of Shiny Object Syndrome? Watch This”:

Shiny Object Syndrome: getting easily distracted by new ideas, instead of continuing with what you are currently working on.

He has some useful points here, including: * We should be aware of the sources of the shiny objects, such as social media, and be deliberate at their use.


All of my December Adventure 2024 posts will be linked from here.