Tutorial gameplay tweaked, finally everyone can jump across the first ditch in the starting chapter
Audio is not broken anymore once you finish the Elmwood's Outpost story
General bug fixes
FIXED
[YLD-52720] Fixed: There is no music in game after disconnecting at wrong time from Story Land. [YLD-52785] Fixed: VS: Custom tools: get/set obsolete position/rotation script tiles do not work with preview objects. [YLD-52717] Fixed: VS: new Set position tiles do not work correctly with animated single entities/GLs and Move to script tile. [YLD-52710] Fixed: Editor: Group templates supports Event listeners, Position animators and Rotation animators again.
Dev Diary #327 Designer smoke signals
Ahoy Ylanders!
Today, we are not going to discuss game development as it is. Instead, Štěpán, our designer will delve into a bit of bureaucracy and will talk to you about interdepartmental communication, which may seem straightforward but there are challenges and many layers of complexity.
The departments that designers communicate with the most are programmers, artists, testers, production, and marketing. With programmers, the most important thing designers need to communicate is the implementation of a feature and its technical design, where the challenge is to make sure that the overall intention of the feature comes across clearly, just like the smallest of the details. When something doesn't go according to plan, us designers also have to be the mediators between programmers and testers, to a certain degree. When it comes to artists, this is where we (as might be obvious) talk all things visual. Not only do we need to convey the intended use of the feature so that the graphical elements correspond to it, but also we need to check that everything is easy to navigate and does not hinder the use of the feature. Since I already mentioned testers, let's talk about our cooperation as well. With testers, designers need to make sure that the intended functionality and behavior of the feature is as clear as possible and also we need to keep an open mind for feedback when something we thought was good turns out to be... eh... not so good. It's also important that we give them all the help accessing the feature in question and that we are available to help them out with any and all aspects of the feature. The boss of the chaos, aka the producer, is a key person for all parts of the development team when it comes to communication. They set up a timeline for feature development and implementation and perform regular checks to make sure everything is on time and if it isn't, they help us find ways to solve it. Producers also help handle any other non-standard issues that we haven't run into before so it's important to communicate those very clearly. And we also have to keep in touch with marketing on a regular basis. That's not only so they help us write our dev diaries (big grin), but also so that we can explain the feature to them as clearly as possible. This is important because they then have to communicate it to our players and in case of our community manager, she has to be able to assist our players if they run into any issues regarding this feature.
Generally, the communication is well established since it's something we do similarly with every feature we work on so it runs well, but sometimes we can run into issues since Ylands is such a complex game with many features being worked on at the same time.
Imagine it like this: you start a fire with the intention of sending a clear smoke signal to someone over the hill. Everything seems fine until, suddenly, there's a gust of wind. Not only that, but someone next to you starts their own fire and begins sending smoke signals to someone entirely different. To top it off, it starts raining, and you realize you're standing in the fire. What started as a clear message stating, "Performance has improved, and the previously mentioned issue is no longer present. Thanks," becomes, "Revolution is coming; prepare the oatmeal."
But in the end, we all love video games and we want to see the things we are working on bring joy to our players so we all work together to make sure everything gets resolved.
I hope that this insight into the development has been interesting and has shown you another side of our work and since all the fires have been extinguished and smoke blown away (for me at least) this will be all for this week and I will go get some more inspiration in sunny Greece.
Stay classy!
Dev Diary #326 Good UI
Ahoy Ylanders,
The term "GOOD GAME UI" doesn't necessarily imply that the user perceives a smart or enhanced user experience. In fact, the best UI is achieved when the user does not think about it at all. Allow me to briefly outline our UI process for you in this diary.
The initial phase of designing a new UI feature always involves extracting as much information as possible from the feature designer. This primarily entails understanding their vision and the intended user experience. The subsequent phase typically involves research and brainstorming. If similar features exist in other games, I review those UI visualizations and distill the vision into simple wireframes and sketches, based on those precedents, to avoid reinventing the wheel. These preliminary mockups (which I refer to as "grayboxes"), utilize mainly text and gray boxes to represent buttons, headers, tabs, text areas, scroll areas, etc.
I use shades of gray because, for conveying UI ideas, nothing more in this phase than contrast and size is essential. These elements resonate universally. Colors I usually incorporate later, recognizing that color perception varies among individuals.If any ambiguity persists after discussing the mockups and the flow or user experience remains unclear to anyone, we turn to Figma prototypes - For those unfamiliar, Figma is a brilliant tool for facilitating idea communication among designers, UI programmers, and UI artists.
Anyone can test the feature in a working prototype within a few hours. Once the design is crystal clear, I commence creating visual mockups tailored for the various platforms we support. This phase involves collaboration with the art director to ensure alignment with the visual style. Screen design is influenced not only by diverse display sizes (resolutions and aspect ratios) but also by the method of control:
Touch display (mobile, tablet)
Mouse + Keyboard (PC)
Controller (Xbox, PlayStation)
Controller + touch display (Switch)
Each platform comes with its own set of rules and requirements, necessitating seamless and predictable accessibility for every aspect of the feature. For instance, standardized text sizes differ between mobile and PC, while mobile touch buttons are typically substituted with controller hint icons on consoles, and so forth. Subsequently, we create Unity Engine UI layouts based on the visual mockups. And let the UI programmers do their magic. Then comes the polishing phase – replacing placeholders, animating buttons, localizing texts, incorporating hover elements, adding subtle visual effects, fine-tuning transitions, etc. Following that, QA tests and optimization ensue. This phase often involves resolving numerous bugs, glitches, and incorporating implementation feedback from playtests.
A particularly challenging scenario (my private nightmare) arises on Switch with russian language. Switch is using large standardized texts and other large UI element sizes with long texts alongside controller hints.
That's it for today. Thank you and
Stay Classy!
Update 2.3: ELVEN EXPEDITIONS
Ahoy Ylanders!
After the exciting news of last week: We are back with another announcement: Update 2.3 is live now and packed with content! Are you ready to get your ELVEN EXPEDITIONS started?
Random Encounter Objectives
You don't just get rewarded when you encounter a Random Encounter, now you get an objective instead! And to make sure you know what to do and how much of the doing is left there is also brand new objective progress tracking! We hope the exploration will be even more fun now.
Luring lighthouse
A new chapter of the story takes you to the Monsoonal region where strange things started happening. Could this have something to do with the arrival of elves into the region? It is up to you (and Horatio Reginald Elmwood, of course) to find out what's going on!
Gamepad support
FINALLY! You can play Ylands with a gamepad, including an aim-assist support to help you during combat.
New Random Encounters created by community
Ros Bobb has been given a makeover by our community. In each region, you can find new stalls, galleries, and houses made for Ros Bobb!
Quality of life improvements
You may now use the free-placing feature for your blueprints, it can be freely rotated and snapped to ground at your will. And a few more things here and there :)
EDITOR improvements
Polished ease of use of input fields throughout the editor.
Merged Terrain and Advanced Terrain Tools and split Game Logics into Basic Logics and Script Logics.
Custom Enums are now a standalone Visual Script Category.
Custom Localizations basic workflow introduced - create your own localization tables for custom games.
Positions and Rotations in Visual Scripting reworked to be more intuitive.
New Project Browser makes searching and opening Editor Scenarios much easier.
We improved random encounters so now you are able to keep track of RE objective progress. We hope it will motivate you and your friends to explore ylands even more now.
Luring lighthouse
A new chapter of the story takes you to the Monsoonal region where strange things started happening. Could this have something to do with the arrival of elves into the region? It is up to you (and Horatio Reginald Elmwood, of course) to find out what's going on!
Gamepad
You can finally play Ylands with a gamepad, including an aim-assist support to help you during combat.
New Random Encounters created by community
Ross Bob had a makeover by our community. In each Region, you can find new stalls, galleries, and houses made for Ross Bob!
Quality of life improvements
You may now use the free-placing feature for your blueprints, it can be freely rotated and snaped to ground at your will. Medieval House in Random Encounter 103 contained obsolete variants of paintings so we replaced them with pieces done by a more talented painter.
EDITOR improvements:
Polished ease of use of input fields throughout the editor.
Merged Terrain and Advanced Terrain Tools and split Game Logics into Basic Logics and Script Logics.
Custom Enums are now a standalone Visual Script Category.
Custom Localizations basic workflow introduced - create your own localization tables for custom games.
Positions and Rotations in Visual Scripting reworked to be more intuitive.
New Project Browser makes searching and opening Editor Scenarios much easier.
New Assets
ACTORS
Highland Cow
Pinewood Owlbison
Magic Gardener
Ancient Hunter
Ancient Huntress
Territorial Merman
Territorial Mermaid
Infested Elf
Infested She-elf
Animated Knight Armor
Animated Samurai Armor
Drowned Deckhand
Drowned Canonneeres
APPAREL
Rhinoceros Armor Set Gunslinger Armor Set Starcharter Clothes Set Moonseeker Mask Voidsmith Mask Fardreamer Mask
TOOLS & WEAPONS
Alien Bow
Orichalcum Saw
Cow Bait
Pinewood Owlbison Bait
DECORATIONS
Chess Pieces
Checker Piece
Domino Pieces
6-sided Dice
Additional Roman Numeral Blocks
Elven Statue
Elven Carpet
Elven Painting
Elven Quipu
Elven Astrolabe
Asset Changes
Cave Mushrooms changed names and now can be cut down with a knife, plus they yield useful resources
Cave Plants changed names and now can be cut down with a knife
Additions / Removed
[YLD-47555] Added: Character actions that take longer for the character to do will no longer use the progress bar to visualize the progress, instead utilizing the hints with hold progress visuals. Floating hints should also no longer overlap the hotbar under specific camera angles. [YLD-49572] Added: Created a Diary event condition for a new event guiding the player to create a Torch - NIGHTFALL NECESSITIES. [YLD-50244] Added: Inventory can now display details of items in the hotbar (if the user navigates over them via gamepad). [YLD-51145] Added: When placing BP that is not vehicle it is possible to switch to between grid/freeplacing. [YLD-51809] Added: Completion Achievement for Luring lighthouse yland. [YLD-49676] Added: VS: Get Recipe Node . [YLD-49911] Added: VS: Alt+T keybind to switch between expression/statement variant of the same script tile. [YLD-49933] Added: VS: ternary operator ? : (expression if then else . [YLD-50188] Added: VS: + in Set variable script tile will add automatically tile of variable's type. [YLD-50220] Added: VS: Format string ... script tile. [YLD-50382] Added: VS: On shear/milk events. [YLD-50864] Added: VS: Get Screen DPI script tile. [YLD-51595] Added: VS: Warning when you use Get local player before local player is fully initialized/available. [YLD-51628] Added: VS: "Reset fade" argument to Camera fade in/out script tiles.
[YLD-49913] Added: Editor: Items now shows both buy and sell price in properties window. [YLD-49916] Added: Editor: Percentage resistance next to resistance value in properties window. [YLD-50155] Added: Editor: Game logic template now supports "referenced" variant. [YLD-50619] Added: Editor: You can multiselect in Object explorer with mouse by holding SHIFT key. [YLD-50620] Added: Editor: "Public scripts" property to script modules so it is now easier to test/debug their exported version. [YLD-50739] Added: Editor: You can now set "selected color" for buttons in Custom HUD/Window layout editor. [YLD-51731] Added: Editor: Ability to disable "switching variants" while placing.
Added: Pinewood Owlbison Mythical Animal Random Encounter (Taiga Region). Added: Winning competition entries based Ros Bobb (painting vendor) Random Encounters for each Region. Added: Project Browser.
[YLD-49891] Removed: Editor: "Simple" editor view with text buttons in top header. [YLD-49912] Removed: Editor: Highlight of group entities when group is edited. [YLD-50413] Removed: Editor: Use Playlands equipment toggle from Player role. Removed: Hostile Native Random Encounters. Replaced with a set of Ancient Hunter Random Encounters.
TWEAKED
[YLD-42904] Tweaked: Milk/Shear ready text overlaps animal's name. [YLD-45540] Tweaked: Take all button in containers now adds items directly to inventory containers. [YLD-49303] Tweaked: Alpaca light attack is a bit slower. [YLD-49304] Tweaked: Unique Golem charge attack to other attack animations. [YLD-49312] Tweaked: Golem light attack less twitchy on the end. Changed also combat idle pose to remove twitchiness. [YLD-49313] Tweaked: Changed lizard light attack to be a little bit slower. [YLD-49314] Tweaked: Crablin has a little longer Light Attack animation. [YLD-49314] Tweaked: Ostrich Light Attack animation is a bit longer. [YLD-49316] Tweaked: Penguin light attack is a bit slower. [YLD-49317] Tweaked: Longer windup in Golem heavy attack animation. [YLD-49318] Tweaked: Changed Lizard heavy attack to have more visible preparation. [YLD-49322] Tweaked: Rhino Heavy Attack has a longer preparation phase (by 10 frames) and a different attack style to be easy readable. [YLD-49331] Tweaked: Wolverine use Special Attack animation for Heavy Attack. [YLD-49332] Tweaked: Golem special attack has a visible preparation. [YLD-49778] Tweaked: Adjusted the priority of interactible entities when focusing entities, so that the ones that provide an interaction are focused more often that those without any interactions. One specific case where it should help is focusing the ladders on your ships. [YLD-50598] Tweaked: Color of animal's/monster's text in chat is now same as color of NPC's text. [YLD-50694] Tweaked: 3D selection tool previews selection more frequently now. [YLD-50703] Tweaked: You can not reference entities from blueprints in scripts. (protection of those blueprints). [YLD-50793] Tweaked: Optimized the Sort Inventory button. It should no longer allocate tens of megabytes of memory and should be substantially faster. [YLD-50869] Tweaked: Removed the Unsummon button from the Pets screen. Previously it was showing everywhere, even on currently not-summoned pets which, while it worked, was confusing. Now the only place on the Pets screen where you'll still find the Unsummon button is if you click the currently summoned pet. [YLD-51048] Tweaked: Wolf Pet animation slightly changed hand position to touch wolf on flat terrain. Dog pet point set closer so the character hands have contact with dog (only on flat terrain). [YLD-51955] Tweaked: Hide previous notification if the new one is the same. [YLD-51966] Tweaked: Steam pack descriptions so that the new lines are easier to read and do not overlap the images. [YLD-52005] Tweaked: Collectibles that are part of Steam DLCs will now be displayed in the in-game shop upon purchasing a DLC.
[YLD-50187] Tweaked: VS: + button in Set array at index will now add script tile of array's type. [YLD-50976] Tweaked: VS: In explorer Search in dropdown is now set to "Script tiles" by default. [YLD-51094] Tweaked: VS: Animals can have quite big reaction time to a Move to target script tile.
[YLD-49887] Tweaked: Editor: Teleporting player on maps with no terrain streaming now does not need to start loading. [YLD-49918] Tweaked: Editor: Preview of placed object is now shown next to a mouse cursor. [YLD-49945] Tweaked: Editor: 2D game logic icons and transform widgets are bigger on 4K screens. [YLD-50004] Tweaked: Editor: Names of text sizes after adding new Medium large size. [YLD-50005] Tweaked: Editor: Enum values like Text size / Audible distance are now sorted by their value (instead of sorting by name). [YLD-50321] Tweaked: Editor: Colorized game logic icons in the game logic panel. [YLD-50348] Tweaked: Editor: Animals with disabled interaction will not show shear/milk ready text now. [YLD-50421] Tweaked: Editor: Sliders in properties window now work also in multiselection. [YLD-50440] Tweaked: Editor: Scale widget is more responsive now in Basic shapes tool. [YLD-50486] Tweaked: Editor: Position/rotation should get updated live when moving objects by drag and drop / using widgets. [YLD-50582] Tweaked: Editor: Promote ENUMS sub-category to main category. [YLD-51861] Tweaked: Editor: Error information about referencing objects which will be destroyed by Object templates on export.
Tweaked: Implementation in story section so that it's better equipped to detect whether the reward page should be displayed. The section code now also has some idea of where the chapters actually start. Tweaked: Added source elements for Cave and Mushroom Roots thus making them blueprintable. Tweaked: Cave Mushrooms renamed and rebalanced. Tweaked: Changed Ostrich Charge attack animation to be less intense. Tweaked: Changed Rabbit heavy attack animation now feels stronger. Changed distance of attack not to go through player. Tweaked: Changed style of Wolf charge attack to be different from other attacks. Tweaked: Changed Wendigo Charge Attack animation to be different to other attacks. Tweaked: Different animation of Stone Guardian's Heavy Attack. More powerful and longer windup. Tweaked: Different animation of Swipe attack for Ocean Spirit with more power. Tweaked: Distance of all Rabbit attacks is shorter not to clip through player. Tweaked: Doubled amount of Energy Coil produced from one recipe. Tweaked: Elven bow's accuracy and draw time nerfed. Tweaked: Engineer Vendor now also offers Sulphur Chunks and Rubber Slabs. Tweaked: Farmer's Revenge spread and effective range significantly nerfed. Tweaked: Flint Chunk gets more visible models. Tweaked: Horse Charge Attack is different to heavy attack. Tweaked: Horse Light Attack visually better transition to combat idle. Tweaked: Longer Undead Heavy Attack, added side variants for Undead's Heavy and Light attack. Tweaked: An Undead Charge Attack is different from a Heavy Attack. Tweaked: New Hyena Charge Attack not a copy of Light Attack. Tweaked: Penguin has longer Heavy Attack, different animation with more impact. Tweaked: Potion Ingredient tag removed. Tweaked: Relict and Encounter Secrets given the No Catalog tag to prevent confusion in editor. Tweaked: Rhino Swipe Attack animation has more powerful head swing and is longer by 15 frames. Tweaked: Slower Heavy attack (by 10 frames). Tweaked: Stone Guardian has different Charge Attack not a copy of heavy attack. Tweaked: Terrorbird different heavy attack with head, polished leg movement. Tweaked: Terrorbird isn't floating above ground on flat terrain. Tweaked: Terrorbird legs and finger movement in light attack is more polished. Tweaked: Terrorbird Swipe attack is now with legs to be different from heavy. Tweaked: Wendigo Heavy Attack has longer, more visible windup phase. Tweaked: Wendigo Swipe Attack is longer. Tweaked: Wolverine special attack is different to light and heavy.
FIXED
[YLD-19918] Fixed: Rake and Shovel animation made compatible with 2H holding for more natural look. [YLD-29306] Fixed: Message System: whisper shows player's username in All message section. [YLD-37944] Fixed: Scrolling the mobile inventory fully down before playing through the tutorial that has the player craft a stone axe no longer results in the tutorial flow being stuck until session reset. [YLD-45920] Fixed: Blueprints might have some of their entities shifted when placed in universal scenarios (only applies to newly captured blueprints). [YLD-48743] Fixed: Terrain Generation: weird cut off rocks appear on the edge of beaches. [YLD-49520] Fixed: Ships: Camera starts moving by itself after traveling. [YLD-49618] Fixed: Handbook rewards (manifested in Experimental): players with live progress still having unclaimed reward icon. [YLD-49743] Fixed: NPC man/female cannot be selected as default value for entity type variables. [YLD-49823] Fixed: Map generating: RE can be spawned on islets around the island. [YLD-49859] Fixed: Portraits in social screen should no longer be offset and covering status icons. [YLD-49867] Fixed: When players were charging an object that required inventory and was inside a container (e.g. a mining drill inside a toolbox), the inventory screen did not update correctly. [YLD-49917] Fixed: Position of the text in the button of the research node is now correctly centered when using gamepad. [YLD-49978] Fixed: Scrollbar in the mobile version of multiplayer settings popup is no longer super chonky. [YLD-50154] Fixed: Layout in the feedback popup could get messed up when the input field got near to the character limit. [YLD-50225] Fixed: You can not move properly when using rake. [YLD-50227] Fixed: It should no longer be possible to close the crafting screen during the tutorial that teaches players how to craft the stone axe, which could get them stuck until session reset. [YLD-50344] Fixed: Item notification will now correctly display custom colors of the picked up item, if it is painted. [YLD-50609] Fixed: Particles not visible in inventory character preview. [YLD-50617] Fixed: Gifting a blueprint from the Editor produces an error message if you didn't open the Shop first during the play session. [YLD-50735] Fixed: Give players the collectibles that they were supposed to get from Handbook rewards. [YLD-50813] Fixed: Integrity : broken terrain on particular explore map from 1.8. [YLD-50834] Fixed: A handbook memory leak that would occur upon changing the active session (leaving a game into the main menu, changing a server etc.). [YLD-50888] Fixed: Main menu: Back button leads from community games sub-categories to Main Menu. [YLD-50909] Fixed: A null pointer reference when drag&dropping various corner-case stuff from your hotbar into equipment slots. [YLD-51046] Fixed: Wolf clip into character when attacking too much. [YLD-51054] Fixed: Wolf legs clip into eachother in walk, trot, run. [YLD-51229] Fixed: Ship Wrecked Shenanigans event could not be completed if you already owned a ship after the first yland. [YLD-51750] Fixed: Using saw on tree from BP will destroy original tree. [YLD-52188] Fixed: The displayed cost for EP in the tech tree now shows correctly when discounted by partially unlocked nodes. [YLD-52254] Fixed: Golem's lower body opens too much in Special Attack and Hit Reaction animations. [YLD-52320] Fixed: Issue in hint sorting mechanism that could needlessly eat performance.
[YLD-50263] Fixed: VS: there is unnecessary ':' in chat window when showing bubble with hidden speaker. [YLD-50664] Fixed: VS: Custom enum's names are shown in Upper case on script tiles. [YLD-50901] Fixed: VS: Opening Transaction window from Dialog window does not work. [YLD-50949] Fixed: VS: The Count instruction in visual scripting will no longer end in an infinite loop if it's starting from 1 and going towards -1 by increments of 1. [YLD-50988] Fixed: VS: There is a wrong tile in context menu of variable of custom enum type. [YLD-51374] Fixed: VS: Plus button of array setter tile adds a single value tile. [YLD-51741] Fixed: VS: Changes to argument of copied function can affect argement of the original function. [YLD-51816] Fixed: VS: Time trigger set to specific game hour fires when a scenario is launched in some cases. [YLD-51968] Fixed: VS: Switch with all cases + default branch merged together breaks VS. [YLD-52462] Fixed: VS: Count with does not work correctly in some situations. (when using language with decimal comma).
[YLD-42529] Fixed: Editor: It is not possible to change static camera position in properties window in Preview camera mode. [YLD-49703] Fixed: Editor: Cut/paste of entities on vehicles does not work correctly. [YLD-49822] Fixed: Editor: Trigger zones do not register some entities. [YLD-50261] Fixed: Editor: It is possible to summon any animal with high base domestication level by any player. [YLD-50317] Fixed: Editor: Objects in Object explorer are not sorted correctly when contextual search is active. [YLD-50685] Fixed: Editor: Rotation and position changes to groups in hierarchy via custom tool script behaves incorrectly. [YLD-50796] Fixed: Editor: "Death penalty" in Player role is not translated. [YLD-51224] Fixed: Editor: Transform widget can be destroyed when you unload map part containing it. [YLD-51257] Fixed: Editor: If you press RMB while editing shape in Shapes Tool then a gizmo deactivates (and cannot be reactivated). [YLD-51659] Fixed: Editor: It is not possible to set Game time with "minutes" precision. [YLD-51687] Fixed: Editor: Group templated do not ignore original group rotation. (the same way as Entity/GL templates do). [YLD-51880] Fixed: Editor: Animated entities have wrong position in blueprint preview image. [YLD-52405] Fixed: Editor: Updating Script modules with Image library does not work correctly.
Fixed: Alienflower should now be blueprintable. Fixed: Current HP of some NPCs exceeds their maximum HP, resulting in looong healthbars. Fixed: RE103 - Medieval House contains obsolete variants of paintings (replaced with pieces done by a more talented painter). Fixed: Small twitch in Rhino's belly during light attack cleaned up. Fixed: Vendor NPCs are not present in a newly created map until another day passes.
Dev Diary #325 Gamepad has landed
Ahoy Ylanders!
We have been hinting for some time that we are working on gamepad support. Well, we have finally managed to do it for next Ylands update 2.3. Ylands will have full gamepad support and it should be possible to play completely without mouse and keyboard. In this programmer diary we will look what this actually entails.
Input abstraction
First step for gamepad support was already mostly done – input abstraction using action triggers. Action trigger represents specific game action (forward movement, reload, submit…) and has bindings for individual input devices. Each frame we check currently active input device for pressed keys or buttons. Each key/button can correspond to several action triggers. This is used to construct frame input that converts this information into which action triggers are active and for how long.
Then (from individual screens or gameplay scripts) we can ask frame input if specific action trigger is activated in a way we are interested about. That could be instance we press it, release it, after tap, or after long press. If we detect this, we can consume action triggers using same binding so that next system will not react to same button. This way individual systems do not have to care if we are using keyboard or gamepad – to them it is same because of these frame input events.
Navigating the menus
Next big step was to create new gamepad navigation system that can work with our UI. It consists of new navigation elements, sub contexts, headers and sub headers, proxies, and navigation manager itself that controls all that. Its job is to register/deregister all elements, pick best element when navigating, check what sub context are we in and more. Individual elements can be then set up in many ways to handle all our needs for given screen. That could include limited navigation space (sub context), navigation events (when we need to react to navigation to specific element), hardcoded navigation routes etc.
Control hints
Ylands have complex controls over many game situations and UI screens. That’s why we had to create new system of visual control hints. These are universal object that contains many images and texts. Based on assigned control device and action trigger it will use all its elements to construct the hint. There are also other settings that can alter the appearance like if it should react to long presses if it should display name of action trigger and many more. So, we just need to place this universal hint to correct place, set couple parameters and connect it to script. Every time there is input device change or hint was spawned it will check if it should be displayed and toggles visibility as needed.
Updating our user interface
Last part of gamepad support was the biggest time sink – updating all our screens and popups so they are fully usable only with gamepad.
For most screens it means these steps:
1. Add navigation elements to all selectable things we want to be able to navigate. 2. Split areas into navigation sub contexts if necessary (for example divide main are from search field). 3. Add selection visuals for all navigable objects. For that purpose, we have universal orange selection box we can just quickly place and connect with navigation element. 4. Replace old buttons with new. They look the same, but they have control hints built in, so we don’t have to allow navigation to these buttons. 5. Add remaining control hints and helper objects that hold them (if we want some extra graphics with those hints). 6. Set up all control hints with correct action triggers, press lengths etc. 7. Check if layout of the screen is ok if we switch from keyboard to gamepad. When that happens many new objects will appear that can cause chaos. Fortunately, we can solve almost all these issues with automatic horizontal/vertical layouts that will resize individual elements for us if we set them up properly. 8. Expand the screen script with new hints and helper objects, add reactions to specific action triggers in frame input and sometimes add some custom gamepad logic if the screen is too nonstandard. Hints also needs to be refreshed on any input device change so that we know which should be active. 9. Connect all hints and helper objects with the script and hope you did not make any mistake.
Main issue is the sheer number of individual screens that are present in Ylands. Many are quite straightforward, but some are highly specialized and need lots of custom coding for gamepads or lots of control hints. For example, blueprint detail popup has 16 control hints (average is 3-5) and several sub popups it can access and many configurations how it can look.
Conclusion
It was long work (and long diary, sorry), but we have finally reached state we can present it to you. From update 2.3 onwards you can play with gamepad only. We will continue to improve the gamepad experience and fix any bug you will send us.
In the meantime,
Stay classy!
Dev Diary #324 Announcing an announcement
Ahoy Ylanders!
We will keep it short today. We have an announcement to be made live very soon.
This news is the result of a lot of hard work and answers repeated calls from our community. We look forward to seeing you there.
Stay Classy!
Dev Diary #323 6 Player's creations in Ylands
Ahoy Ylanders!
Today we are proud that we can show off 6 new homes for one of our vendor painter Ros Bobb! All of them created by our beloved community during competition on our Discord server: https://discord.com/invite/ylands
These ancient ruins are designed to cool Ros Bobb's head while he paints, made by @handofthesly.
Arid Region
When you want to run an art shop in the middle of the dessert you sure need reliable way to get out before the noon strikes, therefore the car. Stolen art shop by @AAAFrom.
Monsoonal Region
Yet another stunning creation by @handofthesly. Home as colorful as the region itself!
Temperate Region
Everyone deserves a nice house. Ros Bobb managed to achieve it even in this economy, thanks to @YoHasLEGO.
Taiga Region
Taiga is dangerous, everyone knows that. Just like @Elenis, which is why they created this sturdy house for our beloved painter.
Polar Region
When you cross polar circle it ain't easy to keep yourself warm while painting. However, this epic station by @MuffinBytes will most definitely do the trick.
We are truly excited about these fantastic builds and want to thank you for all the wonders you create in Ylands. And if you're interested in competitions like this or having your creation featured in the game, don't forget to join Ylands Discord server for more competitions!
Stay Classy!
Dev Diary #322 Experimental Elven Expeditions
Ahoy, Ylanders!
Here we go again, our beloved hardcore adventurers. The Classy Adventurers Guild calls for aid! As you know, the world can be a bit... wonky. It's not easy to find and fix all the wonkiness, and that's where you shine.
Okay, let's get down to business. We would be thankful for any feedback and time spent with the experimental version of update 2.3. Appropriate rooms on our Discord are waiting for your feedback and opinion. Join the Ylands Discord server here: https://discord.com/invite/ylands
Just to tease you a bit, you can look forward to the next story yland in the Monsoonal region and some BIG improvements for random encounters. You can find all information about the experimental version, including changelog and highlights, here: https://ylands.com/community/topic/32825-experimental-build-23-update/
Thank you so much for your help. We can't wait for Update 2.3 to go live.
Until then, Stay Classy!
EXPERIMENTAL Build - 2.3 Update
Ahoy Ylanders,
We've been hard at work on the upcoming update, which we titled Elven Expeditions. And before we release it, we bring you the experimental build!
Available only to Steam users, the Experimental build offers you guys a chance to:
test upcoming features & changes
report any bugs & provide early feedback (#experimental_build room on our Discord server is a great way to do that)
HOW TO TRY THE EXPERIMENTAL BUILD
*optional* If you've been playing for a while and are not a newer player, please delete the contents of this folder C:\Users\\AppData\Local\Temp\Bohemia Interactive\Ylands\Crashes
Go to your Steam library and right-click Ylands
Select Properties, click the "Betas" tab, and enter "YExperimentalPublic" as the password (excluding the double quotes)
This will unlock the "i_will_back_up_my_saves" branch. (Please note that you don't need to back up your saves anymore this is just the name of the branch).
After selecting the branch and confirming it, Steam will begin downloading the new experimental branch
SUPER IMPORTANT INFO!
Any progress you make on the experimental build DOES NOT carry over to your live game!!!
When you start playing experimental, we will now copy your live progress into experimental for you. You can try your actual progress in the new update right away (remember that you are playing in a separate environment so it will not affect your progress on live by any means).
What WILL be copied:
Adventure mode progress,
All editor scenarios and tools,
Non-protected workshop scenarios and all the blueprints you have uploaded to the workshop
All your purchased blueprints
All your local blueprints
What WILL NOT be copied:
Sharegames
Rented servers (if you want any of those maps on experimental, you will need to turn them into singleplayer maps before you start experimental for the first time)
Any workshop assets with global user data (leaderboards, game sets, etc)
Do not copy any local files! Any TAMPERING with local data can lead to irreversible loss of progress!!!
Not all features that will be released in the full release are necessarily available in the Experimental build. It is possible that some features available in the Experimental build might be changed, balanced, or removed before the full release.
...with that out of the way...onto the good stuff!
Highlights
Random Encounter Objectives
We improved random encounters so now you are able to keep track of RE objective progress. We hope it will motivate you and your friends to explore ylands even more now.
Luring lighthouse
A new chapter of the story takes you to the Monsoonal region where strange things started happening. Could this have something to do with the arrival of elves into the region? It is up to you (and Horatio Reginald Elmwood, of course) to find out what's going on!
Gamepad
Gamepad controls is finally here for you. Do not forget that with gamepad we help you a little bit during the combat with the aim assist.
Quality of life improvements
You may now use freeplace feature for your blueprints, it can be freely rotate and snap to ground at your will.
EDITOR improvements:
Polished ease of use of input fields throughout the editor.
Merged Terrain and Advanced Terrain Tools and split Game Logics into Basic Logics and Script Logics.
Custom Enums are now a standalone Visual Script Category.
Custom Localizations basic workflow introduced - create your own localization tables for custom games.
Positions and Rotations in Visual Scripting reworked to be more intuitive.
New Project Browser makes searching and opening Editor Scenarios much easier.