Today I am going to introduce you a service that will allow players to design their own levels of your game.
I am talking about BonusLevel
The concept of the site it to provide an API that allows players create and share their own levels.
This may be helpful when you are great at programming but don’t have level design skills, or want to release a level pack every month or two (who said “like Bloons”?).
Once there are enough great levels created by the community, you can export the levels and make a standalone version of your game that you can distribute wherever you want (who said “like Bloons” again?).
BonusLevel API provides some interesting features allowing you to group your levels in categories, or make them playable only after beating another level (the famous unlocking system).
The look & feel of the interface can be customized and skinned for a better integration in your game graphics.
I asked some more information to BonusLevel creator, Jean-Philippe Sarda, and that’s what he said:
«The API is based on 2 swf.
One is the game engine and the oher one is the level editor, both provided by the game developer.
Basically, the game engine only has to implement a playLevel(data:String (as2)/ByteArray(as3)) method.
Also the game engine has to call a levelCompleted() method to manage scores.
The level editor has to implement a similar editLevel method but also a method getLevelData() method that is used to save the level data on our servers.
The GUI to play, select, and create the levels is all managed by the site. The developer don’t have to implement any GUI on the game engine or in the level editor.
Despite this might be seen as a strong point of the system (a big save of time for the developer and also a common GUI to play all he game for the players), some game developers could wish to customize the GUI. So the GUI is skinnable by the developer.
In the next steps, I will implement a third swf provided by the game developer, that will allow to fully customize the GUI.
Once the API is implemented, the game take advantage of the common features of the system.
Also all improvement added to the sytem will immediately benefit to all games of the site.
– The game author can manage a list of adminsitrators/moderators for the game levels
– The game author can manage a list of testers allowed to play the game before it’s public
– The levels are moderated, this is an essential feature as we don’t want to get the players too confused with bad levels.
The levels can have 5 states : “to be evaluated” (first state adter the level is uploaded), “to be edited” (a moderator has decided the level is not good enough to be accepted but it could be accepted if it’s edited a little more), “rejected” (the level is not good enough to be accepted), “accepted” (the level is good engouh to be shown on home page), “official levels” (best levels, used for scores)
– Levels can be rated and/or commented by members
– Levels thumbnail can be created nad saved to our servers by the level designer.
– the game author can create different category for the levels (for example “easy”, “medium”, “hard”).
– Levels data can be exported by the game author and used to make an offline version of the game
The site is quite young but great level designers have already sign up.
This is one of the strenght of the site, as these brilliant people will help the game developer to build the levels, and they will give invaluable feedback before the game goes public.
There is also an API to save user data on the servers, like player preferences (key preferences for example), like player money and items in an adventure games for example etc… »
I am going to test the API very soon, meanwhile if you want to start playing with it register to BonusLevel and leave a comment telling us what do you think about it.