1. Ylands
  2. News

Ylands News

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.



[h3]Input abstraction[/h3]
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.

[h3]Navigating the menus[/h3]
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.

[h3]Control hints[/h3]
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.

[h3]Updating our user interface[/h3]
Last part of gamepad support was the biggest time sink – updating all our screens and popups so they are fully usable only with gamepad.

[h3]For most screens it means these steps:[/h3]
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.

[h3]Conclusion[/h3]
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.

The stream will be held on Tuesday, 28. 5. at 3 PM CEST here: https://www.twitch.tv/ylands

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

All of these are currently found on the experimental build, so feel free to try that one here: EXPERIMENTAL Build - 2.3 Update Ylands


[h3]Tropical Region[/h3]

These ancient ruins are designed to cool Ros Bobb's head while he paints, made by @handofthesly.




[h3]Arid Region[/h3]

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.




[h3]Monsoonal Region[/h3]

Yet another stunning creation by @handofthesly. Home as colorful as the region itself!





[h3]Temperate Region[/h3]

Everyone deserves a nice house. Ros Bobb managed to achieve it even in this economy, thanks to @YoHasLEGO.





[h3]Taiga Region[/h3]

Taiga is dangerous, everyone knows that. Just like @Elenis, which is why they created this sturdy house for our beloved painter.





[h3]Polar Region[/h3]

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

  1. 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
  2. Go to your Steam library and right-click Ylands
  3. Select Properties, click the "Betas" tab, and enter "YExperimentalPublic" as the password (excluding the double quotes)
  4. 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).
  5. 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.