Space Museum Final Alpha with Update 2 'The Auditorium' released in preview

:muscle: :heart_eyes_cat:

With pleasure, as always!

Maybe you could get some funding from the EU. Cultural projects are quite good funded, I heard so… Just imagine your Space Museum growing as the ISS in Valerian!!? One day alien races will start to commit code & assets to your github repo! OMG! Until then I have a vision that each country (let’s start with the EU) could add their cultural heritage. Just imagine walking trough a bad ass humongous space museum varying in interior and in content from country to country, culture to culture!

Yes, he did it. :smiley: Thanks for the great update! Not sure if I have mentioned it already but MOE is an enjoyable and fun place to be in and aroudn. You should make an entry for yourself as a great artist (and craftsman, and architect) of our time :sunglasses:

Couple of observations

Loading times. Can you do anything to speed things up? Can you lazy-load stuff in or even just on-demand maybe?

Just for instance, when spawning in, you cannot really see the paintings. So you might as well just load a 64x64 version of them and load the pretty version when entering a trigger volume or so. (**Based on the assumption that not loading all painting textures in advance substantially speeds up loading.)

Performance is a nightmare (for me I mean). Keep in mind I am using a slow poke machine. But nonetheless even on my dedicated Nvidia GPU, in-game, I am getting like 10-15fps. In the starting screen where you circle around the space station it is like 3fps. It is weird though that video and audio playback does not lag at all. Same for 3D gui elements: no lag or unresponsiveness.

Ok, nevermind. I took the liberty and had a look at the Inspector. There is too many vertices with too many draw calls for my machine (judging by what I have seen so far in playgrounds and the demos subforum) :frowning: Come to think of it though, getting 15fps on my Intel gpu under such stressing conditions is actually pretty good!

Console. Got a webgl warning right before we transition to the mainmenu screen:

[.WebGL-0000464400716300] GL_INVALID_OPERATION: Error: 0x00000502, in …..\third_party\angle\src\libANGLE\renderer\d3d\VertexDataManager.cpp, rx::VertexDataManager::reserveSpaceForAttrib:523. Internal error: 0x00000502: Vertex buffer is not big enough for the draw call.

followed by

INTERSECT OUTSIDE HUB AND videoDisplayIsPlaying is null moe-alpha2.html:28051

Nothing looks broken though.

Gameplay. I was unable to break anything…yet…I will keep trying :stuck_out_tongue:

Auditorum:

  • When pausing a song, then leaving the gui it the song is unpaused
  • I am not sure the lightshow is working alright. So far it only really worked for Michael Jackson/Peter Tosh (different colors, changes, and moving light cone) right after hitting play. Then I played Jacques Brel/Edith Piaf, lightshow seems to start only after being half way through. This pattern seems to repeat. Lightshow only starts after being some time into the song.
3 Likes

First, thanks for your constant support and for checking on this update. As a sidenote, I will shortly do the same with your project and spend a couple of hours this week to catch up and check on your progress :smile: :nerd_face:

Yes, I eventually faced this one a couple of times. I kind of recall I had this in Australia when struggling to work my scene from a 4G Internet connection. As you say, it didn’t actually break anything but there’s likely something with the start of the cinecam (which is just a quickly done runtime animation at the moment that kicks in ‘on ready’. This obviously needs to be looked at.

Oops. That’s my dev console log. Wasn’t supposed to be there. Forgot to remove this before posting, so thanks for alerting me :pray:. Fixed in this quick update done this morning. The links have been updated and now delivers version 0.8.9.4.1 and console logs have been removed from this fix.

Yes, well, given the content this is more or less the numbers you’d get on that kind of rig. In the end, it’s a compromise to have the scene accessible also on lower end PC. It’s a choice of design and in the end, this isn’t a ‘shooter’. It’s mostly slow and contemplative. I believe you can easily visit the museum with just 15FPS. However, the cinecam (at least the way it’s done at this moment) is pretty much unusable with this config :shushing_face: As said, I’ll likely get back to this part for the next update (which will be a game and design update).

No, they don’t but that’s nothing related to my work. All I can say is I’m very happy with this situation.

Well, there are quite a number of draw calls when viewing the scene from the exterior with all in frustrum. Even though, the object itself is fairly low poly since the entire scene holds in just a 19mb OBJ (not exactly the lightest format of 3D). Sadly, a large part of these drawcalls are also related to the design of the museum. With nearly everything being semi-transparent and alpha blended. I believe I did my best trying to reduce these drawcalls (although can probably still be improved here or there). Though, the number of drawcalls very much depends on your location in the scene. As said, depending on context/location, a large number of objects are actually setEnabled(false). It’s true for all objects behind doors (toilets, showers, kitchen). It’s also true whilst in ‘the Auditorium’ for most objects from the main scene that cannot be seen from within the auditorium. I’m afraid there’s not a lot more I can do for this aspect. Although, it probably can still be slightly improved.

Well, for a large part, that’s already the case. Everything from the interactive sphere and 3D displays loads (and disposes) on demand/context and async. Same for all the paintings except for the default/first one. I thought about your suggestion (and might still do it), but for the paintings we are speaking of 49 categories with an average texture of 400k-500k each. Say 25mb. But the rest of the textures from the scene totalizes several hundred MB!!! So, even if I’d do this just for the paintings, the improvement in loading time would be barely noticeable. Which in turn, means that this is also a part I have to work altogether. I’m just delaying it because it’s very tedious and I don’t like it. Surely one day I’ll get enough motivation to start with it :sweat_smile:

Yes, it’s I believe the correct behavior. There are in fact two types of ‘lightshow’. One version relies on the frequencies captured on the analyzer. That’s the one you mention for michael jackson. And then there’s the ‘slow’ version. That’s the one for Brel or Piaf. It’s ‘hardcoded’ with some randomness and it triggers only at a certain timecode set for each title. The point is (and this is really just a choice of design… my choice :laughing:)… the point is I don’t want to ‘polute’ these ‘slow’ titles with an irrelevant lightshow. The point is the ‘lightshow’ is supposed to just add to the video experience, not take over. With this said and despite for already having customized the fx, it isn’t yet really a ‘per title’ full custom (and fully adapted to each) lightshow. This could all be greatly improved and the base would be already there to work this. But we are speaking 69 titles and 6+ hours of video/audio. No matter how, it will take a hell of a lot of time to finetune all this.

EDIT: Forgot to mention that both types of lightshow include some ‘procedural’ parts and a level of randomness (for picking from the color theme, setting the timing between light switch, setting the rotation sequence clockwise or counterclockwise…). The experience will be slightly different everytime (again here, a choice of design… and also, a ‘compomise’ since I didn’t (yet) want to completely work a ‘per title’ design).

Well, thanks again for all your (always very helpful) comments and until we chat again, have a great day :sunglasses:

Songs cannot be paused. The ‘pause’ button on the display console is to stop the autorotation of the 3D model shown above the display. The song has no pause and is also ‘looping’ on end. This until you either exit the auditorium or select a new title (or the same title, which will dispose of it and then start again).

Hey @mawa just to double check. I am not complaining or anything. I think it is important feedback that lower end machines will probably have some slowdowns when running MOE. And when I said too many verts/dcs it just means the limit comes from the geometry (in the widest sense). So any further performance improvents will probably have no effect on slow poke machines like mine - unless you can cut down verts/dcs by 90%.

Ok, fair enough. I wouldnt do it etiher then.

No, I meant that even though I have low frame rate neither audio nor video playback is affected by any slowdowns. This is a good thing, and important feedback, because it means the musuem is perfectly useable even under low fps.

re: lightshow
OK, gotacha. :+1:

Oh dear. I mean thanks for remembering little Demo Town. But I cannot show too much progress unfortuntely. Things have slowed down a bit lately :snail:

1 Like

Of course you’re not (and neither am I when commenting on your project :innocent:). No worries there and no need to mention. Just have your comments coming. As said, they are all relevant and greatly appreciated :pray:

Yes and I said, indeed that’s very cool, but it’s just ‘incidental’ (or per design - of the BJS framework). I’m also very happy with it but it’s nothing I have been working on my side. My only hope is that ‘audio engine version 2’ in preparation will not break this but just bring the improvements we are desperately waiting on. In my case (this particular case), I have a huge gap I need to fix in the next update somehow. Currently, the auditorium does not work in Safari and that’s because Safari doesn’t let you create an audio object captured from the media stream. I’m hoping @docEdub will be able to find a work-around for this in the new version engine (and then to come shortly?). Else, the only two solutions I would have would be both painful and a compromise (and would greatly impact the experience on Safari).

How conforting (sorry :grin:) So, I’m not the only one having issues with the agenda :date: :sweat_smile:
In that case, let me send you some strength :mechanical_arm: and motivation to continue :laughing:… and meanwhile, have a great day :sunglasses:

2 Likes

Hey look, I flew MOE (did you know it is actually a ship?) out of the observable universe:

*It is not a bug. I flipped some Babylon switches and broke the whole scene. :crazy_face:

Anyway I was on the hunt for performance gains. Not very successful :frowning: There is no big switch (liek hardware scaling) that would suddenly jump me up to 30fps or so. It is really weird: I basically can deactive anything (postprocessing, all switches in the Inspector) and I get hardly any improvement. Puzzles me because it means all this stuff has next to no impact on performance. I want that too for my game :grinning:

Some potential gains but might be negligable:

  • elevator mesh takes 35 draw calls. Is this intentional?
  • judging by the wireframe, under the floor where you spawn where the check-in lady is (stick figure), there is geometry of like half a million verts nobody will ever see; here:
2 Likes

LoL! Thanks for taking the time to look at it and share your experience.

Indeed, it is. Well, rather a station or satellite :artificial_satellite:. At some point, I had the idea of grouping/parenting everything and move it, but I couldn’t find a purpose for it. So, parenting is only done for groups of objects that set enabled or disabled when not in view of the user. Basically.

As said, we are speaking of a just 19mb mesh for everything. All the rest is instanciated. I didn’t count but, likely 9 meshes out of 10 are instances. Eventually ‘clones’ where instances won’t work well. And sometimes ‘clones’ actually work better on low end devices (not sure why). There’s also only two lights and overall, I tried to keep everything real simple in order to not add too many draw calls. However… there are 3 fairly heavy 2k env in the scene, lots of materials AND all of the alpha blended thingy. This is, I believe what really impacts perf in this scene.

Didn’t think anyone would ever notice :smiley: And yes, this is true. I checked on it and already did lower this count. It’s again because they are semi-transparent. They also have a gui for mesh control. At some point, some of these meshes totalize 3 draw calls each. This number can even jump when making a merge with multimaterial that are not all just opaque (which I tried to avoid).
On the other hand, there is only one (mesh) elevator. The four others are instances. And in the end, 35 draw calls for an elevator is I believe not unreasonable. At some point, I had 30 draw calls for a liquid soap distributor in the toilets :grin: Again, because of this alpha blend and multimat thingy. Now that was unreasonable, so I managed to reduce it to 9 or something :sweat_smile: :joy:

Haha :grin: At least, not just now :face_with_hand_over_mouth: This was supposed to be the tech room where you’ll find things like the aircon supply and the ‘fusion reactor’. Normally the floor height is just enough so that an average sized human can stand in there. But again, didn’t work it. At least, not so far. Kinda feels more like just a ‘nice to have’ for this kind of project, doesn’t it?

Hum? That seems like a lot. I need to check on this. Might have missed something. On the other hand, again it’s mostly instances. Like the ‘vertical structure’ is one of the most complex object in the scene (about 200k)… but then again, there’s only one mesh ‘vertical structure’. The 7 others are just instances.

1 Like

I exaggerated :wink: I looked at the wireframe and guessed…

2 Likes

Is this open-source? I would love to add it to my awesome-babylonjs list.

Thanks for your Interest. It is as said in the text/disclaimer, at the current stage.
Yes, it’s free and (ment to become) open source. But the issue is it also contains a number of featurings that are clearly NOT open source. That’s basically everything that’s less than 70 years old from ‘the Auditorium’. Until I eventually manage to gather all the rights for a courtesy featuring :sweat_smile: of these titles/assets, the projekt will remain a ‘closed alpha’. :hourglass_flowing_sand: :smiling_face_with_tear: