ENIGMA Forums

Outsourcing saves money => Third Party => Topic started by: ssss on September 02, 2013, 09:15:19 pm

Title: CLI and new IDE for Enigma
Post by: ssss on September 02, 2013, 09:15:19 pm
New IDE in development written in python.

http://tinypic.com/view.php?pic=345yofs&s=5 (http://tinypic.com/view.php?pic=345yofs&s=5)
(http://i41.tinypic.com/345yofs.jpg)

http://tinypic.com/view.php?pic=9u5jit&s=5 (http://tinypic.com/view.php?pic=9u5jit&s=5)
(http://i43.tinypic.com/9u5jit.jpg)

Requires Python 2.7 or 3 and PyQt4 installed on linux.

Download Instructions for Windows
download zip from here https://github.com/sssstest/GameEditor/archive/master.zip
or run
Code: [Select]
git clone https://github.com/sssstest/GameEditor.gitYou need python from http://python.org/download/ and you need PyQt4 from http://www.riverbankcomputing.com/software/pyqt/download
PyQt5 hasn't been tested and probably doesn't work yet.

Download Depenencies
x86
http://python.org/ftp/python/2.7.5/python-2.7.5.msi
http://sourceforge.net/projects/pyqt/files/PyQt4/PyQt-4.10.3/PyQt4-4.10.3-gpl-Py2.7-Qt4.8.5-x32.exe

x64
http://python.org/ftp/python/2.7.5/python-2.7.5.amd64.msi
http://sourceforge.net/projects/pyqt/files/PyQt4/PyQt-4.10.3/PyQt4-4.10.3-gpl-Py2.7-Qt4.8.5-x64.exe

Once you have python and PyQt4 installed you can run the GameEditor ide by running ide.py from windows explorer or from the command line.

Supports reading GameMaker and ENIGMA game formats:
GMK version 800+ (reading and writing), GMX, GMZ, EGM
Writing gmk is suppored but disabled for safety right now. You should keep backups just in case.

The command line interface cli.py is for converting and compiling games on the command line

Code: [Select]
usage: cli.py [-h] [-o WRITEFILE] [-c CODE] [-r] [-t] [FILE.GMK]

input file with no options builds in debug mode and runs game

positional arguments:
  FILE.GMK      read file (gmk gm81 egm gmx gmz formats)

optional arguments:
  -h, --help    show this help message and exit
  -o WRITEFILE  convert to output file and exit (gmk ggg formats)
  -c CODE       empty game with object create event code
  -r            run game emode

You can test GML code with the cli using
Code: [Select]
python GameEditor/cli.py -c 'show_message("test");game_end();'That will create a game with 1 room and 1 object and the code in an event create action. On the terminal it will show
show_message: test
Title: Re: CLI and new IDE for Enigma
Post by: Goombert on September 02, 2013, 09:34:56 pm
I want to post here the links to the repositories of our LGM rewrite headed by me.

LateralGM to C++ and Qt Framework, is the one that will be getting the most attention and actually eventually replace LGM. It is currently just a rewrite of the UI and can switch from MDI to Tabbed mode and other things, it also supports theming via cascading style sheets.
https://github.com/enigma-dev/RadialGM
(http://oi44.tinypic.com/ibkqz6.jpg)

LateralGM to C# and .NET Framework, this one was only a test and was only part of the UI, it will not be developed, we hate the .NET Framework here.
https://github.com/enigma-dev/SharpGM
(http://oi43.tinypic.com/vsnb76.jpg)

And this last one is canthelp or user ssss on the forum, his port of my Qt/C++ GUI over to python, he already has GMK, GMX, and EGM loading.
https://github.com/sssstest/GameEditor.git
(http://oi43.tinypic.com/1zdx8g4.jpg)
Title: Re: CLI and new IDE for Enigma
Post by: Josh @ Dreamland on September 02, 2013, 10:21:47 pm
Heheheheh... I am very curious as to how these IDEs will turn out. Our third contender is, of course, NaturalGM. The projects vary in projected capability; let me give my honest (and skeptical) opinion of each really quick.

Contender 1: canthelp's (ssss's) project, Game Editor
The pros:
Being written in Python, this IDE has grown up extremely quickly. It borrows code from LGM and ENIGMA's code bases, as well as from Robert's IDE's codebase. In addition to that, it is by far the most functional and quickest growing of these IDEs. It may come as a surprise that in general, the IDE performs better than LGM, which is powered by Swing rather than Qt. This IDE is also being tailored largely to the needs of ENIGMA, which means it is likely to have the new features we need.
The cons: Everything in this IDE kind of melts together. Plugins are doable only by virtue of python being a scripting language. The author will attest to the code being quite messy. The user has to install Python to be able to work with this IDE.

Contender 2: Robert's C++ LateralGM
The pros:
Being completely native and designed specifically with ENIGMA in mind makes this IDE an obvious choice for a new user. Thus, like canthelp's IDE, we're likely to see the resources we've planned out within a few releases. In addition to the speed problems, this IDE seeks to address the EGM/GMX loading issues from its Java predecessor.
The cons: While focus has gone into keeping the file readers and writers modular, not a lot of attention thus far has been paid to general modularity. The individual editor components are not themselves separate; there is a lot of interdependency that is unlikely to be sifted out. Maintaining this IDE will also take back seat, as Robert is generally preoccupied with other facets of ENIGMA.

Contender 3: DaSpirit's NaturalGM
The pros:
Spirit has taken care to ensure modularity of each component of the IDE. It is (as far as has been seen) possible to develop a resource plugin for NaturalGM without regard for other resource plugins in the system, which means the odds of us finally adding an overworld resource to the mix are great (we should be able to duplicate the path editor plugin and go from thereā€”its functional requirements of the remainder of the system are identical). Additionally, this should help ensure that users wishing to add their own resource types to ENIGMA are able to do so easily, as both IDE and engine will be able to accommodate them.
The cons: At this point in its development, I can't isolate any concrete issues with the software. That in itself is the only issue: at its present state, NGM is mostly backbone, but the backbone is shaping up comparatively well. The issues that I am able to foresee have all been addressed; only time will reveal any remaining problems as he starts on the concrete implementations.
Title: Re: CLI and new IDE for Enigma
Post by: polygone on September 02, 2013, 10:33:10 pm
Contender 1 & 2 & 3
The pros:
No java
Title: Re: CLI and new IDE for Enigma
Post by: slojanko on September 03, 2013, 09:18:51 am
People seriously shouldn't post stuff that break your projects. Posting this was totally unnecessary.
Title: Re: CLI and new IDE for Enigma
Post by: Goombert on September 03, 2013, 09:23:31 am
Uhm, excuse me slojanko? How did you even run any of them, except of course ssss's, but even then, how the fuck did you of all people install python?
Title: Re: CLI and new IDE for Enigma
Post by: time-killer-games on September 03, 2013, 09:55:28 am
Is the gmx reader and writer for the python IDE actually stable enough to work at all with certain projects? I'm gonna have some fun testing this baby out tonight. :-)
Title: Re: CLI and new IDE for Enigma
Post by: ssss on September 03, 2013, 04:56:59 pm
No sorry. The gmx reader works but the gmx writer isn't in there yet, only gmk writing. Cheeseboy made me fix it to work with python3 last night and the edc games I tested mostly worked on both python 2.7 and python3.
Title: Re: CLI and new IDE for Enigma
Post by: time-killer-games on September 11, 2013, 01:17:19 pm
That's okay, this is still a very nice project. One suggestion though, consider using PyInstaller to compile all your python scripts for this IDE to a standalone applications for Windows, Mac and Linux each. PyInstaller is free and open source but most important it works very well with seemingly zero bugs. It supports interpreting external modules such as Py game (which I have used in specific for my own personal needs). If you want I can compile this for you but I can only do it for windows and Linux with no Mac access.

Cheers, love the pure-code event system! :D
Title: Re: CLI and new IDE for Enigma
Post by: ssss on September 12, 2013, 03:33:31 am
Thanks!  You're right I should package it into an .exe for Windows.
Title: Re: CLI and new IDE for Enigma
Post by: x on September 18, 2013, 12:17:42 am
Looking good. I like the code folding!
I like the idea of ENIGMA supporting a host of IDEs, but wouldn't it be more efficient if all the IDE developing effort went into making one really awesome IDE?
Title: Re: CLI and new IDE for Enigma
Post by: DaSpirit on September 18, 2013, 08:05:37 am
Looking good. I like the code folding!
I like the idea of ENIGMA supporting a host of IDEs, but wouldn't it be more efficient if all the IDE developing effort went into making one really awesome IDE?
It would be more efficient. I keep asking them everyday to help me with mine, as mine has been written with Josh's ideas in mind.