Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Experimental new IDE (scene editor only) based on React+Electron #347

Merged
merged 146 commits into from Jun 3, 2017
Merged

Conversation

4ian
Copy link
Owner

@4ian 4ian commented Mar 9, 2017

This is an experimental IDE for GDevelop that I've been working on lately.
It's still pretty raw but the scene editor is usable.

image

Technologies

This new IDE (located in newIDE directory) is written in Javascript, based on React.js, using material-ui for the user interface and Electron for packaging and running it.
As it's full Javascript, GDevelop core is compiled from C++ to Javascript with Emscripten (see GDevelop.js) so that the new IDE can manipulate GDevelop games.

The current IDE acts as a server and is launching the new IDE and serving it the game, and the new IDE can also send back any changes.

Why?

The idea is that the C++/wxWidgets based IDE is getting old and something new, fresh and Javascript based can be easier to maintain, extend and improve.
Javascript as a language is getting really nice (ES6), the ecosystem is vibrant and easy to learn.

It's also future proof as based on well known and maintained libraries. Complete compatibility with Linux should be super easy to achieve.

This is also a big step toward a complete IDE usable on web browsers, which would allow anyone with an internet connection and a recent browser to make games!

State

For now, only the scene editor is usable. Here are a few screenshots:
image
image
image
image

To use the new scene editor, the user will have to activate it in the preferences (at least while it's not fully done).

Try it

It's still hard for now to try it because I've not integrated the building of libGD.js (GDevelop compiled to Javascript) to the full build. You have to manually get GDevelop.js, put it in the GD folder, and build it, then launch the script to copy libGD.js into newIDE.
I'll work to integrate this in the CMake build later!

My next step are to continue implementing the scene editor to make it usable with every existing objects and have all the existing features.
And to make it easy for anyone to get it to try it or contribute 😄
cc @victorlevasseur

@4ian 4ian force-pushed the new-ide branch 2 times, most recently from d71348d to 6d24e82 Compare June 3, 2017 17:14
@4ian
Copy link
Owner Author

4ian commented Jun 3, 2017

The new IDE is now advanced enough to be used to edit scenes of existing games and I've updated the README and build scripts so that anyone with Node.js can set it up and contribute :)
Merging this.

@4ian 4ian merged commit 06c4377 into master Jun 3, 2017
@blurymind
Copy link
Contributor

blurymind commented Jun 7, 2017

This is absolutely awesome!

Can you please make a new IDE for the event sheet please?
Victor had something started a year or two ago but it went nowhere.
he teased with juicy gifs and mockups too - they showed designs that solve several issues with the current one

EDIT: sorry for asking about this - looking at the screenshot and reading more carefully - you are remaking the entire editor from scratch- just haven't gotten to the event sheet yet.

I hope it will still have a desktop version - as a lot of people are afraid of editors in the cloud still - because they assume that they have to rent them.. construct3 had a huge outcry at their forums and a lot of backlash.

@4ian
Copy link
Owner Author

4ian commented Jun 8, 2017

I hope it will still have a desktop version

Desktop will be the first version :)
It will even be integrated in the native editor (optionally)

Can you please make a new IDE for the event sheet please?

Later, but yes that's the goal.
Could use the mockups from Victor indeed.

you are remaking the entire editor from scratch- just haven't gotten to the event sheet yet.

Yes that's it :)

If you're a bit familiar with Node.js or are willing to learn (it's Javascript, it's really not complicated), read this :
https://github.com/4ian/GD/blob/master/newIDE/README.md

I will release a desktop version with the scene editor in a few days/weeks. With an option to export to a Amazon hosting to make quick demos and game jams ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants