construct 2 is not so fast after all

Discussion and feedback on Construct 2

Post » Wed May 18, 2016 7:50 pm

I think you recieved pretty good answers there @mahdi71 . Anyway, I'll post my opinions about your op:

1 - I never had any problems with creating a UI. I even think it's one of the easiest part of making a game. However it's still more complicated to make than in an engine that has a built in UI framework. I used Unreal Engine 4 and the UI editor it has it's just awesome. Since Construct 2 is a lightweight but powerful general purpose engine you have to do it all here yourself without a dedicated editor. I don't think it's a problem, as I said above, I never had any problems with making a UI (and for what I've seen on the forum it's not just me). But I get your point.

2 - Yes, Construct 2 uses a somewhat different approach than other engines. In Unity you make scripts and assign them to objects. Here you have the event sheets and all of your visual code goes there. I think the latter is easier to see through if you make well organized code. The family thing (to have different type of objects in one) was requested many times. Maybe we can expect that functionality in C3.

3 - True, you can't reuse your code like in a traditional programming environment. But just as other Devs said in this topic, it's not necessary appropriate to do so. If you need your code reused you can always make a function and/or use copy-paste. Modularity is also a demanded feature for C3, and Scirra said we might have it somewhere after the release of C3.

4 - Then use other methods to keep values between layouts. Global variables, Arrays, Dictionaries, etc..

5 - I don't get your problem with localstorate. Can you elaborate?

I experienced C2 as the fastest development software on the market. You can make complete games in the fraction of the time it would take with any traditional programming engine. I don't agree with your statement either that C2 is not for big projects. Take a look at this topic: examples-of-big-games-in-c2_t171657
B
135
S
33
G
17
Posts: 1,557
Reputation: 20,717

Post » Wed May 18, 2016 8:27 pm

glerikud wrote:I think you recieved pretty good answers there @mahdi71 . Anyway, I'll post my opinions about your op:

1 - I never had any problems with creating a UI. I even think it's one of the easiest part of making a game. However it's still more complicated to make than in an engine that has a built in UI framework. I used Unreal Engine 4 and the UI editor it has it's just awesome. Since Construct 2 is a lightweight but powerful general purpose engine you have to do it all here yourself without a dedicated editor. I don't think it's a problem, as I said above, I never had any problems with making a UI (and for what I've seen on the forum it's not just me). But I get your point.

2 - Yes, Construct 2 uses a somewhat different approach than other engines. In Unity you make scripts and assign them to objects. Here you have the event sheets and all of your visual code goes there. I think the latter is easier to see through if you make well organized code. The family thing (to have different type of objects in one) was requested many times. Maybe we can expect that functionality in C3.

3 - True, you can't reuse your code like in a traditional programming environment. But just as other Devs said in this topic, it's not necessary appropriate to do so. If you need your code reused you can always make a function and/or use copy-paste. Modularity is also a demanded feature for C3, and Scirra said we might have it somewhere after the release of C3.

4 - Then use other methods to keep values between layouts. Global variables, Arrays, Dictionaries, etc..

5 - I don't get your problem with localstorate. Can you elaborate?

I experienced C2 as the fastest development software on the market. You can make complete games in the fraction of the time it would take with any traditional programming engine. I don't agree with your statement either that C2 is not for big projects. Take a look at this topic: examples-of-big-games-in-c2_t171657

1- if you don't have any problem it dosn't mean its perfect (i said an example)
2- you agree
3-functions still need specefic objects .. you agree
4-other methods gets more times and need more event sheets but they have to be done by editor
5-you have to request it to system to read it then you can use it : i know why scirra did this with localstorge but there are so many better ways to do that (they did it becuase game don't stop until the variable get ready)
__
c2 can do big projects (my project have more than 1100 event sheet) but its not good for big projects
B
16
S
6
Posts: 243
Reputation: 1,755

Post » Wed May 18, 2016 8:36 pm

Reusability is the essence of development in some way. I mean it is really important and it is a serious issue if you can't make a reusable code in the engine so I understand the frustration. Every experienced programmer always keep in mind to make that feature which he is already working on a kind of universal/reusable code (lib, plugin, module, ...). Reasons are obvious.

As it is not that stright forward to make a reusable code in C2 - still it is possible. My MoModth project which I talk about from time to time is based on (what I call) modules. Depends on the feature a module can be a functionality with dedicated API (both functions and callbacks) or stand alone functionality. This approach really does the job. That's why I say for MoModth that "Building C2 apps has never been easier", because you can simply attach modules which you use in current layout and they handle most of needed functionality.

Think about it like on libraries in regular programming languages. You download a library and use it with it's API. So I really encourage to take this approach while building C2 apps. It saves a lot of time and speed up development drastically. Also once you make a good module it is already tested/working code so you don't have to bother with bugs/compatibility.

I wish MoModth be finished already as this is a close related topic with issue that MoModth's is solving actualy. I am however very bussy recently with my client's projects so MoModth has to wait a bit.

Anyway I assure you that C2 can handle big projects you just have to figure out your own smart coding guideline, some conventions for the project which will let you not get lost once it gets big.

In shot: ENCAPSULATING!, organizing, optimizing and overall refactoring should be done as soon as your project evolves with some new "wing".

Good Luck
ImageImageImage
B
27
S
16
G
74
Posts: 985
Reputation: 41,689

Post » Wed May 18, 2016 9:01 pm

99Instances2Go wrote:@mahdi71 (better adres you, else GamesCorpStudio shoots at me)

About your point 2-sheets. Yes you have to pick them. But picking one, combined with the use of a container is so easy.

https://drive.google.com/open?id=0B1SSu ... XlJV2V5akU


first of all i want to apologize if you think i have / had something with you ...

second dont get me wrong im not shouting at anyone ..

'nor im trying to be arrogant .....

i actually have fun reading this types of posts and i enjoy seeing this type of problems... i wish somebody else was actually evaluating more of this topics but hey..im just a normal user ...

if i sounded a bit harsh is because by now you wold think we all have experienced the system C2 uses and its imperfections ... and we all seen this issues... its getting frustrating seeing same problems daily raised in the forum...

but the way the op was made, it leaves the impression that mahdi71 is ranting without even trying to solve them...

and yes @99instances2Go i might have confused you with the op ... you both have red logos... my bad ...


Edited: i wish i wold'v seen before the post @BackendFreak, (btw that looks Insane cool), did haha... about MoModth that basically solve all this topics issues... now i look like a potato hahaha

@mahdi77 i think the problems you raised should be posted in this topic what features you want to see in the future C2?

this topic was really good. have a good day all.
B
75
S
22
G
68
Posts: 1,339
Reputation: 43,275

Post » Wed May 18, 2016 9:46 pm

mahdi71 wrote:1- if you don't have any problem it dosn't mean its perfect (i said an example)
2- you agree
3-functions still need specefic objects .. you agree
4-other methods gets more times and need more event sheets but they have to be done by editor
5-you have to request it to system to read it then you can use it : i know why scirra did this with localstorge but there are so many better ways to do that (they did it becuase game don't stop until the variable get ready)
__
c2 can do big projects (my project have more than 1100 event sheet) but its not good for big projects

If you know better ways of doing things then follow @gamecorpstudio 's idea and post your suggestions in one of those topics. Being constructive is always more effective then just saying out our problems loudly. Scirra reads those topics too and usually respond to those suggestions/requests.
B
135
S
33
G
17
Posts: 1,557
Reputation: 20,717

Post » Wed May 18, 2016 11:28 pm

I agree with everyone you should read the manual or just give up before you embarass yourself more with that attitude. C2 has its flaws, but rapid prototyping is not one of them.
B
40
S
15
G
4
Posts: 426
Reputation: 5,843

Post » Thu May 19, 2016 5:55 am

When you bring fire, more fire will come. Thats what happens when you open a thread like this. Now as far as reusing code is easy to do with a little critical thinking.

1) Make a global variable =0

2) make a function or multiple functions

3) When the global variable =1, then trigger the functions to be true.

4) Dont forget to include the event sheet with other events sheets.

Easy as cake!!
Check out my awesome Android Game releases https://play.google.com/store/apps/deve ... ames&hl=en
B
38
S
18
G
24
Posts: 681
Reputation: 16,613

Post » Thu May 19, 2016 10:03 am

PixelPower wrote:1) Make a global variable =0

2) make a function or multiple functions

3) When the global variable =1, then trigger the functions to be true.

4) Dont forget to include the event sheet with other events sheets.

Easy as cake!!


I strongly suggest to avoid global variables as much as you can if you plan to do a big project. Global variables bring mess to the project and block the possibility of encapsulation. It is already a pain in C2 that all functions are global.
ImageImageImage
B
27
S
16
G
74
Posts: 985
Reputation: 41,689

Post » Thu May 19, 2016 12:27 pm

BackendFreak wrote:
PixelPower wrote:1) Make a global variable =0

2) make a function or multiple functions

3) When the global variable =1, then trigger the functions to be true.

4) Dont forget to include the event sheet with other events sheets.

Easy as cake!!


I strongly suggest to avoid global variables as much as you can if you plan to do a big project. Global variables bring mess to the project and block the possibility of encapsulation. It is already a pain in C2 that all functions are global.


Well the OP wanted a method so he doesn't have to repeat the same code over and over. Because a global variable isn't encapsulated , then he can just call it easily whenever he needs to without having to repeat code over and over.
The only thing in my opinion that brings a mess to a large project is not writing down want you want 1st. Before I take on a larger game I write down in notepad the different scenarios and things I want in the game. That way I don't get stuck in the middle because I calculated what I was going to do.
Check out my awesome Android Game releases https://play.google.com/store/apps/deve ... ames&hl=en
B
38
S
18
G
24
Posts: 681
Reputation: 16,613

Post » Thu May 19, 2016 12:38 pm

"I strongly suggest to avoid global variables as much as you can if you plan to do a big project. Global variables bring mess to the project and block the possibility of encapsulation. It is already a pain in C2 that all functions are global."

Yes, just put a static variable in a group block and access it with get and set functions. One problem with global variables is they always pop up when you want to set a variable.

yours
winkr7
B
34
S
8
G
3
Posts: 169
Reputation: 3,305

PreviousNext

Return to Construct 2 General

Who is online

Users browsing this forum: bobcgausa and 9 guests