Update #58 - Monument & Various Fixes

Welcome. I'm excited to share this update with you. I'm heading in a new and positive direction with Monument, as I shift from independent game developer to creator. While I'll still do games, I don't want to limit myself to just that.

On a personal note, I finally created a better online alias and identity. TheShyyGuy was an old username from almost 7 years ago, and I felt it no longer represented me. If you see a username called Soestae in your timeline and have no idea who he is, that's me! And, birthday milestone tomorrow: I turn 21.

Alright, alright. Here are the minor revisions.

  • Added BaseOffset vector to Element.cs. Now elements can return home.
  • ContainerElement.cs now sets a removed element's target offset, so they return home.
  • Added in code to support shaders with multiple techniques.
  • Fixed a memory leak caused by not disposing AlphaTestEffect (used for masking UIs).
  • Added control-neutral code support to Element.cs.
  • Added control-neutral element selection to UserInterface.cs. This is important for gamepad and keyboard navigating UIs.
  • Added sci-fi shader technique. Future!
  • Cleaned up Controls.cs, and added Gamepad support.
  • Overrided default gamepad controls for all interactable elements.
  • Minor clean up to UserInterface.cs.
  • Added DialElement.cs. It's like sliders, but rounder!
  • Added KeepInBounds(). It'll gently push the UI back onto the screen if it wanders too far.
  • Added RadialBlur technique to the list of available shaders.
  • Completed the logo for Monument. It's neat!
  • Revamped nearly half of the Discord server, changing it from company-focused to game launcher (Monument).
  • Completed specific textures for Monument: UI frame, background, text input box, button, checkbox + animation, checkbox mark + animation, horizontal divider.
  • Completed the small and large fonts for Monument.
  • ImageElement and derived classes now support smooth scaling and rotation.
  • DialElement now smoothly scrolls across the -180 gap.
  • TextLineElement now must be activated if using keyboard to navigate to it.



Officially announcing Monument, the upcoming games launcher. This is one of the first steps in building up a community, and a new path for Enckling Games. The launcher will have similar sections to the PoE launcher, such as login, games, downloading, and about. There's also plans for a secret section, only accessible in a secret way, and will reveal secret knowledge with a secret key (or something).

Lastly, I'll code a Monument updater, which will download and install the latest launcher version (think Discord).


I'm very happy with the name and how the graphics turned out. It has a geometrical, earthy feeling. I looked up celtic art, which inspired the edges. When creating the font, I realized how careful I had to be. Geometrical can look futuristic, and that was not what I wanted. As you can see in the picture above, it looks great, and fits very well with the other graphics. The large font is the same, except a couple times larger and with a median effect applied to round out the pixel edges. Most of the graphics are complete, so now I need to polish the UI library before I feel comfortable making it.

With this announcement, the Discord server is now called Monument Society instead of Enckling Games. Additionally, the Patreon page has begun renovations, shifting its focus from supporting Pilgrimage of Embers only to Monument, which includes all games, prototypes, and even tools I create. I intend to keep the same costs, and stay per game update release. I will complete the Patreon page after I complete the games launcher.

