Release GDG format specifications

Could you release specifications of the GDG format used by GD so people could write their own exporters, e.g. flash/Java/etc.?

Game Develop and its games directly depends on SFML. So, you can’t create an exporter for an other language because all of GD’s extensions are written in C++, with SFML. :wink:

Well, most of extensions are opensource so it’s just matter of porting them to language of exporter (AS3 for flash, Java for java, etc.) For these which aren’t OS author of exporter can always ask 4ian to share code privately to make exporter work.

Then 4ian will be relieved from some work and others can release exporters to Flash, Java, Android or handhelds.

But we will need format specifications first, obviously.

If you want, you can create a program which reads the game project and generate the code you want, in the programming language you want.

He need a compatible version of SFML for each languages/platforms. :wink:

I talk about the xml project file created by GD while it’s saving the game project.

Well, it’s not much of an XML file, with scenes, events, and objects specific tags that can be guessed easily lookin’ at this file.
Note that creating exporters for other game editors could maybe need additionnal extensions for GD because some objects are specific to each Game Editor…

It’s not as much of “exporting to other editors” than “exporting to other platforms” (like Android, Flash, iOS, etc.). Basically we would need two things:

  • Ported version of engine runtime (obviously)
  • Ported versions of extensions.

While first thing is pretty easy (for experienced coder), second one is bit tricky. Easiest part would be porting extensions that are on zlib/libpng license. But core extensions that must be in every game to work are closed-source. So we either would have to decompile or ask 4ian to release source code on some license that would protect his rights (e.g. that you cannot use it’s code for commercial purposes unless you get permission) but will allow for porting.

Looks like your project is quite big.

Porting GD to iOS could be quite easy, as both wxWidgets and SFML support this platform, and GD is based on them. Porting GDL can be easy as well as it is a mix of generic code and SFML which both work on i* systems.
After that, core extensions look like being generic code (describing structures, doing easy calculations, and showing the results using SFML) so porting them could be easy. The matter comes from these extensions that use system-specific elements like the common dialogs, yet there must be an easy solution to do it on i* platforms.

However, it is more difficult to port it to Flash or Android because there is simply nothing to base on. And I think that Flash has a license too restrictive.

In conclusion, I’ll say that porting on iOS will be done after GD will have been ported to Mac OS. But no idea for Flash or Android.

wxWidget and SFML support iOS ? :confused: :neutral_face:

In the long term, I plan to made GD able to handle new “platform” ( for now, the default platform for games is compiled C++ games based on SFML/OpenGL ). We can notably imagine a web oriented platform, using technologies like HTML5.
When creating a new game, the user will be given the possibility to choose the platform he wants for his game.

It is clear that it is not possible to ensure that a game created using a platform will behave the same on another platform.
In fact, extensions should be specific to a platform, even if of course some similar extensions could exist for different platforms.

Game Develop will ensure that the same concept will be used on each platform ( Event system, objects, scenes, variables… ). Then, each platform will be able to implement its “runtime” : C++ platform will generate C++ code ( like now ) wheras a HTML5 platform will generate HTML5 code.

4ian, I don’t think HTML5 is good choice right now. You know, sound problems in some browsers. However Flash seems to be better choice now as it is established solution for interactive web content. And I’m sure there is flash compiler for linux/unix - otherwise Stencyl wouldn’t work.

Even if Flash is well implemented ( but not necessarly on new devices. I recently read that Adobe was abandoning support for some mobiles devices ) and more powerful than HTML5, I don’t think it is viable on the long term, mainly because it is composed of a proprietary runtime : I don’t want my creations to rely on such technologies that will be abandoned in a few years. ( In the same way, I’ve also read recently that C++ was coming back in fashion at Microsoft, instead of using the .NET framework. )
I always try to rely on well established, wide spread and open source standard. Even if HTML5 is not well established nor wide spread, it is totally open source.

But anyway, I don’t plan to add any support for HTML5, Flash or whatever in the short term.
In fact, “web” technologies are not ready for making AAA titles ( i.e “High-quality games with high budget” )
( And in fact, I don’t know if we should really put our effort in making them able to handle AAA titles. We already have some well established open source technologies for making great games : OpenGL for example. Instead of transforming our browser into a new kind of OS ( When I see that browser are now featuring JIT compiler, interpreters, I think that we’re reinventing the wheel ), we should maybe enhance the already existing technologies to make them easier to use, to make them more web oriented. )

But I have digressed a bit it seems.

Yeah, but why we need to make AAA titles with GD? Minigames are pretty fun too. Anyway, could you open sources of “core” GD extensions (those marked as Compil Games/freeware)? This would allow for making third-party exporters, because with sources of all built-in extensions we would only port those and write runtime (with event interpreter) and that’s basically it.

Why not an open-source Game Develop ? :slight_smile:

Why should it be? Floarian said he don’t want to open source it right now. But open sourced extensions would allow for 3rd party exporters like those which existed for Game Maker (GMJava, etc. look up them).

Of course, but use very recent versions, as GD uses