Update #47 - Audio & Map Design

Good Friday! I'm back after a lengthy break and some important distractions. Here are the minor changes for these past few weeks:

  • Minor performance enhancements to some GameObject classes.
  • FlyingInsect objects now properly return home rather than spinning in circles when too far away.
  • Added a new GameObject, "SetFloor". Changes the floor of the entity inside the rectangle.
  • Made a spritesheet template generator program.
  • Changed UI "Artisan's Counter" to "Offerings".
  • Most offerings in the "Offerings" UI now can have an item and ember cost.
  • Changed UI "Soul Warping" to "Flame Warping".
  • Fixed a dumb coder error that caused the "draw area" to increase relative to camera distance from top-left corner. Big performance boost.
  • GameObjects can now have individual clipping margins.
  • Added a new GameObject, "WindAudio". SFX that is manipulated by the wind.
  • Fixed a small error with reading objects (line was parseName).
  • Fixed how the camera deals with small maps.
  • Resized temple interior tiles.
  • Added the ability for map makers to choose if the "Activation" object's trigger state is saved.

Audio

As you can hear in the video, I've added in wind-affected audio, which can be applied to any 2D SFX. This should work especially well with trees. Besides wind, I also completed the following sounds:

  • Smoldering Embers Retrieved
  • Smoldering Embers Idling
  • Flame Monument Ignition
  • Flame Monument Idling
  • Flame Monument Activation

Sadly, there still aren't any leaves on the trees here, so I'll have to wait to get some of those sounds.


Map Design

I added in two small maps to the game. One to the northwest, and the other is in the base of the tower.

This is the northwest map, whose entrance is somewhat hidden. It lacks an item or flower to make it this area special, but I'll add in something good!

towerFirstFloor.png

The first floor of the tower. Perhaps there is something under this tower?


For next week, I have a bit of content in the works, such as entity animations and other sound effects. Truly, I only need to:

  • Add in more maps
  • Finish animations
  • Work on audio
  • Finish weapons and armor
  • Get some A.I. going

Other than various tasks, that's about it. I'm so close.

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

Update #46 - New Flora & Flying Insects

Happy Friday, guys! Here are the minor changes:

  • Added two methods to VersionUpgrader: "ChangeVariable" and "AppendLine".
  • Flame Monuments now cost embers to ignite.
  • Repairing items now costs embers rather than various items.
  • Added two GameObjects: LoadMap and LedgeGravity.
  • Improved how GameObjects are parsed, making it easier to add new types.
  • Cleaned up GameObject.cs
  • Improved how GameObjects assign depth, greatly improving performance.

Flora

  • Brewer's Foot. A tall red flower found commonly in the Southern Lands. Primary ingredient.
  • Rising Dawn. A tall flowering plant, with petals colors resembling the sunrise. Secondary ingredient.
  • Saint's Herb. A tall plant with multiple white buds. Secondary ingredient.
  • Bonecap Mushroom. A large white mushroom which grows around graveyards and bone pits. Secondary ingredient.
  • Green Clover. A small green clover. Secondary ingredient.

Also, all of these ingredients can be brewed to make different potions. There are only five combinations so far, but there will be plenty more in the future.


Flying Insects

I'd encourage you to watch the videos. Besides butterflies, this can be used for plenty of other bugs, such as fireflies, bees, etc. Here are a few of the features laid out:

  • If an insect strays too far, it will return back home.
  • They can be harvested for a variety of ingredients.
  • Occassionally, you'll see them land on the ground for a certain period of time.
  • Neat little creatures that make the game feel more alive.

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

Update #45 - Flora Assets, Tile Resizing, & Version Compatibility

Welcome! There was only one minor change this week:

  • Improved GameInfo.cs, particularly to how versioning functions.

Flora Assets

newFruitsFungiHerbs.png
  • Grass Tufts. Mostly everywhere. Visual effect.
  • Leaf Tufts. Below the Bonecap Mushrooms. Visual effect.
  • Bonecap Mushroom. Left-center. It will be used in brewing.
  • Midnight Melon. Bottom-center. It will be used in brewing.
  • Saint's Herb. Top-right corner. It will be used in brewing.

Tile Resizing

I realized that the previous tile size was... a bit too large. So, I decided to resize all of the current tile textures from 64x64 to 32x32. Though a short-term loss, this will provide longer-term benefits such as:

  1. Less time per tile. If we're comparing by total pixels, this means a 75% increase in speed.
  2. Less tiles needed. Curiously, I found that the total tiles I needed for the main map reduced from 220 tiles to 160. This is largely due to needing less grass tiles for dirt pathways.
  3. More precision in map creation.

Besides resizing, I improved the look of many textures immensely, as you can see in the picture and video.


Version Compatibility

Every time I would change a game object's constructor, I would have to go into the raw map file and manually add, remove, or shift variables around. If I didn't, that object wouldn't be loaded properly. This approach works okay for a couple of objects, but maps can easily get up to thousands of the same object (E.G, flora). To solve this, I've added "Version Compatibility". Here is a step-by-step process:

  1. Files such as map data and player saves have a "Meta" tag appended to it. Inside this tag is the current version of the game.
  2. When the file is loaded, if the "file version" does not match the "current version", then the data is upgraded through each version.

You may be thinking "what does this do for me?". For the player, this should allow him or her to continue playing on the current save file even after updating the game. If you've played Starbound, you may remember having to restart every time a new update came around. For map creators, it means you shouldn't have to manually change your map files after every update. Hooray for everyone!


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, 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!

From Enckling, with love.
Shyy Guy

Update #44 - Weapons, Entity Improvements, & Object Interation Changes

Oh, welcome back. I hope your week was well. Here are the minor changes:

  • Reduced the total move types from twelve to ten.
  • Added the option for swing combos (works with every weapon move).
  • Re-implemented combat move queuing.
  • Changed how entities take damage from weapons (more functionality to individual weapons).
  • Changed how entity stamina is drained from weapons (less cluttered).
  • Added MotionBlur.cs, replacing the original sword motion blur. Cleaner, re-usable, faster.

Weapons

In Pilgrimage of Embers, weapons are animated dynamically to give each a unique moveset. There are limitations, but the upside is a diverse and flexible combat system. The video above shows the animations I completed this week. From start to end, they are:

  1. Tarnished Shortsword. Small damage, but quick.
  2. Palewood Rapier. Decent damage, and quick.
  3. Villagekeeper's Shield. Defensive, though can have offensive move.
  4. Stonestrike Halberd. Large damage, but slower with more telegraphing.
  5. Primitive Spear. Decent damage, but somewhat slow. Two-handed, though has defensive capabilities.

I should stress that the goat is temporary. It's just the best animation I have currently!


Entity Improvements

I made two bigger changes to entities this week, those being attributes and statistics.

Attributes are for items, skills, weapons, spells, etc. to set, adjust, or retrieve the value of. Examples:

  • The Defense skill sets the "SkillsPhysicalDefense" attribute to a specific value. Then, this value is retrieved when a sword hits the entity, reducing the damage taken.
  • The entity's equipment sets the "EquipmentWeight" attribute to the total weight of all equipped item. This is then retrieved by the entity for adjusting its speed.

Statistics are, for now, player-only. The player will be able to view his or her statistics in the options UI. There are five in so far, but will add plenty more as new ideas come up. These include total deaths, beings killed, embers collected, most embers held, and most embers lost.


Object Interation Changes

The visual changes can be summed in just by the picture. If the player is near an object that can be interacted with, an arrow will smoothly rise and fall over top of it and a particle ring will emit outward.

As for the "behind the scene", I reversed what class does what. Before, each individual object would check if an entity is nearby and activating an object (boolean). If it was, then it starts the interaction. In the case of a flower, this "interaction" means the flower gets picked and placed into the entity's inventory. However, this would not be friendly to multi-threading at all (planning for the future, here!). Now, the entity class will check for nearby usable objects, and if there is one, the indicator will appear and the player can interact.

Regardless if it's better for performance or not, it's a smarter way to structure the code.


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, 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!

From Enckling, with love.
Shyy Guy