BearSampleProject Teaches Me Nothing

Hi, I am SUPER excited about doing more stuff with animals when it comes to scenery. I’m also a novice with models so this could be my own shortcoming. I found the animal objects–one from Asobo and the other from Microsoft:

  • asobo-simobjects-animals
  • microsoft-simobjects-animals-[animalType]

To give some context while randomly exploring I encountered some deer in a remote northern airport in the US. I stepped out of my plane (Shift + C) and I noticed that when I got close to them–they scattered. I thought that was so awesome.

I read the BearSampleProject to see how to do that and all it really showed me was how to build the project and insert it into the scenery. Scenery 101.

I don’t have any idea on how to replicate that behavior!? :sob:

I was hoping it would be built into the SDK, but all I see is a bunch of models (with idle animation) to insert into the scenery, but nothing on behavior. What am I missing? Thank you for any insight.

https://docs.flightsimulator.com/msfs2024/html/7_Samples_Tutorials/Samples/SimObjects_Other/BearsSampleProject.htm
https://docs.flightsimulator.com/msfs2024/html/5_Content_Configuration/Modular_SimObjects/SimObjects/Living_Things.htm

I haven’t looked at it, but having done AI in other projects it’s not that complex.

Essentially you need two components to implement some NPC behavior.

  1. A sensor, that allows the NPC’s to observe the player at a certain distance and sensor angle/fov (if using different sensors), and a threshold (for sound, visibility response triggering etc).
  2. Behaviors. For animals you can implement something like boids algorithm, using all the elements or just some of them to flee either individually or as a pack when approached.

google boids and/or flocking.

https://github.com/topics/flocking?l=javascript

OP expects a Sample to provide the same behaviour of in-game assets …
So if the Bear runs when approached, the sample Bear must have all the items needed

Animals now are spawned as Living World, (debug Simobjects Living World you will see all of them)
those are likely instances of the old Worldcripts (a pure guess indeed)
Inside the Worldscript, using proximityTriggers it is possible to drive the animations based upon the distance of the user airplane
We are indeed missing the Interaction with the Avatar (something that we were SUPER HAPPY to have in Alpha Dev and that was removed for whatever reason and never explained, right @SLH ?)


Tbh
Suggesting non game related solutions is not really helpful imho(because you know we have limited access to the runtime)

1 Like

I’d like the same with efb but we’re not getting that either, are we?
You get a bare bones sample and the rest is up to you, and whatever people discover to share here.

Suggesting non game related solutions is not really helpful imho(because you know we have limited access to the runtime)

The whole point of the SDK is extension, and if you can move something in the sim via sdk and get positional info you should be able to implement behaviors on it. It’s a game engine at heart. Still, it is missing a lot of standard behaviors you would expect as well. Been waiting forever for event triggering so you could implement racing or timed events, for example. We thought we might get that with Reno, but no. At least that looks to be in, finally.

There’s also performance implications to implementing anything on top of the SDK, so that also needs to be looked at closely. Could be a deal killer.

Finally, while they may say “sure, we’ll get that to you soon” there’s no guarantee when “soon” may be, so you may as well experiment and see what works, or doesn’t.

Exactly, I was hoping it would magically start working again in the latest patch. But still nothing. You gave us a whole avatar system, for us to have to be walking through doors like ghost? If I was a game developer adding an avatar system, the second thing I would think of would be doors!

… Come on this is a huge bummer. We need these script issues fixed.

A lot of the sample are just rushed mediocre projects. Basically teaching you nothing except the file structure to be used. As a true flight simulator MSFS2020 would have been mediocre at best without third party developers, the least they could do is put some actual effort into the SDK samples. Everything the sim engine is capable of that they know of should be there and a sample provided. They speak of the SDK documentation as if its some rocket science task… It’s just to call the people who worked on the default asset in the sim and tell them to sit down and explain and provide a sample that has all the features you used.
Yes i’m quite irritated, but i speak out of love. We need better samples and we need proximity triggers fixed/working for the avatar. @Yasmine @FlyingRaccoon @Boris @EPellissier

Having to make the choice , when forced to an early release, what is a developer expected to do

(1) Work on the product, to get it working as well as they can for that early release date
(2) Write documentation for a product that is still being developed.

But if the product is not documented as it s developed, one wonder how the developers all know what is being developed, which may be a big contributing factor into so many things getting broken with updates, and why it appears to the customer, that so much has not even been tested, assuming the product has not been designed/evolved with test ability in mind, or to meet any pre specified testing specification.

@tabletopANDROID

  • The BearSampleProject is a very simple project indeed and there’s a reason for it: it is actually aimed at people who start with MSFS development and need such simple projects to understand the basics of creating animals for the sim.
  • We do not have a sample yet for complex animal behaviors - part of the system (spawning for instance) is reliant on some online services so it’s not like you can just spawn a herd of whatever animal wherever you want. I need to talk to the right team in order to clarify what could be exposed and what cannot - but as you may know there are other urgent topics for us to tackle at the moment.

@SLH

I understand you are not happy with the current SDK but:

  • I fear your tone may end up being rather counterproductive.
  • Any sentence starting with “it’s just…” or “they just have to…” is usually quite wrong.
  • Again, we have lots of things to look into & fix these days. So yes, issues with proximity triggers for the avatar may have to wait a few weeks before we can look into them.

Best regards,

Eric / Asobo

3 Likes

I know nothing is as easy as it seems, but for putting explanations and attaching a sample, i struggle to see the complexity in that if someone had to create the Default assets.

But that aside why would there a reason that something regarding the animal behaviors would not be allowed to be “exposed”.

That’s precisely because you don’t know how this mechanism works - and it’s perfectly normal:

  • First of all, this is not just “assets” - the whole fauna system was not done by one single person: the online, art, gameplay, mission design & engine teams worked together, each one focusing on a very specific aspect.
  • Right now all aspects are tightly linked and if we want to open the system to a wider audience we probably need to have a lighter setup in place.
  • Then there’s the question of explaining this setup in a step-by-step manner: of course we have internal documentation for this but, again, there are parts of it that would be irrelevant as a third-party or needs to be reformulated. It takes time and needs checking by the SDK Team, which we do not have right now.
  • As explained above there are many parts to the fauna system that are probably too tightly linked together at this stage - and we have no plan to expose some of these links (at least for now).
  • For instance we have heat maps that are stored online to define the distribution of species over the whole planet - we use them when generating certain types of missions.
    • This is probably something we should not require for some standalone scenery that tries to add its own animals.
    • However we will need something similar for an add-on that aims at adding animals we don’t have yet on the whole planet - but this shouldn’t have to go through our online service.
  • I’ll have to check but it may be that some behaviors are also triggered at the mission generation stage because they would depend on some specific geographical properties identified server-side. Obviously that won’t work “as-is” with a local package.

Anyway, that’s just a few comments on why making it available to the community is not as easy as “they just have to…”. I guess we’ll get there eventually but as of today we have other urgent things to fix before diving into this topic.

Best regards,

Eric / Asobo

5 Likes

Thanks for the clarification, Eric. Oddly enough having herds of animals spawning in was EXACTLY what I was looking for. :rofl: Now knowing that it’s done by an accompanying service and not just the SDK makes it all-the-more-real that I’m reduced to simply peppering in animal assets around my sceneries instead of the cool spawning and triggered behavior I randomly experienced in the sim. :crying_cat_face:

With that said, I do like the idle animation and the sounds provided by them.