V-Play Crash Course Lesson 8 - How to benefit from user-generated content in your game with V-Play Level Store

In the last lesson we have discovered the first 2 major benefits of using the Level Editor:

  • Cut development time as level creation, balancing and testing works while your game is running.
  • Customize the look of the in-game level editor to perfectly match your game style, or use the default V-Play skin for quick results.

So as you already have an in-game level editor in place to create levels while the game is running, you can now take it one step further: Give your players the power to create their own levels! Players can then use all of the level editing possibilities like you did while developing the game and so have a powerful tool in their hands.

You will be amazed how creative the gamers who love your game are, and the best thing is you get new content from your community without any effort! Thus your game stays longer on top of the charts as there is always something new to explore for your players.

As gamers love to brag about the new cool levels they made, they are going to tell their friends to play the level and help you with promoting your game, without spending huge budgets on marketing! Instead you get really passionate players and content for free to stay interesting.

Benefit Summary

So to summarize this quickly, here are the benefits for players:

  • Players are more engaged because they can create their own levels and tell their friends about it. You can reward them for great content to further motivate them to build awesome levels.
  • Players get endless levels, made by the game community.

And these are your benefits:

  • Players return more often to your game because there is endless content and always something new to explore.
  • Your game downloads will increase because of word-of-mouth marketing of user-generated levels by your players.
  • No need to create constant level updates after you published your game to keep it interesting - the community does this for you!
  • Earn money with the user-generated levels by adding a level store!

Sounds good and like a win-win right? And so it is! There is a huge potential of user-generated content in mobile games currently unexplored - so I'll now show you how to add the level store and user-generated content to your game!

How to Add User-Generated Levels to Your Game

With V-Play Level Editor, you can list all user-generated levels of your game. Even more, you can let your players order them by a specific time range, by the user rating or how often the level was downloaded. So it is easy for your players to see what are the most popular and the newest levels.

To show a list of user-generated levels, use the new levelStorageLocation userGeneratedLevels. You can then bind this property to your level selection view - if you would like to show your levels for example in a List, you can use LevelSelectionList for that.

One of the advantages of V-Play level editor is that you can customize how your level selection should look like, so you can display it as a list, column a grid or in multiple pages. You can also customize how a single LevelItemDelegate shall look like to make your game unique. In our sample game Stack With Friends we have styled the level selection in the following way for example:

How to Share Levels

The workflow when your users are creating new levels is the following:

  1. Players can create a new level and edit it locally on their device. Players can then test and keep editing the level until they are satisfied to share it.
  2. Players then share or publish the level they have made. Once they have done so, their levels are available to all other players. You can restrict changing the level once it was shared by a player if you like.

To make it easy for your players to share their levels, they can send the generated level id to their friends via email or Facebook and your players can then search for this level id & download it. If both the level creator and his friends are connected with V-Play Game Network, they can filter the levels to only show their friends' levels. So this is another advantage players have from connecting with V-Play Game Network!

In code, publishing a level is just a single API call: LevelEditor::publishLevel() does all the work internally and stores the entered level name, author name and all the level data like entity positions or balancing settings you stored with the ItemEditor from the last lesson.

For a complete sample game you can have a look at the new Stack With Friends Demo: it includes full source code of a game with a level editor and shows how to list the community levels with different filters (latest levels, friend levels, most downloaded and highest rated levels) and how to publish a level. You can find this sample in the <Qt5-SDK>/Examples/V-Play/demos/StackTheBoxWithCommunityEditor folder.

How to Monetize User-Generated Levels

After adding user-generated level support to your game, you can now move one step further: Monetize the user levels with in-app purchases!

I recommend to add a currency to your game which your players can spend for purchasing new levels made by the community! This currency may be gold coins or whatever matches the style of your game. Players can then use this currency to purchase levels. Once a level is purchased, this level is also playable when the player is offline. And even better: if your player connected multiple devices with V-Play Game Network, all his purchased levels are synchronized between the connected devices.

The new LevelStore component makes it very easy to connect your level sharing with in-app purchases with these 3 main use cases:

  • Call LevelStore::buyLevel() to purchase & download the level for a player.
  • Call LevelStore::buyCurrencyPack(currencyPackId) to let the player buy new currency with the native in-app purchase plugin for iOS & Android by V-Play.
  • To reward your players with new currency, call LevelStore::giveCurrency(). In the next section you'll learn how to motivate players to create levels for uses of player rewarding.

It is up to you if you add a level store to your game! You can also add level sharing without any purchases, however, you are then missing on the opportunity to re-invest your earned money into new game features. Also note that motivation for creating good levels is higher for players if they get a reward for it (in the form of currency).

This image shows a LevelStore UI from the Stack With Friends Demo:

Motivate Players to Create Levels

