Hello Guest, please login or register.
Did you miss your activation email?
Login with username, password and session length.

Pages: [1]   Go Down

Author Topic: Game Maker's Downfall  (Read 3820 times)

0 Members and 1 Guest are viewing this topic.
Game Maker's Downfall
« on: June 10, 2006, 06:42:52 am »
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Gender: Male
  • Posts: 1635
While I love Game Maker, and will continue to develop with it, there are two places I feel it is lacking. The safety department and the speed department.

GM seriously needs typecasting. So damn bad. When an aquaintance of mine on the GMC performed a series of tests, comparing GML to a similar language which allowed you to declare variable types, it performed almost 4 times as slow. GM's numbers are alyways automatically doubles (which lose precision).

Second of all, safety. GM stores stuff in the memory statically. Nothing changes. There is no encryption to GM. Look at this following video - it's a picture of a test room in my game, and then a simple memory searcher/changer. All I had to do was search for a double which changed the way I probed it in game, and viola - I foudn the address at which one of my variables was stored. And I could change it. In fact, if you have a memory viewer, you can probe code you see in game (like a show_message), and even see a person's code! While I don't support this method, as it is cruel and dishonest, it just shows GM's crappy encryption (none, actually).

So, sit back and enjoy the video.

Video of me probing GM
Logged
Re: Game Maker's Downfall
« Reply #1 on: June 10, 2006, 08:13:54 am »
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Gender: Male
  • Posts: 150
Quote
There is no (variable) encryption to GM.
Neither is there any in any other normal programming language. If you want to add encryption to your variables, you have to add it yourself. A simple XOR would be a great place to start as this would mask the variable from simple searches. Of course, a dedicated hacker would know that trick so changing the location in memory of key variables at runtime is also a good idea if you want your program to be safer. You could also have a backup memory value somewhere else in memory, using a different encryption format. So, if the hacker changes one of the values, the game can error-check it with the saved value, and figure out that the user is cheating.

All of these are great places to start. But then again, for a single-player game, you probably don't need any of these; what do you care if someone cheats on a single-player game?

GML does not need typecasting. It's just a scripting language; sure, being able to declare variables to be a specific type might make your game marginally faster (your test might have made GM four times slower in a series of tests based on math and array speed, but more than 70% of a game's time is spent drawing to the screen; so optimizing GM's draw routines - something the end user has no ability to do - would result in much bigger gains), but it probably isn't worth the trouble to GM's programmer.

My scripting language for my game doesn't have typecasting; and it isn't holding me back. Sure, the speed of code in my scrpting language is probably 5-10x slower than compiled code, but that doesn't bother me, as I only use the scripting language for the gui, client<->server msgs and AI; which is all you should use your scripting language for anyways.
Logged
Re: Game Maker's Downfall
« Reply #2 on: June 10, 2006, 08:18:00 am »
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Gender: Male
  • Posts: 1635
Did I say variable encryption? I meant encryption to the actual exe. (GM5 had a rather easy to find key, GM6 is harder, but still possible).

Either way, I just wanted to show that the way GM allocates memory sucks too.
Logged
Re: Game Maker's Downfall
« Reply #3 on: June 10, 2006, 08:24:34 am »
  • Credits to BaB
  • *
  • Reputation: +2/-0
  • Offline Offline
  • Posts: 807
Did I say variable encryption? I meant encryption to the actual exe. (GM5 had a rather easy to find key, GM6 is harder, but still possible).

Either way, I just wanted to show that the way GM allocates memory sucks too.

And it took you all this time to understand it? I made the switch long ago :D
Logged
Re: Game Maker's Downfall
« Reply #4 on: June 10, 2006, 08:41:37 am »
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Gender: Male
  • Posts: 6206
Great find Scooternew If I was you I should send that video to Mark Overmars would be usefull for all of us.
Logged

aab

^ Evolved from a Hobbit
Re: Game Maker's Downfall
« Reply #5 on: June 10, 2006, 12:31:37 pm »
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Gender: Male
  • Posts: 992
Im 99.9999999999999% sure he knows, and just doesnt care.
Why not convert to a bytecode, get rid of comments (would take several seconds of coding >_>), perform any form of optimisation?
Because he doesnt want to,! u_u.
To not allow access to words is crazy. I never knew it didn't.
Logged




