ENIGMA Forums

General fluff => General ENIGMA => Topic started by: waddlewaddle on February 18, 2019, 12:02:09 am

Title: Sorry, I really tried
Post by: waddlewaddle on February 18, 2019, 12:02:09 am
Before I start, forgive me if my English is not very good. I'm still learning it, so bear with me.

Listen, I appreciate the idea of this proyect. I think it's pretty cool, although to be honest, I don't really understand it. I'm no tech expert, in fact I'd consider myself to be very ignorant of these topics. The only "coding" I've ever done, if you can even call it that, is making games in GM8.
Long story short, I used Enigma a loooong time ago. Didn't really find any use of it at the time, but ok. Yesterday, for some reason, I remembered this existed, so feeling very excited, I wanted to install it. My OS is Windows 7 Ultimate, 32 bit. I followed the wiki's steps but it was no good. Mind you, I do not have a clue to what's going on in the background. When I put "cd enigma-dev" in the prompt, it didn't recognize it and the rest was impossible to install, so today I tried again, this time by watching this youtube video: https://www.youtube.com/watch?v=tAejbYc3LRI, but alas, it was no good, again.

Look, I am very ignorant of these procedures, and I do understand you might have your motives on why they are the way they are, but I'm throwing the towel on this one. I just wanted to give you my record as a total newbie who has no idea how this works. I'm not frustrated, nor angry. If anything, I'd like to ask you if you could make a installer, or something easier to understand for ignorants like me, so in the future people won't just throw this away because it's "hard" to install.

Anyway, those are just my 2 cents. I really appreciate the job you guys are doing and I wish you the best. If I could add anything else, I'd love it if you could get more into the mainstream by making youtube videos and such. Good luck!  (Y)
Title: Re: Sorry, I really tried
Post by: Goombert on February 18, 2019, 04:56:14 am
Hey waddlewaddle, I am sorry to hear of your struggles with the installation, and I want to say that we do hear your feedback. We have debated for some time the complexity of the installation procedures for ENIGMA. We understand it's not the most friendly to novices and we have looked at various scripts and installer-like mechanisms to make things easier. I am, to this date, still not entirely satisfied with the lack of a simple setup method.

Various forum users have also been developing their own setup methods, which we are totally ok with and do support. You may be interested in an Easy Installation method that was shared recently.
https://enigma-dev.org/forums/index.php?topic=2954.0

The problem is partly the underdevelopment of ENIGMA as we lack contributors. On one hand, the quality of updates and contributions has improved significantly, largely thanks to continuous integration testing on the repo. But when you consider that maintaining an installer alone is a large bulk of work, it's quite obvious that YoYo has an advantage here because they have a full staff of people that can just focus on installation alone. Here the responsibility usually falls on me to update dependency lists and other instructions on the Wiki pages, which you often see me doing in official announcements.

I want to give you some more information about the commonly used [snip]cd[/snip] command which is short for "change directory." An obvious reason your [snip]cd enigma-dev[/snip] command may have failed, is that you were in the wrong directory to begin with, in which case you must first cd to the parent directory of the [snip]enigma-dev[/snip] directory. Also, the [snip]enigma-dev[/snip] directory is created during the [snip]git clone[/snip] step of the setup which is where the source code is actually downloaded from our GitHub repository. By default, the clone command will download the source code in the current directory of your terminal and give it the name of the repo, which happens to be [snip]enigma-dev[/snip]. I hope you will find this information insightful and that it maybe clarifies a little bit of your confusion. I will provide a short/simple guide that explains several other common terminal commands.
https://www.digitalcitizen.life/command-prompt-how-use-basic-commands

