-
I am new here,Will using rust as a scripting language increase the threshold? |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 8 replies
-
What threshold? |
Beta Was this translation helpful? Give feedback.
-
Compared to your typical introductory game engines like Unity, Unreal, or Godot? Probably-ish. For absolute beginners, Rust has traditionally put a lot of the learning curve up front, and that's not too viable as a baseline introductory language to programming. It's by far one of the most prevalent gripes people have with learning Rust as a whole, even for experienced programmers. However, when you compare Bevy's ease of use to the other options in the same niche, like Unity's DOTS/ECS, Bevy's rather easy domain specific language for handling systems and components makes it rather easy to onboard onto, provided a minimal amount of prior programming experience. In fact, it's become quite common to hear of users trying out Bevy as a way to learn Rust, which I personally think is a good sign that the overall API design is doing it's job in easing onboarding into the engine. If you want a comparison as to how boilerplate and concept heavy doing ECS development can be, just take a look at the simplest example taken straight from Unity's ECS examples repo: using Unity.Entities;
using Unity.Jobs;
using Unity.Mathematics;
using Unity.Transforms;
// This system updates all entities in the scene with both a RotationSpeed_ForEach and Rotation component.
// ReSharper disable once InconsistentNaming
public partial class RotationSpeedSystem_ForEach : SystemBase
{
// OnUpdate runs on the main thread.
protected override void OnUpdate()
{
float deltaTime = Time.DeltaTime;
// Schedule job to rotate around up vector
Entities
.WithName("RotationSpeedSystem_ForEach")
.ForEach((ref Rotation rotation, in RotationSpeed_ForEach rotationSpeed) =>
{
rotation.Value = math.mul(
math.normalize(rotation.Value),
quaternion.AxisAngle(math.up(), rotationSpeed.RadiansPerSecond * deltaTime));
})
.ScheduleParallel();
}
} |
Beta Was this translation helpful? Give feedback.
Compared to your typical introductory game engines like Unity, Unreal, or Godot? Probably-ish. For absolute beginners, Rust has traditionally put a lot of the learning curve up front, and that's not too viable as a baseline introductory language to programming. It's by far one of the most prevalent gripes people have with learning Rust as a whole, even for experienced programmers.
However, when you compare Bevy's ease of use to the other options in the same niche, like Unity's DOTS/ECS, Bevy's rather easy domain specific language for handling systems and components makes it rather easy to onboard onto, provided a minimal amount of prior programming experience. In fact, it's become quite c…