I ♥ Sol
.... I ♥ Sol ? wtf how long has that been there? >_> *rrrrrrrrar*
  • MySpace
Re: Game Maker's Downfall
« Reply #6 on: June 10, 2006, 05:33:35 pm »
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Gender: Male
  • Posts: 1635
He's not lazy at all. He's a professor too. Wanna see something really crazy? Watch this.
(And @ Alex, yes I knew this was always a problem, it's just annoying. I don't want people stealing my code.

It is coverted to bytecode.

And I'm NOT saying GM is bad, I'm just point out its few problems that annoy me. (GM seriously needs typecasting).

Look at this - code in my game, just openly displayed. Resources can be ripped with printscreen (unless you draw them with special blend modes, then a memory dump will be sufficient), and I don't like people peeping.

Logged
Re: Game Maker's Downfall
« Reply #7 on: June 10, 2006, 05:41:19 pm »
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Gender: Male
  • Posts: 6206
Im 99.9999999999999% sure he knows, and just doesnt care.
Why not convert to a bytecode, get rid of comments (would take several seconds of coding >_>), perform any form of optimisation?
Because he doesnt want to,! u_u.
To not allow access to words is crazy. I never knew it didn't.
He's not that type of person and he does care.
Logged
Re: Game Maker's Downfall
« Reply #8 on: June 10, 2006, 06:00:45 pm »
  • ^This is my sprite comments char
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Posts: 226
 :-\ be aware... can our coding be steled?! that really sucks, i'm wating for a new relese of gm(only god know if there wil be another gm release)
Logged



i'm working on:

I support and i'm part of the team of:

gm112

Re: Game Maker's Downfall
« Reply #9 on: June 10, 2006, 06:07:59 pm »
i got a big list on game makers down falls

1) if your using game maker you are admitting you are lazy
2) game maker has alot of limits
3) the games don't turn out professional
4) the program just plainly sucks all it does is stick your gm source file into a exe

Theres many more to that. I'm probably going to get flammed for saying this but like I give a damn. All you gamemaker users are freakin lazy. Why don't you just learn a actual programming language? You can do alot more and actually sell your games. Another thing it'd feel like a big accomplishment because you actually DID work instead of doing retarded little scripts that did 99.9% of the work for you. I forgot to mention. There are NO decompilers for the actual programming languages because it is impossible to decompile these actual languages. You would only get cash registers and etc in asm. So your source code is safe
« Last Edit: June 10, 2006, 06:11:02 pm by gm112 »
Logged
Re: Game Maker's Downfall
« Reply #10 on: June 10, 2006, 06:32:34 pm »
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Gender: Male
  • Posts: 150
You would only get cash registers and etc in asm.
lol, cash registers? Stick 'em up, ASM; this is a hold-up. Open up those registers and gimme yer dough.
Logged
Re: Game Maker's Downfall
« Reply #11 on: June 10, 2006, 06:49:23 pm »
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Gender: Male
  • Posts: 1635
Quote
1) if your using game maker you are admitting you are lazy
2) game maker has alot of limits
3) the games don't turn out professional
4) the program just plainly sucks all it does is stick your gm source file into a exe
1. bullpoo - you're just being a stupid, ignorant piece of worthlessness by saying this
2. not as many as you think
3. you have no idea what you're talking about (bullpoo again)
4. you don't know how GM works

Look, this isn't to say what is and what isn't wrong with Game Maker, I support GM and always will. It's great, usefulk, non time-costly, and puts out great results with (somewhat) decent speed.

