TUXDB - LINUX GAMING AGGREGATE
by NuSuey
NEWSFEED
▪️ GAMES
▪️ STEAM DECK ▪️ DEALS ▪️ CROWDFUNDING ▪️ COMMUNITY
tuxdb.com logo
Support tuxDB on Patreon
Currently supported by 8 awesome people!

🌟 Special thanks to our amazing supporters:


✨ $10 Tier: [Geeks Love Detail]
🌈 $5 Tier: [Arch Toasty][Benedikt][David Martínez Martí]


Dialogue

Hi there! Its been a decent while since we got a devlog out, since weve been kept busy with playtesting, polish, bug fixes, and general business endeavours. A lot of the things that has happened since last deserves dev logs of their own, to be honest but today Im going to talk a little about a subject that is very important to Mechanical Sunset, and really almost any game: dialogue! It has been clear to us from the beginning that Mechanical Sunset will require a fairly advanced system for handling dialogue. Robots in the City should feel alive and responsive, react to the players actions, offer advice and hints, and generally behave in a [strike]human[/strike]robot-like manner. --- Author: Fredrik "Olaxan" Lind --- A lot of people are familiar with the concept of a dialogue tree: a branching set of character replies, and options for the player to choose between. A dialogue tree allows you to offer dialogue conditionally, meaning robots can be programmed to only say certain things based on the state of the current scene. A common example in the MechSun demo is robots commenting on the state of a nearby light the player might have turned it off. Here is an example of one such tree, as implemented in the current demo.
Users who are familiar with Unreal may cringe and shudder at the sight of this, for reasons Ill soon explain. This is the logic of TUTIS idle commentary, which appears over his head when the player approaches.
A Selector node will check its children from left to right, continuing with the first one that reports success. It can be used to output dialogue conditionally. A Sequence node will simply execute its children in order (left to right), aborting if any of them fails. This simple logic has allowed us a lot of advanced world interactions with relative ease! For instance, AMSTRAD the robot noticing if the player has turned off his ceiling light, but fixed the power to the area or TUTIS offering what is pretty much a step-by-step solution to the first power puzzle, if prompted. [hr][/hr] Fredrik Olaxan Lind Speech Therapist A lot of people are familiar with the concept of a dialogue tree: a branching set of character replies, and options for the player to choose between. A dialogue tree allows you to offer dialogue conditionally, meaning robots can be programmed to only say certain things based on the state of the current scene. A common example in the MechSun demo is robots commenting on the state of a nearby light the player might have turned it off. Here is an example of one such tree, as implemented in the current demo. Users who are familiar with Unreal may cringe and shudder at the sight of this, for reasons Ill soon explain. This is the logic of TUTIS idle commentary, which appears over his head when the player approaches. A Selector node will check its children from left to right, continuing with the first one that reports success. It can be used to output dialogue conditionally. A Sequence node will simply execute its children in order (left to right), aborting if any of them fails. This simple logic has allowed us a lot of advanced world interactions with relative ease! For instance, AMSTRAD the robot noticing if the player has turned off his ceiling light, but fixed the power to the area or TUTIS offering what is pretty much a step-by-step solution to the first power puzzle, if prompted So whats bad about the above? Well, Unreal devs will notice that the images depict a Behavior Tree. Behavior Trees are common in game engines to provide a designer-friendly interface for AI programming. They are meant to provide an intuitive logic flow for creating agents that can chase the player, investigate noises, mill around randomly the sort of thing were used to from open-world games. They are NOT meant for dialogue! There are a few reasons for this, and Ill try to explain a few. This is a DIALOGUE TREE. It is the result of us porting all dialogue to the frankly excellent dialogue plugin NotYetDialogue for Unreal.
If theres a takeaway to be had from this devlog, its that plugin. Remember the name for whenever you find yourself in a situation that demands any sort of dialogue, because it is excellent. Now, whats the difference between that graph, and the Behavior Tree? The main difference is that a Dialogue graph allows for multiple connections to one node. As you can see in the picture above, several dialogue choices feed into the central node, and the dialogue proceeds from there. That is not allowed in a Behavior Tree. Now, this might seem like a massive downside (and it is!), but using Sequences smartly will allow for a very similar behavior so no deal-breaker yet. Another difference is that nodes in Behavior Trees are meant to be more or less independent of one-another. This led to challenges for us, where we could not visualise on the dialogue UI which dialogue paths had been taken; which would end the dialogue, etc. There was no real knowledge of what was coming next in the tree. [hr][/hr] So obviously Behavior trees are a bad choice for dialogue. Why did we ever go with them to begin with? The reason are twofold! 1. A very popular tutorial that will come up when you search for these things will lead you down the path to ruin. 2. Its actually quite powerful to have dialogue and AI behavior tightly coupled! With dialogue baked into the AI behavior tree, we can take full advantage of Unreals AI Tasks, such as moving, animating, and modifying AI state; directly from the dialogue. This setup, for instance, allowed us to rotate a robot to point at a specific door in the scene, using AI Tasks.
We could have robots being told to walk somewhere, and obey. We could have robots commenting on their own AI actions by having them speak through their ambient dialogue (the widget above their heads). Now, is this type of behavior impossible with a more loosely coupled dialogue-AI relationship? No, certainly not. It was simply nice while it lasted, and made it more difficult to identify the fact that the whole approach was a fairly bad idea. [hr][/hr] Im happy to end this devlog by telling you that transitioning our dialogue to the new system was a neat and quite quick affair, and that the new plugin will allow us MUCH more flexibility going forwards. I would like to again mention the name NotYet Dialogue (https://gitlab.com/NotYetGames/DlgSystem), because the plugin deserves the recognition. It is robust against error, flexible, and designed in a manner that fits most games. It is highly recommended. And if theres a takeaway to be had apart from that, perhaps itd be that even a system that seems good in a lot of regards can be undermined by grievances that are hard to fix, and that one shouldnt be afraid to take a few steps back and recognize problems sooner rather than later. I liked our previous method of doing dialogue, but the new way is simply better in all regards. A lot having changed under the hood, the UI has received only minor touch-ups.
Well, porting the dialogue may has been painless but also mind-numbingly dull and repetitive, with no less than 34 trees (including ambient commentary) having been migrated manually. With that out of the way, I am more than happy to say: Me, the Gumlins, and the robots wish you a good weekend! See you next time!


[ 2023-02-08 10:59:00 CET ] [ Original post ]



Mechanical Sunset
Gumlin Games
  • Developer

  • Gumlin Games
  • Publisher

  • 1970-01-01
  • Release

  • Action Indie Strategy Casual Adventure Simulation F2P Sports MMO Racing Singleplayer Multiplayer Coop EA
  • Tags

  • Game News Posts 11  
    🎹🖱️Keyboard + Mouse
    🕹️ Partial Controller Support
    🎮 Full Controller Support
  • Controls

  • No user reviews

    (0 reviews)


  • Review Score

  • https://www.gumlin.com/
  • Website

  • https://store.steampowered.com/app/1946760 
  • Steam Store

  • a Restless wanderer

    The City of Machines wanders restless through the barren wastes. Here, everything is machines; even the inhabitants. Ever onward, the City chases Optimum: the last, fleeting oasis of time left in the world.


    However, A New Threat Looms On the Horizon.

    a Mechanical Puzzle Adventure

    Mechanical Sunset is a mechanical puzzle adventure. In the game, the player will get the chance to explore The Wandering City of Machines; a place its robotic inhabitants have made home. This is a bizarre place where the warm, inviting lights of a cabin mingles with heavy machinery, cascades of sparks, and forests of wire and pipe.




    On their way through the metal jungle, the player will have to learn to operate the aging machinery; buttons, levers, gauges and lights guide you as you awaken the slumbering leviathan.

    Features

    • Navigate through the bizarre and unfamiliar world of the Walking City of Machines, where
      mechanical meets countryside comfort.
    • Encounter obstacles that must be overcome by learning to operate large and unfamiliar machinery.
    • Learn to interpret what the machines are telling you by reading indicator lights and gauges;
      connected to accurately physics-simulated components.
    • Manipulate the world around you using old, analogue control panels. Satisfying buttons and
      chunky levers are your means to get the old machines running again.
      • Careful: the inattentive player may end up breaking the machinery and have to rely on
        alternative solutions to get what/where they want.
    • Talk to the interesting robotic lifeforms around the City.
      • Discover their Wishes, Dreams, and Ideals.
      • Help them With their Tasks – Or Don’t.
      • Ask them for help with puzzles that you can’t crack on your own.
    • Discover the truth behind the temporal apocalypse.
      • Time is freezing, and it is up to the player to figure out why, and how to stop it.



    This is a game for people who like pressing buttons.
    GAMEBILLET

    [ 5939 ]

    19.95$ (20%)
    39.87$ (20%)
    4.89$ (30%)
    16.74$ (33%)
    5.78$ (17%)
    20.49$ (18%)
    6.79$ (15%)
    24.87$ (17%)
    1.58$ (92%)
    7.50$ (75%)
    1.67$ (16%)
    1.58$ (80%)
    8.42$ (16%)
    24.87$ (17%)
    2.00$ (80%)
    37.36$ (38%)
    24.89$ (17%)
    8.49$ (15%)
    29.72$ (15%)
    1.78$ (88%)
    2.00$ (80%)
    3.20$ (68%)
    12.95$ (19%)
    6.79$ (-127%)
    9.71$ (46%)
    1.50$ (85%)
    5.00$ (50%)
    17.19$ (14%)
    3.96$ (80%)
    24.89$ (17%)
    GAMERSGATE

    [ 3154 ]

    2.5$ (50%)
    1.84$ (74%)
    2.0$ (80%)
    14.62$ (51%)
    6.6$ (74%)
    2.25$ (89%)
    9.37$ (63%)
    11.24$ (63%)
    7.5$ (70%)
    1.46$ (89%)
    2.63$ (74%)
    7.49$ (63%)
    3.4$ (83%)
    1.25$ (75%)
    1.5$ (62%)
    1.46$ (89%)
    0.38$ (92%)
    0.48$ (52%)
    0.48$ (52%)
    11.24$ (55%)
    0.53$ (92%)
    7.5$ (81%)
    0.49$ (75%)
    5.1$ (83%)
    6.74$ (55%)
    2.5$ (75%)
    0.75$ (92%)
    0.56$ (81%)
    1.5$ (81%)
    1.5$ (85%)

    FANATICAL BUNDLES

    Time left:

    3 days, 7 hours, 57 minutes


    Time left:

    26 days, 7 hours, 57 minutes


    Time left:

    8 days, 7 hours, 57 minutes


    Time left:

    39 days, 7 hours, 57 minutes


    Time left:

    45 days, 7 hours, 57 minutes


    HUMBLE BUNDLES

    Time left:

    6 days, 1 hours, 57 minutes


    Time left:

    6 days, 1 hours, 57 minutes


    Time left:

    15 days, 1 hours, 57 minutes

    by buying games/dlcs from affiliate links you are supporting tuxDB
    🔴 LIVE