Pages: 1
  Print  
Author Topic: Some Fervi's Question  (Read 3001 times)
Offline (Unknown gender) fervi
Posted on: June 30, 2015, 04:53:19 AM
Member
Joined: Feb 2013
Posts: 78

View Profile Email
Hello again! :-)

1) Is Enigma still alive? A few months ago Enigma grow rapidly
2) Will it be soon under Linux command "execute_shell" or "execute_program"? In C++, a command "system (" ");" do that
3) Is it possible to compile Bash Enigma projects? Can write a simple code in PHP that will send Bash code and it will be compiled by the browser project.

Sorry for my bad English

Fervi

Logged
Offline (Male) time-killer-games
Reply #1 Posted on: June 30, 2015, 06:21:42 AM

Contributor
Location: Virginia Beach
Joined: Jan 2013
Posts: 1167

View Profile Email
1) other than TheExDeus major devs are just very busy but they are coming back.
2) those already work on linux but if not i already made a linux *.so library in c++ for this and its open source so it can easily be added to enigmas core engine. I'll look for it on my harddrive today and upload it for you to use as a gamemaker-like extension for enigma in the meantime, ill include the source too if you need it.
3) no idea php isnt my thing

edit - btw your english is fine, im american and you posted better english than i normally do (Y)
« Last Edit: June 30, 2015, 06:27:30 AM by time-killer-games » Logged
Offline (Unknown gender) fervi
Reply #2 Posted on: June 30, 2015, 07:21:00 AM
Member
Joined: Feb 2013
Posts: 78

View Profile Email
1) gr8
2) gr8
3) Understand. I want to use ``. It mean "run a command in ``". So I want write something like that:
- Upload files
- Files uploaded, great
- Check (Security, Antibackdoor etc.)
- Yes, it is Enigma Project
- Use <some unknown command that compile EGM Project>
- Send executable file / error file

Fervi
Logged
Offline (Male) time-killer-games
Reply #3 Posted on: June 30, 2015, 09:18:03 AM

Contributor
Location: Virginia Beach
Joined: Jan 2013
Posts: 1167

View Profile Email
No i mean i dont know how to code in php or anything about it other than its a web language. Someone else should be able to help you with that though!  :)
Logged
Offline (Unknown gender) TheExDeus
Reply #4 Posted on: June 30, 2015, 12:55:01 PM

Developer
Joined: Apr 2008
Posts: 1860

View Profile
No, it is not dead. There are stuff going on, but it is mostly me at the moment. I think it is time to decide on a different direction, like totally ditching GM compatibility (something I haven't considered important in years) and making a new IDE (on which apparently Robert and some other people are slowly working). This week and next week is totally full for me (next week I won't even have internet or computer), but the week after that I hope to make some kind of topic detailing stuff I have done.

For the php project you need a command line interface (CLI). ENIGMA has two of those. One is native (written as a separate program in C++), but is not finished. With that you can compile an .gmx using a cmd command (it is more of a dialog). The other option is more working as it uses LGM. You can basically tell LGM to use the ENIGMA plugin and compile a project. Something like "java <jvm options> -jar plugins/enigma.jar <game_file.gmx>" (more here: http://enigma-dev.org/docs/Wiki/CLI). This way you can load anything LGM can and compile anything your version of ENIGMA can. The only hard part is passing ENIGMA settings, which is not possible as far as I know. This needs to be added to the LGM or plugins/enigma.jar.
Logged
Offline (Male) Josh @ Dreamland
Reply #5 Posted on: June 30, 2015, 07:29:24 PM

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

View Profile Email
You've been missing out on a lot of conversation on that topic, Harri. The short of it is, I think Game Maker (and ENIGMA by extension) would be more greatly benefited by, eg, a finite state machine editor than by the "perfect language" I was trying to design. I still want a highly cross-compilable language, but I think that everything that made Game Maker and ENIGMA any good was in the editor, not in the compiler. The compiler's just the thing that makes it finally work, and ENIGMA wasn't even really good at that.

I haven't finished planning something elaborate enough to rekindle my interest in developing it, but we keep tossing ideas back and forth. PHP isn't a consideration; it might actually be the worst language in existence.
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) time-killer-games
Reply #6 Posted on: July 01, 2015, 12:02:57 AM

Contributor
Location: Virginia Beach
Joined: Jan 2013
Posts: 1167

View Profile Email
@fervi

im still looking apologies my computer is beimg slow as shit atm so im going to clean off some old software and files first so i can actually find that *.so library a lot quicker for you. Literally spent hours hoping the search results would finish loading but never did after trying about 6 times now so its about time i clean some GB off my machine, been slow in a lot of other ways making it hard to function on there, ill fix that tomorrow, and thank you for your patience! :)
Logged
Offline (Unknown gender) TheExDeus
Reply #7 Posted on: July 01, 2015, 04:57:24 AM

Developer
Joined: Apr 2008
Posts: 1860

View Profile
I wouldn't mind coding everything in C++ together with some of the ENIGMA semantics. Like the "with(){}" statement or referencing any instance with a dot. Language wise I think EDL isn't bad, but it is lacking. I don't think PHP, JS, Go or Python should be used though. I hate them. So a "simplified C++" what was in essence EDL seemed good. What would "finite state machine editor" look like?

I do think GM compatibility has made many things difficult. Like we don't have a way to differentiate between resources by their ID's (I made a topic about it long ago). The same compatibility also made the parser a lot more complicated than it should have been. Like I don't really think every variable should be a switch statement. Couldn't every object be a class and every instance an instance of that class? Then of course we couldn't as easily add new variables ("a = 5;" will init "a" if it is not used in the object and set existing "a" if it is), but that is also a GM compatibility feature. I wouldn't mind writing "local a" for all variables I want in a instance. And those that are used without some kind of declaration would trow an error. Right now debugging is pain in the ass for ENIGMA just because of this.
« Last Edit: July 01, 2015, 05:02:08 AM by TheExDeus » Logged
Offline (Male) time-killer-games
Reply #8 Posted on: July 07, 2015, 12:56:01 PM

Contributor
Location: Virginia Beach
Joined: Jan 2013
Posts: 1167

View Profile Email
@fervi  :smileycat:

Here you be, finally, the shared object library for linux. Found it. Comes with example, the windows OS equivalent, and the source code for both the linux and windows libraries. have no recollection of whether i even tested it on linux yet, its been a while since i made it. WYSIWYG. Let me know how it goes, and if it works at all! :D

https://www.dropbox.com/s/k6p1vcyz2a6scwp/Execute%20Program.gmx.zip?dl=0

Cheers! :D
« Last Edit: July 07, 2015, 12:59:25 PM by time-killer-games » Logged
Offline (Male) Goombert
Reply #9 Posted on: July 07, 2015, 07:01:12 PM

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

View Profile
Yeah basically what Josh said, though I am kind of diverging myself in a lot of different directions. I've so overloaded with school work but I have a really amazing prototype of some of my new ideas and a lot of great ones that I am not going to drop on this forum because I want to retain them. Some people I've been keeping in the loop about some of these things I've been working on it, but it is too early for me to say much. But I am basically behind what you are saying Harri and we're pretty much on all the same page. I am hoping that I may actually come up with something for the interim that will put us back on the right track until Josh solidifies his ideas and plans.
« Last Edit: July 07, 2015, 07:02:49 PM 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 (Male) Josh @ Dreamland
Reply #10 Posted on: July 11, 2015, 08:41:14 PM

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

View Profile Email
Sorry, Harri; I thought I hit reply, but apparently my response is victim to the ages. Apparently the question of what a FSM editor would look like has been answered by Unreal3D. I would prefer the ability to group nodes (or ideally, to have nested state machines in nodes, for different systems to use) in my implementation, but otherwise, the U3D editor looks sound.

I don't know what you mean by every variable being a switch statement. I worked hard to make sure that isn't the case, even in var. Lookups between objects are switch statements when the type of the object is ambiguous (which, for ENIGMA, I think is every dot-access for custom locals).

I think our best option for providing GM "support" in the future is to make sure that the warnings and errors the compiler emits are easy to operate on. For example, GCC will warn when you say if (someVar = 10), suggesting that you wrap the assignment in parentheses. If ENIGMA emitted this warning, a compatibility layer (read: trainspiler) could replace = with ==.

I already had proposals to deal with Game Maker's lack of type system (and ENIGMA's failure to strongly introduce one). In Game Maker, choose(c_red, obj_sunflower, 10.5, "hamster") is completely valid. ENIGMA retains this; the return type is var. In a better language, this would be disallowed, while choose(c_red, c_green, c_blue) would be allowed, and even choose(obj_sunflower, obj_ladybug, obj_cloud) would be permitted. This is the easy part. The hard part is knowing that instance_nearest(x, y, obj_sunflower) is not just instance_t, but an instance of obj_sunflower. I am still thinking about elegant ways of addressing this, from a language design standpoint.

I won't labor over what else to include in this post, because if I do, it might end up not being posted, again. So yeah, just some initial thoughts.
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) time-killer-games
Reply #11 Posted on: July 11, 2015, 09:03:45 PM

Contributor
Location: Virginia Beach
Joined: Jan 2013
Posts: 1167

View Profile Email
yo guys this is embarassing to ask, but i havent been feeling well since december due nutricional problems, thus why i dont hardly use my computer for anything anymore. Im not up to leaving bed more than just for about a meal a day and using the bathroom. If anyone is interested in testing the linux extention i uploaded for fervi and report how it goes, it would be huge help, whoever has the time to do it. I basically just use my phone to post stuff its about all i can do to function. Thank in advance!! :)
Logged
Offline (Unknown gender) The 11th plague of Egypt
Reply #12 Posted on: July 16, 2015, 08:11:41 AM
Member
Joined: Dec 2009
Posts: 274

View Profile
yo guys this is embarassing to ask, but i havent been feeling well since december due nutricional problems, thus why i dont hardly use my computer for anything anymore. Im not up to leaving bed more than just for about a meal a day and using the bathroom. If anyone is interested in testing the linux extention i uploaded for fervi and report how it goes, it would be huge help, whoever has the time to do it. I basically just use my phone to post stuff its about all i can do to function. Thank in advance!! :)
Sorry to hear that. Nice beard BTW.
Logged
Offline (Unknown gender) The 11th plague of Egypt
Reply #13 Posted on: July 16, 2015, 08:18:55 AM
Member
Joined: Dec 2009
Posts: 274

View Profile
Sorry, Harri; I thought I hit reply, but apparently my response is victim to the ages. Apparently the question of what a FSM editor would look like has been answered by Unreal3D. I would prefer the ability to group nodes (or ideally, to have nested state machines in nodes, for different systems to use) in my implementation, but otherwise, the U3D editor looks sound.

I don't know what you mean by every variable being a switch statement. I worked hard to make sure that isn't the case, even in var. Lookups between objects are switch statements when the type of the object is ambiguous (which, for ENIGMA, I think is every dot-access for custom locals).

I think our best option for providing GM "support" in the future is to make sure that the warnings and errors the compiler emits are easy to operate on. For example, GCC will warn when you say if (someVar = 10), suggesting that you wrap the assignment in parentheses. If ENIGMA emitted this warning, a compatibility layer (read: trainspiler) could replace = with ==.

I already had proposals to deal with Game Maker's lack of type system (and ENIGMA's failure to strongly introduce one). In Game Maker, choose(c_red, obj_sunflower, 10.5, "hamster") is completely valid. ENIGMA retains this; the return type is var. In a better language, this would be disallowed, while choose(c_red, c_green, c_blue) would be allowed, and even choose(obj_sunflower, obj_ladybug, obj_cloud) would be permitted. This is the easy part. The hard part is knowing that instance_nearest(x, y, obj_sunflower) is not just instance_t, but an instance of obj_sunflower. I am still thinking about elegant ways of addressing this, from a language design standpoint.

I won't labor over what else to include in this post, because if I do, it might end up not being posted, again. So yeah, just some initial thoughts.
Meh, I'm using Python now. Duck typing is nice.
Sometimes it's convenient to have functions return different types.
That does not mean that types aren't there
Code: [Select]
print(3+"3")  # doesn't work
print(str(3)+"3")  # works
The interpreter disallows savage cast.
Logged
Pages: 1
  Print