Who plans to write a C2 runtime with the EDK?

Chat about anything not covered in these forums, but keep it civil!

Post » Sat Feb 11, 2012 1:19 pm

In the "Why HTML5?" thread in the C2 forums, the EDK was mentioned a few times. For those that don't already know, the EDK is the Exporter Development Kit that Ashley has mentioned eventually wanting to create for C2. I have no idea of the timeframe for it, I imagine it's quite a while away -

but out of curiosity how many out there actually plan on using the EDK when it's released? I personally want to try to make an Android runtime. I dabbled with Android development(java) for a short time, and I enjoyed it. It was very straightforward, and easy to find example code online for anything you needed to learn how to do.

At one point, I had made some android functional equivalents to some basic construct classic system and sprite actions, so you could export a very basic cap to text(simple sprite actions like changing angle, position, and dimensions) do a few find and replaces in a text editor, and it was working android code. It was rewarding work, and I imagine working with the EDK would involve alot of the same things. Once I had time to start on a runtime though, I'd definitely want to at least try to assemble a team.

How many other developers out there plan on trying to do something with the EDK? alone or in a team? open-source? commercial? what platform? etclucid2012-02-11 13:24:03
Spriter Dev
B
87
S
21
G
12
Posts: 3,240
Reputation: 16,461

Post » Sat Feb 11, 2012 1:42 pm

Just FYI, releasing the EDK is not in our plans for the time being yet. It's quite complicated to organise, because if we pull it off wrong, we will end up with a *big* mess of incompatible features, plugins and behaviors and unportable projects. It's a tricky one to do and at the moment it's not clear how much it would benefit us, especially considering making a new platform requires writing an exporter, plugin/behavior SDK, runtime, a complete suite of compatible plugins and behaviors, and so on. I estimate it's about 6 months work to make a mature exporter and it will require constant maintenance after that as well. So I'm also doubtful it's practical at the hobbyist level, and I don't think many people would take on the risk of that much work at the commercial level. I don't mean to doubt anyone's abilities, I'm just saying it's a huge amount of work!
Scirra Founder
B
359
S
214
G
72
Posts: 22,946
Reputation: 178,478

Post » Sun Feb 12, 2012 6:03 pm

Yeah it would be a huge work. Six months at the very minimum..... Sooo, let's hope that WebGL get's supported everywhere at max performance. The problem is that if WebGL fails, C2 will need another runtime...Kiyoshi2012-02-12 18:03:31
B
58
S
13
G
10
Posts: 632
Reputation: 12,505

Post » Sun Feb 12, 2012 6:08 pm

Sooo basically it's an insane amount of work that few people are interested in/capable of doing, and each exporter will have to be maintained for as long as C2's lifespan, and there is unbounded room for bugs and inconsistency.

Sounds great! When do we start?
Image
B
225
S
27
G
13
Posts: 1,774
Reputation: 18,024

Post » Mon Feb 13, 2012 5:42 am

Maybe it's better to port existed engine (ex:cocos2d) into C2 by EDK without making a whole new one, since the most important feature of C2 is event sheet. C2 could be a code generator to translate code from event sheet to source code in text format.rexrainbow2012-02-13 05:50:02
B
97
S
22
G
176
Posts: 4,108
Reputation: 103,019

Post » Mon Feb 13, 2012 6:11 am

right, exactly, even without an edk, I imagine you could just make a translator from event sheet xml to equivalent functions in the target language. You could even limit the workload by establishing a set of bare bones ACE like Start of Layout, Always, sprite object with movement, resizing, touch commands, and text object with the same commands plus set text. and it could still be useful in many contexts. you could even ignore the edittime, and use the current one (which wouldn't give you any of the benefits of the target platform). Just using the xml and either a parser, or a find replace script, possibly several steps, but doing something like I did with CC and android, I'd imagine you could get much further given how well structured the c2 capfiles are. if/when my schedule eventually opens up, I'd like to try it, at least as an experiment.lucid2012-02-13 06:14:16
Spriter Dev
B
87
S
21
G
12
Posts: 3,240
Reputation: 16,461

Post » Mon Feb 13, 2012 6:25 am

Hmm... interesting idea. What about exporting to something like allegro or SDL? Could then C2 hit Windows, Mac, Linux, iOS and Android with one exporter? Or are there too many differences between the platforms even using a framework like those?
Moderator
B
87
S
32
G
33
Posts: 3,005
Reputation: 27,397

Post » Mon Feb 13, 2012 6:39 am

And what about the plugins ?
If you want to use plugins, you have to have a runtime for them in the destination language.
And you don't translate XML event sheet from C2, it's a full engine/logic by itself, which gets "interprated" on runtime.
To make an heretic parralel with a compiled language, consider that for runtime, plugins get linked "on compilation" (preview/export).

Check again the blog article about C2's architecture.

Such a translation would be cool, but is unlikely to be manageable/functional imo.
Sorry to appear as an excitement breaker.Kyatric2012-02-13 06:43:09
New to Construct ? Where to start

Image Image
Image Image

Please attach a capx to any help request or bug report !
Moderator
B
247
S
85
G
40
Posts: 6,998
Reputation: 57,791

Post » Mon Feb 13, 2012 6:53 am

yes, you'd have to make a runtime for the plugins, but what I'm saying is even just sprite with only position actions and expressions and box collision, text, and touch, 2 or 3 basic system actions, and no behaviors would be useful. that was about what I made in android last time, so I definitely know it's possible and of a manageable workload. I don't mean to make an exporter that gives you complete ready to use files, but gives you files you can load and have ready to compile in the target language, like a cap translator.

the programmer would be required to write a Drawing function for the runtime, and for each plugin, and set up the main loop where the bulk of this copy pasting finding replacing would occur.

you would also specify how something included in the cap file would have to be included in the target language. You would have to create equivalent functions for any ace you will use in your cap. If you didn't care about time delta, you could ignore it. if you needed platform really badly, then you could include only the functions you needed.

I could do alot with just sprite, and no behaviors, and I'd love to have a basic tool like that for android or iphone running natively. I have a few ideas of how the most of the translation process could be generalized for use with different languages, and automated with an app.

Also, it was reading that blog post that gave me the idea. and then after having a look through C2's files, I think it's doable. obviously Ashley knows what he's talking about, and making a complete runtime is infeasible for pretty much anyone but scirra and html5 right now, but a very limited runtime could still be useful, just like c2 was in it's infancy.

it could also be opensourced for people to do what they wanted/could, and if there were even half as many devs trying their hand at it as there are making plugins with js, but just adding features from c2 or specific behaviors, or objects new or old. maybe with some time, a specific platform could even get a respectable feature set.

Edit: [QUOTE=Arima] Hmm... interesting idea. What about exporting to something like allegro or SDL? Could then C2 hit Windows, Mac, Linux, iOS and Android with one exporter? Or are there too many differences between the platforms even using a framework like those?[/QUOTE] I don't know about those specifically, but I would guess most languages, aside from scripting languages, would need at least some platform specific code,lucid2012-02-13 16:17:14
Spriter Dev
B
87
S
21
G
12
Posts: 3,240
Reputation: 16,461

Post » Mon Feb 13, 2012 8:02 pm

@Arima You read my mind. By using those libraries only one exporter would be needed. They minimize cross platform differences very significantly. However, the creator of the exporter would need excellent knowledge of C (not C++). You can use C++ with them, but to do cross mobile platform, C99 is still the ticket.
B
17
S
6
G
6
Posts: 113
Reputation: 4,161

Next

Return to Open Topic

Who is online

Users browsing this forum: aaakk and 4 guests