Smelogs Playground

Congrats @lkav and team! Happy developing and best of luck during this stage!

2 Likes

Custom Games

Hey Unreal devs,
The last couple of weeks, we were working on Custom Games.

Custom Games are a great addition to our other game modes for all kinds of reasons: Practicing, playing with or against friends, modifying the game rules or just to hold events that can be spectated or broadcasted.

However you want to play Smelogs Playground, we want to give you that option. The first version of Custom Games only allows basic game setups but there is a lot we would like to add in the future to give players full control over the game rules and potentially even over the balancing and adjusting of all kinds of attributes and variables.

1 Like

Player Level Design and Battle Pass

Hey Unreal devs,

A couple of months ago we talked about profile customization one way to unlock them was through the Battle Pass. Which is progressed by playing and collecting Experience points (XP)

When we started designing the player experience / level system we set up some goals and defined limitations we have.

Like:

:stopwatch: How long should it take?

There were really 2 options to go with here: time based or amount of games played. We chose to go with time. And went with 100 hours to unlock all content from the Battle Pass.

:abacus: How many levels are there in the Battle Pass?

We decided to have 50 Levels. The higher the level the longer it will take to unlock them on average the player will Level Up every 2 hours.

:trophy: What and how many rewards are included?

This one is depending on how much content we can create and put into the whole Battle Pass. Every Level has at least 1 Reward. So we have 50 items 30 of which are profile cosmetics (10 Avatar images, 10 Borders and 10 Titles) and 10 times Nifty Coins and 10 times Fractures which both are soft currencies which can be used to unlock other content.

:video_game: How can a player earn experience points?

By playing the game obviously. Here the details are important so we reach or come as close to the goals we set above. And before we can start calculating we also have to know where we reward Experience Points.

  • Match time should reward XP the longer the match the more XP are given.

  • Match result a win should give more XP than a Lose

  • First win of the day bonus XP.

There are a bunch of options we might add to reward XP, like challenges.

From there we assigned the different XP rewards values and researched how other games’ progression curves look and came up with a similar one from those who we liked. And that gave us then the XP required for each level. :nerd_face:

Endnotes

Anyone interested in the numbers and more details feel free to hope on our discord server and we can share some more information. :chart_with_upwards_trend:

:arrow_forward: Smelogs Playground

1 Like

Combat frame freezed in time! | Replay & Spectator system

Hey Unreal devs,

Last couple of weeks we have worked on a basic Replay and Spectator system.

Replay and spectating systems are very common for RTS games and help players understand what exactly happened and good for entertainment.

Replay Player

The Replay player has the basic functionalities listed below plus Replay events.

  • Play/Pause
  • Adjustable Playback speed
  • Jump to time
  • Replay Events

Replay Events

Replay events are defined actions that happened during a match, like when a player gets defeated or a big battle happens, and displayed in the replay timeline. So the player can easily find those events in the replay.

To save and store those events we create a SaveGame file for every replay.

Which then gets loaded when the replay is played.

The replay events are displayed on the timeline as a Button. We save when which event happened, for which player and its color and the location of the event. On hover shows a tool tip what event it is and on click it will jump to that time and the Location.

Spectator

  • Fog of War switch
  • Player view & Free Camera
  • Player Data

Replay List

Besides the option to play, rename, deleting or sharing the replay files we also show when it was recorded what the result of the Match was and how long the match was.

Endnotes

The Replay system is also a great tool for understanding how bugs appear and the possibility to share the replay file.

And can also be used to create Social Media posts.

If you have any questions or are interested in the game, let us know on our Discord about what we should post next.

:arrow_right: Smelogs Playground

1 Like

Clouds Shadows

A little detail we added to Smelogs Playground to make the world more alive.
We added cloud shadows via a Light Function Material. Easy trick to simulate clouds shadows in Unreal Engine.

It is a subtle effect but it’s something most RTS games have.

