Luduvo 50 Chat bubbles, teams, SurfaceGui

Added

More additions (22)

Changed

  • Welds: Vehicles and structures hold together under impact. Welded parts
    now move as one solid body, so they no longer flex when hit, and seated
    players stay aligned inside vehicle hulls. Welded vehicles use about half the
    network bandwidth.

  • Physics runs about 2.5x faster in places where scripts move many anchored
    parts, and parts that stand still cost less to render.

  • Bloom: Neon parts emit bloom in their configured tint instead of white,
    with a lower default intensity. Bloom no longer bleeds across base scene
    colors.
    Thanks @feelinglunar
    Cant recolor neon parts in studio?
    Thanks @666
    RGE eyes get bigger in bright lighting

  • Doppler effects follow character motion instead of camera rotation, and
    sounds parented to a part play positionally from that part.
    Thanks @jackpot
    PLEASE fix audio distortion
    Thanks @rek
    Tone down doppler effect
    Thanks @gloppy_thefish
    I mean I kinda like the doppler effect on games in luduvo

  • Player list: Stats from a server-created leaderstats instance under each
    player show again, in up to four sorted columns. The header now ends below
    the health bar, removing the empty band in places without stats.
    Thanks @YLCF
    Lighting, oh no

  • Vulkan: Luduvo no longer slows down heavily when the Vulkan SDK is
    installed. In a Studio test moving 200 parts, a tick took 1.6 ms instead of
    17.2 ms.

  • Luduvo for macOS ships as a single app bundle inside a DMG and opens
    luduvo:// links directly. The separate LuduvoUriHandler helper app is gone.
    Thanks @VRBlueGT
    Luduvo won't open on macOS
    Thanks @Jupiterboii
    Mac still broken
    Thanks @finn
    Please fix Luduvo for mac

  • Clouds render farther toward the horizon.

  • Studio Edit mode shows only saved content. Player characters, cameras and
    other runtime objects appear on Play and are removed on Stop.

  • Studio spends less time updating the Outliner and viewport during Play, so
    large places stay responsive while playtesting.

  • Gizmos: Moves, rotations and scales in Studio apply when you release the
    mouse, and Esc cancels the drag.

  • Enum properties return strings instead of integers when read, with spaces
    removed (e.g. Fog.Mode returns "Linear"; also "ExponentialSquared",
    "FollowBackground", "Color"). Writing numbers or legacy names still
    works. Scripts that compare reads against numeric constants or legacy strings
    need the new string names.

