Update #73 - Market, Notifications, & Stampedes

Hello again, I hope you’re doing well. I’m very close to the alpha release, so watch for it soon! Here are the minor changes:

  • Merchantry: Split items from the same stack no longer merge when being added to a UI object.

  • Merchantry: Your currency no longer disappears from your inventory when buying from Sproule.

  • Merchantry: After running out of stock, Sproule may buy wares from your stall. Visit percentage scales with happiness (up to 30%).

  • Merchantry: Added Fishing Rod and recipe, and changed Gorger Chow name to Common Bait.

  • Merchantry: Characters passing by may purchase items from the player's stall.

  • Merchantry: Sproule will leave to get new wares if the user doesn't interact with him for awhile.

  • Merchantry: Hovering over a customer displays their profession.

  • Merchantry: Added characters that will pass through the town instead of buying from the player.


Market

aSmallPurchase.png

Characters will randomly come to your stall to purchase items. As the game progresses, more will stop by. Each customer has their own profession, so it’s wise to sell on a variety of tools for wider appeal. Here’s what each one buys:

  • Farmer. Common bait, stone axe, stone spade.

  • Builder. Stone hammer, iron hammer, stick, stone.

  • Woodsman. Iron axe, wooden bow, ironn bow, stone arrow, iron arrow.

  • Traveller. Stone cudgel, iron dagger, iron longsword, stone arrow, iron arrow.

  • Fighter. Iron dagger, iron longsword, iron bow, iron arrow.

  • Artisan. Stick, stone, string, feather, iron ore, iron ingot.

  • Miner. Stone axe, stone pickaxe, stone spade, iron pickaxe, iron spade.

  • Fisher. Fishig rod, common bait, string, feather.

I will add in-depth selling eventually, such as haggling. However, this will do for the alpha release.


Notifications

notification.png

This is a simple UI that provides the player with short but important information. It will tell the player what customers have purchased from your stall, when a stampede is coming, when birds approach, and if Sproule returns.


Stampedes

Every now and then, a stampede of gorgers will make their way through the town. As they trample through, stones and iron ore may appear in their trail.


Current Goals: Polishing.
Future Goals: Alpha release.

If you have any support, 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.
Soestae, Emberium

Update #72 - Events & Merchant

Hey, I hope you’ve been well. Here are the latest changes:

  • Merchantry: Removed clickboxes from tooltip UI.

  • Merchantry: Fixed the flickering glitch caused by texture atlas bleeding. It's a really primitive solution, but it works I guess.

  • Merchantry: Ground tile layer has been extended slightly to accomodate 1920x1080 screens.

  • Merchantry: Added springflowers.

  • Merchantry: Added code for random bird events.

  • Merchantry: Added Feather, Stone Arrow, and Iron Arrow.

  • Merchantry: Added crafting recipes for arrows.

  • Merchantry: Gorgers now dig for items, either when fed gorger chow or occasionally after wandering.

  • Merchantry: Finished adding simple descriptions to items.

  • Merchantry: Gorger Chow can now be emptied.

  • Merchantry: Changed gorger chow icon from a bottle to bait.


Events

startingEvent.png

Some of these are planned events, while others are random:

Starting Event. Introduces you to your surroundings and how you got there.
Stranger Event. A cloaked figure peeking around the corner.
Bird Event. A flock of birds will pass by the town. Click on them to make them drop items.

strangerDialogue.png

Merchant

Sproule is a frog-like fellow from Lake Oro. Despite lacking the townsfolk’s trust, he travels to the nearby hamlet to sell his wares anyway.

Sproule will arrive in Oro shortly after the player starts the game. Interacting with him will give the player the option to talk or buy his wares. Initially, his stock is limited and in short supply. Purchasing increases his happiness, which improves the items he stocks, restock tolerance, and dialogue mood. When Sproule’s stock drops below his restock tolerance, he’ll leave to get more wares. Here is a list of items Sproule can stock:

  • Stick, max of 10.

  • Stone, 10.

  • String, 5.

  • Feather, 3.

  • Gorger Chow, 3.

  • Iron Ingot, 5.

Sproule will always have a supply of sticks and stones, while the rest is randomized.


Current Goals: Events (if any), selling, polishing.
Future Goals: Alpha release.

If you have any support, 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.
Soestae, Emberium

Update #71 - Recipe Book, Flora, & Pigs

Hello again. It’s the first update of 2019! How has your week been? Let me know in the comments below.

  • Merchantry: Improved some world UI code.

  • Merchantry: Added some depth to iron tools.

  • Website: Reverted back to standard theme.

  • Website: Added "Steam Group" block to the Community page.

  • Website: Reduced logo size significantly. The website should load a bit faster now.

  • Merchantry: Added dust to books.

  • Merchantry: Changed transition from fade to panel sliding.

  • Merchantry: Added a temporary vignette.

  • Extensions: Moved extensions and helper classes into a new class library. Merchantry and Aeta UI both use this .dll.

  • Aeta UI: Renamed Offset (and subsequent variables) to Position. Also, positioning now uses the SmoothVector class.

  • Merchantry: If an item has been crafted, hovering over the craft button will display a tooltip with the recipe name.

  • Merchantry: Player will approach each object he uses.

  • Aeta UI: SmoothFloat's Interpolation variable is set to null when it's Result variable is set.

  • Merchantry: Added a "Take All" button to storage objects.

  • Merchantry: Removed the restriction which prevented the tooltip from displaying when an item is being dragged.

  • Merchantry: ObjectMemory now uses tags as a key instead of a single string.


Recipe Book

The recipe book will likely be temporary for the alpha release. However, the book isn’t hardcoded for recipes, so I can add anything to any page. The video above is a good demonstration.


Flora

floraGrassStumpFlowers.png

The flowers have been in here previously, but the tree stump and grasses are new. I’ve been attempting to get a tree texture right, and may not be added before the alpha release. For now, it’s kind of low priority.

treesWIP.png

Pigs

I added some cute little creatures! I call them gorgers, both in code and game. They were inspired by the pigs seen in Wind Waker (see below).

DwlZ-RbWkAEvl_8[1].png

They have a basic AI, wandering around town. If one strays too far from home (starting position), he will make his way back. I might make them scurry away from characters, and will certainly make feeding them a special item have a special outcome.


Current Goals: Character code, events, buying and selling, polishing details.
Future Goals: Alpha release.

If you have any support, 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.
Soestae, Emberium

Yearly Review - 2018

Hello! I hope you had an excellent 2018, and I’m wishing you a great new year. In this post, I’ll discuss the highlights of 2018. Let’s go!

The Year

I started out on strong footing with the release of the Pilgrimage of Embers’ alpha, which allowed myself to choose to move on to other projects. Following that, I set up a Patreon page and created Monument. To help with future projects, I compiled two important code libraries: one for user interfaces, and a simple particle engine. I’ve made extensive use of the UI library.

social.png

Later in the year, I rebranded from Enckling Games to Emberium Studios. I’m much happier with the name, and the changed logo and website which followed it. Then I announced a new project, codenamed Merchantry. Here are some noteworthy features:

  • Tile, item, object, and interface textures.

  • Simple crafting system.

  • Inventory, context, and dialogue interfaces.

  • Pathfinding & AI.

If you haven’t seen it yet, some screenshots are posted below.

update70Scene.png
alphaCrafting1.png
potions.png

Lastly, here are some fun stats I gathered from the year:

  • Devlog Updates - 18

  • Minor Changes - 268

  • Tweets (#update) - 163

  • Lines of Code - 15,503


What’s Next?

I’m planning to put Monument off to the side for now. I’ll upload content directly to Patreon, which I hope will make it more appealing to future patrons. The software still works great, so I can switch back if necessary.

I’d like to make some more code libraries. It’s really satisfying to complete something, and then be able to use it. I’m still planning to add in the editor for Aeta UI, allowing the coder to position all of the elements while the program is running. I would like to go back to the wind simulation I started earlier this year, improve and expand it.

For my game project, I’m getting close to an alpha release. Here’s my current to-do list:

Pre-alpha:

  • Characters. Add randomized daily routines. Sounds small, but it’ll take some time.

  • Events. Random and scheduled events.

  • Flora & Fauna. Add in trees and the cardinal.

  • Cycle. A temporary screen fade to represent a transition from day to night.

  • Tutorial. Simple tutorial for the player.

  • Outro. A blank screen containing what’s next, social links, website info, company name, etc.

Post-alpha:

  • Overhaul Inventory. “But you just did the inventory?!”. I know, but this will be a much better design. It’ll be similar to a blend between Slime Rancher and Stardew Valley, but still keeping my tab-system. Limited space (twelve per tab, five tabs), so world storage containers aren’t just for decoration anymore.

  • Atmosphere. Weather, wind, night/day, shadows, sounds. Maybe even temperature.

  • Energy. Crafting objects consumes energy, sleeping replenishes it.

  • Game Editor. An in-game tile/object editor for my sanity.

  • Worldbuilding. New characters, new events, .

  • Economy. It’s a capitalist game — this is mandatory.

  • Professions. Apothecary, blacksmith, sage, baker, clothier, wordsmith. Most (or all) of these will use their own world UI (e.g. blacksmith has furnace and anvil).

  • Customizable Player. Textures, backstories, starting class, etc. Probably some hats.


Final Words

If you have any support, 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.
Soestae, Emberium

Update #70 - Textures, Pathfinding, & Interfaces

Merry Christmas and Happy New Year! It’s the last update of 2018, and the seventieth at that. Let’s start with the minor changes:

  • Merchantry: Moved render-oriented variables from RenderObject up to WorldObject.

  • Merchantry: Objects can now attach to each other.

  • Merchantry: Added the Calendar class.

  • Merchantry: Added a UI for transitions.

  • Merchantry: Added a matrix to WorldObject.

  • Merchantry: Added ObjectPath to WorldObject.

  • Merchantry: Added DirectionalTile to pathfinding, and changed what class calculates the cost.

  • Aeta UI: SortByRenderOrder() now returns a list of elements.

  • Aeta UI: Added DrawElement method, and another DrawElements method which accepts a list of elements as a parameter.

  • Merchantry: Added worth values to most items.

  • Merchantry: Added six new recipes: Iron pickaxe, axe, hammer, spade, longsword, dagger, wooden bow, iron bow.

  • Merchantry: Fixed a game crashing bug caused by rapidly adding and removing items from the inventory.

  • Merchantry: Inventory bug from above was not fixed, now it is. Events weren't being removed properly.

  • Merchantry: Goals can now contains other goals.

  • Merchantry: New character textures. Child red, child blue, child green, adult red, adult blue, adult yellow, adult white.

  • Merchantry: Added DepthTile. Similar to an object, this sets its depth from the world automatically.


Textures

In this first picture is the current version of what the alpha map will look like. I still need to add in some shelves to place items for sale on, and various decorative objects.

Dirt/grass textures

Dirt/grass textures

New alpha characters, complete with arms and pants.

New alpha characters, complete with arms and pants.

A collection of 14 potions and 2 empty bottles.

A collection of 14 potions and 2 empty bottles.


Pathfinding

An implementation of A* pathfinding with tile costs. In the video above, grass tiles cost 10, whereas path tiles cost 1. This influences characters to stay on the path as opposed to treking through grass. Towards the end of the video are two rows of 5-cost tiles, which are directional. The top row has lower cost if travelling from right to left (1-cost), but higher if travelling the other way (10-cost). The bottom row is the exact opposite. This allows me to easily create two-lane streets.

Rather than specify a “wall” type, I simply don’t add it to the grid. This means that tile will never get searched because it doesn’t exist. My pathfinding grid uses a Dictionary<Point, PathTile> instead of a 2D int[,], so it’s a bit easier to do that.

Here’s a brilliant guide on pathfinding. His examples use C++ and Python, but it’s easy enough to translate to C# (or whatever other language you use!).


Interfaces

I added two UIs: a transitions UI, which I’ll use for fading in/out, company splash screen, etc. A HUD UI, which displays the time of day and the controlled object’s currency to the player. You can see it in the pictures above, but here’s a closer look.

hud.png

The time follows a complete calendar system. Four quarters in a year, thirty days in a quarter, twenty four hours in a day, sixty minutes in an hour, and mostly importantly, two hundred milliseconds per minute (temporary value for alpha). One real-time second equals to five in-game minutes, and about five real minutes per in-game day. Additionally, I can hook-up C# events to specific times (down to the minute), which works perfectly for game events.


Current Goals: Character code, events, crafting recipes, temporary recipe book, flora textures.
Future Goals: Alpha release.

If you have any support, 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.
Soestae, Emberium