Pages: 1
  Print  
Author Topic: General questions about Enigma  (Read 5801 times)
Offline (Unknown gender) arcnor
Posted on: September 12, 2016, 08:29:56 am
Member
Joined: Sep 2016
Posts: 6

View Profile
Hi,

First of all, I'm sorry if everything I'm going to ask is already answered somewhere else, but everything I found seems to be outdated and/or confusing :). So, here are my questions:

1. Is ENIGMA still updated/maintained?
2. Does ENIGMA compiled games work on Desktop platforms as well as iOS/Android?
3. What's the actual license for ENIGMA? I saw somewhere that it was GPLv3, is it still the case? Because in that case it seems impossible to release a game that doesn't release the source, which is a showstopper for what we want to do...
4. Is LateralGM/ENIGMA (still?) compatible with GameMaker Studio projects? I don't know much about GM, only started using it after the HumbleBundle bundle, although I prefer to use something I can have the source for, but as a last resort it will be nice to be able to continue/finish my project on GM Studio.
5. In the same vein, is the LateralGM editor maintained? I have Java experience, and I don't mind fixing stuff on it if we end up using this engine (did a quick text by compiling it & "porting" it to Maven, as the Makefile was using the Eclipse compiler, annoyingly...), although it mostly depends on the answer to the previous questions :)

Thanks again, and sorry if those questions are already answered elsewhere :)
Logged
Offline (Male) faissaloo
Reply #1 Posted on: September 12, 2016, 10:03:01 am

Contributor
Location: Britbongistan
Joined: Jan 2013
Posts: 87

View Profile WWW Email
Hi,

First of all, I'm sorry if everything I'm going to ask is already answered somewhere else, but everything I found seems to be outdated and/or confusing :). So, here are my questions:

1. Is ENIGMA still updated/maintained?
Yes, it is actively being worked on.

2. Does ENIGMA compiled games work on Desktop platforms as well as iOS/Android?
Linux and Windows are the most supported platforms, OSX has some degree of support, Android and iOS may or may not work and hasn't been maintained.
3. What's the actual license for ENIGMA? I saw somewhere that it was GPLv3, is it still the case? Because in that case it seems impossible to release a game that doesn't release the source, which is a showstopper for what we want to do...
It is currently GPLv3, however I have created a ticket requesting an explicit licence file with the GCC and possibly a reconsideration of the licence used
https://github.com/enigma-dev/enigma-dev/issues/1017
However, I would greatly encourage you to distribute source with your product, by no means am I saying you should give away your product, but those who purchase your product should also have full access to the source code, it is simply good manners.

4. Is LateralGM/ENIGMA (still?) compatible with GameMaker Studio projects? I don't know much about GM, only started using it after the HumbleBundle bundle, although I prefer to use something I can have the source for, but as a last resort it will be nice to be able to continue/finish my project on GM Studio.
Short answer: Yes
Long answer:
Most things are, there are minor incompatibilities usually because of differences in implementation or because a feature is too new. But so long as you're not using bleeding edge or undocumented features you should be fine.

5. In the same vein, is the LateralGM editor maintained? I have Java experience, and I don't mind fixing stuff on it if we end up using this engine (did a quick text by compiling it & "porting" it to Maven, as the Makefile was using the Eclipse compiler, annoyingly...), although it mostly depends on the answer to the previous questions :)
Yes, but pretty much solely by Robert since IsmAvatar disappeared, so your help with LateralGM would be greatly appreciated. (btw if Robert is reading this, what did happen to IsmAvatar? From the perspective of someone who never really knew her it just seems like she abandoned everything quite suddenly)
« Last Edit: September 12, 2016, 12:44:03 pm by faissaloo » Logged
Offline (Male) Goombert
Reply #2 Posted on: September 12, 2016, 12:23:58 pm

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

View Profile
Hey! faissaloo answered all of your questions correctly. I will just add a few more details.

On GitHub you can actually see a list of all recent changes we are making to fix various issues:
https://github.com/enigma-dev/enigma-dev/commits/master

Which has actually been increasing lately:
https://github.com/enigma-dev/enigma-dev/graphs/commit-activity

Regarding the license I am going to have to close that issue. Leave license discussions for the forum and don't post it to the issue tracker unless we decide on changing to a new license. We've had these discussions before and are aware that the open source license of the engine bothers people for obvious reasons.
http://enigma-dev.org/forums/index.php?topic=1832.0
http://enigma-dev.org/forums/index.php?topic=2296.0
http://enigma-dev.org/forums/index.php?topic=1994.0
http://enigma-dev.org/forums/index.php?topic=1322.0

Also, please consider the abhorrent nature of YoYoGame's license:
enigma-dev.org/forums/index.php?topic=2325

It is unlikely that LateralGM's license or our compiler's license will ever change. They will always remain open source because you are not linking against them. The only debate is about the licensing of the engine which is under enigma-dev/ENIGMASystem. I am open minded but I have largely ignored the issue choosing to focus on fixing bugs instead. If I made a proprietary game with ENIGMA myself I would just go ahead and sell it without fear of Josh suing me because I know nobody here is going to do that. We want people to be able to sell games if we can get to that point of stability. I guess the whole thing boils down is that we wanted to make a working engine before worrying about people doing that.

LateralGM will also gladly accept new contributors, however, we may have to move it over to ENIGMA's repo for continued development because I don't think the project founder is returning. I have merge access but I can be a little slow.
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) arcnor
Reply #3 Posted on: September 12, 2016, 05:39:58 pm
Member
Joined: Sep 2016
Posts: 6

View Profile
Thank you both very much for your responses!

It's sad that the OSX & mobile versions are not supported, that was one of my main reasons to use Enigma/LGM.

Based on your responses, I have a new question, I hope you don't mind: Does LGM work with the GameMaker Studio / YYC compiler on Windows?

My reasoning is: if OSX/mobile doesn't work properly & the licensing for the engine itself is not appropriate (I'm glad to know that Josh is not going to sue us if we create a game using the engine, but for a lot of situations that is sadly not enough :D) there is no reason for me to use the whole setup, but if I'm forced to continue using Windows & GM:S, I might as well use a better editor for it (or one I can easily hack).

For what I've seen, LGM mostly works although on OSX the JoshEdit component seems broken for various reasons. (Have you thought about replacing it with something more "supported", like RSTA?)

In any case, thank you very much again for your responses!
Logged
Offline (Male) Goombert
Reply #4 Posted on: September 12, 2016, 06:48:07 pm

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

View Profile
Yeah I have thought about dumping JoshEdit for Jintilla which is a Java wrapper for Scintilla. Scintilla is used in Notepad++ and CodeBlocks which are both programs Josh likes to use.

And currently LGM does not support the YYC, however, you can easily create a Java plugin to make it do that. LateralGM can actually be used without ENIGMA's plugin, you just lose the run button on the toolbar. All you have to do is make your Java plugin and then stick it in a folder called "plugins" next to lateralgm.jar and it will automatically load it and invoke its main method.

Just take a look at the ENIGMA plugin:
https://github.com/enigma-dev/lgmplugin

I was actually going to make a YYC plugin for LGM before for fun and to scare the bajeebas out of YYG. I can't say much about the legality of doing so but GMS does have a command line interface so it would be very easy to make LGM run games with its runner. I may still do it in the future too just as a proof of concept. It would in no way jeopardize the legality of LGM which is perfectly legal under US, UK, and EU law. Specifically regarding the drag and drop interface, the United States Supreme Court ruled in Apple v. Microsoft that you can not patent the "look and feel" of an application.
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) RodrigoCard
Reply #5 Posted on: September 13, 2016, 12:32:30 am
Member
Joined: Aug 2016
Posts: 6

View Profile
It's sad that the OSX & mobile versions are not supported, that was one of my main reasons to use Enigma/LGM.

I made a patch that fixes some current issues on OSX if you want to take a look :)
https://github.com/enigma-dev/enigma-dev/pull/1011

