Pages: 1
  Print  
Author Topic: Game Information Implemented  (Read 2735 times)
Offline (Male) Goombert
Posted on: March 26, 2014, 03:40:40 pm

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

View Profile


I have finally managed to program in the Global Game Information to work pretty damn good.

This is the pull request which implemented the Game Information.
https://github.com/enigma-dev/enigma-dev/pull/675

There are still a few anomalies which are minor and need to be fixed.
https://github.com/enigma-dev/enigma-dev/issues/676

You can update via git and then download the new plugin, or you can simply download the new Portable ZIP.
http://enigma-dev.org/download.htm

Documentation for the relevant functions is available on the Wiki.
http://enigma-dev.org/docs/Wiki/Show_info
http://enigma-dev.org/docs/Wiki/Load_info
This commit also adds some other functions as well.
http://enigma-dev.org/docs/Wiki/Get_directory
http://enigma-dev.org/docs/Wiki/Get_directory_alt
http://enigma-dev.org/docs/Wiki/Show_message_ext
« Last Edit: March 29, 2014, 05:51:15 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 (Unknown gender) TheExDeus
Reply #1 Posted on: March 26, 2014, 04:42:45 pm

Developer
Joined: Apr 2008
Posts: 1860

View Profile
Could it be possible to make it optional? Like via an extension? Because this does create a .dll dependency and I never use game information.
Good job though.
Logged
Offline (Male) Goombert
Reply #2 Posted on: March 29, 2014, 10:32:33 pm

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

View Profile
What do you mean? The library is only loaded if you call the function, I am not linking it from the makefile, so you shouldn't have any issue.

Also the topic is only here until I am ready to post it, I don't want it merged yet, I am having trouble on how to read the messages only when its blocking or embedded to the game window.

Edit: Also if you look in your C:/Windows folder, you'll see that riched32.dll has several versions (6 for me on Windows 8), two are 12 bytes and the others are 9kb's. Also Greg did some magic and got our executables down real small, build one just to see, our exe's are extremely small now.
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) Darkstar2
Reply #3 Posted on: March 29, 2014, 11:19:18 pm
Member
Joined: Jan 2014
Posts: 1238

View Profile Email
Great stuff - I would use my own game info, but the other added functions could come in useful for apps.

Great to see new functions added to enigma !

As for smaller EXE, will go check.....

I think the smallest EXE I could make with previous versions with all non essential extensions was around 350k.

I also noticed some GMS projects source compiling more than 60-75% smaller with ENIGMA compared to their $300 YCC compiler ! F!M! :D


//update:  Ok empty game, no resources, 1 empty room, all unnecessary extensions unchecked, the smallest I could do is 885k exe....  Going through RAR, shrinks it to around 220k.   When I said 350k file I guess that was RARed, so yes, file sizes are smaller.  I don't know what a MINIMAL empty project compiled in YCC would result in, but I'm sure it's above AT LEAST twice as big if not more.  I don't have YCC to test this, but if anybody would like to try let me know I would be curious.  :)

« Last Edit: March 29, 2014, 11:49:29 pm by Darkstar2 » Logged
Offline (Male) Goombert
Reply #4 Posted on: March 30, 2014, 12:53:30 am

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

View Profile
Smallest exe size with YYC is at least 4mb's from the last time I tested it which was a fairly recent 1.2 build.
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) Darkstar2
Reply #5 Posted on: March 30, 2014, 01:05:39 am
Member
Joined: Jan 2014
Posts: 1238

View Profile Email
Smallest exe size with YYC is at least 4mb's from the last time I tested it which was a fairly recent 1.2 build.

LOL - that big ?  I thought they had mentioned at some point when they hyped the YYC that it would make smaller file sizes and somewhere along the line, self optimizing stuff that would adapt based on the features the game used ! so much for that !

How the hell could the YYC compiled EXE be bigger than the non YYC version ? Last time I used GMS 1.2 and compiled something I'm pretty sure it was under 2mb.
Logged
Offline (Male) Goombert
Reply #6 Posted on: March 30, 2014, 01:19:44 am

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

View Profile
Well let's see.

Code: (EDL) [Select]
show_message("hai!");
Putting that into the create event of an object and sticking it in a room builds an exe in Studio of 1.85mb, 2.68mb in ENIGMA, 1.08mb in ENIGMA if I disable the unused extensions and set Audio to "None".

Code: (EDL) [Select]
repeat (500) {
  draw_circle(random(room_width), random(room_height), 10, false);
}

Adding that code to the draw event oddly yields the same results.

So ENIGMA can build really small exes, you just have to manually turn off shit you aren't using. Also, ENIGMA is doing this without compressing the final exe and its data inside a 7zip.
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) Darkstar2
Reply #7 Posted on: March 30, 2014, 01:33:06 am
Member
Joined: Jan 2014
Posts: 1238

View Profile Email
Ok just thought I'd test an empty project with virustotal to see how many virus false positives.  I remember in the days of GM8.1 and even GMS, many false positives.  I unfortunately do not have YYC or GMS installed atm so I can't compare it against GMS.

For ENIGMA, empty project all extensions unused disabled, out of 51 different software, only 1 false positive. 

NANO-Antivirus    Trojan.Win32.Badur.cubnbc

The most popular symantec, antivir, malwarebytes, etc, all check clean.

Now I have not done further tests with actual
ENIGMA games.

I'm sure an empty project YYC would far exceed
false positives.

I used www.virustotal.com
Logged
Offline (Male) Goombert
Reply #8 Posted on: March 30, 2014, 01:38:17 am

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

View Profile
Ok interesting, I went and tested on that Studio exe I just built with show_message/draw_circle and got 0 false positives, and the same result you got for the ENIGMA version.

So I wonder why it's picking up ENIGMA's as a Trojan. This is really surprising considering we don't even have backdoors like they do, and we don't have spyware to get peoples licenses.
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) Darkstar2
Reply #9 Posted on: March 30, 2014, 01:48:02 am
Member
Joined: Jan 2014
Posts: 1238

View Profile Email
Ok, another test, this time I enabled directsound,
same empty project, with the following now enabled:
timelines
box2dphysics
xinput
motionPlanning
GM5compat
MCI
BulletDyn
Alarms
Paths
DateTime
DirectShow
DataStruct

============
File size went from 885k to 1993k

Result, identical
1/51
Not bad at all ! :P

NANO-Antivirus    Trojan.Win32.Badur.cubnbc

Never heard of this shit before, so I wouldn't worry.
It's probably a heuristic enabled scan, so it is very sensitive.  Now if you use tools like UPX or other EXE compressors, the false positive count will go up again, due to heuristics scanning.  To me I am glad that the most popular and most trusted AVs give it a clean check. :)

False positives can happen with any other product.
You should see all the false positives of other game making engines or RAD tools it's almost scary.

This is probably not in the top virus detection software anyway.

You could contact them and send them the EXE sample.  If they can manage to fix that you'd have a perfect score.

Could you run another test for GMS, this time, don't use YYC but use the standard runner, does it still say 0 detection or it goes way up, I would think that by using the GMS runner compile you will get some false positives.


« Last Edit: March 30, 2014, 01:52:56 am by Darkstar2 » Logged
Offline (Male) Goombert
Reply #10 Posted on: March 30, 2014, 02:03:17 am

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

View Profile
That was using the standard runner, I haven't installed the Mast Collection crack yet on my new PC.
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) Darkstar2
Reply #11 Posted on: March 30, 2014, 02:06:38 am
Member
Joined: Jan 2014
Posts: 1238

View Profile Email
That was using the standard runner, I haven't installed the Mast Collection crack yet on my new PC.

Hmm impressive still, considering heuristics would have every reason to pick up some suspicious stuff from their runner.....back in gm6/7/8 and I'm sure even earlier versions of GMS they returned many false positives.  So I guess really there is no reason for the YYC version to have any FP, although
it's worth a try. would be interesting  if the YYC
version had the same false positive or more.

« Last Edit: March 30, 2014, 02:08:15 am by Darkstar2 » Logged
Offline (Male) Goombert
Reply #12 Posted on: March 30, 2014, 02:16:01 am

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

View Profile
I'll install the cracked version tomorrow and check it 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) Darkstar2
Reply #13 Posted on: March 30, 2014, 02:18:10 am
Member
Joined: Jan 2014
Posts: 1238

View Profile Email
I'll install the cracked version tomorrow and check it out.

Could that bias the results ?  I heard that the cracks usually have trojans / viruses in them.  I recall reading from someone bragging to use it before that it was infected and that the EXEs compiled contained backdoors / trojans....  Don't know if it's true or not because I never used the crack, :D

Anyhow would be interesting to find out.


Logged
Offline (Male) Goombert
Reply #14 Posted on: March 30, 2014, 02:29:40 am

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

View Profile
No that's actually the opposite way around. XXX does all kinds of reverse engineering on GameMaker, he wrote the decompiler, and he said that they track in HTML5 games whether they were built with a legit Studio version or not, it checks your license. And from what I am aware of the cracked versions usually remove this shit in order to make the crack even work.
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