Native Compiler (Alpha) Blog By Tom

0 favourites
From the Asset Store
Is a system for building scorecards and achievements online for use in games Using this system, you can create a scorebo

    **This is a blog for the native compiler i have been working on**

    **Update 12th March**

    Added Targets: Windows, Mac, Linux via GLFW

    Added Possible Targets: XNA (xbox360), PSM (PS:Vita) **I say possible because i don't have the hardware to test, but the engine supports both targets**

    Looks like Webgl effects is going to take a while, so going put those on back burner.

    Everything else is coming along nicely.

    Got a very basic version of cloud compiler working, still mostly concentrating on features.

    For myself i'm having a lot of fun making this.

    However, winter is coming (game of thrones), must not get too distracted

    *************************

    **Update 10th March**

    * Animations now supported

    * Tile maps imported successfully

    * Managed to get custom collision polygon detection working

    * Multiple Canvas Working

    ********************

    Alrighty,

    So i have been working on a native compiler for Android and IOS.

    Currently in Early Alpha, but all signs are looking good. I started building this for my own purposes because i wanted a solution for Mobiles.

    I'm not too sure this will be needed if Crosswalk or XDK kicks off, but i intend to keep developing it anyway

    Right now i'm focusing on mimicking the C2 behaviors, then ill start working on getting audio working.

    Do not confuse this with a wrapper, (insert name here)?? converts Construct 2 projects into native code for mobiles

    If you have any questions, feel free to ask

    Hopefully i can provide weekly, maybe daily updates on my progress

    I expect i can produce a working alpha demo within a couple of months (fingers crossed!)

    Yes I have a question. Your convert is a parse string based conversion. Are you using custom file based comparators?

    How are you managing this?

    Yes I have a question. Your convert is a parse string based conversion. Are you using custom file based comparators?

    How are you managing this?

    Well funnily enough the erm....reader? Is built in construct 2 using nodewebkit, ajax, and xml plugin to read all the data.

    Basically whats supposed to happen is the reader grabs information from the (game).caproj, finds out what behaviors are being used, game name, how many layouts and event sheets etc etc, goes on then to read the layout.xml files and eventsheet.xml files and gets object ids and positions etc. The reader then grabs any image files and sound files, uploads them to the 'cloud' server.

    The server using a open source framework called monkey compiles to native code, then sends the compiled code back to you.

    Now, the server part is still on the works.

    But locally i've gotten

    *Platform movement working

    *Physics using Box2D(open source) is kinda working

    *limited gamepad support(PC only so far)

    *very basic socket function

    *touch inputs are working

    I cant think of much else sorry its 3:30 am here.

    Any other question ill answer in the morning

    I'm intruiged by what your doing. Do you think WebRTC, WebGL/OpenGL, WebAudio will be supported?

    To me those are the most defining hurdles of going to native. Many of the other parts I feel can be stripped or replaced. The DOM can go, XML parser can be replaced, JSON interpreter replaced, KeyValue Storage can use HASHMAPs all of those won't be too bad. But the keys are image rendering, full audio and communications.

    So I'm very intriuged how and what is your renderer. What type of native program is being created. Is it Java, C++, OC.....

    No, WebRTC, WebGL and WebAudio will not be supported as they are.

    However, the .socket software i'm using supports Windows Desktop, Mac, Linux, IOS and Android. Its just a case of trying to get it working as close as possible to C2 WebRTC when it ships.

    OpenGL is used instead of WebGL.

    Also separate audio engine is being used.

    DOM might work, xml not sure, json yes, keystorage yes.

    Android uses Java SE sdk.

    IOS uses xcode and ios sdk.

    Just out of curiosity, from where did you had the knowledge to do that? I mean, it doesn't seems to be an easy task, to translate a capx informations into native (I might be wrong but I don't think).

    You are right, its not an easy task.

    I originally thought of translating the .js from the compile time, but that would be too difficult.

    Instead i started looking at the .xml files and found that they were quite easy to understand in terms of logic progression.

    Everything the the program needs to know is in the game.caproj, the layouts.xml and eventsheets.xml.

    The program goes through each file looking for particular crucial pointers and writes the necessary code into the framework.

    What you have to understand is that i'm not directly taking .capx files and magic them into native code. I'm taking the .capx files and converting them into the code of the framework, which then converts the code into native.

    You are right, its not an easy task.

    I originally thought of translating the .js from the compile time, but that would be too difficult.

    Instead i started looking at the .xml files and found that they were quite easy to understand in terms of logic progression.

    Everything the the program needs to know is in the game.caproj, the layouts.xml and eventsheets.xml.

    The program goes through each file looking for particular crucial pointers and writes the necessary code into the framework.

    What you have to understand is that i'm not directly taking .capx files and magic them into native code. I'm taking the .capx files and converting them into the code of the framework, which then converts the code into native.

    that's nice!

    tomsstudio

    You've got my attention here.

    Regardless what ashley officially said about your project you never know...

    But I have to agree with him in one thing, be sensitive of how you present this and what hopes you raise.

    Best wishes

    Very Interesting.

    did you recode the Construct2 function into a native engine ? (using capx xml setting to setup your how engine)

    or real use wrapper html5 ?

    Did you plan or actually use Draw Call Batching ? (it's the real limitation to a true power use of construct 2 on mobile device)

    Very Interesting.

    did you recode the Construct2 function into a native engine ? (using capx xml setting to setup your how engine)

    or real use wrapper html5 ?

    Did you plan or actually use Draw Call Batching ? (it's the real limitation to a true power use of construct 2 on mobile device)

    Sorry i don't understand the first question.

    Onto batching i cant say at this point.

    tomsstudio

    You've got my attention here.

    Regardless what ashley officially said about your project you never know...

    But I have to agree with him in one thing, be sensitive of how you present this and what hopes you raise.

    Best wishes

    I understand your concern. My policy is only when i have a feature being developed then i can say 'hey look x has this feature'.

    But what i can say is that i'm dedicating half my time to this, the other half going towards my game i'm making.

    I'm fortunate enough with my wonderful family that i can dedicate a lot of time to this project.

    This sounds awesome. Good look with this adventure!

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads

    This sounds awesome. Good look with this adventure!

    Thank you

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