Skip to content

URAmiRBin/nardebaam

Repository files navigation

Nardeboon: Unity Mobile Modular Framework

Nardeboon is a comprehensive package that implements all the needed services for your mobile games. With Nardeboon you can save time and do NOT install other SDKs twice and focus on your game and productivity.

Table of Contents

Services

Nardeboon implements multiple services and depends on external packages and developement kits.

Advertisements

For now Nardeboon supports Admob and UnityAds. You can even have both of these ad networks in your game.

To intialize AdManager you have to pass Adconfig to it, which has three fields:

isTestBuild enables test mode for all the ad services and is used for debug and internal builds.

iterationType is used when you have multiple ad networks.

In Absolute mode, AdManager always prioritize the network that comes first and only uses the next ad network when the first one is not ready.

In Loop mode, AdManager loops through ad services and do not prioritize over any ad network. If one ad network is not available at the time, AdManager skips over that one for that iteration.

Advertisement Config

Admob

Admob is Google's mobile ads and comes with External Dependency Manager by default.

UnityAds

UnityAds is an in-engine package and handles advertisements natively from the engine.

Note that duplicate ad services is not tested, hence it's not supported. The editor logs an error if duplicate ad networks is found but does not do anything further than that, so the developers should be aware of this.

UnityAds does not pause the game when the ad is loaded and being shown to the player, so the developers should handle that (which will be handled by the package in the next iterations)

To show any ads, use Runner.AdManager and then call the ShowInterstitial or ShowRewarded or ShowBanner to show an ad if available. you can pass success and fail callbacks to handle what happens if an ad is shown or could not be shown. some of these callbacks should change UI states and will be handled within the framework in the next iterations.

Analytics

To monitor the events of the game, we can use analytics packages to provide the data so we can analyze them and make our games better.

Nardeboon uses GameAnalytics, Adjust and Facebook for analytics purposes, but the developers have the option to choose between these services, if they desire any.

Analytics config

To use the analytics system, all the developers have to do is to invoke one of these events:

  • NardeboonEvents.GameLogicEvents.onLevelStart
  • NardeboonEvents.GameLogicEvents.onLevelWin
  • NardeboonEvents.GameLogicEvents.onLevelLose
  • NardeboonEvents.onCustomEvent
  • NardeboonEvents.EconomyEvents.onCurrencyEarn
  • NardeboonEvents.EconomyEvents.onCurrencySpend
  • NardeboonEvents.AdEvents.onAdFail
  • NardeboonEvents.AdEvents.onAdShow

Note that these events can be used in other cases, for example onLevelStart is called whenever the player starts a level, with this event, the UI system as well as the analytics system will react and change the panel.

Save

Nardeboon uses EasySave3 which is a paid package in order to handle the saves.

In order to save you can use ES3.Save and to load use ES3.Load. Read the documentations for more details.

Audio

A basic audio manager system is implemented in the framework

Audio Config

To use music or sfx, you can call Runner.AudioPlayer.PlayMusic or Runner.AudioPlayer.PlaySFX and feed in the audio you want. you can use the preset sound effects which is stored in Runner.SoundEffects.

Haptics

The vibration calls can be called from the core game logic to give more agency to the developers or from the game events within the framework. There are two basic vibration call presets (short and long vibration) which can be set from the package interface.

Haptics

To use vibration you can use Runner.VibrationManager.ShortVibrate or Runner.VibrationManager.LongVibrate. you can also use the custom Vibrate method in VibrationManager and have the vibration go for your desired duration.

Note that the framework prevents multiple vibration calls and cancels the previous vibration to call for another vibration first.

Economy

Nardeboon comes with an internal economy system in which you can define your own items in it and use the built-in inventory system or connect it to the shop.

The items can be defined in Resources/Items folder and the InventorySystem will fetch all the items at the startup.

Item

UI

The UI system which is tightly connected to the core framework uses all the UI moduels that a hyper casual game need.

The panels include:

  • Splash/Loading screen
  • Game Start panel
  • Win panel
  • Lose panel
  • Shop panel (which is connected to the economy system)
  • Settings panel
  • Popup
  • Gameplay screen
  • Agreements panel

Install

To install the package you can use Unity's package manager and import the package using a git url and enter https://github.com/urAmiRBin/nardebaam/https://github.com/urAmiRBin/nardebaam/ in the text field. The installation might take several minutes since the external packages and the UI images takes a load of space.

Install

Use

After intsalling the package you have to change the build settings and add the loader scene in the build scenes, the loader scene must be in index 0 and your core game scene should be next

Build

You can implement the ICore interface and the Runner will be connected to the game automatically. A sample ICore is implemented in Game Interface/CoreGameManager.

Suggestions

Please leave your suggestion in the issues of this repository or email me directly at ur.amirbin@gmail.com, any suggestion would be appreciated.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published