Pages: 1 2 3 »
  Print  
Author Topic: Natural GM (Alternate Cross-Platform IDE made in C++ WIP)  (Read 11553 times)
Offline (Male) DaSpirit
Posted on: March 31, 2013, 10:05:07 PM

Member
Location: New York City
Joined: Mar 2013
Posts: 124

View Profile


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!
« Last Edit: August 22, 2013, 01:14:24 PM by DaSpirit » Logged
Offline (Male) Josh @ Dreamland
Reply #1 Posted on: March 31, 2013, 10:27:22 PM

Prince of all Goldfish
Developer
Location: Pittsburgh, PA, USA
Joined: Feb 2008
Posts: 2958

View Profile Email
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.
Logged
"That is the single most cryptic piece of code I have ever seen." -Master PobbleWobble
"I disapprove of what you say, but I will defend to the death your right to say it." -Evelyn Beatrice Hall, Friends of Voltaire
Offline (Male) Goombert
Reply #2 Posted on: April 01, 2013, 12:02:30 AM

Developer
Location: Cappuccino, CA
Joined: Jan 2013
Posts: 3110

View Profile
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.
« Last Edit: April 04, 2013, 03:42:43 AM by Robert B Colton » Logged
I think it was Leonardo da Vinci who once said something along the lines of "If you build the robots, they will make games." or something to that effect.

Offline (Unknown gender) daz
Reply #3 Posted on: April 01, 2013, 11:49:53 AM
Contributor
Joined: Jul 2010
Posts: 167

View Profile
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
Logged
Offline (Unknown gender) jimn346
Reply #4 Posted on: April 01, 2013, 05:41:26 PM
"Guest"


Email
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.
Logged
Offline (Male) DaSpirit
Reply #5 Posted on: April 01, 2013, 08:29:12 PM

Member
Location: New York City
Joined: Mar 2013
Posts: 124

View Profile
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.
Logged
Offline (Male) Goombert
Reply #6 Posted on: April 02, 2013, 04:57:52 PM

Developer
Location: Cappuccino, CA
Joined: Jan 2013
Posts: 3110

View Profile
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.
Logged
I think it was Leonardo da Vinci who once said something along the lines of "If you build the robots, they will make games." or something to that effect.

Offline (Unknown gender) gra
Reply #7 Posted on: April 04, 2013, 02:21:44 AM

Member
Joined: Feb 2013
Posts: 147

View Profile
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
Logged
Offline (Male) Goombert
Reply #8 Posted on: April 04, 2013, 02:53:26 AM

Developer
Location: Cappuccino, CA
Joined: Jan 2013
Posts: 3110

View Profile
Hey gra, you have to have version 5 there buddy, and you also need to install QScintilla for the code editor.  (Y)
Logged
I think it was Leonardo da Vinci who once said something along the lines of "If you build the robots, they will make games." or something to that effect.

Offline (Unknown gender) gra
Reply #9 Posted on: April 04, 2013, 03:25:51 AM

Member
Joined: Feb 2013
Posts: 147

View Profile
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
« Last Edit: April 04, 2013, 03:34:26 AM by gra » Logged
Offline (Male) Goombert
Reply #10 Posted on: April 04, 2013, 03:44:41 AM

Developer
Location: Cappuccino, CA
Joined: Jan 2013
Posts: 3110

View Profile
 ??? 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  :(
Logged
I think it was Leonardo da Vinci who once said something along the lines of "If you build the robots, they will make games." or something to that effect.

Offline (Unknown gender) gra
Reply #11 Posted on: April 04, 2013, 04:31:24 AM

Member
Joined: Feb 2013
Posts: 147

View Profile
ok not go , i wait
Logged
Offline (Unknown gender) gra
Reply #12 Posted on: April 11, 2013, 01:53:19 AM

Member
Joined: Feb 2013
Posts: 147

View Profile
compiled !!  :D
but segmantation fault on ubuntu 64
« Last Edit: April 13, 2013, 12:26:42 AM by gra » Logged
Offline (Male) DaSpirit
Reply #13 Posted on: April 11, 2013, 09:29:00 PM

Member
Location: New York City
Joined: Mar 2013
Posts: 124

View Profile
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.
Logged
Offline (Male) Goombert
Reply #14 Posted on: April 11, 2013, 11:15:21 PM

Developer
Location: Cappuccino, CA
Joined: Jan 2013
Posts: 3110

View Profile
Hey just a heads up finally got a hold of DatZach and he wants to write a GMK API for us.
Logged
I think it was Leonardo da Vinci who once said something along the lines of "If you build the robots, they will make games." or something to that effect.

Pages: 1 2 3 »
  Print