Native Compiler (Alpha) Blog By Tom

Discussion of tools and resources for game developers

Post » Thu Mar 06, 2014 10:06 am

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

tomsstudio wrote:**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!)
Last edited by tomsstudio on Wed Mar 12, 2014 3:08 am, edited 3 times in total.
B
10
S
2
G
1
Posts: 92
Reputation: 926

Post » Thu Mar 06, 2014 2:16 pm

:)
B
28
S
11
G
2
Posts: 688
Reputation: 5,126

Post » Thu Mar 06, 2014 3:48 pm

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?
B
90
S
18
G
9
Posts: 2,455
Reputation: 15,038

Post » Thu Mar 06, 2014 4:28 pm

jayderyu wrote: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 :)
B
10
S
2
G
1
Posts: 92
Reputation: 926

Post » Thu Mar 06, 2014 11:39 pm

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.....
B
90
S
18
G
9
Posts: 2,455
Reputation: 15,038

Post » Fri Mar 07, 2014 12:21 am

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.
B
10
S
2
G
1
Posts: 92
Reputation: 926

Post » Fri Mar 07, 2014 1:02 am

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).
Game design is all about decomposing the core of your game so it becomes simple instructions.
B
53
S
22
G
18
Posts: 2,122
Reputation: 17,123

Post » Fri Mar 07, 2014 1:39 am

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.

:)
B
10
S
2
G
1
Posts: 92
Reputation: 926

Post » Fri Mar 07, 2014 3:02 pm

tomsstudio wrote: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!
Game design is all about decomposing the core of your game so it becomes simple instructions.
B
53
S
22
G
18
Posts: 2,122
Reputation: 17,123

Post » Fri Mar 07, 2014 3:39 pm

@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
:)
B
35
S
11
G
3
Posts: 97
Reputation: 3,478

Next

Return to Tools and Resources

Who is online

Users browsing this forum: No registered users and 0 guests