Quote
Theres many more to that. I'm probably going to get flammed for saying this but like I give a damn. All you gamemaker users are freakin lazy. Why don't you just learn a actual programming language? You can do alot more and actually sell your games. Another thing it'd feel like a big accomplishment because you actually DID work instead of doing retarded little scripts that did 99.9% of the work for you. I forgot to mention. There are NO decompilers for the actual programming languages because it is impossible to decompile these actual languages. You would only get cash registers and etc in asm. So your source code is safe
Shut up. Seriously, shut up. You're making yourself look like a retard. You obviously haven't used Game Maker. Seriously, when you've made something somewhat worth noting, THEN you can talk. Not everyone has the time to use C++ or the resources to learn it. And not everyone can just sit no their computer all day and hit buttons on their keyboard to program. Game Maker has a scripting language - GML. It provides the backbone for you, it doesn't mean their isn't work. I'll bet plenty of people at the GMC are smarter than you, and plenty of people who use Game Maker sell their games. Some people at the GMC make livings off selling games. But you wouldn't know you're the kind of person who makes unfair generalizations. If you knew how GML worked, you'd know that scripts don't do much for you. Plenty of people make their own algorithms. Pathfinding algorithms, flood fill algorithms, etc. One of the smartest people I know is a member who uses Game Maker. Saying we are lazy is like a slap in the face. If you knew anything about why people use Game Maker, you wouldn't be so quick to be an Arsehole.

You said you're gonna get flame. Congrats, you did.

Look, I ADMIT Game Maker has its downfalls. But that doesn't make it any worse than C++ or other stuff. THIS TOPIC isn't for comparison to other languages - it's just trying to point out to problems I have with Game Maker. ANd not like you'd know, but plenty of Game Maker users also know C++, VB, C#, Java, etc., moreso that you (in fact, some people working in the gaming industry) and they still choose GM. Plenty of local universities use Game Maker as their source for teaching computer programming and top down design.

Some of the best fangames here use Game Maker. OOT2D, OOL, Knightmare's OOT2D, but I'd hardly call AoDC, TRM, Knightmare lazy.

Now seriously, can we get BACK on topic - thinking of a way to better encrypt GM's variables and maybe sending a letter to Mark to add some better kind of exe encryption.

and @gm112, if you hate GM so much, why is "GM" in your name? And why don't you go and crack a GM6 exe?

« Last Edit: June 10, 2006, 06:54:40 pm by Scooternew »
Logged

gm112

Re: Game Maker's Downfall
« Reply #12 on: June 10, 2006, 07:01:26 pm »
i never said that you needed to sit on your computer everyday hitting a keyboard. you can take breaks and do it on spare time. I have used game maker in the past and i know what it is. Yes it's a scripting language but people are admitting they're lazy because they wouldnt find proper time to actually program and use their brain. And I dont think you got what i meant when i said "the program just plainly sucks al it does is stick your gm source file into a exe" I meant that its not worth it because so many people can crack your code and how i know it sticks yuor gm file into a exe because how come everything is decompileable? GMC members smarter than me? Maybe some are smarter than me but not all. I never said everybody had to use C++ theres languages such as blitzmax out there that is really easy and is easy to pick up. AODC,TRM,Knightmare aren't lazy because they made their own addons or anything else that deals with the gm made game. Yes I understand that this topic isnt for comparing languages but I'm just pointing out that your games would turn out better if you programmed.

EDIT: gm is in my name because i used to use game maker. I just stuck with this name because I am known for this name. Besides why would I crack a gm6 exe? Thats a waste of my time.
Logged
Re: Game Maker's Downfall
« Reply #13 on: June 10, 2006, 07:05:27 pm »
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Gender: Male
  • Posts: 150
Quote
Now seriously, can we get BACK on topic - thinking of a way to better encrypt GM's variables and maybe sending a letter to Mark to add some better kind of exe encryption.
Since Mark is probably not going to add exe encryption, your best bet is to batch encrypt the scripts yourself.

I don't use GM, but I'm guessing that the uncompiled GM resources - that is, the file that you have before you compile it into an EXE - contains all the uncompressed scripts in it. Someone could easily write a program that would parse that file, remove ALL the comments, and rename all the variables to random names: iLink.XPosition might become i1f3a.i05cd.

i1f3a.i05cd = i1f3a.i05cd + 6

would be practically unreadable! Scooternew, would you like to work together on something like that? =)
Logged
Re: Game Maker's Downfall
« Reply #14 on: June 10, 2006, 07:39:41 pm »
  • =/
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Posts: 2284
Quote
Now seriously, can we get BACK on topic - thinking of a way to better encrypt GM's variables and maybe sending a letter to Mark to add some better kind of exe encryption.
Since Mark is probably not going to add exe encryption, your best bet is to batch encrypt the scripts yourself.

I don't use GM, but I'm guessing that the uncompiled GM resources - that is, the file that you have before you compile it into an EXE - contains all the uncompressed scripts in it. Someone could easily write a program that would parse that file, remove ALL the comments, and rename all the variables to random names: iLink.XPosition might become i1f3a.i05cd.

i1f3a.i05cd = i1f3a.i05cd + 6

would be practically unreadable! Scooternew, would you like to work together on something like that? =)
That might be useful.
Logged
Re: Game Maker's Downfall
« Reply #15 on: June 10, 2006, 07:50:17 pm »
  • *
  • Reputation: +3/-0
  • Offline Offline
  • Gender: Male
  • Posts: 6629
Chill it guys, what you choose to work in is a personal choice, dependent on what time you can spare and what level of knowledge you have. Its not worth arguing over.
Logged
Re: Game Maker's Downfall
« Reply #16 on: June 10, 2006, 08:12:17 pm »
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Gender: Male
  • Posts: 1635
Lol. Thanks.

Actually, FarFromHomeFish, I made a script a while back that encrypts a file using xor, funny you mentioned it here. I could possibly store important codes in text files and execute them at runtime. In fact, I'd have to xor it using a different value (not even I know) and store it in a variable, so people can't read it. For example, a random number between one and 10000. Otherwise, people will know the encryption method.
Logged

aab

^ Evolved from a Hobbit
Re: Game Maker's Downfall
« Reply #17 on: June 11, 2006, 01:59:00 am »
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Gender: Male
  • Posts: 992
If you wanted, you could write a program to instantiate templates and implement preprocessors, and even inline structures and some inlined inheritance and functions in your scripts too heheh. Fun.

People who use GM cant be generalized as lazy.
At the worst, they can be catagerized such that some are naive, others neither understanding, having heard of, or ever wanting to and therefore not needing to bother with the things which accelerate the safety, ease in mapping concepts to implementations, and time of making, and fixing errors (and saving alot of money with) a much larger program.
They can be happy there, as unlike me they dont really dream of working on leading console titles; Thats where the first type i mention comes in: Earlier GM users might be naive in thinking that they are able to do more than they can do, but this certainly doesnt apply to everyone and cannot at all be used to generalize GM users.

However, i wonder what would have happened to me if i had started with something like gm and not blitz.
GM users should try a program like it out ... I was making games in a week after having no propgramming experience and not even knowing about bits and bytes.
Sure they were horribly coded, but i eventually got the hang of the 'proper' methods of doing things. Hell, i even got a friend to mess around in blitz and he had a side scroller with one enemy and a jumping main character quicker than i could rewrite zelda one. (well..maybe not that fast, but you can get that learning rates are fast).
At one point i even questioned using GM: I made something simple with arrows moving, default GM collision and in fullscreen 640*480, the most aesthetic mode guaranteed. The key input wasnt as intuitive, the scanline was horribly jittering through my output (even worse than using GDI and manually double buffering), and the collision was a bit sticky for my liking.
It felt unclean for me to use this when i could achieve the same effects in blitz withought having to go through bunches of dialogues.

I dont know how i came accross blitz first, but i could have easily come accross something else like GM (esp. since its free). Would i still be using GM now if i had? <_>

Logged




I ♥ Sol
.... I ♥ Sol ? wtf how long has that been there? >_> *rrrrrrrrar*
  • MySpace
Re: Game Maker's Downfall
« Reply #18 on: June 11, 2006, 02:23:57 am »
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Gender: Male
  • Posts: 1635
Thank you aab. Good post. Certainly, I agree that many GM users are bumbling, lazy idiots who don't want to think. Still, you have to use your brain when writing your game.

There are many things about GM you learn over time. One is how to get perfect collision, aab. Collision works kind of oddly in GM - so, I'm not surprised that your collision was a bit sticky. For example, I've seen Sonic games made ni GM that have collision perfection - angle subtraction, etc., the works. It's really more dependent on math and skill than what you are using. I mean, you make what you want to make.

Quote
If you wanted, you could write a program to instantiate templates and implement preprocessors, and even inline structures and some inlined inheritance and functions in your scripts too heheh. Fun.
Holy !@#$% - I understand you this time!
Logged
Pages: [1]   Go Up

 


Contact Us | Legal | Advertise Here
2013 © ZFGC, All Rights Reserved



Page created in 0.057 seconds with 74 queries.

anything