Update #61 - New Monument Content, & What's Next

Hello! I hope you've been well. Following Monument's release, I've been adding content to it. So far, I've three new releases in the Tools section, and one Pilgrimage of Embers in Games. I'm very happy with this new direction. Firstly, here are the minor changes:

  • Website: Added the trailer to the top of enckling.com/monument.
  • Prototype: Started messing around with a game engine prototype, which combines aspects of 3D physics while rendering in two dimensions.
  • Website: Updated the Creations page, and replaced it's link in the main navigation bar with a link to the Monument page.
  • Aeta UI: Made a dramatic change to how buttons are handled. Now, any RenderElement can use button events.
  • Aeta UI: Button Invoke*Hold() is now called from a timer. Set HoldTime to a value in milliseconds to change.
  • Aeta UI: Removed ButtonElement. With the addition of Buttons, it was redundant.
  • Aeta UI: For consistency, renamed InputElement to TextLineElement.
  • Aeta UI: Similar to TextBoxElement, TextLineElement now uses KeyInput.
  • Aeta UI: Similar to TextBoxElement, TextLineElement now can use shortcut keys (Control navigation, home/end keys, etc.).
  • Aeta UI: Added deletion repetition to KeyInput. Holding down backspace and delete keys for more than 500ms quickly deletes characters.
  • Aeta UI: Added navigation repetition to TextLineElement. Holding down arrow keys for more than 500ms quickly moves the character index.
  • Aeta UI: Updated how Controls.cs handles mouse checking (changed from custom enum to ButtonState).
  • Aeta UI: Started working on the UI editor. Early stages, but going well.
  • Tool: Started working on a project called "Aeta Frame". This will use Aeta UI, and will be a digital frame for quickly developing programs.
  • Aeta UI: Fixed IsPriority not working like it should be.
  • Aeta Frame: RenderTargets now dispose when the window is resizing. No more super fast memory leak.
  • Aeta Frame: Added maximize button to the titlebar.
  • Aeta Frame: Changed how schemes work. Much cleaner, more reliable!
  • Aeta Frame: Finished adding color variables for the frame UI.
  • Aeta Frame: Added support for tooltips.
  • Aeta Frame: Added a message box, with an unlimited amount of customizable buttons.
  • Aeta Frame: Added overlay to the UIs when the tray is expanded.
  • Aeta UI: Controls.cs now supports multiple controllers.
  • Aeta UI: Added a bunch of summaries to many classes.
  • Monument: Fixed an issue caused by Squarespace. However, you must download the latest version manually.
  • Monument: Added tooltips to the Username and Key boxes at login.
  • Monument: Right-clicking a textbox now erases all of it's contents.
  • Tool: Started a new project using the Aeta Frame called Time Recorder.
  • Time Recorder: Finished icons, and set up the project to use with Aeta Frame. The smaller details.

Monument Content

Yes, there's new content in Monument at last! Some of the content were projects I have been building (on and off) since last year, while others I have started more recently. So, I'll introduce you to each one now.

Before I continue, I need to inform you that Squarespace broke Monument recently. I had a URL map through there for convenience, but for some reason they are blocking downloading text. Whether this is intentional or accidental, I'm not sure. This means that the old Monument won't allow you to log in. Fortunately, I caught and fixed most of it as soon as possible. Only thing that can't be fixed is downloading blog posts. Although unfortunately, since old Monument went through there, you have to update it manually. If you have downloaded Monument before July 13th 2018, this applies to you!

Aeta UI


Aeta is a user interface library made for use in C# and MonoGame. It comes as a .dll, alongside a .xml (for summaries), documentation.pdf, license.txt, and logo.png. I designed it to be flexible and lightweight, without sacrificing the complexity. I wanted to give the coder as much freedom as possible without much set up or giving the coder a headache. I'll update this library as I have a need or receive suggestions. But what can it do right now?

The library is structured to use InterfaceManager.cs, which the coder should derive a class from. This is where you will add your interfaces. Next, derive a class from UserInterface.cs, do some basic setup, and add your elements to it. While this is the recommended way, you can use UserInterface.cs and all elements individually. UserInterface.cs makes use of a Camera class for matrices, so the UIs can be scaled and rotated easily. Most important, the user can still click on elements that have been rotated.

Other features include: sort which interfaces draw over others, click detection, minimize/maximize transitions, active/inactive transitions, unlimited HLSL effects with RenderTarget2D, overriding how an element is controlled, smoothly fade or move an element, lock an interface so that no other interfaces can be selected, and plenty more.

Lastly, I have plans to add an interface editor. I'll keep you updated on it's progress.

Aeta Frame


Aeta Frame makes use of the Aeta UI library mentioned previously. It's purpose is to provide a simple frame to help the coder develop good-looking tools more efficiently.

Frame is open source, so it's highly customizable (even if you just change the class-level variables). The button in the top-left corner will expand the tray, which tells the user what every button in the list opens. Clicking a button in the list will open a user interface, and close out the previous one. By default, it has the three titlebar buttons (minimize, maximize, exit). In the bottom-right corner, the user can resize the interface.

Koah Particles


Koah Particles is a lightweight and flexible approach to particle engines. While I released this last month, I haven't had a chance to mention it here. It makes use of object recycling to  keep it's memory lower.

What's Next?

I'm currently making good use of Aeta Frame, as I build a Time Recorder. I have some old software I use which tracks time, but I wanted to give it an overhaul. The new one will contain a lot of the old features, but will also contain built-in statistics so I can visualize my progress for the year or month. Perfect for understanding my habits, such as which days are most or least productice. This will likely be released to Nomad tier (at least initially)!

I'm getting close to releasing some content packs! I mostly mean fonts, but I'm hoping to release some art assets such as animals and item icons.

Lastly, I'm rebranding Enckling into something a little hotter. This will take place sometime next month. I'm really excited about this, and I want to share more, but I'm going to hold off for now.

If you have any ideas, constructive criticism, or just want to tell me how much you dislike my creations, you can:

  1. Send me an email
  2. Tweet to @Soestae
  3. Gab to @Soestae
  4. Toot to @Soestae
  5. Comment below

Do you want to support my projects? Here's what you can do:

  1. Become a Patron here!
  2. Tell your friends and family about my projects!
  3. Retweetrepost, retoot, and share!

Thank you for reading!
From Enckling, with love.