I also want to say that it's fine to be unfamiliar with command line tools, but knowing about them and understanding them can be very beneficial to you as a software developer. Nothing the project uses is in any way non-standard or particularly unique. For example, GNU make is a very popular and widely supported build system. There is nothing out of the ordinary for our project to be using it. Regardless, I hope I helped and I really do take your feedback seriously and appreciate that you took the time to try the setup and to let us know about the issues you faced.
Title: Re: Sorry, I really tried
Post by: ProtoLink[Glyphic Enigma] on February 18, 2019, 12:54:38 pm
Eventually, I'll get around to making a detailed video tutorial on this, so when that's done I'll need help distributing it around for new members to find. I find the existing video tutorial highly lacking and confusing to follow if you don't already know a little bit about the system itself. The main issue is that I need a quiet space in order to capture the necessary video footage, so I'm forced to wait until such an opportunity, but once I have that, I'll make a video for it.
Title: Re: Sorry, I really tried
Post by: waddlewaddle on February 28, 2019, 01:15:52 am
Thank for the replies, guys. Lately, I've been working with Godot, not sure if you've heard of it before, it's also an open source game engine. It is directly launched from an .exe file, which is incredibly convenient to be honest. I have no idea how they managed to do that, but I think that it was thanks to those little details that people got hooked very quickly with it. They made it grow from that. Maybe if you could try and do the same, more people would join the proyect, add to it and make it better known.

Lately I've been thinking about giving this another try, so we'll se how that goes. Still, I do honestly think you guys should focus on solving the installation part first, as it would make it easier for more and more users to show up and use it, which would also incidentally add more people working on it. I say focus on that first, and the rest later, because just like any proyect, if you continue with the issue it will just get harder and harder to solve in the long run.
Title: Re: Sorry, I really tried
Post by: impo on February 28, 2019, 11:02:38 am
perhaps, with bigger community we could do "stable builds" once in a few months, with  simple as possible installation process, polished functionality and cut out unimplemented functions, but as of now i think we should just try to get something like "enigma version 1.0" rolled out, basically just a working mvp

then we could prepare marketing material, some comparison infographics, promo vids (i'd do it on my own if we'll ever reach this stage, on a good level),but simple proposal to compile gm projects with c++ translation that speeds the game up 100 times would have served as an excellent marketing already.

then we could collect target platforms to spread information, like gm's reddit, to  start converting users to enigma. given the dissatisfaction people have with gm developers, it shouldn't be hard to attract them to develop an  alternative
Title: Re: Sorry, I really tried
Post by: Dragonite on March 01, 2019, 12:00:42 pm
perhaps, with bigger community we could do "stable builds" once in a few months, with  simple as possible installation process, polished functionality and cut out unimplemented functions, but as of now i think we should just try to get something like "enigma version 1.0" rolled out, basically just a working mvp

then we could prepare marketing material, some comparison infographics, promo vids (i'd do it on my own if we'll ever reach this stage, on a good level),but simple proposal to compile gm projects with c++ translation that speeds the game up 100 times would have served as an excellent marketing already.

then we could collect target platforms to spread information, like gm's reddit, to  start converting users to enigma. given the dissatisfaction people have with gm developers, it shouldn't be hard to attract them to develop an  alternative
IMO the easiest way to get users (and eventually contributors) from GM is to improve compatibility with existing GMS projects. Many users are dissatisfied with the direction GMS2 went (different UI, stronger DRM, sprite/background editors with less features than the old version), so if we get good compatibility with GMS1.4, I believe people would migrate their projects.
Title: Re: Sorry, I really tried
Post by: sampletext on March 10, 2019, 02:08:08 pm
Agree with you guys. ENIGMA installation is not an ordinary. You need to understand what you're doing. After ~2 weeks i understand the whole process and after 2 weeks (again) made 1st version of .sh script that 'snapshoted' all steps shown in the official video/official wiki and it seems to work. You can look it here - https://enigma-dev.org/forums/index.php?topic=2954.0
But, i think that strange method to get dependencies that ENIGMA using isn't good. Some cross-platform projects (which can work on linux, yep) can do it without any special terminals/hacker moves/etc.
Small community is a sign of not making binary releases, i guess. And it's no good.
Title: Re: Sorry, I really tried
Post by: Goombert on March 10, 2019, 04:02:39 pm
While I share many of the sentiments and opinions that have been discussed here. Let me play devil's advocate and offer you guys a counter argument. One advantage to the emphasis we have on a source setup using a package manager, as opposed to a binary release mechanism, is the simplicity of hacking on ENIGMA. We gained several contributors because of this, including myself, because it is so easy to change the code in the engine, save it, and rerun the game and see the changes immediately. I think we can even find evidence of this in the past when ENIGMA has honestly had more contributors than users. That said, again, it doesn't mean we have to totally rule out binary releases and, again, I am open minded to more simplistic methods of setup. This is one of the reasons I got on board with fundies investigating MSVC support for ENIGMA. The idea was that if we could support MSVC, well then users already have the dependencies for ENIGMA installed if they have GMS installed. We're probably not going to merge any of this or roll it out any time soon because we ran into issues like globbing and other things we don't like about MSVC build systems. Long story short, we'll continue investigating this problem, and I hope you guys see my point of view too.
Title: Re: Sorry, I really tried
Post by: cheeseboy on March 15, 2019, 12:43:37 pm
If you can't handle opening a terminal you had no chance as programmer to begin with.
Title: Re: Sorry, I really tried
Post by: time-killer-games on March 15, 2019, 09:10:40 pm
@cheeseboy - scaring away people from using a game engine you majorly help develop and wish was popular, (and it has maybe 4-5 actual users on the planet), is a great idea, don't you think?
Title: Re: Sorry, I really tried
Post by: Dragonite on March 16, 2019, 02:37:30 pm
I think ENIGMA could use a model with a LTS release in the future, once it gets more stable and compatibility improves. That LTS could be released with an installer, and only bug fixes would be backported to it. This would give users a stable version to work with.
Sorry for repeating myself, but I believe the keys to increase ENIGMA adoption are:

1. A working, stable (in the sense that it doesn't crash often) IDE that is capable of both making games and compiling (distributed for Windows as a .EXE installer, and as .debs for Debian-based GNU/Linux distributions)
2. Compatibility with existing GMS projects and libraries, making existent them immediately useful with ENIGMA. Some of these projects I have in mind are GMEdit (https://github.com/GameMakerDiscord/GMEdit), input (https://github.com/GameMakerDiscord/input) and GMLive (https://yellowafterlife.itch.io/gamemaker-live).
In response to @cheeseboy, I've seen many people who didn't know what a terminal was been able to make projects using Game Maker. I fail to see how you need it to write GML code.
Title: Re: Sorry, I really tried
Post by: Goombert on March 16, 2019, 04:21:06 pm
fundies' point of view seems harsh but allow me to try to clarify it. He's saying that if you want to build applications (we're talking C++ now not GM/video games) there's little chance you can pull it off without running into a command line. Clearly YoYoGames themselves also make extensive use of command lines (I've seen comments by staff alluding to them having their own continuous integration testing which is almost entirely command line based) internally for development. The point of a program like GameMaker is to get rid of that and have a totally more graphical experience. Regardless, there's plenty of useful tools that are command line only where you simply don't need to use a UI. Quite frankly learning to use a command line is good for any computer user whether you are a developer or not. fundies just comes off rude because he is rude.  :)

Like I said, we'll continue looking at the problem. Another aspect of what fundies is saying is that the advanced setup serves as a sort of buffer to keep people from using the program that don't have a certain level of competency. In other words, it saves us the time of having to deal with too many users when we're understaffed as far as development goes (more people right now would only constrain our resources hindering development). I don't entirely agree with this elitist view of everything though and I try to help users when I can.

PS: Thanks to Microsoft Azure we may be able to have a nice installer generator since it lends a lot more compute resources to open source than AppVeyor. We were just discussing this on Discord.
Title: Re: Sorry, I really tried
Post by: cheeseboy on March 17, 2019, 09:18:29 am
@cheeseboy - scaring away people from using a game engine you majorly help develop and wish was popular, (and it has maybe 4-5 actual users on the planet), is a great idea, don't you think?

This post is about him leaving because he didn't want to invest any effort. I'm not interested in begging users to stay if he wants to leave that's fine. I've said on numerous occasions I don't consider enigma user ready yet. Although, you CAN use it, I don't suggest you SHOULD as you may run into issues like his that require some level of debugging. Which in turn requires some basic knowledge of command line interfaces and programming outside of a GM environment. We're willing to help users through their issues even though were not obliged to but we can't help anyone unwilling to try. We prefer to attract developers, not users at this stage.
Title: Re: Sorry, I really tried
Post by: time-killer-games on March 19, 2019, 06:58:37 pm
You could try just saying that the first time, rather than insulting a complete stranger.

Edit:

I heard you have been doing better socially since I left discord and I don't want to ruin that. The only point I'm making is whether we want more devs or users, we need to control our behavior enough to not come across scary to newcomers. Being nice when appropriate, (as in -- as much as humanly possible) will seriously help everyone's cause here. This applies to me, you, Robert, Rusky, Josh, and everyone else.

I'm not going to force anyone to listen to me, even I'm not the best at taking my own advice; I just can't help but see it would help if we all were a little nicer to each other.
Title: Re: Sorry, I really tried
Post by: waddlewaddle on June 13, 2019, 05:22:11 am
Hello again, sorry to revive this old topic. Me and a friend are starting a proyect together which involves GM8, but for some reason the code editor runs very slowly for him. We've searched for solutions but there are none we are aware of, save for gm studio.
I suggested LateralGM, which worked out mostly fine for what we needed. Then, I suggested Enigma, but again we couldn't figure out the installation and gave up.
I found out a portable version of Enigma (This one: https://github.com/enigma-dev/enigma-dev/releases ), but for some reason lateralGM crashed, so I used an older version and it worked up until it tried to load the plugins, in which point it just stopped (but didn't crash at least).

My question is, being that we both are total noobs in this, and being that we're just users who want to download and use the program, isn't there another way to get it to work?
I don't know if there's another portable version, or a GitHub package we could download and use right away. Speaking from ignorance, wouldn't it work if someone who has the program uploads it completely to GitHub for others to download?

Again, thanks for the replies and patience. I know it may sound annoying for some of you when a newbie can't get past the installation again, but belive me, I genuinely want to use this program and no matter how many times I screw the installation, I always find myself back in here. Now that I'm working with a friend on a proyect, there's even more reason to get to use this, and I'd love to recommend Enigma if I can get it to work, noob as I might be.
Title: Re: Sorry, I really tried
Post by: hpg678 on June 13, 2019, 06:26:19 am

Greetings! i did a 3 part series on installing Enigma with step by step instructions explaining the procedures throughout the installation.


https://www.youtube.com/watch?v=vdpjXWj4NQM&t=59s (https://www.youtube.com/watch?v=vdpjXWj4NQM&t=59s)


everything from installing Msys, updating, terminal commands etc are explained in annotations through out the videos


(https://photos.google.com/photo/AF1QipPt4p-O1cThaeS-pN5QIO5QgoPCD2NxPGPhoJHi)
https://photos.google.com/photo/AF1QipN7ByJCd7TpgyP7TdYRAqJEqdvC3D-amNM3uiIs (https://photos.google.com/photo/AF1QipN7ByJCd7TpgyP7TdYRAqJEqdvC3D-amNM3uiIs)




https://photos.google.com/photo/AF1QipPt4p-O1cThaeS-pN5QIO5QgoPCD2NxPGPhoJHi (https://photos.google.com/photo/AF1QipPt4p-O1cThaeS-pN5QIO5QgoPCD2NxPGPhoJHi)






Try them and if u have any problems let me know.
Title: Re: Sorry, I really tried
Post by: Goombert on June 13, 2019, 11:07:33 am
Quote
Speaking from ignorance, wouldn't it work if someone who has the program uploads it completely to GitHub for others to download?
Hi again Waddlewaddle. This is technically possible and something we've discussed. However, for me to upload it, I'd have to upload several gigabytes as my particular MSYS installation is huge. You'll still need MSYS and at minimum GCC to compile your game's code. This is why one of the things we've considered is an installer, automated by a build server, which will upload only the minimum MSYS setup that's needed along with LateralGM and the rest of ENIGMA. That's quite the engineering job and we haven't exactly concluded on how to do it.

I am still troubled to hear about your setup and installation problems. I want to offer this video link in addition to hugar's resources above in the hopes that it may help.
https://www.youtube.com/watch?v=tAejbYc3LRI

Perhaps what may help is a brief high-level overview of how all these parts interact with each other.
* LateralGM is a GM file editor written in Java. It is older than ENIGMA and supports plugins. It can be used entirely on its own without ENIGMA.
* ENIGMA is both an engine and compiler. Its compiler parses and translates your game to C++ then feeds it to GCC/Clang. The build system compiles the engine when you hit run which will be linked to the executable produced by ENIGMA's compiler. Your resources are then appended to the executable in the data section, like traditional GM.
* When ENIGMA started, it did not have an IDE, but LGM existed and supported plugins. At that point a plugin, lgmplugin (aka enigma.jar), was developed to hook ENIGMA into LateralGM. This plugin loads compileEGMf using Java Native Access and adds a run/debug/compile button as well as a few other UI features to interact with ENIGMA.