ENIGMA Forums

Outsourcing saves money => Third Party => Topic started by: DaSpirit on March 31, 2013, 10:05:07 PM

Title: Natural GM (Alternate Cross-Platform IDE made in C++ WIP)
Post by: DaSpirit on March 31, 2013, 10:05:07 PM
(https://fc05.deviantart.net/fs71/f/2013/075/3/4/natural_gm_text_by_daspirit-d5y8dap.png)

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:

Planned:



Recent Screenshot(s):
(https://fc09.deviantart.net/fs71/f/2013/071/f/3/natural_gm_screenshot_3_by_daspirit-d5xszhs.png)

Other Screenshot(s):
(https://fc01.deviantart.net/fs71/f/2013/068/e/f/natural_gm_screenshot_2_by_daspirit-d5xhz3a.png)
(https://fc04.deviantart.net/fs71/f/2013/068/c/2/natural_gm_screenshot_1_by_daspirit-d5xgohn.png)


Download:
Downloading is not worth it. It sucks.
Windows: Click Me! (https://dl.dropbox.com/u/42827079/Natural%20GM%20v0.0.2.zip)
Linux: Coming soon!
Github: Click Me! (http://github.com/aeTwist/Natural-GM.git)

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:



Current Issues:


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:

Title: Re: Natural GM (Alternate Cross-Platform IDE made in C++ WIP)
Post by: Josh @ Dreamland on March 31, 2013, 10:27:22 PM
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 (http://enigma-dev.org/forums/index.php?topic=895.0) 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.
Title: Re: Natural GM (Alternate Cross-Platform IDE made in C++ WIP)
Post by: Goombert on April 01, 2013, 12: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.
Title: Re: Natural GM (Alternate Cross-Platform IDE made in C++ WIP)
Post by: daz on April 01, 2013, 11:49:53 AM
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
Title: Re: Natural GM (Alternate Cross-Platform IDE made in C++ WIP)
Post by: jimn346 on April 01, 2013, 05: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.
Title: Re: Natural GM (Alternate Cross-Platform IDE made in C++ WIP)
Post by: DaSpirit on April 01, 2013, 08:29:12 PM
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.
Title: Re: Natural GM (Alternate Cross-Platform IDE made in C++ WIP)
Post by: Goombert on April 02, 2013, 04: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.
Title: Re: Natural GM (Alternate Cross-Platform IDE made in C++ WIP)
Post by: gra on April 04, 2013, 02: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
Title: Re: Natural GM (Alternate Cross-Platform IDE made in C++ WIP)
Post by: Goombert on April 04, 2013, 02: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)
Title: Re: Natural GM (Alternate Cross-Platform IDE made in C++ WIP)
Post by: gra on April 04, 2013, 03: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
Quote
The 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
Title: Re: Natural GM (Alternate Cross-Platform IDE made in C++ WIP)
Post by: Goombert on April 04, 2013, 03: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  :(
Title: Re: Natural GM (Alternate Cross-Platform IDE made in C++ WIP)
Post by: gra on April 04, 2013, 04:31:24 AM
ok not go , i wait
Title: Re: Natural GM (Alternate Cross-Platform IDE made in C++ WIP)
Post by: gra on April 11, 2013, 01:53:19 AM
compiled !!  :D
but segmantation fault on ubuntu 64
Title: Re: Natural GM (Alternate Cross-Platform IDE made in C++ WIP)
Post by: DaSpirit on April 11, 2013, 09:29:00 PM
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.
Title: Re: Natural GM (Alternate Cross-Platform IDE made in C++ WIP)
Post by: Goombert on April 11, 2013, 11:15:21 PM
Hey just a heads up finally got a hold of DatZach and he wants to write a GMK API for us.
Title: Re: Natural GM (Alternate Cross-Platform IDE made in C++ WIP)
Post by: gra on April 12, 2013, 01:02:56 AM
the truth, system libscintilla not are recognized  :D
i have compiled and place the qscintilla in folder of natural gm...
ok i try to compile on 32bit system, the problem can be the arch
Title: Re: Natural GM (Alternate Cross-Platform IDE made in C++ WIP)
Post by: Goombert on April 12, 2013, 01:28:56 AM
Gra I dont think you just place the folder, if you are on Linux just download the version and cd to the dir and compiling and run ~/.install

I think gra, I can't remember now exactly how I setup QScintilla  :(
Title: Re: Natural GM (Alternate Cross-Platform IDE made in C++ WIP)
Post by: gra on April 12, 2013, 04:11:47 AM
Quote
Gra I dont think you just place the folder, if you are on Linux just download the version and cd to the dir and compiling and run ~/.install
Robert the file instali non exist, your command execute a file with name install
i have launched this command
Code: [Select]
cd /home/user/NaturalGM
Code: [Select]
~/.installfile or directory not exist, i try to redownload
EDIT
i have find a method more simple
Code: [Select]
qmake
Code: [Select]
makein NaturalGM folder, but same seg fault
i have ommitted one think  ;D
i have use ngmresourcetab.h and copy and rename in NGMResourceTab.h
becouse i have a compilation error, Can be this that give seg fault?
Title: Re: Natural GM (Alternate Cross-Platform IDE made in C++ WIP)
Post by: DaSpirit on April 12, 2013, 07:24:02 PM
I think gra, I can't remember now exactly how I setup QScintilla  :(
There's an HTML readme inside QScintilla that shows the steps. Only 4 steps that you type directly into the terminal (but make sure the Qt environment is set, you need to use qmake).

When does the segfault happen for you, gra?
Title: Re: Natural GM (Alternate Cross-Platform IDE made in C++ WIP)
Post by: gra on April 13, 2013, 12:26:13 AM
i find my error  ;D
i have compile qscintilla with qt5 (i have used qt4 in first time  >:( )
Daspirit if you are interested this is compiled in ubuntu 64 bit
https://dl.dropboxusercontent.com/u/103792780/NaturalGM-linux64.tar.gz
yeehh i'm happy, i wait for good news , becouse my pc don't eat java well  :cool:
EDIT
a curiosity, but the project can be load ENIGMA compiler?
i explore
EDIT2
load only game maker studio files...
it's normal that don't add nothing if i click on add script or icon of resource?
Title: Re: Natural GM (Alternate Cross-Platform IDE made in C++ WIP)
Post by: DaSpirit on April 13, 2013, 09:10:32 AM
Yeah, this project is still very early in development. As I have said before, I'm currently rewriting everything. Everything needs to be flexible so we can add plugins, and Josh is helping me plan everything. Meanwhile, work on the serializer will begin soon, which will help add support for all GM projects and Enigma projects.

Also, with the executable that you linked, no one will be able to run it. You can need to distribute the Qt libraries with it too, and you can get rid of the .cpp files.
Title: Re: Natural GM (Alternate Cross-Platform IDE made in C++ WIP)
Post by: gra on April 13, 2013, 12:41:43 PM
Quote
Also, with the executable that you linked, no one will be able to run it. You can need to distribute the Qt libraries with it too, and you can get rid of the .cpp files.
not good insert qt5 becouse the library is 406mb is more simple on ubuntu add ppa
https://launchpad.net/~canonical-qt5-edgers/+archive/qt5-proper
Title: Re: Natural GM (Alternate Cross-Platform IDE made in C++ WIP)
Post by: Andy on April 13, 2013, 01:20:35 PM
Natural GM looks so much better than the current Studio IDE. (Y)
Title: Re: Natural GM (Alternate Cross-Platform IDE made in C++ WIP)
Post by: Goombert on April 14, 2013, 02:39:57 AM
It has support for themes with CSS as well, we actually have a theme for anybody who likes the Studio look.  :)
Title: Re: Natural GM (Alternate Cross-Platform IDE made in C++ WIP)
Post by: DaSpirit on August 22, 2013, 01:12:49 PM
Some people have most likely been wondering about the status of this project. I want people to understand that for now, this whole project is simply a concept.

About 2 months ago, I started rewriting this project under JoshDreamland's guidelines. This is to ensure that in the future, ENIGMA would work in NGM even in the utmost situations.

So how is this project in terms of usability? Currently, it is a basic text editor. You may open and save text files in a tabbed environment. It will take a few months before I am even comfortable with adding GMX support. With such an abstract system in place, it will be annoying to add anything because it will be much harder to add basic features.

I'll keep you all more updated. After I am satisfied with the core system in place, I will work on GML text editing. This project will not work with ENIGMA for at least a year.
Title: Re: Natural GM (Alternate Cross-Platform IDE made in C++ WIP)
Post by: DaSpirit on November 29, 2013, 02:26:39 PM
I am still working on this. Recently, I started a new library related to this one called Natural Widgets. The goal of it is to extend basic widgets, as well as to make sure that all widgets are not closely tied together (so that everything is easily replaceable). Current features include tab searching, tab detaching, tabs searching, complex tab splitting, an integrated console and widgets that change color when they are inactive (for better themes). A current screen of it: http://i.imgur.com/zYglYBF.png (http://i.imgur.com/zYglYBF.png)

Hopefully, my screen shouts freedom, like I want it to. I'll be releasing the library in a month, and then I will be integrating it into Natural GM.

I'd also like to remind everyone that this project is still in no way usable (unless you like bloated text editors). Many people are asking me where to download it. I'm starting to get the feeling that I posted about this too early. lol well, my semester ends on December 13th. After that, I will spend 24/7 for a month working on this project and maybe a small demo of the IDE can be made available in February, if possible! Stay tuned!


Also, if you're running Ubuntu, you are in huge luck. Ubuntu 14.04 will come with the Qt 5.2 framework built in. This is the same framework that Natural GM is using, thus, Natural GM will only be around 5 MB for Ubuntu. :D
Title: Re: Natural GM (Alternate Cross-Platform IDE made in C++ WIP)
Post by: time-killer-games on December 04, 2013, 03:28:25 PM
I don't know why you still insist on advertising a raw multiline textbox. I'm not accusing you of not knowing any c++, but technically none of us can see visible evidence that you can do anything beyond creating a GUI layout in Qt's XML. If you actually have something to show us in a million years from now when we're all dead, only then I will take interest in this project of yours, but right now I can hardly call it a "project" of any kind.

I don't mean to be rude I'm just being honest with you.If you wonder why so many people are asking about this thing and if it is actually being updated, they are asking that because of what you are unintentionally false-advertising. If this is a "concept" (whatever that means) that won't get anywhere, I have no idea what there even is to discuss. Instead of making everyone realize you are smart that you know C++, and getting us all to hope for something that most likely will never come into existence, keep these things to yourself at least until you have something real and ready to show us.

If there is anyone who reminds me how much we need Robert back in action, at full speed ahead, it's you. Because Robert worked his ass off, and until josh graduates we're stuck with you and a few others who get nothing done [correct me if I'm wrong, IDK, this is partially my assumption]. Anyway we're still screwed by Robert's lesser activity and from what it seems you, as microscopic as your contributions have been, had the audacity to verbally attack Robert of all people, I mean, you made a single grain of sand, he made a mansion, yet you seriously think this text editor is going to stand a chance against all Robert has done. I don't mean any harm in saying these things but I'm just warning you that if we ever get a contributer like Robert again whoever they might be, please don't scare them away with zero respect and no appreciation. It would suck for us. And it would suck for you. Self-destructive.
Title: Re: Natural GM (Alternate Cross-Platform IDE made in C++ WIP)
Post by: TheExDeus on December 04, 2013, 05:49:29 PM
He's project is far from being finished, but he is not showing just a multiline textbox. He is (for some reason which I am not really interested in) trying to make a widget library. That is something that requires a lot of work and so even as basic as that screenshot is, it still shows a lot of work. And he also agreed that he showed it too soon. So he will make it at his own pace and when it's ready, he will release it. So he has done a lot, it's just nothing you can actually see (which is often the biggest thing in programming).

Anyway, moving on.
Title: Re: Natural GM (Alternate Cross-Platform IDE made in C++ WIP)
Post by: Goombert on December 04, 2013, 06:20:39 PM
@TKG Yes, DaSpirit is just not comfortable in his own shell. I know he is a good programmer, and have told him many a times I believe in him. I do I know he can make a great IDE, he is busy with school as well, but he is also trying to do things to perfection. Anything I come up with is just going to be LGM except more optimal, DaSpirit is going to give you guys new things that you want, it is going to be a whole new thing. Basically, with this and the python IDE I encouraged those guys to not make the IDE's look like LGM or Game Maker at all but to take things in a whole new direction, this has been DaSpirit's goal from the beginning. As for anything personal, it don't bother me, you could fire a Bazooka at me and I couldn't feel anything, DaSpirit is just learning to be comfortable in his own shell.

@Harrifag, Yes but my concern is I know he can make a good IDE and it would make people happy, I am sick of this Jobo faggot and his damn .NET parakeet IDE. He don't give a shit about modularity and his IDE is barely functional and he's already screwed up peoples projects files. Which is why I want DaSpirit to get a move on, if anybody is going to make a new IDE with a whole new approach to things it should be DaSpirit. I also already helped quite a while ago with the design of some new approaches to drag and drop, such as drag and dropping the actions directly into the code editor and formatting them out at runtime. See screenshot.

(http://oi43.tinypic.com/24o3cbm.jpg)

The LateralGM C++ rewrite is just mean to be LGM and Game Maker interface, same old same old regurgitated bad design, except more optimal. And also, remaking LGM is pretty easy peesy lemon squeezy just not enough time to work on it.
Title: Re: Natural GM (Alternate Cross-Platform IDE made in C++ WIP)
Post by: DaSpirit on December 04, 2013, 11:01:24 PM
He's project is far from being finished, but he is not showing just a multiline textbox. He is (for some reason which I am not really interested in) trying to make a widget library. That is something that requires a lot of work and so even as basic as that screenshot is, it still shows a lot of work.
Well. I'm not creating a widget library from scratch. I'm only extending Qt's widgets. But yes, this is a lot of work. You can criticize me all you want, but I have the whole extendible framework for the IDE finished. Theoretically, all that needs left in this project is adding in editors. At a computer (that I cannot access until I finish my semester), I have a copy of NGM that can edit GMX files (in XML mode, but still awesome).

And I am comfortable in my own shell. I attend a university and it's a valid excuse. I commute, taking 3 hours off my life daily and I'm taking 6 courses. I will be done with classes the day before Christmas. I will begin posting my updates as I fix glitches.

I'm not accusing you of not knowing any c++, but technically none of us can see visible evidence that you can do anything beyond creating a GUI layout in Qt's XML.
Please don't make stuff up. I have never even touched Qt's XML, you can check my source code. Everything is pure C++, and at this point, I am using no pure Qt classes. I even subclassed QApplication.
Title: Re: Natural GM (Alternate Cross-Platform IDE made in C++ WIP)
Post by: time-killer-games on December 05, 2013, 03:13:00 PM
My bad DaSpirit I guess my anxiousness to see this projects done has gotten the best of me. Keep up the great work you've done a lot more than what I originally thought. =)