Getting high-quality user-generated levels is important for your game, because only if the levels are good your players will download (and purchase) new ones. But how can you motivate players to create awesome levels?

There are two ways how you can motivate them:

Achievement System

Award your players for unlocked achievements in your game with currency - this makes them return to your game more often leading to more created levels. Such achievements are for example when they return to your game once a day, download a new level the first time or create a new level.

Other examples that encourage players to create good levels, is an achievement if a level created by the player was downloaded 10, 100 or 1000 times or if the level has an average rating of more than 4 stars for the first time. You can of course also create these achievements in the V-Play Game Network so players can see which achievements they can earn and which ones they have already unlocked. See the LevelEditor::userBestLevelStats property for an example how to award players for reached achievements.

Level Creation Tournaments & Leaderboards

To reward high-quality content, you can use the daily, weekly or all-time level leaderboard list and pick the levels who are best. You can then reward these level creators and give them currency based on the ranking they have in the "user-generated level leaderboard". This also guarantees you get a constant update of new levels because you can reward your best level creators on a weekly basis.

The ideal solution is to use both of the strategies above in your game to have the best effect of user-generated levels. You can, however, decide as you like what matches best for your game.

Recap

In this lesson you've learned how to add level sharing to your game with the V-Play Level Editor. Furthermore, you can now monetize the user-generated levels with in-app purchases and motivate your players to create high-quality levels.

Using user-generated levels is both beneficial to you and your players! Your players get endless content made by the game community and the power to create and share their own levels and even be rewarded for creating them. And you save the time for providing level updates as the community does that for you, get more engaged users, more game downloads and a great new option to monetize players!

This lesson wrapped up the V-Play level editor series - an in-game level editor with a whole range of new opportunities is now in your hands. You can use this powerful tool and unique benefit of V-Play to make the most out of your games. Together with V-Play Game Network you have a range of options to make your game stand out of the crowd and make it successful.

If you have a question about the V-Play LevelEditor or the LevelStore, please shoot me an email to support@v-play.net.

Cheers, Chris from V-Play

Voted #1 for:

  • Easiest to learn
  • Most time saving
  • Best support

Develop Cross-Platform Apps and Games 50% Faster!

  • Voted the best supported, most time-saving and easiest to learn cross-platform development tool
  • Based on the Qt framework, with native performance and appearance on all platforms including iOS and Android
  • Offers a variety of plugins to monetize, analyze and engage users
FREE!
create apps
create games
cross platform
native performance
3rd party services
game network
multiplayer
level editor
easiest to learn
biggest time saving
best support
Sign up for Free and start developing right away!
I want to make Games
I want to make Apps
Game Development
Cross-Platform, Any Resolution

Use one IDE to deploy to all supported platforms, including iOS and Android, from a single code base.

Support all screen resolutions, aspect ratios and sizes with auto-adapting UI elements, smart scene scaling and memory efficient asset selection.

Learn More

V-Play ranked #1 at research2guidance cross-platform tool benchmarking 2014 by 2188 developers comparing 40 leading tools.

Multiplayer

V-Play Multiplayer supports both real-time and turn-based gameplay, so you can use it to make many different types of cross-platform multiplayer games. It's perfect for making player-vs-player games like 'Words with Friends' or games for a large amount of players, such as 'Clash of Clans'.

Learn More Video

Highscores & Achievements

The V-Play Game Network is a cross-platform gaming service that allows players around the world to compare game highscores and achievements. Players can also challenge each other across multiple platforms and share their progress on Facebook.

Learn More

QML & JavaScript

Qt Meta Language is a highly intuitive reactive language, which is super easy to learn, yet it's extremely powerful and flexible. Mix it with JavaScript to create awesome stuff, with just a few lines of code.

import QtQuick 2.0
import VPlay 2.0

GameWindow {
  Scene {
    
    SimpleButton {
      anchors.centerIn: parent
      text: "Press Me"
      onClicked: {
        console.debug("Wow you pressed me!")
      }
    }
  }
}

Learn More

Monetize & Analyze

With V-Play, you can use many 3rd party services for ads, in-app purchases, analytics and more, with just a few lines of code. All of these plugins work cross-platform, which allows you to maintain a single code base.

Learn More

Level Editor

The LevelEditor can be used during development to create and modify levels for your game, which you can then bundle in your final publishing build. Additionally, you can also integrate the in-game level editor to your published game and let your gamers create new levels.

Learn More Video

Card Game like UNO, Hearthstone or Poker

We got a demo game for you!

The V-Play SDK includes an open-source demo for this game genre. You can use its source code and build your game in record time. After installing V-Play, you can simply open the .pro file with Qt Creator, the development environment used for V-Play.

<Path to V-PlaySDK>/Examples/V-Play/demos/OneCard/OneCard.pro

Match-3 like Candy Crush Saga

We got a demo game for you!

The V-Play SDK includes an open-source demo for this game genre. You can use its source code and build your game in record time. After installing V-Play, you can simply open the .pro file with Qt Creator, the development environment used for V-Play.

<Path to V-PlaySDK>/Examples/V-Play/demos/JuicySquash/JuicySquash.pro

<Path to V-PlaySDK>/Examples/V-Play/demos/JuicySquashAdvanced/JuicySquashAdvanced.pro

Puzzle like 2048 or Threes!

We got a demo game for you!

The V-Play SDK includes an open-source demo for this game genre. You can use its source code and build your game in record time. After installing V-Play, you can simply open the .pro file with Qt Creator, the development environment used for V-Play.

<Path to V-PlaySDK>/Examples/V-Play/demos/2048/2048.pro

Casino like Big Win Slots

We got a demo game for you!

The V-Play SDK includes an open-source demo for this game genre. You can use its source code and build your game in record time. After installing V-Play, you can simply open the .pro file with Qt Creator, the development environment used for V-Play.

<Path to V-PlaySDK>/Examples/V-Play/demos/FlaskOfRum/FlaskOfRum.pro

Side Scroller like Jetpack Joyride or Flappy Bird

We got a demo game for you!

The V-Play SDK includes an open-source demo for this game genre. You can use its source code and build your game in record time. After installing V-Play, you can simply open the .pro file with Qt Creator, the development environment used for V-Play.

<Path to V-PlaySDK>/Examples/V-Play/demos/FlappyBird/FlappyBird.pro

Tower Defense like Castle Defense or Bloons TD

We got a demo game for you!

The V-Play SDK includes an open-source demo for this game genre. You can use its source code and build your game in record time. After installing V-Play, you can simply open the .pro file with Qt Creator, the development environment used for V-Play.

<Path to V-PlaySDK>/Examples/V-Play/demos/Squaby/Squaby.pro

Falldown & Jump like Doodle Jump or Mega Jump

We got a demo game for you!

The V-Play SDK includes an open-source demo for this game genre. You can use its source code and build your game in record time. After installing V-Play, you can simply open the .pro file with Qt Creator, the development environment used for V-Play.

<Path to V-PlaySDK>/Examples/V-Play/demos/ChickenOutbreak/ChickenOutbreak.pro

<Path to V-PlaySDK>/Examples/V-Play/demos/ChickenOutbreak2/ChickenOutbreak2.pro

<Path to V-PlaySDK>/Examples/V-Play/demos/DoodleJump/DoodleJump.pro

Platformer like Super Mario or Lep's World

We got a demo game for you!

The V-Play SDK includes an open-source demo for this game genre. You can use its source code and build your game in record time. After installing V-Play, you can simply open the .pro file with Qt Creator, the development environment used for V-Play.

<Path to V-PlaySDK>/Examples/V-Play/demos/Platformer/Platformer.pro

<Path to V-PlaySDK>/Examples/V-Play/demos/PlatformerWithLevelEditor/PlatformerWithLevelEditor.pro

Action like Angry Birds, Fruit Ninja, Cut the Rope

We got a demo game for you!

The V-Play SDK includes an open-source demo for this game genre. You can use its source code and build your game in record time. After installing V-Play, you can simply open the .pro file with Qt Creator, the development environment used for V-Play.

<Path to V-PlaySDK>/Examples/V-Play/demos/StackTheBoxWithCommunityEditor/StackTheBoxWithCommunityEditor.pro

<Path to V-PlaySDK>/Examples/V-Play/demos/BalloonPop/BalloonPop.pro

<Path to V-PlaySDK>/Examples/V-Play/demos/CarChallenge/CarChallenge.pro

Arcade like Arkanoid or Space Invaders

We got a demo game for you!

The V-Play SDK includes an open-source demo for this game genre. You can use its source code and build your game in record time. After installing V-Play, you can simply open the .pro file with Qt Creator, the development environment used for V-Play.

<Path to V-PlaySDK>/Examples/V-Play/demos/ZombieBreak/ZombieBreak.pro

Community like Super Mario Maker or Minecraft

We got a demo game for you!

The V-Play SDK includes an open-source demo for this game genre. You can use its source code and build your game in record time. After installing V-Play, you can simply open the .pro file with Qt Creator, the development environment used for V-Play.

<Path to V-PlaySDK>/examples/Squaby/Squaby.pro

<Path to V-PlaySDK>/Examples/V-Play/demos/StackTheBoxWithCommunityEditor/StackTheBoxWithCommunityEditor.pro

<Path to V-PlaySDK>/Examples/V-Play/demos/PlatformerWithLevelEditor/PlatformerWithLevelEditor.pro

Any other Idea? let us know how we can help you

You are looking for another demo?

The V-Play SDK includes many open-source demos for different game genres. You can use their source code and build your game in record time. After installing V-Play, you can simply open the .pro file with Qt Creator, the development environment used for V-Play.

If you do not find your game genre in this list and wonder if V-Play is the right choice, just contact us, we are happy to help!

Contact Us

App Development
Better Apps, Less Effort

Develop feature-rich, cross-platform mobile apps from a single code base.

V-Play apps look, feel and perform exactly like native iOS, Android and Desktop apps. With less code & much faster development time.

Learn More Highlights Video

V-Play ranked #1 at research2guidance cross-platform tool benchmarking 2014 by 2188 developers comparing 40 leading tools.

Save Time, Code & Money

Save up to 90% source code with V-Play, compared to frameworks like Xamarin, Titanium, React Native and others.

Learn More

QML & JavaScript

Qt Meta Language is a highly intuitive reactive language, which is super easy to learn, yet it's extremely powerful and flexible. Mix it with JavaScript to create awesome stuff, with just a few lines of code. QML also allows you to easily create smooth and complex animations.

import QtQuick 2.0
import VPlayApps 2.0

App {
  Page {
    
    AppButton {
      anchors.centerIn: parent
      text: "Press Me"
      onClicked: {
        console.debug("Wow you pressed me!")
      }
    }
  }
}

Learn More

Monetize & Analyze

With V-Play, you can use many 3rd party services for ads, in-app purchases, analytics and more, with just a few lines of code. All of these plugins work cross-platform, which allows you to maintain a single code base.

Learn More

Native Sensors & More

V-Play Apps harness the power of Qt, the leading cross-platform development framework used by over 1,000,000 developers.

This gives your access to native device features like sensors, camera, file system as well as multimedia, networking, localization and much more.

Learn More

Responsive Design

V-Play has built in responsive design capabilities, you can target phones and tablets with the same source code.

Learn More

Highly Extensible

You have existing JavaScript, C++ or native code? You want to add any 3rd party SDK that we do not offer already?

No worries, you can add any JS, C++, Java or Objective-C code to your project.

Learn More

Component Showcase App shows the most important V-Play features and components

We got a demo app for you!

The V-Play SDK includes an open-source demo for this app type. You can use its source code and build your app in record time. After installing V-Play, you can simply open the .pro file with Qt Creator, the development environment used for V-Play.

<Path to V-PlaySDK>/Examples/V-Play/appdemos/showcase/Showcase.pro

Qt World Summit Conference App a full-featured conference management app made by V-Play

We got a demo app for you!

The V-Play SDK includes an open-source demo for this app type. You can use its source code and build your app in record time. After installing V-Play, you can simply open the .pro file with Qt Creator, the development environment used for V-Play.

<Path to V-PlaySDK>/Examples/V-Play/appdemos/qtws2016/QtWS2016.pro

Twitter App how to build layouts like in the official Twitter app for iOS and Android

We got a demo app for you!

The V-Play SDK includes an open-source demo for this app type. You can use its source code and build your app in record time. After installing V-Play, you can simply open the .pro file with Qt Creator, the development environment used for V-Play.

<Path to V-PlaySDK>/Examples/V-Play/appdemos/twitter/Twitter.pro

Maps App displays free bikes or boxes at bike stations for Vienna's bike sharing service Citybike Wien

We got a demo app for you!

The V-Play SDK includes an open-source demo for this app type. You can use its source code and build your app in record time. After installing V-Play, you can simply open the .pro file with Qt Creator, the development environment used for V-Play.

<Path to V-PlaySDK>/Examples/V-Play/appdemos/maps/Maps.pro

Messaging App demonstrates how to create the UI of a Facebook Messenger like app

We got a demo app for you!

The V-Play SDK includes an open-source demo for this app type. You can use its source code and build your app in record time. After installing V-Play, you can simply open the .pro file with Qt Creator, the development environment used for V-Play.

<Path to V-PlaySDK>/Examples/V-Play/appdemos/messaging/Messaging.pro

Weather App how to include powerful animations into your user interface

We got a demo app for you!

The V-Play SDK includes an open-source demo for this app type. You can use its source code and build your app in record time. After installing V-Play, you can simply open the .pro file with Qt Creator, the development environment used for V-Play.

<Path to V-PlaySDK>/Examples/V-Play/appdemos/waether/Weather.pro

Any other Idea? let us know how we can help you

You are looking for another app demo?

The V-Play SDK includes many open-source demos for different app types. You can use their source code and build your app in record time. After installing V-Play, you can simply open the .pro file with Qt Creator, the development environment used for V-Play..

If you do not find your app type in this list and wonder if V-Play is the right choice, just contact us, we are happy to help!

Contact Us