Just a word on programming

  • Reading the thread about one game engine vs another it is hard not to notice how important it is for people that you don't have to code in C2. Hanging around this forum you surely see a lot of variations of this: "C2 is great because it allows artists to create games". The word 'artist' is apparently used as a synonym for 'a creative person who sucks at coding.'

    I would just like to point out two things for those who begin their adventure with software development here.

    First, C2 really is remarkably more accessible than any code based tool. That said, most people think of coding as some kind of an arcane art available to master for the chosen and the talented. That's completely not the case. If you jump right into the middle of a C handbook and try to wrap your head around memory management, pointers and the like then sure, you can get discouraged pretty easily. But to write a 2d game in Basic or Python is really not that big a deal. Actually it is pretty similar to working in C2 once you get the hang of it. Which leads to the second thing...

    You are already coding in C2. You may be using menus and icons to interact with the engine but you do the same things any programmer does 90% of the time. If you know how to use variables, loops and functions in C2 then you know how to program. If you are smart enough to master advanced graphics software and C2 then you are also smart enough to program. Just get a good online course/book for a high level programming language and you're good to go.

    Look, there are at least hundreds of thousands of programmers in the world, and only a handful are math geniuses. Most are normal people who just learned it at some point and carried on exploring. It's way easier than learning to play the piano, for example. So if you feel that you 'are an artist but can't code' then this is a self imposed limit.

    Being unable to code is not like an intrinsic quality you can't do anything about. It is probably easier than you think. It may not be that necessary when modern tools like C2 are around but if you want... you can do that!

    Ps. I can code. But I still love C2.

  • You may be using menus and icons to interact with the engine but you do the same things any programmer does 90% of the time.

    Courtesy of google image search:

    <img src="http://i.imgur.com/QptiqdR.jpg1" border="0" />

    This is one of the more noticeable differences, which might be enough to sway the opinions of some people towards C2 (honestly, when you're starting to learn programming, syntax is likely to cause you problems, especially if the language isn't described very well, e.g. Pascal), but i guess i see what you're saying...

  • I love C2 for the fact that you don't have to type out endless code in the traditional sense being an artist. I can visually understand the list of events much quicker and easier. Its like speaking plain english when i read through what's going on. And you can beat the immediate satisfaction of being able to play something as quickly as throwing on a platform behavior for example and a ground plane. Very few game engines allow you to immediately get your creative ideas out there and iterate.

    C2 is amazing!

  • I agree with justifun, as when you look at C2 I think you need to look at it in a different light to an 'industry tool'. It's more like a tool for designers/artists who might otherwise have no interest at all in game creation. Hence a lot of people refer to it as a toy, but I think that's also like saying a painter is no good unless they can make their own paint. To me, code-free engines are the next step in the games industry and more and more coders will be funnelled into making these engines as opposed to making the games.

    So yes, you're right, you can learn to code. But when it comes to it, the response is why? Every few weeks C2 makes advancements that reduce the need for code (even multiplayer is on the way!), so if you are purely a designer/artist I would argue it's time misspent to learn code. It's like when you go to a games convention the talkers always say 'don't try to do everything'. If you are about creating content, you should focus on that and not have to worry about 'SYNTAX ERROR' ;)

    My idea of course has the pitfall of if the game engine you use suddenly disappears and every other engine out there still uses only code, you are stuck not making games. But for many people they would rather not make games if it meant having to code.

    Just my few cents! :)

  • I disagree, somewhat.... feels like you are being a bit narcistic, comparing your own skills to that of others.

    Being able to write a few lines of code versus applying programming methodology to create an interactive component ..... are 2 worlds of differences ...

    Though, once you get the gist of general programming flow and modern day object orientated programming, you can probably handle any type of modern programming language, but applying it, thats a whole different level of "artist"

  • C2 is programming it's not coding. And no matter how much Scirra managed to drop the programming barrier there is still the large masses of people who just don't get logic flow.

    That is the key element to programming anything. It is the understanding of logic flow.

    C2 does soo much of the back end work that it's amazing what can be created in a short time. I personally feel C2 can get a prototype game of just about anythign in 2D faster than coding. So this helps a lot of new people get into the entire programming element where as coding time and compile would slow them down.

    Coding still oddly mostly carries a lot of overhead than just programming. There is IDE setup, compilers, a lot of console commands. While Unity helps stream line this a lot the root of programming still has a lot of grindy hurdle overhead.

  • I dunno, I'm an artist that's only making games because of C2 because every time I tried to wrap my head around traditional coding, no matter the language (I tried basic, c++, JavaScript and some others I can't remember), I just couldn't do it. Maybe I just didn't find the right tutorials, but all the ones I tried assumed simultaneously that I already understood how to code for some reason while teaching me how to code. I'm guessing they were trying to teach people who were already programmers just how to use that language, rather than teaching someone how to code from square one. None of the random symbols and syntax ever made sense. I also really like C2's concept of picking objects, which I hear is different with traditional coding.

    Regardless, I look at traditional code and I see gobbledygook, and I look at C2 and see understandable logic. I think someone should create a language that reads as well as C2 does. Even if they did though, I still really like coding with a wacom tablet rather than typing (and technically, due to problems with my hands, I can't type enough to code traditionally anymore anyway).

  • Most "languages" are just that, attempts at making it more read/writable, speeding coding up, and extending access to more people.

    So there are languages in languages dropping the complexity more each level.

    Saying Construct2 isn't part of that lineage is narcissistic, anything "lighter" than your level of coding experience is a game maker.

    Every language has elitist haters, look at Java.     

    Edit:

    Ok, maybe not every language, there aren't many Assembly coders knocking C.

  • C2 has taught me so much in terms of programming that it is making my switch to unity much easier to grasp. I am with jayderyu, Construct 2 may not be coding, but it has taught me how to program. Now as I begin projects in unity, things that seemed so foreign before, suddenly make sense.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I am a full time programmer. C2 is definitely programming.

    I have written games from the ground up. C2 is 100x more productive than raw Javascript. The time between coding a UI and experiencing is very low with C2. This is critical for rapid iterations. Its saving me tons of time

    Yesterday I managed to force Dijkstra algorithm in C2. It was actually harder work than if I just coded it in a normal language. BUT I COULD. The time lost in expressing computer science style algorithms is saved many, many times over in being able to experience the visual and interactive elements of the game immediately.

    Performance is a b****. Still, even if I port the entire project to Javascript myself, it would still lead to a shorter overall development time. I can do all the tinkering with things so fast with C2

  • While technically you're not coding with Construct 2, I feel that the "no coding required" part is mainly used to market towards people that have some kind of fear or a stigma towards programming languages as something used by computer wizards that is not reachable by them.

    They won't be typing code but they will still have to understand programming logic. "With events programming becomes intuitive...". Events/behaviors/plugins are basically pre written chunks of code that the user manipulates. It helps by somewhat removing syntax as a barrier, but they'll still need to be able to "write" the pseudo code in their head to translate that into Construct 2.

    "Construct 2 helps you to learn how to think in a logical way and understand real programming concepts, making it easy for you if you decide to learn a programming language later."

    Understanding of math, arrays and other concepts used in programming as well as web technology is still required to create anything of medium complexity and up.

    That's one of the reasons why there are so many forum threads asking for help on "how to make my character have hp?".

    Not to mention that you can create your own plugins, adding an layer of extensibility to Construct 2.

  • I was once asked by a friend from college, who is into web technology and game making, how I created a web showcase thingy with an animated character.

    Naturally I told him about Construct 2 and linked him to the program. After reading through the features he stumbled upon the much emphasized "no coding required!" part and asked me laughingly what that was about.

    It basically ended up with him dismissing Construct 2 as a learning tool or a fast prototyping tool at best.

  • C2 is like assisted programming, it is powerful enough yet fool-proof, you can fully do your game without worrying too much about the "OH GOD NO, I put a ';' at the end of all these lines, I leave a curse upon myself!"

    Why did I use C2 in the first place?

    I didn't have the time or energy to learn an entire syntax

    I didn't have the time to do much in fact, I tried Game Maker because I knew games made with it, and because it promised simplicity.. Then I saw GML, and was like "well, I can try, it is oriented for games so, should do", had take too much time for result that didn't satisfied me, so I was like "well... nope".

    Then someone told me about C2, I first tried it : "Seems good", then I understood the logic of the program, and I can tell you, understanding how C2 works is far less difficult and time consuming than learning another language while understanding how games works.

    C2 is not only lowering programming difficulty, it is also teaching in his own way how to make a game (more like, what you should think about and why).

    I didn't "learn" C2 syntax, because the only syntax is mostly for maths, which aren't a big problem, the "syntax" is fine enough to not be a problem.

    Later, I talked about it to people, they were like "well, you didn't do it yourself, blablabla..", I was like :"you don't know what you are talking about, test it", they tested it, they admitted their mistake, they don't love it as I do but still recognised its power, and sometimes they do prototypes with it.

    Anyway, to go back to the subject (because my life is boooring), C2 is great at what it does, and what it does is:

    -Help you make your game, helping is not doing it for you, it is make it possible to you to do it without too many problems, and it helps a lot.

    Also, as I said, I didn't learn programming language, but I kinda sucks at english too sometimes, so sorry if my post has too many errors

  • It basically ended up with him dismissing Construct 2 as a learning tool or a fast prototyping tool at best.

    I reckon this is the troublesome part. You'd think people involved in the technology industry would be more supportive and interested in new ways to do things. This to me is like someone in a horse and cart dismissing the idea of an auto-mobile, because it's not what they're used to.

    Sure you can't do everything you like (right now), but you can do so much more in the time vs. content created equation. Even if you don't directly benefit greatly from not using code, it enables whole new teams to be formed - all of a sudden you could have 4 people bashing away with you who would have otherwise never lifted a finger, and you're all doing it faster than with code. It just opens up so many more styles of development.

    So really, I think that coding and programming are two very different things. They both take logic, but only one takes learning. I know half a dozen people who have been through the platformer or shooter tutorials just for fun, yet don't know anyone who has learnt to code a game from scratch in a few hours for laughs.

    And while of course you need programming somewhere to make games happen, it doesn't mean everyone involved needs to know it. That's like saying everyone should know to mill flower before baking a cake. They are two different jobs and more can get done if people specialise in their own role.

  • Wow, replies. So, well, I definitely wasn't narcisstic nor comparing my skills to others. And where did that come from? I wrote that you don't have to be anything special to learn to code. I was generally addressing those who say they C2 saved them because they couldn't (or wouldn't) learn to code, and just wanted to point out that it's not that hard as some people make it to be.

    Then, at no point did I say that you should learn to code. Actually I was driving at the fact that developing games in C2 does constitute programming and I still stand by this.

    Some programmers like to think that what they do is based on extremely advanced technical know-how and dislike the idea of letting "ordinary people" develop games/apps/software. That is why you hear a lot of 'yeah, but you should learn a real programming language.' But times change. Just as in photography, where you no longer need a great set of skills, expensive equpiment, a lightroom etc. to snap a picture, the future of coding may lay in easy-to-use tools. Surely enough, the revolution in photography resulted in an unbelievable amount of crap produced by random wannabes, kids, and those who don't care, but that's part of the package. A photographer saying that no one ever made a good photograph with Instagram does sound a bit self-assertive, doesn't s/he?

    Overall, accessibility is a good thing.

    Scirra does a bit of hedging by stating that C2 lets the 'advanced' guys sketch out ideas quickly. I would say that in many cases it's a fully self-sufficient solution. And frankly, when the performance improves and making mobile games becomes viable I see no reason to code anything 'the old fashioned way.'

    [Edit: 'anything' meaning 'anything that can be made in C2 instead]

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)