More changes (21)
  • Angles: Angle fields in script APIs, including aero surface StallAngle,
    UV transform Angle and character turn ease, read and write in degrees to
    match Studio. Pass degrees rather than radians.

  • handles: The handles global is always a table, even on objects
    without handle slots, and indexing an unset handle returns nil.
    Thanks @Jediweirdo
    [Windows] Luduvo 48's Script Handle Breaks After Inital Use

  • Signal handlers can call task.wait without blocking other handlers or
    aborting them on unhandled errors. Handler errors count toward the five
    errors in a row that stop a script, like errors in Update.

  • Touched and TouchEnded fire for solid colliders as well as
    triggers, with a separate event for each contacting part and limb.
    TouchEnded also fires when a contacting part is destroyed.
    Thanks @BroDadi
    Touch events don't detect leg touches

  • Writing NaN or infinity into positions, velocities, properties, method
    arguments, tweens or spatial queries raises a script error. So do parenting
    to a destroyed Instance and emitting recursive signals indefinitely.

  • Error messages: Engine errors name the function or property that raised
    them and identify components directly. Writes to read-only properties report
    that the property is read-only. Scripts that match pcall error text need
    the new wording.

  • Calling APIs from other engines, such as part:SetAttribute, part:IsA,
    part.CFrame, game:GetService("Players") or game.Workspace, raises an
    error naming the Luduvo equivalent.

  • Hierarchy depth is capped at 120 levels. Setting Parent deeper raises a
    script error, and places, prefabs, accessories and glTF imports deeper than
    that are rejected.

  • Prefab IDs: game.Prefabs.Id, Backpack.Slots and Backpack.Active
    always return prefab IDs as positive integers. Scripts that saved negative
    IDs from these APIs should look them up again.

  • SoundConfig is the script name of the scene-wide audio component,
    shown as SoundSystem in Studio. "SoundService" is removed; use
    "SoundConfig".

  • Instance:AddAccessory returns the attached accessory, or nil on
    failure, instead of a boolean.

  • Input: Input.KeyDown and Input.KeyPressed return false for key codes
    outside 0–255.

  • Script writes to Transparency are clamped to [0, 1] on all object types.

  • CurrentCamera: The camera selected in Studio is saved with the place
    and sets the player camera’s position, field of view and clip distances on
    spawn. Places without one get a camera assigned automatically on open.

  • Publishing checks the menu hierarchy and requires exactly one default,
    unmodified, visible Menu instance. The publish dialog lists any errors and
    offers Add Menu and Reset Menu actions.

  • The Properties panel updates only what changed on selected instances,
    keeping open dropdowns and input focus. Box-selecting many parts in the
    viewport no longer stalls it.
    Thanks @Cva
    Object Properties close early on Duplicated Objects
    Thanks @Acester007
    https://forum.luduvo.com/t/4319
    Thanks @Ghost
    https://forum.luduvo.com/t/4993
    Thanks @HYDRA
    https://forum.luduvo.com/t/5103

  • Orientation is the label for rotation fields in the Properties panel,
    matching the scripting API.

  • Camera orbit distance accepts a minimum of 0 for first-person setups.
    Thanks @Jediweirdo
    https://forum.luduvo.com/t/4149

  • Accessories attach much faster to characters wearing large accessories, since
    attachment instances inside worn accessories are no longer evaluated as
    candidate attachment points.

  • Offline single-player: In LuduvoGame, the health bar stays after a
    respawn and the camera follows the new character, matching online play.
    Thanks @Victor
    https://forum.luduvo.com/t/4572

  • Updated clients ignore place assets cached by earlier engine versions.

Deprecated

  • The following APIs are deprecated and print a one-time warning naming their
    replacement:
    • EventTable:Push, PushTo → FireServer, FireAllClients,
      FireClient
    • .Entity → .Instance
    • game.Tags → AddComponent, HasComponent, RemoveComponent with
      game.World.Pair("Tag", name), World.Each, World.Query
    • game.Players.All, IsAdmin, BindCharacter, CharacterOf →
      World.Each("Player"), HasComponent("Admin"), OwnerUserId,
      player.Character
    • game.Session → game.Players, OwnerUserId, player.Character
    • game.Animation.DrainMarkers → MarkerReached
    • game.Sound.GetBusVolumeDb, SetBusVolumeDb → SoundConfig
    • Get/SetLinearVelocity, Get/SetAngularVelocity, ApplyTorque,
      SetBodyMotion, Get/SetSwingTwistJoint, GetMoveIntent,
      GetAccessories → Velocity, AngVelocity, SubstepTorque,
      Kinematic, CharacterMoveIntent, WornBy
    • Get/SetVisionCone, Get/SetHearingSense, GetLastHeardStimulus,
      GetNearestPerceivedTarget → perception components
    • StartTimer, StopTimer → TimerRunning
    • Physics.Raycast ignore and mask arguments → QueryParams
    • part.Parent = nil → game.World

Removed

  • game.Physics.DrainTouchEvents() is removed; use part.Touched and
    part.TouchEnded.

  • The Outliner’s Show Platform Content option and Platform section are
    removed. Use Add > Platform, Delete, and Make Editable Copy on linked
    features.

Fixed

