Pages: 1 2 3
Author Topic: Natural GM (Alternate Cross-Platform IDE made in C++ WIP)  (171,643 Views)
Offline (Unknown gender) DaSpirit

Member
Joined: Apr 2013
Posts: 124
View profile
Posted on: April 01, 2013, 03:05:07 AM


Our Aim:

The main objective of this project is to create a better, cleaner and faster editor. We draw a lot of inspiration from other professional tools such as Visual Studio and Qt Creator.

Features:

  • Movable and dockable trees and toolbars. Customize however you want. You're also able to move toolbars around. If anything is in your way, you can get rid of it.
  • A welcome screen. Instead of that annoying start screen that GM Studio starts with, there is a new welcome screen which lists recent files and also has buttons for starting new projects or loading existing ones.
  • Work on a new project with saving it. Start working immediately, without having to choose a project location.
  • Multiple projects. The root of all resource trees are now project names. This lets you view and edit multiple projects simultaneously. You're allowed to set an active project on which the toolbar creates new resources in.
  • Tabbed Resources. No more having to sort out windows within windows, you're able to switch and navigate through resources much easier.
  • Split views. Simultaneously edit different resources and/or resource types at once. Plus, each split view has it's own tabs for organization.
  • Open resources in an external window. This way, you can finally work on dual monitors. Or, if you work on a single monitor and like using external windows, it's your choice.
  • Cross Platform. Want to edit on a Linux or Mac? As this is written with the Qt library, this program can be compiled to work on all main Operating Systems.
  • High Performance. Because Natural GM is coded in C++, it is very faster than C# (which GM:Next will be written with).

Planned:


  • Preprocessors. I'm not sure if I would be able to implement this, but imagine the possibilities! The program would be able to remove/add code depending on the OS or even if you're debugging or not.
    Single object text editor. You'll be able to edit multiple events at once. There will be options to use the original editing scheme.
  • An easier room editor. I would like to create something like GMare combined with the current GM:Studio room editor. If possible (and really don't know if it will be), I will attempt to add a 3D room editor.
  • Interval-based Backups. The same thing that current versions of Microsoft Word has. Every few minutes, the software makes a backup that you can retrieve if anything happens to your project.
    GMX project folder clean up. In the current version of GameMaker Studio, if you start removing resources, they stay in the folder. I will add built in support to clean up the folder.


Recent Screenshot(s):


Other Screenshot(s):




Download:
Downloading is not worth it. It sucks.
Windows: Click Me!
Linux: Coming soon!
Github: Click Me!

I am not responsible for any damage that this does to your computer. This application saves a settings file to %appdata%/DHtheProgrammer for now. That is subject to change.

Notes:



  • At the moment, you cannot save, create or modify resources. You can load and modify scripts, however.
  • If you have any loading errors, be sure to open and resave the project in GM:Studio first (an older project might have different structures).

Current Issues:


  • Right clicking on a empty resource tree will cause a crash.
  • The object structure is not correctly loaded.
  • You cannot load two different groups of the same name properly.

Help Me:
If anyone also wants to help me, don't hesitate to send me a PM or speak to me in the IRC! There are a lot of things I can get help with including, but not limited to:


  • Programming. You must know C++ and/or Qt in order to help me in this field.
  • Graphics. Some of my graphics and/or the free graphics I find on the internet might not be the best. You can help me improve them.
  • Compiling. I need someone with a Mac to compile a Mac version, otherwise I cannot make one. You must have Qt and QScintilla installed (you can install them pretty easily).
  • Ideas. The most simplest of what you can do. If you have an idea, I have the possibly to add it in. Or, if there's anything you don't like, don't be afraid to post about it here.
  • Beta Testing. You can become a beta tester to help me see if you get any errors. It doesn't matter which Operating System you're using. You get to use this early while confirming to me that this works!
Offline (Unknown gender) Josh @ Dreamland

Prince of all Goldfish
Developer
Joined: Feb 2008
Posts: 2,950
View profile
Reply #1 Posted on: April 01, 2013, 03:27:22 AM
I've moved this to announcements to draw some official attention to it. As you are no doubt all aware, Robert has begun an IDE using the wxWidgets library for use specifically in ENIGMA. The two IDEs have similar goals, and seem to be at a similar point in their development stages.

If you are interested in contributing to an IDE for this project, either option seems like a good candidate. My only personal aversion to Qt is in its dependency sizes. While LateralGM depends on the Java runtime, which is itself hundreds of megabytes, Qt's own collection of libraries runs a hefty 100MB. By contrast, wxENIGMA is roughly 10MB on a bare-bones Windows system, and roughly 200KB on a bare-bones Ubuntu system (Ubunu ships with the wxGTK headers, as a lot of its software uses them). I do not know how much of Qt ships with Ubuntu.

I shouldn't need to remind anyone, either, that while ENIGMA itself is only a few megabytes, the MinGW distribution on which it already depends is still in the 150 MB range, so while the Qt binaries are not very small, it's not like they are increasing the total size by orders of magnitude. I'll also point out that MSVS is 2.5GB on disc, and nearly eight gigabytes on disk after install.

That said, both projects still look quite promising.

Also related: Spirit has stated on the IRC that his IDE compiles in GCC, as does the rest of ENIGMA, so there should be relatively little hassle involved in setting up a build for it, assuming you can already build the rest of ENIGMA.

Both projects also share the goal of modularizing resource types. This thread seems as good a place as any for discussion of what all needs modularized and how to go about doing so. For example, it is desirable for the IDE to know of few or no resources without plugins attached to ensure flexibility and modularity, but at the same time, resources are largely interdependent. For example, objects depend on sprites for default sprite and mask settings; rooms depend on backgrounds, sprites, and objects for placing tiles and setting up the scene; paths depend on rooms for displaying a room in the background of the editor; and finally, overworlds depend thoroughly on rooms. How to best resolve these dependencies? Here is a good place for discussion on the matter. Even I'm torn between the option of plugins for plugins (eg, path background rendering plugin) and lists of acceptable resource UUIDs (eg, objects allow any of ["res_sprite", "res_polygon_mesh", "res_3d_model"] for their collision mask.
Offline (Unknown gender) Goombert

Developer
Joined: Jan 2013
Posts: 2,991
View profile
Reply #2 Posted on: April 01, 2013, 05:02:30 AM
I swear I am in love with his logo it just looks amazing in comparison with the current site design  :)