Now, most of you who signed up for the Pilgrimage of Embers alpha will not have access to the new games launcher, but can certainly gain access easily by supporting me on Patreon (after it's been sent out, of course).

I'm expecting to complete and release Monument by update #60. Let's see if I can complete it by then!

If you have any ideas, constructive criticism, or just want to tell me how much you dislike what I make, you can: Send me an email, tweet @Soestae, gab to @Soestae, comment on the Facebook page, or respond in the comment section 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, and share the content that you like!

Thank you for reading!

From Enckling, with love.

Update #57 - Particle Engine & UI Library

Hey, welcome. I hope you've been well. Here are the minor revisions:

  • Data serializer now supports List<T> serializing and parsing.
  • Wrote a quick-start guide on using the data serializer.
  • Extracted the particle engine from PoE into a separate class library.
  • Wrote a quick-start guide on using the particle engine.
  • Changed how positioning works in the UI library. It feels cleaner!
  • Camera origin can now be set (this is functionally the UI's origin).
  • Fixed elements not fading out properly. Silly me only reduced alpha, when all RGBA decreasing.
  • Added SliderElement.cs to the UI library.
  • Added TextElement.cs. One line strings.
  • Added CheckboxElement.cs, with support for radio.
  • Merged HoverBoxElement.cs with BoxElement.cs. One was used for drawing boxes, the other for collision detection.
  • Added ContainerElement.cs. Group other elements together for easy moving!
  • Added linear interpolation to the slider.
  • Added ScrollElement.cs, which gives the coder access to smooth scroller across both X and Y.
  • Tested UIs having a visual inactive state. Incredibly smooth!

Particle Engine


After extracting the old code from Pilgrimage of Embers into a class library, I had to update parts of it. It's now very extendable. Here are some cool demonstrations:

This is the most basic way to use the particle engine. Create a derived class from Emitter, add in custom behaviour, an texture sheet for animation, and you're good to go.

This uses a custom particle called ConnectParticle. Similar to the old ConnectParticle which connected particles via lines, except with a modified MonoGame.dll to allow texture corners to be connected. Add in some simple physics, and you've got elastic ribbons.

UI Library

Part of this code was actually written last year, but I postponed it to get back to working on the Pilgrimage of Ember's alpha. This is also the reason why I haven't started working on the new games launcher yet, as I wanted to use the UI library in it.

The features added so far include:

  • Elements. Image, AnimatedImage, ButtonBox, Box, Slider, Checkbox, Text, TextLine (almost), Container, Scroll.
  • Visuals.  Fade, zoom, rotate, shake, wobble, squish, and slide. These should be put in the minimize, maximize, inactive, or active methods.
  • Interaction. If two UIs are overlapping, clicking on an element in the front UI won't trigger any elements in the back UI. They play very well together... or rather, they don't!
  • Masking. Render a couple of backgrounds to define the mask, then draw the sprites like normal in the next parameter. The UI background in the above video is originally 1000 x 1000 pixels, but it's been cut out.

I'm aiming for flexibility, so the above is completely optional. If you don't want to use masking, skip it. If you don't like how I coded an Element type, make a derived class and code it better! As for what is next here, I'm going to add more elements in, such as semi-rich text boxes. I'd also like to make the elements control-neutral (with recommended methods), that way it is compatible with mouse, keyboard, gamepad, touchscreens, and anything else defined by the coder.

If you have any ideas, constructive criticism, or just want to tell me how much you dislike my projects, you can: Send me an email, tweet @TheShyyGuy, gab to @ShyyGuy, comment on the Facebook page, or respond in the comment section below.

Do you want to support the developer? Here's what you can do:

  1. Become a Patron here!
  2. Tell your friends and family about my projects!
  3. Retweetrepost, and share the content that you like!

Thank you for reading!

From Enckling, with love.

Update #56 - Ashen 1.0.1, Environment Engine, & C# Libraries

Hey, welcome back. Before we start, I'll mention the minor revisions. Because I didn't want to do a section like this in the Meta post, some of them are from a week or two ago:

  • Verified skills have proper descriptions, and the unimplemented/partially implemented skills are marked.
  • Removed all skill icons, since it was just one icon for all of them.
  • Fixed the game launcher About section buttons, where clicking "Website" loads Patreon page, and Patreon button does nothing.
  • Reset usernames and keys. The original file went missing, so I had to randomly generate them again (and again)!
  • Added downloading and unzipping game files to the launcher. Almost forgot it...
  • Fixed a glitch that prevented players from starting the game from the launcher (excluding me for some reason!).
  • Set changelog.txt, versions.txt, users.txt, and uploaded to remove server.
  • Changed website background, adding a leather texture.
  • Underneath posts, changed "Comments" to "Remarks" and "Likes" to "Lauds".
  • Disabled the post "Sharing" button. I don't think anyone used it, and most people just copy the URL anyway.
  • Removed the "Guidelines" button on the Compeers page, replacing it with the text. It stopped working for some weird reason.


Ashen 1.0.1

This update was just bug fixes, some of which you guys reported!

  • The player can no longer walk past the map load trigger at the top-left corner of the main map.
  • Fixed the issue with repositioning UIs when changing resolution, and improved what positions some reset to.
  • Removed the well bucket from the game.
  • Fixed a map data saving issue. Chest items will remain until the player actually grabs them.
  • Chests will no longer self-destruct. I have no idea why I added that bit of code.
  • Temporarily patched an issue with how flora data is reloaded.

If you find any other oddities, please let me know here.

Environment Engine

Similar to how Pilgrimage of Embers wind works, except with another dimension (2D) and much more flexibility. I started this project sometime last week, and with good results. The features can be described by a tile's type:

Tile Type. A tile can be a regular wind tile (normal), a hole, a block, or a source.
a. Normal tiles transfer a portion of their energy and angle to other neighbouring tiles.
b. Hole tiles absorb any energy pushed into them.
c. Block tiles deflect any wind energy pushed into them, and neighbouring normal tiles will avoid them.
d. Source tiles have infinite energy, and cannot be influenced by other tiles. Works best on the corners.

This has multiple advantages over PoE's wind system. The most important one is the wind can interact with the game world. Imagine giving the player an item that produced large gusts of wind (gust jar, anyone?). Once wind has been completed and better optimized, I will add in support for other types of energy, such as thermal.

C# Libraries

I've started to take good code from Pilgrimage of Embers and put it into separate libraries. This will make it easier to use the code in other projects. So far, I only have the audio engine taken out. Next up is the particle engine, and I already started on the UI libriary last year which needs to be finished.


Years ago, I knew there had to be a better way to handle game object data using reflection and attributes. Now I'm happy to say it's close to completion. I will likely release it for others to make use of. It's probably similar in functionality to how JSON and XML serializes data, except with my own syntax. It has support for:

  • Easy Use. Add the [Serialize] attribute to a field or property and it will get included in the output.
  • Base Types. Supports all base types (int, string, etc.), with additional support for arrays. Lists and dictionaries planned.
  • Custom Types. You can code in custom serialize and parsing for any type. Tested with Vector2s and arrays of Vector2s.
  • Target. Variables can be targeted by adding a string to the attribute constructor.

There are other features I want to add in, such as parsing of lists and dictionaries among others.

If you have any ideas, constructive criticism, or just want to tell me how much you dislike my projects, you can: Send me an email, tweet @TheShyyGuy, gab to @ShyyGuy, comment on the Facebook page, or respond in the comment section below.

Do you want to support the developer? Here's what you can do:

  1. Become a Patron here!
  2. Tell your friends and family about my projects!
  3. Retweetrepost, and share the content that you like!

Thank you for reading!

From Enckling, with love.

Meta #1 - Alpha Release & The Future

Hey, welcome! I hope you have been well. After a few years of on and off work, Pilgrimage of Embers was finally released on February 1st. I'll go into more detail in a section below.

Alpha Release

For those who have had time to play Pilgrimage of Embers, thank you for participating in the alpha release. A little over fourty people received usernames and keys. Fifty people signed up, although some had invalid emails and no social media links, so they could not be given it.

The bug reports and constructive criticism sent by the players has been immensely appreciated. I've enjoyed reading your responses. One person even messaged me as he played it, which was really fun to read. Most computers were able to run the launcher and game with no issues, although some couldn't. It was really valuable experience for me to think of solutions why it was crashing on start.


I'm a bit of a perfectionist, a trait I'm trying to balance out. There are a lot of areas that needed improvements, but if I waited until they were complete, I would have never released. So, that's why there are flaws (and you hear me mention that in other places).

I'm self-critical, so I often don't appreciate what is finished, but focus on what needs to be done. If you've talked to me, you know I've always talked like this when asked about Pilgrimage of Embers. I've decided to mix it up a bit by talking about what I personally love about my game, mentioning nothing negative. In no particular order:

  • Flora & Fauna. The palewood trees, with their autumn-like leaves. All the flowers and herbs, and how they sway in the wind. The rabbits, both soot and ashwhite variants. The insects are really fun to watch, too.
  • User Interfaces. The inventory (and quickslots by extension). I love the items, which have good names and great icons. Offerings UI, Ore Smelting UI, and Brewing UI are nicely put together.
  • Lore & Characters. I have yet to put any of this in, so you won't know what I'm talking about. I love the location names, descriptions, and how they connect together. The characters feel alive (even the dead ones). The timeline from the beginning of the world is solid and well-planned, and will be a strong foundation. The past is important for the direction of the future. It's the "seed" of a story.
  • Code. I have written some good code for Pilgrimage of Embers over the past few years, like particles, audio, game objects, AI, weather, etc.
  • Launcher. If I can count this as a part of the experience, it's my best written software, both in user experience, code, and creativity.

The Future


I'm going to take some time off from working on Pilgrimage of Embers. It's been quite a few years since I started this journey, and I have learned a lot. This was my first real game project, and I'm proud that I was able to get it to an alpha stage. Don't worry, this won't be permanent. I love the world I've created, and I want to keep improving it. Unfortunately, I feel it's in my best interest if I work on different, much smaller scale projects.

For the bug reports you have submitted, I will likely update the game one more time to fix them. The alpha won't discontinue, so you can download any time. I love the launcher, and want to continue using it. I plan to re-code it to support multiple games, split into two tabs: one for alphas, and one for prototypes. This ties in with the section below.

With that, I'll change how my Patreon page is structured to a multi-game format and back to monthly subscription. I'm decent at making games, but making communities isn't my expertise (yet). It would be incredible if a community of people who love my games joined together.

Finally, I'm going to write more meta posts (kinda like this one!). These will be various articles where I talk about a specific process, whether that is in art, coding, or game development. I hope it will help other creators in some way.

An Improved Creation Process

I need to drastically improve my process for creating games. I'm not absolutely certain how that looks, but I know some key points:

1. Planning. This is both for planning small features, and making sure they actually fit into the game. I often did the former, but the latter less so. The result of this was a game that had some great UIs, but didn't necessarily match up well design-wise. I should truly define the "core" of the game, and stick to it. PoE underwent quite a few lore, world, and plot design changes. This caused a few features already coded to become obsolete.
2. Prototyping. This is step would be putting the planning step into action, usually through coding. I will try to be okay with using "programmer art". I will set a timeframe to code it. If it's not fun or playable by the end of that, then move on. The one feature that would have made Pilgrimage of Embers truly engaging is combat, but I saved that until the end, so the core experience I wanted to portray suffered.
3. Early Feedback. After the game has reached a playable state, upload it for others to try! This will tie in with the improved launcher I mentioned earlier.

If you have any ideas, constructive criticism, or just want to tell me how much you dislike my projects, you can: Send me an email, tweet @TheShyyGuy, gab to @ShyyGuy, comment on the Facebook page, or respond in the comment section below.

Do you want to support the developer? Here's what you can do:

  1. Become a Patron here!
  2. Tell your friends and family about my projects!
  3. Retweetrepost, and share the content that you like!

Thank you for reading!

From Enckling, with love.

Update #55 - Alpha Release on February 1st!

Hey, welcome back! Yea, you read that right. The alpha release is coming, and in a little less than a week. Before I get to that, let's go over the minor changes for the week. This should be my new record too, which was around thirty changes and fixes in one week.

  • Added footstep SFX to player character.
  • Improved how SoundPlayer.cs sets sound position. Can be per SFX now, rather than attached to the GameObject's Position.
  • Slightly improved how AI is structured. This won't take effect until sometime after the alpha release.
  • Moved main menu UIs to better positions.
  • Improved how SoundPlayer.cs is structured.
  • Added SoundObject.cs for easy, customized SFX playing in levels.
  • Added lever and iron gate SFX to the game maps.
  • Fixed the camera not locking onto the player on load until he jumps. CameraDelay speed value was not set at beginning.
  • Made it so that withered/picked flowers would not be selectable by the player.
  • Changed "Harvest: Flying Insect" to "Murder: Flying Insect", so they drop dead rather than disappear. The butterflies don't have items to give yet, so this is temporary.
  • Added tree leaves SFX to all maps with trees and wind.
  • Added descriptions to every item. They will be improved some day, but good enough for alpha release.
  • Fixed a fatal error involving the player taking control of a creature, an invalid AI entity reference, and a barstool.
  • Added a number of rumors, which will help guide the player (or perhaps mislead?).
  • Since there won't be any monsters on release, rabbits now drop a bit more embers.
  • Hooked up the rumors to various actions and locations.
  • Improved item buttons so they can't be overwritten. This won't affect the user in any way.
  • Player classes have been improved, adding better names, descriptions, and items.
  • Placed all completed items in the game world, and removed all unfinished ones too. Yay!
  • Fixed an odd glitch that prevented rumors from being sent to notifications, but only sometimes. Weird issue with load order, dunno.
  • Updated Monument UI button names to reflect their UI counterparts.
  • Added stats to all armors (and a neat hat!).
  • Improved equipment comparison text slightly, showing the player if the new armor piece is better or worse (-/+).
  • Added a couple of skill requirements to various armors and weapons.
  • Fixed a fatal error caused by the player dying before ever resting at a flame monument. Now you will be put back where you started (tutorial map).
  • Fixed a game breaking mess-up that prevents the player from picking up any item ever.
  • The player can no longer activate flame monuments with any ember quantity. Changed temple monument cost to 100 embers.
  • Tweaked the selectable starting items in the New Game UI.
  • Changed all of the possible exchanges in the Offerings UI.
  • Fixed a glitch causing ores to smelt even after reaching 0 (infinite ingots).
  • Updated the following icons: iron ingot, silver ingot, gold ingot, common stone, riverrock.
  • Map data is now SAVED before loading a new map. Surprised I missed this until now!
  • Minor tweaks to the item reinforcement UI to make it more user friendly.

Alpha Release

After a couple of years in development, I'm comfortable enough to release the game for people to play it. While there is much to be done, I have some good content to keep you entertained. This includes reading item descriptions, exploring all areas, hunting some rabbits, picking flowers, brewing potions, doing offerings, smelting, etc. If I were to estimate total play time, those who want to just get through it can expect it to last a couple of minutes. Although, that effectively turns it into a walking simulator. The average user can expect to play the game between fifteen minutes to perhaps an hour.

The AI for the monster wasn't great, so I decided to skip any aggressive creatures on release. There are rabbits and butterflies, so there won't be any resistance. Another reason was I felt the combat needed to be redone, or perhaps simplified. Of course, you can't hunt rabbits without weapons, so there are still a few in-game.

I'll be releasing the alpha to everyone who signed up in groups. Sadly, I don't have experience in porting to Linux or Mac. Those of you who selected that OS will still be sent the alpha, but you'll have to find a computer with Windows first. I apologize for any inconvenience this causes. I'll be setting up a separate page here with all the details you need to know about where to download, requirements, etc. If you missed the chance to sign up, you can still play by supporting me on Patreon.

The Friday immediately after, I'll do a blog post on how the alpha went, and possibly do a look back on the "pilgrimage" from start to finish. It might be as a video, putting together up old screenshots and game recordings. After all that, I'll see where I go. As I finished this up, I've been invigorated to work on this game so much more, though I may end up taking a short (or lengthy) break to work on small games, software, and engines for a strong portfolio.

February 1st comes soon!

If you have any ideas, constructive criticism, or just want to tell me how much you dislike my game, you can: Send me an email, tweet @TheShyyGuy, gab to @ShyyGuy, comment on the Facebook page, or respond in the comment section below.

Do you want to support this ambitious project? Here's what you can do:

  1. Become a Patron here!
  2. Tell your friends and family about Pilgrimage of Embers!
  3. Retweetrepost, and share the content that you like!

Thank you for reading!

From Enckling, with love.
Shyy Guy