More fixes (54)
  • Fixed characters on moving seats and platforms rendering ahead under network
    latency and bouncing or sliding on moving unanchored parts.

  • The camera stays in place when the followed character dies.
    Thanks @Thanark
    https://forum.luduvo.com/t/1788

  • Fixed the health bar not resetting when the death plane destroys a character.

  • Stopped servers disconnecting clients for flooding when several players send
    high-volume network events at once, or when the server sends a burst of events
    in one frame.

  • Resolved players on poor connections staying out of sync with the server.

  • Fixed game servers crashing while loading some published places.

  • Windows clients missing the shaders for the selected graphics API now fall
    back to another graphics API and launch.

  • Fixed decals on DirectX 11 and DirectX 12 flickering and z-fighting against
    foreground geometry.
    Thanks @Jediweirdo
    https://forum.luduvo.com/t/4556

  • Corrected underexposed surfaces lit only by ambient skylight and dense ambient
    fog filling night scenes. Vertical glossy surfaces also stopped reflecting
    pure white ground below the horizon.
    Thanks @Tomo
    https://forum.luduvo.com/t/5043

  • Rounded corners on dialogs, buttons, and the player list now scale on high-DPI
    displays.

  • Fixed auto-sized frames collapsing centered labels and headers in small
    windows and narrow viewports. Wrapped text stays inside its frame, and list
    layouts stay on screen.
    Thanks @Thanark
    https://forum.luduvo.com/t/1164
    Thanks @survrin
    https://forum.luduvo.com/t/3029

  • Prevented Studio and games from crashing on negative ZIndex values, parents
    with a higher ZIndex than their children, or dropdowns opened inside
    dialogs. Children of an element also stopped covering or taking clicks from a
    later element with the same ZIndex.
    Thanks @Turing6
    https://forum.luduvo.com/t/4928
    Thanks @survrin
    https://forum.luduvo.com/t/3541

  • Fixed text showing through frames drawn over it at the same ZIndex.
    Thanks @Ghost
    https://forum.luduvo.com/t/2290

  • Elements with the same ZIndex and LayoutOrder stack in the order they were
    added, in both Studio and Play.

  • Fixed mouse clicks and scrolling passing through windows and solid panels to
    the controls underneath.

  • Fixed buttons firing Activated twice per click or before Pressed. Hidden
    or disabled text boxes release input focus, and GUI clicks stay out of the
    viewport.
    Thanks @Cva
    https://forum.luduvo.com/t/4218

  • ClickDetector catches quick clicks and touch taps on a part the pointer had
    not hovered over yet.

  • Rotating a Model in Studio turns all of its parts exactly once, including when
    nested parts are selected with the R or T keys, and undoes in a single step.
    Thanks @arx
    https://forum.luduvo.com/t/4773
    Thanks @Wildpaintbrush
    https://forum.luduvo.com/t/5092
    Thanks @Sm3llsslime
    https://forum.luduvo.com/t/5148

  • Fixed child parts being deleted or vanishing from the viewport when you
    ungroup a Model in Studio.
    Thanks @ihaunturdreams
    https://forum.luduvo.com/t/2062
    Thanks @Kuuttero
    https://forum.luduvo.com/t/2916
    Thanks @arx
    https://forum.luduvo.com/t/4773
    Thanks @persona
    https://forum.luduvo.com/t/4967

  • Child parts follow when a script moves or turns a part or Model.
    Thanks @Firebrand
    My opinion on luduvo studio scripting

  • Fixed pressing Enter on a property change with multiple parts selected
    snapping them all to the same coordinates. Fields showing mixed values stay
    unchanged.
    Thanks @pwn
    https://forum.luduvo.com/t/2048
    Thanks @Mayday
    https://forum.luduvo.com/t/3868

  • Fixed duplicated parts snapping back after you move them, and Studio crashing
    when you rapidly duplicate large selections with Ctrl+D.

  • Resolved Studio silently dropping instances when pasting large selections.

  • Fixed deleting the Sun reverting part materials to Smooth Plastic on reload
    and bringing the Sun back on publish. Places saved before Luduvo 45 load with
    their lighting in Studio again.
    Thanks @SAD
    https://forum.luduvo.com/t/4197

  • Resolved an intermittent Studio crash when starting or stopping a playtest.

  • Fixed playtest characters and accessories staying in the workspace after a
    playtest stops, which crashed the next session.
    Thanks @host
    https://forum.luduvo.com/t/2964
    Thanks @luene
    https://forum.luduvo.com/t/4902

  • Prevented a Studio crash when the Properties panel refreshes while a context
    menu, color picker, texture browser, or script dialog is open.

  • Tagging an instance from a script no longer crashes Studio during Play mode or
    corrupts later place saves.
    Thanks @Cva
    https://forum.luduvo.com/t/4979

  • Fixed player characters in Studio Play occasionally teleporting across the map
    several seconds after the simulation starts.

  • Undoing a delete in Studio restores attached custom components, such as a
    camera’s lens settings.

  • Fixed Studio’s Edit mode drawing a phantom PlayerSpawner gizmo in places
    without a spawn point.

  • Adding a Server Script, Client Script, or Script Handles in Studio keeps the
    current viewport selection.
    Thanks @x64
    How to remove script from an Instance (and how to add script handles)

  • The skybox face importer accepts images named SkyboxBk, SkyboxDn,
    SkyboxFt, SkyboxLf, SkyboxRt, and SkyboxUp.

  • Fixed orientations near vertical pitch angles snapping to axis limits in
    Properties and in Orientation.

  • The Properties inspector shows the CharacterTuning component on the World
    root in newly created places.
    Thanks @Jediweirdo
    The toggle able ragdoll

  • Fixed first-person and mouse-locked cameras in Studio playtests stopping after
    about half a turn.
    Thanks @Evrayne
    https://forum.luduvo.com/t/2705

  • Fixed camera scripts lagging a frame behind the simulation and custom
    field-of-view values resetting. Orientation writes and LookAt calls now
    steer orbit and fly cameras, and camera lens properties accept writes from
    client scripts.
    Thanks @Lots007
    https://forum.luduvo.com/t/4149
    Thanks @empire
    https://forum.luduvo.com/t/4787

  • Players.CharacterAdded now reaches client scripts. On servers it fires after
    PlayerAdded, so leaderstats created in PlayerAdded exist when characters
    spawn.
    Thanks @Vadimosolo
    https://forum.luduvo.com/t/3198
    Thanks @0v3r5e3r
    https://forum.luduvo.com/t/2747

  • Fixed Players.PlayerRemoving never firing in client scripts.

  • Events a server sends from PlayerAdded now reach client scripts.

  • Fixed player.Character not returning the player’s character, which broke
    kill bricks that check it. The property is now read-only.
    Thanks @use3289
    https://forum.luduvo.com/t/4279

  • Resolved Query:Refresh() crashing Studio on queries over built-in tags such
    as SpawnPoint, Character, or Anchored.
    Thanks @Thanark
    https://forum.luduvo.com/t/4948

  • A World.Each loop kept in a variable runs every time, not just the first.
    Thanks @Cva
    https://forum.luduvo.com/t/4855

  • Copies made with Instance:Clone() keep their assigned tags, and their welds
    and joints point at the copy rather than the original. Cloned characters are
    not bound to the original player.

  • Fixed a crash when a signal handler disconnects other handlers of the same
    signal. Later handlers are skipped once an earlier one destroys the object.

  • The script timeout now stops endless loops that fire signals or run during
    Studio playtests.

  • Fixed some tag names crashing the server or using excessive memory.

  • Fixed setting one property of a light, surface override, Health, or movement
    settings from a script resetting the other properties to zero.

  • Physics.OverlapSphere, Physics.OverlapBox, and Physics.Shapecast return
    counts that match #results, and Physics.Raycast skips the part the ray
    starts inside.

  • Fixed physics overwriting script writes to Velocity or AngVelocity on
    active bodies.

  • Visible = false hides 3D instances such as Decals, and DynamicMesh:Apply
    renders on objects created with Instance.new.

  • Custom component fields holding an Instance point at the right instance on
    clients.

  • Fixed calls dropping the arguments after a nil passed in the middle, such as
    Content.Fetch(id, nil, callback).

  • Fixed the default character walk animation never firing its Step animation
    event marker.

Security

  • Game clients and servers drop connections that send oversized or corrupt
    packets, and reject malformed place, model, texture, and mesh files on load.
20 Likes

woah i didnt expect to get mentioned here but thx for the doppler effect changes :D

bro i think i love you

Luduvo 50 might be one of my favorite releases of all time

7 Likes

This is so skibidi…

Not only are some of these bug fixes great, but some of these changes are such huge improvements to QoL for development. Having require be functional in Luduvo is so based.

cool

Great stuff, amazing work :heart:

this is amazing

1 Like

very, very nice

Nice!

chat bubblegum

1 Like

50 50 50!!!