ENIGMA Development Environment
Website is in read-only mode due to a recent attack.

Pages: 1
  Print  
Author Topic: just started  (Read 3165 times)
Offline (Unknown gender) saim
Posted on: June 27, 2011, 08:54:55 PM

Member
Joined: May 2011
Posts: 4

View Profile
Hello.
I downloaded and installed enigma on my windows from this page and tried to compile to android by following this tutorial. The tutorial told me to change the platform to "Android", but the only option I had was "windows". Did I forget to install anything?

More questions: I only saw three events: create, step and draw. Is this a limitation I have to work with or can enigma transform other events into parts of the step event? In other words: which cares should I take in order to ensure the games I develop in game maker will compile to every platform enigma can handle?
Logged
Offline (Male) fredcobain
Reply #1 Posted on: June 27, 2011, 10:24:43 PM

Member
Location: Brazil
Joined: Apr 2011
Posts: 40
MSN Messenger - fredcobain@gmail.com
View Profile
Try that:

Open Compilers/YOURPLATFORM/ and make a copy of the file in Compilers/MacOSX/gcc.ey there. Then just change this line:
Target-platform: MacOSX
To say Android instead, like so:
Target-platform: Android

You will also need to change this line:
resources: $exe
Logged
Offline (Male) fredcobain
Reply #2 Posted on: June 27, 2011, 10:27:27 PM

Member
Location: Brazil
Joined: Apr 2011
Posts: 40
MSN Messenger - fredcobain@gmail.com
View Profile
By the way, the last one who tried that seems to be killed himself - look:
http://enigma-dev.org/forums/index.php?topic=817.0
 :D


P.s: You are able to choose all kinds of events (like in gamemaker), just add a new event. The create/draw/step are built in when you create a new object (i believe that's just because they are the most used).
« Last Edit: June 27, 2011, 10:32:37 PM by fredcobain » Logged
Offline (Female) IsmAvatar
Reply #3 Posted on: June 28, 2011, 12:55:38 PM

LateralGM Developer
LGM Developer
Location: Pennsylvania/USA
Joined: Apr 2008
Posts: 877

View Profile Email
Android support is still on its way. TGMG, the guy behind the project, hasn't yet linked it up with Windows or Linux, claiming that he's still working on porting some OpenGL ES functions or whatever, and then needs to test the win/nix port. I've been bugging him to finish it every chance I get.

As for the 3 events, those are only the default provided events for convenience, because they are the most used. You are in no way limited to them. Adding an event works similarly to Game Maker - you simply click on the Event Selector icon next to the "Delete Event" icon, or click on the Event Selector icon in the LGM toolbar (near the top). This will bring up the Event Selector, which shows all available events in a tree view - so a bit different from GM. Select the event you wish to add, and then choose any extra details about it (like which key for keyboard events, which object for collision events, etc), and then add it by either right clicking, double clicking, or drag-and-dropping it from the tree into the desired object's event list.
Logged
Offline (Unknown gender) saim
Reply #4 Posted on: July 02, 2011, 07:10:10 PM

Member
Joined: May 2011
Posts: 4

View Profile
Took me a while to answer, huh? Sorry about that.

Fred, there is already a file called gcc.ey on my "Compilers\Windows" folder. Shoul I copy the one from "Compilers\MacOSX" over it?
Also, the MacOSX's file already have the line "resources: $exe\" somewhere. What I mean by "somewhere" is that the file only has one huge line (I opened it usin notepad, in case it matters).

IsmAvatar, thanks for the input about the other events. I hadn't noticed that button and the comment from the "catch the clown" example - "since alarms aren't implemented yet..." - didn't help.
Anyway, what I really want to know is the limitations I should keep in mind while programming. Is everything running smooth? Can I use surfaces, particles, primitives, all that jazz?
Logged
Offline (Female) IsmAvatar
Reply #5 Posted on: July 02, 2011, 07:52:55 PM

LateralGM Developer
LGM Developer
Location: Pennsylvania/USA
Joined: Apr 2008
Posts: 877

View Profile Email
no, no, maybe, probably.
Depends what you mean by primitives. If you mean the GM built-in 3d primitives or something like that, I doubt it. If you just mean primitives in general, sure, using the raw OpenGL.

You're always welcome to play around. If something doesn't work, it'll probably tell you. If some function isn't implemented yet, it'll probably just say "No such function".

For a list of implemented functions, go to ENIGMA > Keyword List > Functions, and look through the list (or search for a specific function using the text field at the top).
For a list of unimplemented functions, see our wiki: http://enigma-dev.org/docs/Wiki/Category:Function:Unimplemented
« Last Edit: July 02, 2011, 08:00:30 PM by IsmAvatar » Logged
Offline (Unknown gender) saim
Reply #6 Posted on: July 02, 2011, 09:34:27 PM

Member
Joined: May 2011
Posts: 4

View Profile
Gee, I thought that enigma was developed in order to convert game maker files to other languages. Now I see that there are dozens, maybe hundreds of functions that are not game maker's. I don't know what they do.
The problem with that is that enigma is quite slow. My intention was to create a game using game maker and, then, just convert it to many formats using enigma. I suppose that's not a smart move, then. No problem. At least, I won't get caught by surprise trying to convert a game that is based on surfaces just to realise that enigma doesn't draw them.

Hm... the manual isn't opening. Was that expected?

By the way... I still get only "executable files" while trying to compile. THIS is a problem. I need to, at least, play my games on mozilla.
Logged
Offline (Unknown gender) TheExDeus
Reply #7 Posted on: July 03, 2011, 05:51:54 AM

Developer
Joined: Apr 2008
Posts: 1860

View Profile
Quote
Now I see that there are dozens, maybe hundreds of functions that are not game maker's. I don't know what they do.
ENIGMA isn't a GM ripoff. Yes, we plan to add every (or almost every) GM function so it would be easy just to take GM file and compile it with ENIGMA. But ENIGMA also extends on the GM's possibilities and speed. For example, ENIGMA has optional variable types (like int) which can improve speed considerably if used properly. So it won't only be faster off the bat than GM, but also allows additional optimizations which would increase the speed even more.

Quote
The problem with that is that enigma is quite slow.
You mean what exactly? The compile time? That is slow only the first time, after that it takes a few seconds (no more than GM's). If you mean the engine itself then I don't know what you compared to. ENIGMA is several times faster than GM.

Quote
At least, I won't get caught by surprise trying to convert a game that is based on surfaces just to realise that enigma doesn't draw them.
It won't compile if there are unknown functions. So you won't be able to compile with ENIGMA and not see surfaces.

Quote
Hm... the manual isn't opening. Was that expected?
In LGM? There is no manual there. Later it will point to wiki which will have all the function information.

Quote
By the way... I still get only "executable files" while trying to compile. THIS is a problem. I need to, at least, play my games on mozilla.
Enigma uses C++, so you can't run in a browser (mozzila). It creates (or will be able to create) executables for windows, linux, macos, android and Iphone.
Logged
Offline (Unknown gender) saim
Reply #8 Posted on: July 03, 2011, 08:39:43 AM

Member
Joined: May 2011
Posts: 4

View Profile
Quote
Now I see that there are dozens, maybe hundreds of functions that are not game maker's. I don't know what they do.
ENIGMA isn't a GM ripoff. Yes, we plan to add every (or almost every) GM function so it would be easy just to take GM file and compile it with ENIGMA. But ENIGMA also extends on the GM's possibilities and speed. For example, ENIGMA has optional variable types (like int) which can improve speed considerably if used properly. So it won't only be faster off the bat than GM, but also allows additional optimizations which would increase the speed even more.
Sweet!
By the way, how do I declare the type of variable I want to use? I only know how to program in GM...

Quote
The problem with that is that enigma is quite slow.
You mean what exactly? The compile time? That is slow only the first time, after that it takes a few seconds (no more than GM's). If you mean the engine itself then I don't know what you compared to. ENIGMA is several times faster than GM.
I meant GM, but I still havent tested the compilation many times yet. I'll make a decent comparation soon.

Quote
At least, I won't get caught by surprise trying to convert a game that is based on surfaces just to realise that enigma doesn't draw them.
It won't compile if there are unknown functions. So you won't be able to compile with ENIGMA and not see surfaces.
Every function I know regarding GM's surfaces - includding surface_create - are listed on IsmAvatar's link. As I said, since I thought Enigma was slow, my plan was to develop games using GM and compile using Enigma, but I feared using a wide list of functions while developing just to find out, at the end of the project, that they should not have been used.

Quote
Hm... the manual isn't opening. Was that expected?
In LGM? There is no manual there. Later it will point to wiki which will have all the function information.
Looking forward to that.

Quote
By the way... I still get only "executable files" while trying to compile. THIS is a problem. I need to, at least, play my games on mozilla.
Enigma uses C++, so you can't run in a browser (mozzila). It creates (or will be able to create) executables for windows, linux, macos, android and Iphone.
And how do I play my games on a plataform other than my own computer? I heard it is already able to compile to other plataforms, like Android. I do not own an Adroid, so I can't tell. It runs .exe files? What about Macs?
Logged
Offline (Male) Josh @ Dreamland
Reply #9 Posted on: July 03, 2011, 12:49:15 PM

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

View Profile Email
Quote
By the way, how do I declare the type of variable I want to use? I only know how to program in GM...
In GM you have var and globalvar to declare a variable of any type. In ENIGMA, you can replace var with numerous types for different purposes:
int declares an integer; these are bounded between -2147483648 and 2147483647.
float declares a floating point (decimal) number; these values can be extremely large or small.
double declares a double-precision float; a float with more digits. This is how GM stores numbers.
char declares a single byte; an integer between -128 and 127. These are often treated as letters.
string declares a C++ string; this behaves almost exactly like Game Maker's string types.
variant declares a scalar var in ENIGMA. It behaves like var, but cannot be used as an array.

Example Game Maker code:
var my_integer; my_integer = 12;

Example ENIGMA code:
int my_integer; my_integer = 12; // Or
int my_integer = 12;

The equivalent to GM's "globalvar" simply reuses the keyword global in ENIGMA.
globalvar my_global_integer;

Becomes
global int my_global_integer;

To allow declaring local variables as faster C++ types, the local keyword can be used the same.
local int my_local_integer;

Quote
I meant GM, but I still havent tested the compilation many times yet. I'll make a decent comparation soon.
ENIGMA's first compilation for a given platform takes between 30 seconds and a couple minutes. This is because ENIGMA is building and optimizing its entire engine for your machine. Subsequent runs can take under a second. On my machine, running takes almost exactly one second from the time I press Run.

Quote
Every function I know regarding GM's surfaces - includding surface_create - are listed on IsmAvatar's link. As I said, since I thought Enigma was slow, my plan was to develop games using GM and compile using Enigma, but I feared using a wide list of functions while developing just to find out, at the end of the project, that they should not have been used.
Ideally, we will come to support all of Game Maker's functions. Even the really dumb ones. One of our goals for the EGM format we are working on is to make development of large games quick and easy--Our format is laid out such that very little information needs changed at save time, and only small pieces of info from each resource need read at load time. We also intend to bring back a feature from our previous release soon that will put development in ENIGMA far ahead of that in Game Maker--It's a surprise.

Quote
And how do I play my games on a plataform other than my own computer? I heard it is already able to compile to other plataforms, like Android. I do not own an Adroid, so I can't tell. It runs .exe files? What about Macs?
At the moment, only Mac users can compile for Android, and only Linux users can compile for other platforms (namely, Windows). TGMG is working on making the Android and iPhone ports work from other platforms. At the moment, you need to be using Windows to compile for Windows, Linux to compile for Linux, etc. We're working on it.
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) fredcobain
Reply #10 Posted on: July 03, 2011, 01:46:38 PM

Member
Location: Brazil
Joined: Apr 2011
Posts: 40
MSN Messenger - fredcobain@gmail.com
View Profile
Guys,

in theory, even running a Windows machine, we can try to install mac os as a guest (virtual machine) using softwares like  vmware, virtual box etc.

Then we run our mac virtual machine, install enigma on it, and try to compile to Iphone (for example).

Take a look in how to install a guest mac os using virtualbox:

http://www.sysprobs.com/install-mac-snow-leopard-1063-oracle-virtualbox-32-apple-intel-pc

If you prefer Vmware Workstation, this is it:
http://www.online-tech-tips.com/mac-os-x/install-snow-leopard-on-pc/


Ok, can't be easier... i found an image ready to run (vmware):
*snipped by a mod, please don't post warez*


 ;)


« Last Edit: July 03, 2011, 09:37:11 PM by a2h » Logged
Offline (Female) IsmAvatar
Reply #11 Posted on: July 03, 2011, 03:40:57 PM

LateralGM Developer
LGM Developer
Location: Pennsylvania/USA
Joined: Apr 2008
Posts: 877

View Profile Email
Running mac virtually requires that your motherboard and processor support hardware virtualization - and that's not something that comes by default in newer boards. You have to pick your board to make sure that it supports virtualization, and then sometimes you also have to play around in the bios to enable it (because it's oftentimes disabled by default).
Additionally, running other platforms virtually tends to be very slow, especially mac.
And, to kick it all off, acquiring an image for installation to virtual machine on non-native hardware is shady to say the least. Downloading a windows or mac image is hardly legal.
Logged
Offline (Unknown gender) TheExDeus
Reply #12 Posted on: July 03, 2011, 03:52:07 PM

Developer
Joined: Apr 2008
Posts: 1860

View Profile
Quote
By the way, how do I declare the type of variable I want to use? I only know how to program in GM...
Josh already gave an example and datatypes, but I will show how they can be used for faster code. Consider this in GM:
Code: [Select]
var i;
for (i=0; i<10000000; i+=1){
}
This can be slow because "i" in GM would be double (so has floating point which is not needed in our case (because "i" can only be integer)). In ENIGMA this could be written as:
Code: [Select]
for (int i=0; i<10000000; i++){
}
which is A LOT faster. The difference can be even measure in seconds and not in ms. Of course if you just need something ran several times you should use repeat (both in GM and ENIGMA), so this code is faster:
Code: [Select]
int i=0;
repeat (10000000){
i++;
}
But I think you get the idea.
Logged
Offline (Male) fredcobain
Reply #13 Posted on: July 03, 2011, 04:11:00 PM

Member
Location: Brazil
Joined: Apr 2011
Posts: 40
MSN Messenger - fredcobain@gmail.com
View Profile
Running mac virtually requires that your motherboard and processor support hardware virtualization - and that's not something that comes by default in newer boards. You have to pick your board to make sure that it supports virtualization, and then sometimes you also have to play around in the bios to enable it (because it's oftentimes disabled by default).
Additionally, running other platforms virtually tends to be very slow, especially mac.
And, to kick it all off, acquiring an image for installation to virtual machine on non-native hardware is shady to say the least. Downloading a windows or mac image is hardly legal.

It should work, Ism.

I already run Vmware Workstation some windows and linux guests from my PC. Virtualization support is present in most hardwares (desktops), it is not a big problem.

We can fairly make everything from the Host machine (running windows for example), and then use the guest machine (mac guest for example) just to compile/port for another platform.

Btw, this is just a lab, personal use/experiment.... no worries about whether is or not legal for this time.

I'm downloading the image to make a try.... will post here whether that image really works.
 ;)




« Last Edit: July 03, 2011, 04:22:39 PM by fredcobain » Logged
Pages: 1
  Print