I need to make a few adjustments, but it is working
Logged
Offline (Unknown gender) RodrigoCard
Reply #6 Posted on: September 13, 2016, 12:37:02 am
Member
Joined: Aug 2016
Posts: 6

View Profile
Just pasting here what I incorrectly posted in here https://github.com/enigma-dev/enigma-dev/issues/1017#issuecomment-246578307


---
Well, I just need some clarification,[ this page](http://enigma-dev.org/docs/Wiki/License) says
`"A special exemption is provided by our license to allow the commercial selling of software made with ENIGMA. "`
But it is too vague, GPL already allows commercial usage, but an uninitiated person may read this and understand that you can distribute games made with enigma without the source code.
What does that exactly mean?

---
That said, my considerations, I've been fiddling with Enigma in my spare time because I plan to port some open source GameMaker games to some platforms unsupported by yoyo, (an ARM linux device), and learn mode about open source project collaboration. So, for me, GPL is completely fine, these games are open source already :)

But, lets say someone make a commercial game using Enigma, he/she may or may not want to release the game's code, right?
Okay, the game is made, source or no source, huge success on Steam, the author got a chance to release the game in a big closed platform, the Playstation 4 or the Nintendo 3DS, a platform that explicitly forbids source distribution. So even an LGPL license wont work in these cases. So what? :(

---
I am very pro-open source, but sometimes it is not our choice, unfortunately.
You want the project to grow and be more used with less restrictions, but you are all correct to protect enigma.

In my newbie-outsider opinion, A good compromise would be separate the license of the Compiler/IDE and the Engine.
A copyleft license for the IDE/Compiler and a Permissive license for the engine.

You could even charge for a closed source commercial license of the engine, but I advise against that because this would cause problems with Yoyo,

---
My 2 cents :)

Any thoughts?
« Last Edit: September 14, 2016, 12:15:13 pm by RodrigoCard » Logged
Offline (Unknown gender) arcnor
Reply #7 Posted on: September 13, 2016, 07:25:06 am
Member
Joined: Sep 2016
Posts: 6

View Profile
Quote
Yeah I have thought about dumping JoshEdit for Jintilla which is a Java wrapper for Scintilla. Scintilla is used in Notepad++ and CodeBlocks which are both programs Josh likes to use.
Well, I'm not sure if Josh liking it is a requirement :D. But I think Scintilla might not be the best option from a multiplatform point of view (there is no official OSX build for example, the Jintilla wrapper is old & unmaintained plus JNI might be a nightmare depending on the platform). RSTA is still maintained and pure Java, which helps lots with compatibility. But again, I'm just a newcomer :).

Quote
I was actually going to make a YYC plugin for LGM before for fun and to scare the bajeebas out of YYG. I can't say much about the legality of doing so but GMS does have a command line interface so it would be very easy to make LGM run games with its runner
Good to know it's possible, that's what I expected. I don't think there is any legal problem here, as even if I make it run, I'm not going to sell it or even distribute it, but just for personal use.

Quote
I made a patch that fixes some current issues on OSX if you want to take a look :)
Thank you a lot for that! But after investigating a bit more, is not just that OSX has problems to compile/run, but also that some functions are only implemented on Windows & not on the other platforms, so I don't think Enigma is a good fit for our project. Also, the mentioned license issue, so anyway...

In the meantime I've been playing with LateralGM and trying a few different things. My changes are here https://github.com/Arcnor/LateralGM and they may be a bit controversial, but at least for now I need them to suit our team only :). To run them you need a local Maven copy of JoshEdit which I haven't uploaded yet, but there are no visible changes anyway (although it includes a few fixes for stuff like the text editor not opening - at least on Mac - etc).

One thing I haven't seen working is the drag and drop editor, is that implemented? (I always get "<Unknown Action>" everywhere)

Anyway, the next things I'm going to try (just for fun) are moving to the aforementioned RSTA & JavaFX to see how feasible those are.

