Chowdren: Fast Construct runtime for consoles/desktop

  • Hi everyone! Mathias from MP2 Games here.

    We have started work on a port of a Construct game, so I'm happy to announce that there is now support for Construct 2/3 in Chowdren.

    Website

    Overview

    Chowdren is a blazingly fast runtime for Construct. It supports

    • Desktop: Windows, Mac, Linux
    • Consoles: Nintendo Switch, PS4, XB1, Wii U
    • Handhelds: Nintendo 3DS, PS Vita
    • Mobile: Android, Amazon Fire TV
    • Web: HTML5 (Emscripten)

    Chowdren automatically translates your events to C++, and uses a C++ runtime.

    This means that you can expect significant speedups when using Chowdren for your game.

    Chowdren also optimizes for several common usecases. An example of this is the use of the Function plugin, where "On function" directly translates to a function in C++.

    Chowdren has been used for several games, such as

    • Iconoclasts (Construct Classic, Nintendo Switch/PS4/PS Vita/Windows/Mac/Linux)
    • Freedom Planet (Clickteam Fusion, Nintendo Switch/PS4/Wii U/Windows/Mac/Linux)
    • Noitu Love: Devolution (Clickteam Fusion, Nintendo 3DS/Wii U)
    • NOT A HERO (Clickteam Fusion, PS4/XB1/Windows/Mac/Linux/Amazon Fire TV)
    • The Escapists (Clickteam Fusion, Mac/Linux)
    • (and more...)

    Features

    The list of supported behaviors/plugins can be found here:

    Link

    Some of these are only partially implemented, but there should always be some degree of support.

    We are actively working on expanding the number of supported features, but please see the Limitations section below.

    Porting Service

    MP2 Games offers a porting service, where we will use Chowdren to take your game all the way from caproj/capx to release on another platform.

    We have years of experience porting Fusion and Construct games, and we can tailor Chowdren for your game.

    If needed, we will do game-specific optimizations to make sure your game hits 60 FPS. We can also add features such as localization support, achievements, and perform changes that would be difficult to do from Construct.

    Typically, the porting process is this:

    • You give us a caproj/capx file, and we send you Windows builds for testing.
    • Once the Windows build is free of issues, we bring the game to the target platform. If you have a devkit for the platform in question, we can send you builds for testing.
    • When a build for the target platform is free of issues, with no gameplay or compliance issues left, we will send it to you so you can prepare it for submission.

    During this, you can send us updated caproj/capx files, that's no problem at all.

    Commercial License

    We also offer a commercial license for Chowdren.

    Unless you are an advanced user who is familiar with Construct internals, C++ and cross-platform development, this is not a good solution for you.

    Please note that this license is meant for serious developers with a budget only.

    Pricing & Contact

    If you would like to discuss a potential port, or pricing for a commercial license, please get in touch at

    E-mail: construct@mp2.dk

    If possible, include a short introduction and description of your game. We can sign an NDA if you would like to send us a demo or your project source.

    Serious proposals only!

    Limitations

    Chowdren only implements a limited subset of the Construct runtime.

    That is, Chowdren is NOT a full or drop-in alternative to the standard Construct runtime.

    Right now, the supported subset is large enough to run a few games, but it will most likely not work with your game out-of-the-box.

    If you do not have a budget for porting, or if the standard Construct runtime is good enough for your needs, Chowdren may not be a good solution for you.

    Finally, Chowdren only supports Construct 3 when used with the Construct 2 runtime. If you are interested in using Chowdren with the Construct 3 runtime instead, please let me know.

  • (reserving for future use)

  • Very interesting topic, very curius about development. Keep up the good work Mathias!

  • Would be interesting to see how this stacks up to nw.js for PC exports

  • As I told you on Discord, this looks absolutely nice and I'm really looking forward to those benchmarks. Keep up the good work, I might drop an email in the near future.

  • If you can port to consoles, and desktop that would be great, but I'm kind of curious as to how this would be beneficial to web or mobile.

    I just don't see it being faster on web, and I can't really see how you could port to native on mobile.

    If you could, please give us some more details on the finer points. Like on mobile and if this is just for one-off solutions only.

    Thanks, and good luck.

  • YES! So glad to see this migrating to the Construct 2(+ someday C3?) realm

    I vote to sticky this post!

  • newt: On Android, Chowdren uses JNI / SDL.

    We released NOT A HERO using this Android backend, so you can check it out for yourself on e.g. NVIDIA SHIELD

    For HTML5, Chowdren has an Emscripten backend, which I assume is still faster than the standard C2 runtime, especially when WebAssembly is used. For Chowdren, the emphasis is on console/desktop platforms, i.e. mostly Switch/PS4/XB1 and Windows/Mac/Linux.

  • I don't recall any information saying Emscripten, or WeAssemby was faster than the standard html5 export, but I look forward to seeing the eventual results.

  • If you're in the Construct Community discord you already know but, Here's a fake3d test we did earlier today

    Construct 2 running in google chrome(latest edition)

    the Same project running in Chowdren

    C2 capx

    https://cdn.discordapp.com/attachments/225550155531812865/441623438486929428/3d_car_example_-_V3.1_now_with_Families__optimised_picking.capx

    Chowdren compiled game

    https://cdn.discordapp.com/attachments/225550155531812865/441623610503725056/f3d.zip

    Edit: Families were toggled off for this previous test so here's a more accurate test

  • newt Web assembly is indeed much faster than the Web export, Emscripteen is a compiler that compiles languages like c++, python,lua etc to javascript.The standard c2 web export is slower than javascript itself due to the data being parsed thru a 2nd array layer rather than just running in normal javascript.Web assembly is essentially the lowest and most performant you can get with any web browser.Here's an article from Mozilla to give you an idea how much more powerful a chowdren compiled web game would be https://hacks.mozilla.org/2017/03/why-webassembly-is-faster-than-asm-js

  • Proof positive that native is significantly faster, even when it has to deal with interpreting data created for another (non-native) runtime.

    Thanks for starting this thread Hopefully this helps cancel out any future related arguments before they begin.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Phacanu Well, obviously the Chowdren example doesn't have "for each" yet, so that one change accounts for the fps difference.

    There are others, such as text rendering, and setting the layer angle... every tick, but those are minor optimizations.

    There are a few options to avoid the "for each", I would go with the instance index, or object(iid).x and stay away from families.

    Edit:

    Now that I think of it, a container of all the parts as separate objects would be the simplest method.

  • digitalsoapbox it's more of a c2 thing,Pixi.js for instance is on chowdrens rendering level even tho it's a javascript rendering framework

    @newt not even really sure what you're saying, either way, this is proof that chowdren would be viable for more serious devs

  • digitalsoapbox it's more of a c2 thing,Pixi.js for instance is on chowdrens rendering level even tho it's a javascript rendering framework

    newt not even really sure what you're saying, either way, this is proof that chowdren would be viable for more serious devs

    It's not on Chowdren's level for console support, however, nor does Construct seem to be getting any love on that front in terms of, say, full XB1 feature support, which like Steam support, seems to not be coming any time soon from Scirra.

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