[suggestion] A Call for Modularity

Discussion and feedback on Construct 2

Post » Fri Nov 08, 2013 3:44 am

Well I have to admit I love the recent features that C2 has been coming out with. To my surprise I really enjoy the debugger so i can watch variables and data in arrays and dictionaries. However with so much out now I was hoping to make a call out for the Scirra team to work on Modularity.

I was thinking about Modularity and how from my experience could be implemented and it's use of functionality for developers.

* Extend Group to Group Module
Right now Groups are already an object in C2. They are in the debugger, they can "hold" local variables, functions and loops all register to a Group. Groups make a great starting place to build modularity from.

* Group Module
Is a new category called Module(simlar to Layout, EventSheets, Object, Families). Modules are an EventSheet with a Group as a requirement.

* Group Functions
Functions are a good plugin, but the fact that they need to reference Plugin.Call(myfunction) is definetly cumbersome. Instead Group becomes the Function Plugin. And Function's are baked in. So instead of Function.Call(""). We can now just use GroupModule.myfunction. Of course this means that GroupModule get there own "compile" prior to being used. So to update changes in a Module would require an in IDE Build.

* Group Objects
Right now to import an EventSheet/Events. The developers needs to create an object that's used in the sheet and declare all variables named exactly the same. This is fine for smaller works. but anything that really digs into a lot of meat and chewy work; this effort becomes more of a hassle. Also on top if the module developer updates there EventSheet the using developer needs to make the appropriate changes.

Well if objects(sprites, arrays, dictionaries, spritfonts....) can be baked into the Group module. Then this becomes easy to make updates.

As a simple situation. I am working on a Point and Click Adventure. There is a lot of work that went into project. I would like to someday offer the entire work to the community. But odds are the EventSheets, objects... will get updated with new features, improvements.... Someone who decided to use my stuff won't be able to effectively update due to the large amounts changes. They would either have to continue working with an old version or I and they would have to design and follow some kind of update sheet. Very inconvenient and not practical.

* Group Events & Actions and Expressions
It would be fantastic that a module can offer ACE development design.

* Private and Public Objects
For API safety reasons it would be great that objects can be declared as private or public to other developers. Access to to public objects can be done in the same tree like manner on the module similar to opening a folder.

* CAMOD
We have CAPX Construct ? Project Zip. CAPROJ Construct ? Project. So now there is Construct ? Module. These are optionally minified capx.

* Open or Closed CAMOD
It would also be nice to have the option to allow or deny others access to the Module EventSheet/s and objects for modification.

* Module Repository and Asset store
This was inspired by Unity. I was browsing the asset store on the Scirra website today to see any new items. I had the thought that most C2 developers probably don't even know about the store(I could be wrong). C2 could use the benefit of having a link to the webstore at the top among the RUN button(not just the start page). Also it would be great if it was a New Window with no browser frame. That way it looks more integrated with the C2 program. Also downloading an asset should download into an Asset library in C2. While offering this. It would be great to offer a Module Repository so people could get the module integration.


So with all that with Debug, gui improvements, profiler, tilemaps are out. That's some of the big items on the road list. That leaves Modularity and Multiplayer. I firmly believe that Modularity will enhance everything of C2. I certainly believe it would push the usability and accessibility and developer utility by leaps and bounds.

Also doing this offers OOP design model which I know appeared elsewhere.
B
90
S
18
G
9
Posts: 2,455
Reputation: 15,013

Post » Fri Nov 08, 2013 8:51 am

+1000^10 on that!

It would solve my request here in a more elegant way!

http://www.scirra.com/forum/suggestiOnEvent-sheet-for-objects_topic78780.html

My current problems are that I try to emulate modularity with external event sheets but it just ends up with passing a lot of UID:s and since the local variables are behaving like radioactive decay I still end up with most of the logic in the main event sheet.

With this implemented and the issues with ios fixed, or at least a work around I will definitely buy scirra a beer!
B
7
S
1
Posts: 22
Reputation: 526

Post » Fri Nov 08, 2013 12:52 pm

Modularity features have topped our feature request polls several times, we're well aware of the demand for them. However they are probably also the most complex feature to implement, and we've only just started on tilemap support. So hopefully we will get to it eventually, but probably not in the near future.
Scirra Founder
B
387
S
230
G
88
Posts: 24,251
Reputation: 192,464

Post » Fri Nov 08, 2013 4:06 pm

@Ashley
Well thanks for the reply. On the list, but not in the near future. I figured polishing up and trying remove bugs from the load of new recent features were higher priority.

Though I do feel that Modules and an integrated repository would help Scirra a lot. Right now there seems to be too many people that don't want to use Plugins or just can't find them. Some people feel that if it's not Scirra then it's not worth using :(. A official Scirra repository would help break the barrier :)

But I guess it's going to come when it comes.
B
90
S
18
G
9
Posts: 2,455
Reputation: 15,013

Post » Sat Nov 09, 2013 5:42 pm

Yeah, one of the things that makes Unity very popular is the ease of access to community content with the Asset Store.
B
21
S
8
G
6
Posts: 346
Reputation: 4,891

Post » Sat Nov 09, 2013 6:33 pm

@Thndr
I agree. I feel that if Scirra adopted the an asset store like repository with module support. It would shift and grow the C2 brand to a much larger and percieved value. Right now HTML5 is fighting a lot of negative view in the industry for practical gaming. Scirra I feel is on a path that could changing that. It'a a tool for mass, uses HTML5 base technology, easy to use. But Scirra takes too much responsibilities of doing too many of the plugins themselves. Which is good, but if overall importing and use of code modules and assets were out I think it would undo some of the load on Scirra and foster a push for C2 and HTML as a viable game dev tool to the industry.

But that's just my opionion :D

However I do know that implementing Modularity would require some restructing of C2 core engine. Which Doesn't occur that much anymore. So I can see why Ashley isn't in a rush for this support. I just feel with many of the other top voted road map options are mostly out now. That Modularity should come before multiplayer.jayderyu2013-11-09 18:35:37
B
90
S
18
G
9
Posts: 2,455
Reputation: 15,013


Return to Construct 2 General

Who is online

Users browsing this forum: The Mnk and 1 guest