Edit: I shouldn't have said it contrasted to say it looked well, I used the vocabulary improperly.
Offline (Unknown gender) daz

Contributor
Joined: Jul 2010
Posts: 167
View profile
Reply #3 Posted on: April 01, 2013, 04:49:53 PM
In GM in File->Preferences check "delete from resource tree deletes from disk". Granted, that's not checked by default, and checking it does not magically clean the project.

Add syntax highlighting, complete resource editing, and compiling and I'll be using this daily ;P
Offline (Unknown gender) jimn346
Guest


Email
Reply #4 Posted on: April 01, 2013, 10:41:26 PM
The download link is broken, but I was able to figure it out based on what was given. I'm not able to create any resources or open the preferences page as you described. I can only create a new project. Is it possible that you uploaded an old version of Natural GM?

This project looks promising and I like where it's going so far.
Offline (Unknown gender) DaSpirit

Member
Joined: Apr 2013
Posts: 124
View profile
Reply #5 Posted on: April 02, 2013, 01:29:12 AM
The preferences dialog is not available in this version. daz was referring to one of GM:Studio's features

This is a very early demo, only to show how it would work. It is by no means functional as of yet, but I am continually working on it. Once it is able to read the whole GM:Studio file format, it will be usable (for the most part). Currently, it loads scripts and internally, it loads sprites and backgrounds. Until I add loading for the other resources, everything will just be testing for it would be.

Me and the Enigma team are in progress of creating a source repository for this project. You'll be able to help me add functionality or add something new of your own. It will be licensed under GPL.
Offline (Unknown gender) Goombert

Developer
Joined: Jan 2013
Posts: 2,991
View profile
Reply #6 Posted on: April 02, 2013, 09:57:52 PM
Hey everybody following this we just want to let you know that the wxENIGMA IDE and Natural GM are now merging, everything from wxENIGMA is moving to the the NaturalGM QT framework based IDE, we will have more updates soon  (Y)

Just to clarify, wxENIGMA is no more, NaturalGM is the IDE in development.
Offline (Unknown gender) gra

Member
Joined: Feb 2013
Posts: 147
View profile
Reply #7 Posted on: April 04, 2013, 07:21:44 AM
i try to compile on ubuntu, but i have the suspect that not is finished,
the qtcreator output
http://pastebin.com/xzWM9bv5
the qtcreator have generated a bin, i try to execute with core dump message
http://pastebin.com/GLW82fjc
Offline (Unknown gender) Goombert

Developer
Joined: Jan 2013
Posts: 2,991
View profile
Reply #8 Posted on: April 04, 2013, 07:53:26 AM
Hey gra, you have to have version 5 there buddy, and you also need to install QScintilla for the code editor.  (Y)
Offline (Unknown gender) gra

Member
Joined: Feb 2013
Posts: 147
View profile
Reply #9 Posted on: April 04, 2013, 08:25:51 AM
oopps qtcreator the only think that not have controll  :D not is upgrade, i'm idiot, i try with new qtcreator
EDIT
ok i have same error, with debug run this message is appeared
QuoteThe inferior stopped because it received a signal from the Operating System.

Signal name :
SIGABRT
Signal meaning :
Aborted
i try to redownload i have place qtscintilla folder in file i try without it
Offline (Unknown gender) Goombert

Developer
Joined: Jan 2013
Posts: 2,991
View profile
Reply #10 Posted on: April 04, 2013, 08:44:41 AM
 ??? You can't just place QScintilla in the folder, you must compile and run make install, or else just download the Ubuntu installer or Windows binary installer  :(
Offline (Unknown gender) gra

Member
Joined: Feb 2013
Posts: 147
View profile
Reply #11 Posted on: April 04, 2013, 09:31:24 AM
ok not go , i wait
Offline (Unknown gender) gra

Member
Joined: Feb 2013
Posts: 147
View profile
Reply #12 Posted on: April 11, 2013, 06:53:19 AM
compiled !!  :D
but segmantation fault on ubuntu 64
Offline (Unknown gender) DaSpirit

Member
Joined: Apr 2013
Posts: 124
View profile
Reply #13 Posted on: April 12, 2013, 02:29:00 AM
Try running it on Release Mode and see if you still have a segfault. It's usually caused by QScintilla. What happens is that for some reason QScintilla does not install a debug library unless you make one yourself.

I want to add that if you use the current repositories, make sure that in main.cpp, you should change the object creation of "NGMMainWindow" to "MainWindow". NGMMainWindow is a rewrite and does not work like the original MainWindow class did.

I am currently rewriting most of the project for better flexibility and faster compile times. I'll make a post as soon as the rewrite is finished. I don't recommend using the old classes because they had a few memory leaks. Meanwhile, Robert is working on adding support for loading APNG files.
Offline (Unknown gender) Goombert

Developer
Joined: Jan 2013
Posts: 2,991
View profile
Reply #14 Posted on: April 12, 2013, 04:15:21 AM
Hey just a heads up finally got a hold of DatZach and he wants to write a GMK API for us.
Pages: 1 2 3