Is Lumberyard a good fit for this project?

I have a project with an interesting set of feature needs, and wondering if Lumberyard would be a good choice. Here are the key things:

  • it’s a persistent multiuser sandbox world

  • needs a runtime scripting system of some kind (players can script behaviors on objects)

  • runtime asset loading (models, textures,audio files)

  • audio spatialization, synthesis (not just sample playback) and filter framework.

The various network services and support layers seem like they’d be helpful for this, but I’m not sure how easy all the rest would be to accomplish.

We’ve gone through the process of building much of the system in a couple other engines already but each has its drawbacks, so I’m at one of those moments where you ask “have I been using the right tool for this job?” :slight_smile:

thanks in advance for any suggestions.

  1. It’s ok for persistent worlds, but some work is needed by your part for the actul persistence of the game data(database and eventual sharding and or caching layers) and for deployment too(and so the scaling) as the built in managed cloud deploy + scale solution is about session based games.So you may need to deploy and manage the servers manually in the cloud, but here aws web tools, services and libraries comes to your help.

2)Scripting in Lumberyard uses lua and lua generally can be easely made safe (sandboxing it) to be used by players directly for safe shareable user created content.

3)Engine support runtime streaming of level and assets.It also supports a cloud gem for managing remote data(usefull for any additional downloadable content).

4)Engine uses wwise one of the most advanced sound middleware both in Lumberyard edition free without plugin support(but with full 3d sound and fx and in complete edition (where many plugins are available, but free just up to 200 sound assets then you need a different licence).So many kind of sound playback and synthesis is totally doable with both but complete version unlock few extra capabilities es. wwise complete has very effective plugins for binaural spatialization(simulating how hears modify the upcoming soundwaves from different directions).

Thanks Gamely!

  1. We put together a fairly simple database system for persistence which has worked well so far, but scaling and caching are definitely on my mind.

  2. The Lua scripting layer sounds very promising!

  3. Can this be used for user-generated models as well? A common use-case would be something like this:

  • user creates a model in a DCC, exports it as an OBJ or FBX or some other interchange format

  • user imports it into our application, places it in a space, where it becomes visible to other users; and depending on access controls, other users could instantiate it from a shared library in other spaces as well

  • user uploads a short wav file

  • user writes a Lua script defining a trigger volume around the 3d model, to play the sound when any user enters.

  • ideal scenario: instead of just a wav file, user could also construct, say, an additive synthesis function with parameters controlled by, say, proximity of other users to the object

  1. I don’t know the details but there are surely a number of different options.

aws sdk just eploy effective strategies to authenticate final users to upload files so I believe the same strategy applies here too.

However you may trigger some server behaviour on upload to update game servers.There is always a way.

  1. for modding in the licence it is said something about redistribution of the editor for modding purpose this may be a viable solution.