1
\$\begingroup\$

What can I do to extend the gameplay. So if I know that I will update the game with new levels and dont want to publish a new version every time I have a new level. How can I handle this.

Ex: I have a unity3d game with 3 levels now and I know that i will have a 4th level. So what should i do in order to extend the game play without publishing a new build after i finish making the 4th level?

I wanna download the new level on the fly instead of new release

I know i need to use external help like a server to import all the files but how would that work?

I am using same scene and different setups to implement levels. I am currently hardcoding the levels. But if that's wrong I can change it.

\$\endgroup\$
  • \$\begingroup\$ You should definitely look at Asset Bundles: docs.unity3d.com/Manual/AssetBundlesIntro.html \$\endgroup\$ – Galandil Mar 14 '18 at 22:39
  • 1
    \$\begingroup\$ What technique did you use to implement your levels? Did you create a separate scene for each level or do you reuse the same scene with different setups? Are your level setups hardcoded or in separate assets? \$\endgroup\$ – Philipp Mar 15 '18 at 0:34
  • \$\begingroup\$ Im using Uinty3d to develop the games. Using same scene and different setups. I am currently hardcoding the levels. But if thats wrong I can change the it. Im basically looking for the architectural flow. I may have done wrong but I can re-implement complete game. I need the architectural flow of how a game should be developed. @Philipp \$\endgroup\$ – Adithya.K Mar 15 '18 at 14:58
1
\$\begingroup\$

When your levels are defined in sourcecode, then you can't add more levels without releasing a new version of the complete game build. So instead of hardcoding your level setups, move the layout of each level to a file in a format of your choice.

You can then download those files from a webserver when your game starts using the WWW class.

In order to not having to download all the levels again and again on each game restart, the game should store any already downloaded level on the hard drive. I would recommend to first download a text file which lists all the available level files. Check which files are already on the local hard drive, and then download only the missing ones with additional WWW requests. But keep in mind that not all the build targets supported by Unity allow filesystem access. If you want to publish for the platforms which don't support it, you need to find a different solution.

The only persistent storage system which is guaranteed to work everywhere is PlayerPrefs. But this system is designed to hold a handful of configuration keys. It's not designed to hold large amounts of data.

If your distribution channel supports incremental updates of game assets, you can might also be able to use these to only update the level file(s).

Another side-effect of having levels in form of files is that it allows your community to create their own levels. An active community of level designers can be great for you. It means your game gets a constant stream of more and more content and you don't need to pay a cent for that. The downside is that you will now have a harder time to sell more levels in form of DLC, because your new levels compete with the free levels provided by the community. But you still have the advantage that only you can release DLC which adds new game features.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.