If you are interested in how the Material looks in detail or you want to add it to your project, you can find the Material Light Function as a Snippet here :slightly_smiling_face:

Endnotes

If you have any questions or are interested in the game, let us know on our Discord about what we should post next.

:arrow_forward: Smelogs Playground

1 Like

Shop Redesign

Hello Unreal developers,

We’re excited to share some design and development insights about our shop redesign for our game. Our goal was to create a colorful, modern, and clear design that fits the overall theme of the game. To achieve this, we removed the secondary soft currency to simplify the overall experience.

Here’s a little bit about our design process:

We first drafted the new shop designs in Figma, for that we looked for good references that we liked and then created a rough layout design, followed by shapes and colors. We then finalized it and recreated it in Unreal.

Here are some of the sub-features we’ve implemented:

  • Only unowned items are displayed in the shop, and every 24 hours the shop will randomly refresh the purchasable items from a pool of items that can be defined via Epic Online Service Title Files.
  • Players can refresh the shop before the 24 hours are over by paying a small amount.
  • We’ve added a hold button to confirm item purchases to prevent accidental purchases.
  • All skinsets are always shown in the shop, with an unowned skinset being highlighted to promote it.
  • When an item is purchased, it will be replaced by a new unowned item, so the player doesn’t have to wait for the slot to refresh.

All items, both owned and unowned, can be seen and previewed in the inventory. We’ll be sharing more information about the inventory redesign soon.

We’ve also redesigned the currency shop, where players can buy Nifty Coins, our in-game soft currency via microtransactions. This shop has a clear, modern design as well.

Some areas we can improve and polish further include animations and sound effects when the shop or an item is populated, updated, or purchased.

Thank you for your interest in our shop redesign. We hope you find it useful!

1 Like

Inventory Redesign

Hi Unreal Devs,
We have recently redesigned the Inventory in Unreal Engine. An issue we encountered with the previous version was that it only displayed owned items. While we were satisfied with the overall layout, we made some adjustments to the items and UI elements for an improved experience.

Sub-features of our redesign.

  • Sorting options: tier, owned/not-owned, active and a search function
  • Preview of items
  • Skinset: Cycle through all units and buildings, plus rotate and zoom.
  • Announcer: Play a random voiceline for preview
  • Playlist creation for owned music tracks

We are also considering adding an expanding animation, on hover or toggle, for the item scroll box list to show more items at once.
One area we want to further enhance is the indication of a selected item in comparison to an active item.

Let us know your thoughts! :slight_smile:

3 Likes

Mural Emote Quick Reaction System

Hi Unreal Developers,

We’ve recently added a quick reaction Emote system to Smelogs Playground, similar to League of Legends. This feature allows players to quickly react to in-game events using a radial menu. The selected Emote displays on all player HUDs and is accompanied by a sound effect.

  • The border color of the emote signifies the sender of the emote.
  • We have implemented a spam protection feature.

We are currently evaluating the option of incorporating the player’s name or profile picture to enhance identification of the sender of each emote

Emotes can be purchased in bundles of 5 from the Item shop and assigned to the radial menu in the Inventory. We also support animated emotes for added expression.

We hope players find this new addition to Smelogs Playground enjoyable!

1 Like

Open Playtest

Hi Unreal Developers,
We recently conducted a 3-week open playtest on Steam. After 1.5 weeks, we released an update that addressed some bugs.

We collected feedback from various channels and categorized it into Issues, Polishing, Feedback, and Observations/Notes. The Issues and Polishing were ordered by priority and Feedback was divided into positive, negative, and neutral. Observations/Notes consisted of odd player behavior and we added a counter to track frequency. This helped us improve controls, especially for players new to the genre or platform.

One common issue that players had was the lack of points of interest. We understand that this is important for keeping players engaged, and we’ll be sharing more details about how we addressed this in our next post. :slightly_smiling_face:

We also made some improvements to the game’s pathing.

Another piece of feedback we often received was that the tutorial was too long. To address this, we created a shorter version of the tutorial that includes video guides which we pushed in the update. We also had analytics integrated to track players’ progress and identify which steps were causing the most difficulty.

Overall, our playtest was successful with a lot of positive feedback and valuable insights to enhance the game.

Point of Interest

Hi Unreal Devs,
After our recent playtest, we’ve identified a lack of points of interest that make the map more engaging and give the game greater depth. We believe that adding these points of interest can greatly enhance the player experience.

We have a few ideas for potential points of interest, including:

:fire: Pansy - Capture Points:

We’ve added a capturable object called “Pansy” that increases Crystal Codex points every 60 seconds for the player in control of it. We considered using it as a multiplier for passive Crystal Codex point generation, but decided against it for ease of development and balance. The player holding the Pansy is indicated by the fire in their color, and a progress indicator is visible for all players when the next points are generated. Enemies can capture the Pansy if all holding units are destroyed in its immediate proximity and a unit from another player takes control of it. There is no capture time to make it easy for players to take over the objective.

:skull: Creep camps / Neutral Enemies:

We’re also working on a Creep Camp, and we’ll share more about it soon.

:stop_button: Attribute Zones:

We experimented with multiple types of neutral fields/zones that give buffs to units/buildings, but we’ve decided against them for now. They didn’t feel impactful enough and made the gameplay unnecessarily complicated, which goes against our design philosophy of “Fair and Simple.”

Endnotes

We’ve integrated the location of the Pansy into our random but fair map generation logic, and it will spawn twice on the map. We’re also considering adding other capture points for events or neutral units that can be captured.

If you have any questions or want more details, please don’t hesitate to ask. :slightly_smiling_face:

Creep camps / Neutral Enemies

Greetings Unreal devs,
We are excited to announce a new addition to Smelogs Playground - a creep camp! This camp will spawn three minutes after the game begins and each time it is defeated, a stronger Molten Golem will spawn with increased health, damage, and size. The player who deals the finishing blow will be rewarded with some resources, currently Crystal Codex Points.

We are also planning to introduce more types of neutral enemies and bosses to provide further variety in the future.

The Molten Golem only attacks when provoked by a player and will return to its initial position when there are no nearby units. It also regenerates health quickly, making it a formidable opponent. To add some extra flair, the Molten Golem will roar when idle before chasing and attacking nearby units. Additionally, when spawning, it drops from the sky and crushes all units beneath it.

Our goal in adding this creep camp is to offer players a new challenge and reward those who take the initiative to engage in battle against it.

Looking forward to hearing your feedback :slightly_smiling_face:

Gifting Items :gift:

Greetings everyone,
We are excited to announce that gifting items is now available in Smelogs Playground. It has been a highly requested feature, and we are thrilled to finally bring it to the game.

:technologist: Development

The implementation of gifting items was achieved by utilizing EOS (Epic Online Service) for seamless integration with the game. However, there were a few edge cases and limitations that we encountered during the development process.

:triangular_flag_on_post: Limitations and Edge Cases

One of the main limitations is that gifting is only possible between friends to ensure that items can be refunded if necessary, such as if a player already owns the gifted item. Removing a friend while a gift is pending delivery also presented some complicated edge cases.

:tada: Visuals

In terms of the gift visuals, we wanted to fully celebrate and put the received gift item into focus. To achieve this, we added several features, including camera movement, hiding all other UI elements, background blur, background star sprite UMG animation, and gift animations, which include 2D sprite sheets with flipbook materials for the start, idle, and explode phases. On click, the gifted item is revealed, and we made sure to support this with fitting audio.

Endnotes
We are proud of what we have accomplished, as the system itself was quite complicated. Please let us know your thoughts and if you have any questions.

Upgrading to Unreal Engine 5

Hello everyone!
We’re thrilled to announce that we’ve successfully upgraded our Project Smelogs Playground from Unreal Engine 4.27.2 to 5.1! :partying_face::tada:
This was a massive undertaking, but we’re confident that the new features and improvements in UE5.1 will elevate the quality of our game.

:thinking: Challenges we faced

During the upgrade process, we encountered some challenges. One of the main issues was with certain plugins that we had to update to make them compatible with UE5.1. This required additional work, but we were able to successfully update the necessary plugins and ensure that they were working properly.

:boom:Changing from Apex Destruction to Chaos Physics

As part of the upgrade process, we also transitioned our destructible meshes to work with Chaos Physics. While the transition required some manual finetuning, we’ve already seen improvements in the stability and behavior of our destructible objects.

We’ll continue to refine and optimize our use of this feature as we move forward.

:ghost: Ghost References

Another issue we ran into was with some old unused plugins that were causing problems. We found that simply removing the plugin references from our project didn’t fully resolve the issue, as there were still some lingering references that were causing errors.

We got a couple of errors like this:
UATHelper: Packaging (Windows): LogStreaming: Error: Couldn't find file for package /Script/ApexDestruction requested by async loading code. NameToLoad: /Script/ApexDestruction

:wrench: How we resolved it

Here’s how we solved the issue:

  1. Open up any reference viewer
  2. Type in the NameToLoad: (in our case “/Script/ApexDestruction”)
  3. It will show in which assets it is referenced you then just need to save those asset resolve it. :white_check_mark:

:bulb: The benefits of UE5

Despite these challenges, we’re happy to report that the upgrade was a success, and we’re already seeing some benefits from using UE5.1. We’re especially excited about the Nanite technology and improved lighting capabilities, and we’ve also experimented with the experimental Wave Function Collapse feature and other things.

We’ll report more on these soon. :smiley:

Thanks for reading, and we’ll keep you updated on our progress with the upgraded Project Smelogs Playground! :rocket:

Endnotes

If you have any questions or feedback about our upgrade to UE5.1 and the challenges we faced along the way, we’d love to hear from you.

Your creature designs are truly impressive and charming, and the crystal color feature is a great addition for indicating which player the creature belongs to. It’s exciting to hear that you are considering adding more customization options based on player preferences. Thank you for sharing your work with the Unreal community, and keep up the great work!

1 Like

Thank you @james_jacksonn :smiling_face_with_three_hearts:
Glad you like it.
Some amazing improvements are coming soon :smiley:

Main Menu Redesign

Video

Hello everyone :wave:

:tada: New Main Menu!

We’ve been hard at work making some exciting changes to the Main Menu of our game, with the aim of simplifying navigation and improving the overall user experience. In this dev blog, we’re thrilled to share some of the changes we’ve made to the Navigation bar at the top.

:eyes: A Simplified Navigation Experience

One of the most significant changes we’ve made to the Navigation bar is replacing the text with icons, making it more user-friendly and easier to navigate. When hovering over each icon, the corresponding feature’s name will appear, helping players to find what they’re looking for with ease. We’ve also centered all the elements in the Navigation bar, creating a cleaner and more streamlined look.

Old

New

:video_game: A Prominent Play Button

We’ve upgraded the Play button to a hero button that stands out more and is more prominent on the menu.

:film_strip: Redesigned Profile and Replays

We’ve removed the replay tab and instead added replays to the profile tab, which has undergone a complete redesign. The profile tab now has three sub-tabs: Profile Overview, Customization, and Replays, making it easier and better for players to access different features of their profile. We’ve enhanced the customization section to provide a more spacious layout, allowing players to view more options at once

Old

New (check the video for the other tabs)

:trophy: Battle Pass Gets Its Own Tab

We’ve separated the Battle Pass section from the profile and created its own tab.

:gear: Improved Settings Menu

Finally, we’ve removed the Settings tab from the Navigation bar and moved it to the settings menu button located in the top right corner of the screen, where the exit button was previously located.

Endnotes

We believe that these changes will significantly improve the Main Menu and Navigation bar, making it easier and more intuitive for our players to navigate the game. We will continue to make improvements to the Profile and Battle Pass, to ensure that our users have the best possible experience.

:+1: Share Your Thoughts

We’re excited to hear what you think of the new Main Menu and Navigation bar redesign! If you have any feedback or suggestions, please let us know in the comments below. We hope you enjoy the updated Main Menu!

Map Generation with Unreal Engine 5

Exploring Custom Solutions and Future Possibilities
Media posts by Smelogs Playground (@PlaySmelogs) / X (twitter.com)

Hey Unreal devs, I’m excited to share our latest project with you all! We’ve been experimenting with the Unreal Engine 5 experimental Wave Function Collapse (WFC) plugin, but we wanted to expand its capabilities to suit our specific needs. Let me give you an overview of what we’ve been working on.

:earth_americas: Map Generation

For our map generation, we’ve utilized Blueprints, creating a setup and structure similar to the UE5 WFC plugin. We’ve defined adjacent possibilities and assigned probabilities to each option.

To accommodate our custom-defined bases and additional functionalities like empty spaces for player starts, neutral objectives, and foliage, we decided not to use the WFC plugin. Instead, we strategically place empty modules around the player start points where the bases will be located. We then position neutral objectives accordingly. The map is solved and created from one corner, while the other three corners are mirrored to ensure fairness.

Ensuring connectivity between players was essential. To address this, we implemented a straightforward solution by leaving the diagonals and borders empty. Additionally, we made the map generation seed-based, allowing us to reproduce specific cases and troubleshoot issues effectively.

:palm_tree: Module Types

To keep our development costs manageable, we devised a solution that requires only five types of modules, with actual modeling work needed for only three of them. Here are the module types we’ve implemented:

  • Empty
  • Fill
  • Line
  • Inner Corner
  • Outer Corner

Kyle Steward (Artstation) has contributed to the modeling and texturing aspects of our project, and we appreciate his valuable work.

Foliage and Variation

To enhance the visual appeal, we’ve incorporated a grass area on the modules that spawn a fixed amount of foliage. The foliage placement includes variations in location offset, rotation, and scale. The type of foliage placed is randomly selected based on predefined possibilities. We’ve restricted the number of palm trees to one per module to maintain balance and avoid clutter.

:film_projector: Map Generation Evolution

Our map generation has evolved significantly throughout the development process. Initially, we experimented with the WFC plugin from UE5 in an empty project. As we explored custom logic, we introduced mirroring and empty modules, leveraging Blueprints. To aid the visualization and identification of modules and potential issues, we implemented a color-coded system.

Furthermore, we’ve replaced static meshes with the actual module static meshes, enhancing the overall visual fidelity of the map.

Endnotes

This project has been an extensive undertaking, and this forum post only scratches the surface. If you have any questions or would like to know more about our development process, please feel free to post them here. We’re excited to share our knowledge and learn from the Unreal dev community!

Looking forward to your feedback and suggestions!

Hello @lkav !

I must say I love seeing the progress from Nov 2021 up until now! There has been a lot of love and care put into the game and it shows. I think that you’ve been growing and in doing so helped the project grow as well. The character animations and mechanics are truly intriguing as well as the different modes.

Out of curiosity, will each module type have their own static design or will it be a varying sort of design overall?

2 Likes

Hello!
Thank you for your kind words about the progress of the game. I’m glad to hear that you’re enjoying the character animations, mechanics, and different modes.

Regarding the module types, currently, each module will have its own static design. In the original concept, the border had decorative crystals and glowing roots which we like a lot but the modules shouldn’t be distractive and it’s also a lot easier and cheaper with one variation. So we decided to make them like this for now however things might change. We are always open to feedback. :slight_smile:

2 Likes

Hello @lkav !

I see! Thank you for letting me know. I’m a little newer to certain implements so I was curious how they would turn out. It does sound like it will be beneficial with the less work needed by limiting the modules while still keeping the fun game fee.

As always, keep up the good work and I am looking forward to seeing the next update!

2 Likes