Questions about new functionality in C3

0 favourites
  • 3 posts
From the Asset Store
Create your game with this complete pack of images and animations!
  • Once a year, I teach an introductory game programming course to students using Construct 3. Since I'm not really immersed in C3 during the rest of the year, it's always fun to come back to the platform so I can teach myself about new functionality.

    I realize that I can consult all of the release notes to find out about every single thing that has been changed, but I'm really interested in knowing more about how the C3 developer community views recent changes. If anyone has opinions about these questions, I would love to hear your thoughts!

    • What are some of the most important changes to Construct 3 that have emerged during the past year or two?
    • How are things going with the timeline editor and tweens? Should we be striving to use these tools for animation instead of the movement behaviors we relied on before the timeline editor was introduced?
    • What about the tile movement behavior that was introduced in late 2018? This seems like a great way of avoiding all sorts of collision detection errors.
    • The scene graph looks *so* cool, and I know it is very new. Is it ready for prime time?
    • Have interactive dialogue trees become any easier, or do we still need to engage in JSON acrobatics and third-party tools to make it work smoothly? (Not criticizing C3 for this. Just remembering that this was often the most difficult part when helping students implement their game ideas.)
    • Should I now be teaching my students to use function maps from the get-go?
    • How are things going in terms of JavaScript integration with C3? When would folks want to code in JS instead of using the C3 visual tools?

    I realize that there are many questions here and am interested in any thoughts people have about *any* of these questions. Thank you!

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Tween, Timers, Move To, Drawing Canvas, Functions.

    I would spend a lot of time on those.

    Then hammer the Json object, and its format into their brains.

    The Timeline, and Scene Graph features are nice, but somewhat niche, along with Tile movement.

    The new Mesh distorts will be a game changer. Literally.

    • How are things going with the timeline editor and tweens? Should we be striving to use these tools for animation instead of the movement behaviors we relied on before the timeline editor was introduced?

      I would say timeline, being an implementation of flash style editing (which was designed to create animations as opposed to games), is definitely suitable for use if your goal is to create an animation. Its always good to note that there are many ways of doing the same thing when it comes to programming, usually each with their own strengths and weaknesses.

      What about the tile movement behavior that was introduced in late 2018? This seems like a great way of avoiding all sorts of collision detection errors.

      Tile movement is great for tile movement. That is if you're looking to move objects in discrete steps, it makes it easier to do. Previous behaviors generally dealt with constant motion over time.

      Collision detection is a separate and heavy subject by itself.

      Have interactive dialogue trees become any easier, or do we still need to engage in JSON acrobatics and third-party tools to make it work smoothly? (Not criticizing C3 for this. Just remembering that this was often the most difficult part when helping students implement their game ideas.)

      Dialogue is complicated, just like menus, in that there are so many ways to implement it depending on what you want and are comfortable with. For example, I never touched JSON for dialogues, I found XML to be more suitable for me.

      Dialogue trees specifically can get out of hand really quickly. If you're teaching a traditional flash style animation class where one of the assignments is to create an animation that the user can interact with and have branching paths, I would recommend just utilizing different layouts for the branches in a choose your own adventure type setup. Change to the appropriate layout/event sheet upon making an interactive choice. This would be a good place to introduce the persist behavior and how the global property/objects work as well.

      For beginners, honestly I would advise against teaching JSON as a format to be directly edited, and instead teach it simply as a kind of a file type that can be saved and loaded conveniently. Construct has actions that take care of converting its various data structures to json, and read them back. Editing them manually 99% of the time just results in headaches and errors.

      Should I now be teaching my students to use function maps from the get-go?

      Probably. Functions are useful tools in any programming language.

      Use case 1: A good way to organize any set of actions they find themselves repeating in their events more than once.

      Use case 2: A set of actions that depend on an input parameter/variable that can change, that is used more than once.

      Use case 3: To create your own custom expressions that you would use more than once.

      The key is that if you're going to use that set of actions repeatedly, its probably a good idea to stick it in a function. Also if you're working with multiple layouts, it can be a good place to introduce how to create dedicated event sheets (in this case for functions) and event sheet includes, which are very important for organizing larger projects. Speaking of larger projects, another huge advantage of functions is that if you want to make a change you only have to change it in one place, rather than in all the events that have the same copy of actions that you might forget to change.

      How are things going in terms of JavaScript integration with C3? When would folks want to code in JS instead of using the C3 visual tools?

      It works. You could use it if you're more comfortable with JavaScript already and its easier for you to just slam out the code. I'd say the main use for it now is interacting with APIs for outside tools that have JavaScript documentation. Or implementing something that Construct doesn't cover, but you are able to find resources outside that describe how to do it in JavaScript. Anyways not something I would go into much in an introductory class.

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