MoModth - Construct 2 event framework (in progress)

Show us your works in progress and request feedback

Post » Sun Apr 10, 2016 8:36 am

@BackendFreak

awesome work sir...
B
81
S
32
G
23
Posts: 1,053
Reputation: 35,965

Post » Sun Apr 10, 2016 6:13 pm

Thanks @harrio

Just a small update.

There is a common issue with C2 apps that they lag (freez) for 1 to several seconds on start of the game/layout switch. That was the main reason why I wrote a tutorial some time ago How to smoothly switch between layouts. It is especially painful when we have a lot of things under On start of layout condition, and even more problematic for mobile apps because we usually initialize IAP and ADs on start of the game.

The most painful lag I've experienced is when you use Appodeal Ads. Appodeal initialization does a lot of things in the background. Last several days I was in contact with Appodeal support trying to resolve this issue, but it turns out that it's not particulary their issue but it's just the nature of C2/Cordova apps and heavy Appodeal's initialization just adds fuel to the fire.

I want to get rid of this issue in MoModth. So the update is that MoModth will have one more module called Stabilizer. I'm not gonna go in details now, but just did some testings and the result is very nice. There is no lag at all with enabled Stabilizer because the rendering and initializations are "moved" to game loading part.

So to wrap up:
- apps without Stabilizer: 1 to several seconds of lag at start of the game, but a bit shorter loading time
- apps with Stabilizer: a bit longer loading time (from less than 1 sec up to several seconds - depends on the CPU), but no game lag experience

Still have to do some more tests, so again release date will be moved a bit, but apps will run much smoother so it's worth it ;)
ImageImageImage
B
33
S
19
G
82
Posts: 1,039
Reputation: 46,257

Post » Mon Apr 11, 2016 6:32 pm

Working now on Local Notifications module.

What will module include:
- sending local notifications once with delay
- sending local notifications once set on particular date
- scheduling frequent local notifications (repeated weekly etc.)
- opening application after clicking on notification without reaction (for instance "Hey we miss you! Come to game!" - then game opens and nothing special happens)
- reacting on arrived notification (for instance "Hey! We just gave you 1000 gold coins! Come check it out!" - and then 1000 coins is added to the account)
- canceling notifications

If there is anything else useful you think should be implemented, let me know.

Cheers
ImageImageImage
B
33
S
19
G
82
Posts: 1,039
Reputation: 46,257

Post » Wed Apr 13, 2016 8:27 pm

I've recorded a first MoModth functionality sneak peek which is for Local Notifications. It is extremely easy to use Local Notifications with MoModth. The simplest implementation requires only one event line.

Here are some more details and a video where I show how it works ( with empty notifications and with notifications which need to be fetched by app once they trigger).

VIDEO: MoModth Local Notifications sneak peek [video]
ImageImageImage
B
33
S
19
G
82
Posts: 1,039
Reputation: 46,257

Post » Mon Apr 25, 2016 10:42 pm

Just finished new module for MoModth - MM_preloader.

It is now possible to add any feature which requires initialization to the MoModth's preloader. Preload Ads, initialize store, preload sounds, load remote data or anything you have in your project. This module works with MM_stabilizer as well, so you are sure that the app will run smoothly once everything gets preloaded with nice looking visual progress bar (or any visualisation you implement).

Module's API gives you possibility to easily add any custom feature to the preloader
Image

It also has API which lets you build your visual preloader with loading bar, loading circle, percentage text or anything you want.

MM_preloader is the last module I add before the release. So now it's time to test everything out, finish alpha tests and API documentation. After that, beta tests start. I'll keep you informed ;).

(It's almost ready! 8-) )

EDIT: Ah! Forgot to mention that you can preload synchronously (next one starts preloading after previous is finished) or asynchronously (all entries start at the same time and finish whenever they're done). Swiching between synch and asynch is just a matter of one setting.
ImageImageImage
B
33
S
19
G
82
Posts: 1,039
Reputation: 46,257

Post » Wed Apr 27, 2016 9:47 pm

I realized that preloader lacks one important feature - dependency. I've just finished rebuilding MM_preloader.

There is no more option for sync or async mode. Instead it is possible to add dependency for each entry. For instance you can set dependency for "restore purchases" in a way that it will start preloading when "Store initialization" is done, not earlier.

You can also give more than one dependency for each entry.

In result the overall preloading is faster now because all entries starts preloading at the same time, but some of them (those with dependencies) wait until others (ones they depend on) are ready.

There is also an option to set entry as the last one to be preloaded. Very useful for stabilizer.

Adding an entry to the preloader is also a bit simplified.
Image

And here is the log-result of above example
Image

It is possible to preload any custom feature. Music, data, graphics, ...
ImageImageImage
B
33
S
19
G
82
Posts: 1,039
Reputation: 46,257

Post » Thu Sep 15, 2016 2:09 pm

Hey, so what's the update on this? I'm highly interested in this.
Image
B
82
S
16
G
4
Posts: 503
Reputation: 8,988

Post » Thu Sep 15, 2016 2:50 pm

Well, it's still in progress. I have a lot of freelance work recently so I somehow put lower priority to MoModth. However after several months I realized It's not possible to guarantee that all modules will work as intended. I've prepared three IAP modules for different IAP plugins. Switching between them is just a matter of copy paste, but currently there is no IAP plugin which fully work on iOS and Android (except CocoonIO's IAP).

So when I realized that modules which worked several months ago are not working any more today (because of changes in C2, cordova, IntelXDK, Chromium, etc.) I understood I have to make MoModth a combination of modules made on native plugins (and not even all of them).

I will surely update you guys once I back to work on MoModth, but for now it has to wait a bit.
ImageImageImage
B
33
S
19
G
82
Posts: 1,039
Reputation: 46,257

Post » Tue Jan 10, 2017 1:05 am

I'm back on track with MoModth. A lot has changed. I have moved some functionalities to the MoModth plugin. MoModth is still event based framework, just the absolute core features like modules handling/managing, storage managing and preloader are covered with plugin which makes life easier.

It is strictly modular based which makes it easy to maintain no matter how big the project is and it's of course highly extensible/customizable. I will post more details soon. For now you can see how the example MoModth controller module looks like: https://puu.sh/th2qK/330bf3c688.png
ImageImageImage
B
33
S
19
G
82
Posts: 1,039
Reputation: 46,257

Post » Tue Mar 07, 2017 3:17 am

Is it ready?? And can it utilize Google Play Services/iOS Game Center functionality as well??? :))
B
82
S
32
G
7
Posts: 281
Reputation: 10,695

Previous

Return to Works in Progress/Feedback Requests

Who is online

Users browsing this forum: No registered users and 4 guests