glerikud's Forum Posts

  • EDIT: To be clear, I'm not talking about collision detection. More like... a loop not running at all?

    It depends what are the conditions for running that loop. But for ex. if you have a button and you set your logic up like "On clicked" then "run loop". It will run even at 1 FPS.

  • I just tested it too and it works.

  • Basically given the choice between a Construct 2 class and a Unity class in high school, I would definitely rather pick Unity.

    Thanks for your input. What you are saying is indeed a logical choice. However the only motivating thing for students would be that they work on a game and they would still have to face the traditional language which is a real discouragement for a lot of them. It would be still better to teach Unity instead today's command line based programs (that's what we have in the majority of the high schools), but I think it could be more real in a study group rather than a computer-science class.

    Of course as times change new engines and languages will grow in popularity, but those two are relevant today and the near future in that if you are looking to get hired at a larger developer, knowledge of them will be more valuable than knowledge of C2.

    True, but we have limited class numbers and we still have to teach all other aspects of computer-science beside programming. So while it would be a good idea to teach Unity as well, we don't have the lesson number for such a complex environment. Maybe in a study group (as I mentioned above) or in higher education. The job of the high school programming teaching is to have the students learn programming thinking. And for that knowledge we don't necessary need engines like Unity. What I really want to say here is that high scools can't prepare students for everything they need to get hired as a developer.

    As i said, your main thought will be "how to move my elevator ?" and not "should i use a OR or a AND in my test ?"

    That part of your previous post didn't clicked for me, but I get it now. Yes, in that matter C2 requires a different approach to teach the same thing.

    If you really want to teach to beginners what programming means, you can use C2 just for making them doing a fun work but your risk is to let them believe it's always so easy. No syntax problem, the interface telling you everything etc. because when they will meet the hard reality of code, they can be disapointed too.

    Yes, I'm glad you pointed this potential problem out. The teachers who teach visual programming will have to prepare the students that programming is not always this easy. Either by showing them examples or having them do simple tasks in both a visual programming and a traditional programming environment. But the latter requires more lessons.

    So we are doing still the same thing just using new virtualizations of programming itself. If you meet a hardcore programmer from '70s he could say "Oh man, you use mouse and color monitor to highlight syntax? - you're not a real programmer!" . The times change. Drag & drop programming like here in C2 is not something for kids to play. It's just new thing which will get more and more popular. Other engines started to build their drag&drop systems now as well... as Godot for instance which announced recently that they want it as well. Unreal engine has it as well if I'm not mistaken.

    Yes, Unreal has a node based system called blueprints. This always comes up in larger topic when visual and classic languages get compared, and it's always true. We are experiencing the spread of a new programming approach. I too believe that in a few years more and more environments get visual programming modes and later that type of development will rule the market. Think about kids nowadays. They use smart devices from early ages and they tend to go for the easier solution in solving a problem. They are the perfect candidates for visual programming. And we shouldn't forget that these languages evolve. More and more things are possible with them as new iterations come out.

    C2-like engines are the future. Not discouraging from learning other engines and coding - it's always good to know as more as possible. But C2-like engines are the future for sure.

    Can't agree more. Life-long learning is also important.

    But imo, it's still important to know the basis of what you sit on.

    ...

    (damn i didnt know it was possible to do so much philosophy with everyone around a software)

    It's important. And it's very important for a teacher.

    You can do as much talk about a software as you want if you have such a great Community

  • Asley, could you please clarify whether or not the play sound at position is a web audio call and whether - if it is web audio - this sound induced jank is consequently a bug in chromium? Please take a quick look at the chromium bug report linked in the first post - I sense that this will not get fixed from comments so far, and I don't understand the c2 internals well enough to argue accurately. Thanks.

    You misspelled his name. That way he won't see your tagging. https://www.scirra.com/users/asley

  • I am not sure why do you ask? If you want to start teaching people C2 proffessionally then I vote for it.

    First, thank you for your long and detailed answer. I'm asking these questions in order to gather information from experienced coders regarding visual programming and especially C2. I also value non-programmers' feedback as well. It also adds to the big picture and help me to see clearly. I have two goals, one is to teach C2 in the future with a well worked out curriculum to replace traditional programming in high-school lessons (for the non-computer science focused classes). If I can manage it, I also want to start an optional game design study group where we would use C2. My second goal is to research how C2 helps students (or just design focused users) develop programming thinking/logic. I have some personal experience in the latter despite I learned traditional programming at college, but I can't base a study on my personal opinions.

    Now if you go the level under, and do some "classic" programming, you will learn logic, algorithmic, OOP...

    You will have to answer to these questions : why i have a infinite loop ? why my function doesn't return 42 but 0 ?

    I see your point, but I have to disagree with it at some points. The 2 questions I quoted from you can be answered with using C2 too. While C2 takes away the syntax part of the programming, you'll still have to build up the logic. I guess it would be more precise to say that with C2 you won't learn to write code, but you do learn how to build code with logic. I'm with , I also think that the functions are not so far from the ones you use in a classic language.

    You are right when you say that we can make a game in C2 using not well designed event sheets (using seemingly random events) and they will work. But it's also part of why C2 is so appealing to beginners. You get positive feedback. Your game works. It feels awesome. I'm not saying of course that this is how one should develop a software, but it gives the necessary nudge to develop further and learn how to build optimized, well designed code later.

    So now it depends on what you call "professionnal programming" because i'm a video game professionnal and i use C2, you see ?

    True But for beginners the goal is to get familiar with the basic aspects and develop the thinking. The professional part comes later. Also, thank you for sharing your view.

  • Why not? A beginner just needs to copy the start of layout event, then any function called "click" will be called when a button is clicked, and the first parameter will be the button number.

    Because the beginner developers won't even know how to use functions. I'm not trying to be picky or anything, I'm just saying it might worth to offically support this with the mouse plugin.

  • ...the layout renderer view is actually a 3D view (no, we won't be doing a 3D editor)...

    Wow, that surprised me I never would've guessed it uses a 3D view.

  • I suggest you publish the win64 and win32 and let the steam client install the right version, that should correct your issue

    It would be a strange issue, since a win64 system should run win32 software without problem.

  • On that level, no programming languages "teaches" you those concepts either (apart perhaps syntax stuff, although it is often one of the main issue with signs used in ends of lines and stuff like that), it is up to you, the user/progreammer to be organized and make "clean" and elegant code.

    You can have messy C++ code as well, using too much memory, not clean/elegant and so on. The language itself doesn't teach you anything about that, it is just your own experience using it that does the trick, same goes with C2.

    ...

    By its design it will lead you in certain ways, sure, but as long as you are left on your own, you can teach yourself bad ways, I don't think it is specific to C2.

    True. This is why you need a teacher if you don't have time to learn from experience.

    Also, it's actually an abuse (even on my part) to compare C2 with C++ since C2 is based on JavaScript, as such a lot of your complains/remarks are the same that "true coders" of low-level languages like C++ will have towards scripts/modern languages like JavaScript.

    It's kind of a dead debate all along since it is mostly a matter of perception/point of view/comparing two things that are not really comparable (low level vs high level).

    Comparing C2 and any language is totally useless.

    C2 is not made for teaching programming, because C2 is -over- programming.

    When you code in C++, do you keep in mind what happen in Assembler ? Do you try to find what your compiler will do when you do a new ? When you do a pointer ?

    Will C++ teach you what the internal motor of the compiler will build ?

    I agree, you can't compare two languages directly and this discussion is not about that. However you can compare them regarding didactic matters. Since they are both used in education and teaching programming logic, computational thinking, I think it's fair to measure which one does the job better. This is a wide area, we can't cover all aspects of programming teaching and I don't believe it's even possible with only one language. But since the lessons are limited in schools and the students have also limited free time to practice on their own, it's important to have an efficient language that is easy to learn, yet so powerful that it can take the student far (to create a knowledge that allowes the student to learn other languages, new methods based on it). I'm hoping that C2 is that language.

    But it is not the goal of a language or of C2 to "teach" anything.

    True, the most important part is to be able to make software with it. On the other hand, it's good that if a language is fit to teach programming logic for beginners.

    Now if the newbie make a step further or not depends on him. If he is a pure hobbyst then probably he would never go and learn any programming language because C2 is fun and usually enough for hobbysts to make games. But if you have mastered C2 and decided to put IT on your proffessional career trip, then you must learn what is below, because sooner or later there will be a task to do which pure C2 won't handle with default plugins and you will have to make your own.

    It's great that so many perspectives come up for this topic. Based on the previous posts (including your writings too) in your opinion do you think that C2 can be a good base for someone who want to learn professional programming? Or it might be better if I ask that way: Do you think that for someone, who learned programming logic with C2 in a formal way, alongside a teacher, is it possible to step to the next level, the professional level, learning only by themselves?

  • same thing here... c2 226, latest v0.13.2 nw.js - avast marks nw.exe as a threat. whitelisting nw.exe in avast is ok for me. but telling all the players of my game to do the same seems to be a very loosy workaround...

    i've sent the exported nw.exe to avast hope they'll do some magic with this. everyone with this problem repeat!

    Of course you can't ask the players to do that. You'll lose customers. I hope that Avast fixes this soon (or it will be fixed with the newer NW.js versions). If not, then we might have to contact Avast directly in that matter.

  • It was from about this time last year, so maybe C2 R201 or R202? I'm not too sure if the Node Webkit was it's own separate download back then or not.

    Then it might wortha try to re-export your game using the newest C2 and NW.js versions.

    https://www.scirra.com/nwjs

  • Construct 2 will not teach other programming essentials like double checking syntax obsessively, clean code, and memory management among other things. It is very forgiving in that sense. How much someone relies on behaviors and pre-made examples without attempting to understand how or why certain code works could also limit how much is learned.

    Thanks for your input. Syntax checking is indeed not a part of this kind of programming (except for expressions), but this is one of the main advantages of visual languages. The programmer can focus on the logic, instead of the syntax. I do see your point, that getting used to checking the syntax is a good practice for a programmer. However I don't think it's the visual languages' job to teach that. Creating clean code on the other hand is a different matter. In my experience as you move forward in programming and create more and more complex projects with C2, the desire (and need) to optimize and create clean code emerges. Memory management is a requested feature, it's truly missing, I'm with you on that one.

  • What NW.js version did you use?

  • You could do this:

    https://dl.dropboxusercontent.com/u/542 ... se_js.capx

    Sadly, the beginner devs won't be able to utilize this. Still, it's very useful, thank you for sharing it.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • It could be useful for more complex games, especially for key rebinding options.