Thanks again!
Logged
Offline (Male) Goombert
Reply #8 Posted on: September 13, 2016, 01:35:37 pm

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

View Profile
RSTA I've seen before and yes that is an option too that we might consider. Also drag and drop is implemented so you should not be getting anything related to unknown action, can you share a screenshot? Can you also look and see if drag and drop is enabled in File->Preferences? There is a feature to disable it which can still save and load the actions but doesn't show the panel or descriptions.
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) arcnor
Reply #9 Posted on: September 14, 2016, 04:41:00 pm
Member
Joined: Sep 2016
Posts: 6

View Profile
Thanks for the tips. It was my fault in the end (LGM didn't like me changing the build to use Gradle :D). All is sorted now, and I'll be checking the released version from now on before asking any more dumb questions :D

In case you're interested, I've added CI builds to both LGM & JoshEdit (although I'm going to kill the latter ASAP) and I'm still adding JavaFX to everything. Also, my fork should just work now after pulling & doing `./gradlew run`, like magic :D
Logged
Offline (Unknown gender) time-killer-games
Reply #10 Posted on: September 15, 2016, 07:54:44 pm
"Guest"


Email
Goombert,

something I would be really impressed by, is if you could pull off doing what you said, run GameMaker: Studio games (compile and run) with GameMaker: Studio's commandline / runners. But what would be especially cool is that this could open the door to editing and compiling GameMaker: Studio games on Linux and Mac OS X from within LGM.

The commercial Parakeet IDE does this (so it is perfectly legal) but it only runs on Windows.

https://parakeet-ide.org/

Since Java can run on Linux abd Mac OS X, we have an advantage here, so why not use it?

The only thing with that though, the end user would need to download and install gamemaker studio and all that seperately, as its against their terms to distribute mirrors of their software afaik.
« Last Edit: September 15, 2016, 08:01:09 pm by time-killer-games » Logged
Offline (Unknown gender) arcnor
Reply #11 Posted on: September 15, 2016, 07:59:38 pm
Member
Joined: Sep 2016
Posts: 6

View Profile
Quote
But what would be especially cool is that this could open the door to editing and compiling GameMaker: Studio games on Linux and Mac OS X from within LGM.
I'm not sure if you'll be able to compile/run them. I know you can compile games for OSX and Linux on GM:S, but I'm guessing whatever they use needs a lot of work to run "standalone". I'm hoping to be wrong, though :)
Logged
Offline (Male) Goombert
Reply #12 Posted on: September 17, 2016, 03:10:11 pm

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

View Profile
I see no problem with having to download and install GMS and then use LGM as an IDE for the other platforms. That would be completely expected. We've also been talking about putting an installer to MinGW in on the Wiki and dropping the portable ZIP. And by using an installer I mean one that we can confirm works with ENIGMA. But we still have that arch Linux issue we can't figure out.
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) arcnor
Reply #13 Posted on: September 17, 2016, 03:54:13 pm
Member
Joined: Sep 2016
Posts: 6

View Profile
I see no problem with having to download and install GMS and then use LGM as an IDE for the other platforms.
I'm sure that will work, as long as you do it on Windows. But I think what time-killer-games meant (and I kind of wanted as well) was being able to compile & run OSX/Linux games from OSX/Linux itself, using YY interpreter and/or YYC compiler.

I did a quick investigation, and there isn't a standalone compiler for those platforms, just a bunch of scripts that get run through SSH but none of them are the compiler, so I'm guessing GMS itself creates source code that is then shared through SSH & compiled using Clang for the YYC target, and something similar for the interpreter. I'm not an expert by any means, so I'm happy to be proven wrong...
Logged
Offline (Male) Goombert
Reply #14 Posted on: September 18, 2016, 03:44:03 pm

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

View Profile
Yeah there is that. One possibility would be to get a Windows Server and have it run the YYC and then do the compiling on it... but unless you are in the cloud business like GitHub... you probably won't have the resources. The only other thing to try is emulating the YYC on Linux. I wonder if we could run it in WINE?
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
  Print