Supporting features for tutorials
Author: danger726,
published 2 years ago,
Hey everyone, here's a quick update on progress over the past month. I spent most of my time working on the tutorial scenarios, but also implementing some features that support the scenarios while also being beneficial to the game more broadly.
[b]Attachment locking[/b]
For the tutorials, I wanted to be able to prevent the player from detaching certain parts from constructions in those scenarios.
So, I implemented an "attachment locking" feature, which allows attachments to be set as locked, preventing them from being modified or deleted. Parts that are connected with locked attachments are selected together.
To toggle an attachment locked / unlocked, you just target it and press [b]Left Shift + E[/b]. The attachment's UI indicator shows when it is locked.
[img]https://clan.cloudflare.steamstatic.com/images//37970304/402075ae18aea872f79ace0e190133803789d410.jpg[/img]
Also, there are now options in the selection menu for locking / unlocking attachments of all selected parts.
[img]https://clan.cloudflare.steamstatic.com/images//37970304/0b8096ed132b5042d963d3cc952a79ac246e79a0.jpg[/img]
Now, when setting up the tutorial scenarios, it's easy to specify which parts should be non-detachable.
Besides, this feature is just generally useful while building I think. It allows for creating "sub-constructions" that can't be accidentally broken apart, but can still be detached from the rest of the construction as a single entity.
[b]Compass HUD[/b]
For scenarios that use checkpoints, I thought it would be good to try and direct the player towards those checkpoints. I figured the same solution could also be used to help the player find "lost" constructions.
So, I decided to add a compass HUD to the top of the screen. It shows cardinal directions based on the player's facing direction, as well as the direction to any constructions in the scene.
Parts can optionally override the default icon shown, this allows checkpoints to have their own icon to be more easily identifiable.
[img]https://clan.cloudflare.steamstatic.com/images//37970304/4a4c05fd63b36599cf9786fc1ad8b5b30ebcdca8.jpg[/img]
[b]Scenarios[/b]
As I mentioned, the bulk of my time was spent working on the tutorial scenarios. This is proving a lot more time consuming than I'd hoped, but I am making progress. I have the first five tutorials mostly done now, and I'm working on the sixth one, which should hopefully cover most of the remaining basic building concepts.
I've also started thinking about more open ended scenarios. As a test I made a "timed lap" scenario around one of the race track routes. This worked out pretty well, so I'm going to make a few more of these to include with the game.
[img]https://clan.cloudflare.steamstatic.com/images//37970304/946755b3aec6ed742fc985dcad58b21060ee23ca.jpg[/img]
[b]Help screen[/b]
As a supplement to the tutorial scenarios, I've also overhauled the help UI screen to be a better user guide and reference. I added sections on various topics such as spawning a construction, spawning and attaching parts, changing attachment types, and so on.
[img]https://clan.cloudflare.steamstatic.com/images//37970304/9b796a2ab6aa9f8bbd448a6f11801e33e7851ba6.jpg[/img]
[img]https://clan.cloudflare.steamstatic.com/images//37970304/dac07daedf0150a011fd3112f760dd3d05cc1eeb.jpg[/img]
[img]https://clan.cloudflare.steamstatic.com/images//37970304/2f3469aa60e23f0281edad26bdc1205acf447c74.jpg[/img]
I removed the page linking to the old tutorial videos, as some of them are out of date since the builder tool changes a while back.
[b]Localisation[/b]
Lastly, I've started looking into adding localisation (for translating in-game text for different languages).
I decided to go with Unity's own localisation package, it seems to do everything required and I didn't see any need to go with a third party solution.
Integrating this package and setting up the locales (i.e. languages) was nice and easy. Right now I have English, French, Italian, German, Spanish, and Russian locales, I can add more later as needed.
As a test, I set up localisation just for the UI menu and screen heading text. I used Google sheets to make a text translation table (just using Google translate for now), and imported that into the game.
This process worked pretty well, but the prospect of localising all the other in-game text is a bit daunting, I suspect the translation table will end up being pretty large. I'll have to prioritise the most important stuff and do it in stages. Hopefully I can find some volunteers to help with the translations!