Suggession to include all external module

Joined
Mar 5, 2018
Likes
12
#1
Hi all,

I was thinking, may be good idea for us to include all external module (that we know working great) into CX instalation.
reason..
- Its added the power/features to CX.
- Its practical - real world app need all those module
- Consistency - its more easy to communicate and discuss a problem if everyone got the same module/version
- Its not break any law - just take care all the copyright issue

mmm.. just an idea. What do you think?
 

MikeHart

Administrator
Staff member
Joined
Jun 19, 2017
Likes
400
Location
Germany
#2
That was also on my mind. A central module repository. We would have to make sure not to go against any license.
One thing I am worried about is that it would blow up the docs when you rebuild them. The docs of these 3rd party modules would have to be checked so they sit properly under 3rd party docs.
What do you think about this @Holzchopf ?
 

Holzchopf

Moderator
Staff member
CX Code Contributor
3rd Party Module Dev
Joined
Jul 31, 2017
Likes
147
Location
Bern, Switzerland
#3
Good question. I think for modules written by one of us, suggesting taking it into the official CX installation could be done here in the "Ideas and Suggestions" forum. For frameworks written by one of us, a central repository from which they can be downloaded would IMHO be the best approach, as there sure might be frameworks others won't need (and won't be too happy when - as Mike said - the docs get blown up by them). *

And due to the licensing, modules/frameworks written by someone else should be handled separately.

* Edit
For both cases it could make sense to first present them here and when accepted they'll get pushed to either the CX installation repo or the central framework repo.
 

Phil7

Active Member
Joined
Jun 26, 2017
Likes
52
#4
@magic Could you explain, what you mean by including into CX installation?
Enhancing the functional repertoire of CX is very important, I think.
Creating a central repository for external modules is something else, if I understood correctly.

Most important is IMO that the addition of standard modules is curated very carefully, otherwise it could become a mess with chaotic dependencies.

I could think of three layers of functionality:
1. basic functionality: The modules we have now are a good start (could be extended by proper xml, json ... modules)
2. helper functionality: Like collision detection, tweening, ads, - with nearly no dependencies to each other
3. framework functionality: complex, easy to use stuff depending on both layers below.
 
Joined
Mar 5, 2018
Likes
12
#5
Could you explain, what you mean by including into CX installation?
To supply good external module into CX instalation ( in external_module folder ). Selected by community and allow by creator.

I imagine a solution in one box. Download once and all the useful module is there without having to search in saparate install.
Certainly many users out there who are confused with modules. It getting worst with various module version and update. Class name conlict and many problem. It is nice if community choose and put it in CX instalation as part as CX.

If posible, we also provide or merge it documentation into CX main documentation. I don't think the download size realy matter. 100MB download is nothing nowdays. Beside, its not going to be include in the code if user not import it or use it.

Doing this can help user reach the advance function easily and in more standard way. Because it is include in main instalation, it has the same version and helping each other to coding problem related to that module become more easy.

The best thing is the CX seem more powerful and relevent to nowdays solution and feel easy. User don't have to search themself to add CX functionality for example to be able to load a bitmap font, to add unity advertisment, to add multiplayer capabalities ect. All this module is actualy basic need in today game. The good thing is, the module is actualy there but user has to find it and download it themself. It is quite confuce especially for new comer. It is nice if we can include in CX instalation.

I think CX become less complicated, feel more complete and hope to be more popular.
 
Last edited:

MikeHart

Administrator
Staff member
Joined
Jun 19, 2017
Likes
400
Location
Germany
#6
@magic, you have valid points there. But I would still prefer a way for the user to install what he wants to.
Monkey X had something like this at one point, I think it is time to bring something like this back.

Also these modules should be hosted inside a separate official repository, so fixes/changes an be pushed like we do for CX already.

And imho modules/frameworks that are included should be following certain standards:
  • Well documented as a 3rd party module
  • Ship with examples
  • Use STRICT mode in ALL source files
  • Prefix its classes, so they don't collide with the official modules
Just locating 3rd party modules, checking that they license permits to include it and then ship it with CX is imho not the way we should do it.

Selected by community and allow by creator.
So the CX team has no say at all? I don't think so.
 

Phil7

Active Member
Joined
Jun 26, 2017
Likes
52
#8
You are right, JSON is there and I used it for saving game data, but to me and some others it is not very intuitive, if you have to cast stuff to get into some nested data.

CX team has no say at all?
To me, especially at this moment, it is best if all decisions are made by the CX team. They do all the work of implementation and have to maintain it later. Don't get me wrong, I don't sag ignore the community. My impression is, discussion and different points of view are valued highly here. :) But the path has to be chosen by the people who have decided to walk all the way through.

I really like the idea of an automatic installer to download third party modules and high quality standards for them.

If you think in those three layers I mentioned this would be the third one. Some frameworks are providing the same functionality in their own helper classes. Those helper classes could make their way through to the secon layer if they prove usability and stability and be therefore installed by default in the modules folder.

... Just thinking about a way to create a self evolving system of functionality that doesn't get pollutet to easily.
 

Rich

Member
3rd Party Module Dev
Joined
Sep 9, 2017
Likes
77
#9
Ive always thought there should be a section in the gui that shows links to 3rd party modules and the quality (are there docs, what version can we confirm it works with, which targets etc). These links could be GitHub (self installing) or zips (self installing) or other (browse and install)
This list can be edited by the user too to include there own modules if needed.
(Maybe each module in this list also has an forum article to create discussion and updates)

Cerberus X team then decide which links they want to include in the releases. (If a module gets too old, not updated for ages or does follow standards then they can drop it off the list)

Cerberusx team do a great (edit that: Fantastic) job with the core of CerberusX, they certainly don't have time to deliver enterprise support for 3rd party modules.
This can made clear in the separate forum post and message in the download dialog.

Just my thoughts
 

Holzchopf

Moderator
Staff member
CX Code Contributor
3rd Party Module Dev
Joined
Jul 31, 2017
Likes
147
Location
Bern, Switzerland
#12
I think this might be done as a part of the docs. If it's possible to open a new browser window, it could link to the standard CX module path. You could then open that path from within the docs (to paste/remove) as well as the download-page (to download, open and copy). The first bit might not even be necessary as most keep their docs spread over several places (built-in modules and user modules somewhere outside the CX installation path). I'll check what's possible.
 

Rich

Member
3rd Party Module Dev
Joined
Sep 9, 2017
Likes
77
#13
I think this might be done as a part of the docs. If it's possible to open a new browser window, it could link to the standard CX module path. You could then open that path from within the docs (to paste/remove) as well as the download-page (to download, open and copy). The first bit might not even be necessary as most keep their docs spread over several places (built-in modules and user modules somewhere outside the CX installation path). I'll check what's possible.
This would be 'ok' for a first step I think.
I think it needs to be more than a list that users have to process

it would be nice to have a system that does that git clone for you or extracts it into the modules_ext for you. Docs for each module *should* be built into the module and no module that's part of this should be without them.
Once that extraction happens, the make doc command should be called automatically
 

Holzchopf

Moderator
Staff member
CX Code Contributor
3rd Party Module Dev
Joined
Jul 31, 2017
Likes
147
Location
Bern, Switzerland
#14
You're right, this sounds very well-elaborated. But IMHO there should still be a link in the docs to the 3rd party repo, for people who prefer manual downloading over git cloning (i.e. they don't have git installed)
 
Top Bottom