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

Pages: [1] 2   Go Down

Author Topic: Why you're best off using GM.  (Read 9001 times)

0 Members and 1 Guest are viewing this topic.
Why you're best off using GM.
« on: April 14, 2006, 03:53:39 am »
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Gender: Male
  • Posts: 150
I'm putting the finishing touches on my mapmaker right now, and the entire process has left me embittered. Have you ever read "If you give a mouse a cookie"?

Programming a game is kind of like that. If you decide to program a game, you're going to need to implement a graphics engine. If you only want 2D square tiles with no special effects of any sort, this is easy. If you want the ability to rotate sprites, handle alpha translucency (rather than straight out transparency), and screen-blended particles, you may be in trouble, because you're either going to have to go totally 3D and deal with the preformance hit of transforming all your sprites every frame, or you'll have to come up with some frankenstein 2D/3D hybrid (Direct3D, thank goodness, can actually write to DirectDrawSurfacey7's which will help you out, but it's still tedious).

nce you have that done, you're going to need to write a scripting subsystem that gives you control over how the GUI is displayed and can control the monster AI as well. While we're at it, you're going to need to program an object/actor system that is a representation of every object currently active in your game. And you'll need to design the scripting language and interpretter which reads those scripts in when the program is run. Maybe your script interpretter can also optimize the scripts at runtime, in which case you're writing a compiler, which isn't easy.

And since these objects are going to need a ton of graphics and you can't load *all* your graphics into memory at once (my game currently has 130mb of graphics, including 30mb of tilesets and 90mb of character graphics - those aren't 24bit bitmaps or PNGs, btw: I'm talking about custom compressed, indexed sprites), you'll have to write another subsystem which will only load the graphics you need into memory, and know when it can get rid of graphics that are no longer in use. You'll probably want to write your own graphics format as well, to help compress all your graphics (uncompressed, I have no doubt that I'd be looking at more than half a gig of bitmaps!) and to speed up reading your sprites into memory.

Now, you have objects that can be controlled by AI and can draw themselves using graphics which are loaded only when neccesary. But where are they going to walk around on? Better get to work on designed a map format. Your map format isn't just what tiles are where, by the way, it also contains map scripts, locations, object spawn points, blocking information - and now that you've designed the map format, you had better get to work on designing a mapmaker so that you can display all your graphics. God help you if your graphics engine from the main game isn't reusable, because otherwise you're going to have to write the whole darn thing over again.

What about music and soundeffects? Once again, you can't load all these resources into memory all at once - you'll push up your minimum spec so high it wouldn't be worth the ease of use, so you'll need to design a system for your audio similar to your graphics loading system.

What about drawing text? It doesn't matter if your sprites are pre-rastereized, truetype drawn on the fly, or sprite-based: drawing a 128character spring every frame will absolutely kill your framerate. So you're going to need to write a text renderer object which renders text strings that the engine wants to draw to a seperate backbuffer surface, and then maintains a database of these strings so that the next time that string needs to be drawn, you don't have to redraw the entire thing.

The list goes on and on.

Or, you could have stuck to GM, which might not have given you all the freedom you have when you're writing every last bit of your engine yourself... but it also eliminates all the tedious set-up work which I've described here, and allows you to go straight to programming your game.

The choice is yours to make. =)

<3, Fish.
« Last Edit: April 14, 2006, 04:04:46 am by FarFromHomeFish »
Logged
Re: Why you're best off using GM.
« Reply #1 on: April 14, 2006, 10:01:29 am »
  • *
  • Reputation: +3/-0
  • Offline Offline
  • Gender: Male
  • Posts: 6629
hehe, i see where your coming from, but i find the whole fun of programming is trying to do all the hard stuff and challenging yourself. Its boring as hell if you have everything done for you.
Logged

Ben

Re: Why you're best off using GM.
« Reply #2 on: April 14, 2006, 10:20:26 am »
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Posts: 437
I'm not entirely sure on how to shorten your name so I'll just call you Fish.

Now fish, I understand all of these memory usage problems, obviously you can't load everything into RAM at the same time, you'd crash the compter, but crazily enough I think that's pretty much what GM does. Notice that loading screen at the beginning? If you do it with debugging then it highlights what it's doing when it's loading. And what is it doing? Loading everything :-p. So that really doesn't help now does it? It's one of the reasons why GM really isn't built for commercial games.

Now yes all the tedious set up work might not be fun, but it's challenging and satisfying, and when you've done it at least you'll never have to do it again, and plus you can optimize it all yourself, so there's both tedium and satisfaction in knowing that if something doesn't work it's probably your fault, but at least you can fix it.
Logged
Want a place to upload your sprites and games for FREE? Look no further than GameDevotion
Re: Why you're best off using GM.
« Reply #3 on: April 14, 2006, 02:44:12 pm »
  • Doesn't afraid of anything
  • *
  • Reputation: +42/-0
  • Offline Offline
  • Gender: Male
  • Posts: 7002
Building on what Ben said, you also get yourself bragging rights XD
Logged



i love big weenies and i cannot lie
Re: Why you're best off using GM.
« Reply #4 on: April 14, 2006, 03:17:05 pm »
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Posts: 2245
you can choose which resources you wish to preload
Logged

gm112

Re: Why you're best off using GM.
« Reply #5 on: April 14, 2006, 05:27:29 pm »
but in GM your very limited. On the other hand programming you got limitless potentials and stuff.
GM = pre made engine
Programming = The god of computers
Logged
Re: Why you're best off using GM.
« Reply #6 on: April 14, 2006, 08:57:00 pm »
  • The Broken King
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Gender: Male
  • Posts: 1259
If you have the skills and the patience, I'd rather make my own engine. (In fact, next quarter, I'm going to be starting my schools engine 'club'). But, at the same time, for *most* users, they dont' have the computer understanding, skill, and patience to make their own engines (as we can see by the number of unfinished Zelda engines), so GM is definitely great for them.
Logged
  • Broken Kings [Temp Site]
Re: Why you're best off using GM.
« Reply #7 on: April 25, 2006, 03:53:02 am »
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Gender: Male
  • Posts: 1635
Yes, maybe higher level languages give you bragigng rights and require more skill, but I don't see the point in writing thousands of lines of coding, which takes months and months, rather than having nearly as much capability, maybe minus some speed here and there, the second you want to. My main reason for not coding in C++ (even though I study it every now and then as a hobby - I want to master it) - is time. Not everyone has infinite time at his/her fingertips.

People who don't use Game Maker tend to think that using it is a piece of cake. It isn't. It still requires optimization, custom scripting and mathematical equations, programming - it does have its own language. The syntax is similar to that of C++.

I applaud those who have the time and patience to write an engine from scratch, but I think it is against humanity to have to work that hard on something for 7 months that you can also do in 5 minutes.

Even so, I still recommend learning higher level languges if you want to go into a career in game design or if you want to make games as a living/SERIOUS hobby. I won't go into all the reasons now. Still, I know people who sell GM games. I say all around, Game Maker offers the best package.

The real issue is that people programming in higher level languages tend to think that Game Maker programmers are too stupid to program quality, efficiently-run games. Unfortunately, this isn't true, and I don't always love the patronizing. You are NOT limited at Game Maker - at least not too much more than you are in Blitz or C++ or Fortran. For every bad Game Maker game that the C++ programmers make fun of, I can point out TWO bad C++ games. Also, most people don't know that Game Maker can handle loading external graphics, sounds, etc. and can use DLL's to speed up certain mathematical equations or do other things. Again, Game Maker only puts out crappy quality based on the quality of the creator's programming skill.
« Last Edit: April 25, 2006, 03:59:04 am by Scooternew »
Logged

Ben

Re: Why you're best off using GM.
« Reply #8 on: April 25, 2006, 05:57:37 pm »
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Posts: 437
To be honest, as interesting and rewarding C++ is, I like Game Maker more. It's just so horrendously easy to programme in :).
It takes so much longer to programme in C++ what takes a few seconds in game maker, just due to what it already has.

I would write a long post, but that's the bones of it :).
Logged
Want a place to upload your sprites and games for FREE? Look no further than GameDevotion

Piers

Re: Why you're best off using GM.
« Reply #9 on: April 25, 2006, 06:57:27 pm »
Yes, maybe higher level languages give you bragigng rights and require more skill, but I don't see the point in writing thousands of lines of coding, which takes months and months, rather than having nearly as much capability, maybe minus some speed here and there, the second you want to. My main reason for not coding in C++ (even though I study it every now and then as a hobby - I want to master it) - is time. Not everyone has infinite time at his/her fingertips.

People who don't use Game Maker tend to think that using it is a piece of cake. It isn't. It still requires optimization, custom scripting and mathematical equations, programming - it does have its own language. The syntax is similar to that of C++.

I applaud those who have the time and patience to write an engine from scratch, but I think it is against humanity to have to work that hard on something for 7 months that you can also do in 5 minutes.

Even so, I still recommend learning higher level languges if you want to go into a career in game design or if you want to make games as a living/SERIOUS hobby. I won't go into all the reasons now. Still, I know people who sell GM games. I say all around, Game Maker offers the best package.

The real issue is that people programming in higher level languages tend to think that Game Maker programmers are too stupid to program quality, efficiently-run games. Unfortunately, this isn't true, and I don't always love the patronizing. You are NOT limited at Game Maker - at least not too much more than you are in Blitz or C++ or Fortran. For every bad Game Maker game that the C++ programmers make fun of, I can point out TWO bad C++ games. Also, most people don't know that Game Maker can handle loading external graphics, sounds, etc. and can use DLL's to speed up certain mathematical equations or do other things. Again, Game Maker only puts out crappy quality based on the quality of the creator's programming skill.
I totally agree with that. ;)
Logged

Ben

Re: Why you're best off using GM.
« Reply #10 on: April 25, 2006, 06:59:04 pm »
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Posts: 437
Quote
You are NOT limited at Game Maker
Try returning an array FOOL :-p.

Cause you can't, it's a game maker limitation.
What is the maximum size of a game maker array? 32000. Wait that's a limitation.
Logged
Want a place to upload your sprites and games for FREE? Look no further than GameDevotion
Re: Why you're best off using GM.
« Reply #11 on: April 25, 2006, 07:01:41 pm »
  • *
  • Reputation: +3/-0
  • Offline Offline
  • Gender: Male
  • Posts: 6629
Quote
You are NOT limited at Game Maker
Try returning an array FOOL :-p.
And you have, lets see... No OOP constructs, no dynamic memory allocation, bloody slow, no pointers, ...etcetera, etcetera...

To be honest only a bloody fool would say you arent limited in GM.
Logged

Ben

Re: Why you're best off using GM.
« Reply #12 on: April 25, 2006, 07:10:17 pm »
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Posts: 437
Technically unless GM is like the most stupid language ever you do have pointers.
sprite_index must be a pointer, otherwise your handling a *lot* of data, and it's how i've written my object class.

But you also have the problem with GM of you generally load all graphics in at the beginning, and so large games use up a lot of RAM.
Though I think there's an option not to.
Btw this isn't GM bashing, I love the thing :)
Logged
Want a place to upload your sprites and games for FREE? Look no further than GameDevotion
Re: Why you're best off using GM.
« Reply #13 on: April 26, 2006, 12:44:22 am »
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Gender: Male
  • Posts: 150
The real test of whether a language is limited is whether that language is turing complete or not. Any turing complete language should be able to replicate any program written in any other turing complete language. Delphi, VB, C++, ASM; all of these are Turing complete, and you could concievably write anything from a software raycasting engine to the next iteration of Microsoft Excel in any of these languages. Of course, some of these languages are better suited than others for specific tasks: I shudder to think of someone being forced to rewrite Excel in assembly.

GM isn't turing complete, for the reasons listed in the posts above this one.

However, when it comes to computer languages, I tend to cringe when I hear people comparing features of various languages. This isn't right at all; we shouldn't be bashing one language because it lacks pointers, rather, we should be celebrating each language's relative strengths. Which is why I started this topic: GM is an amazing rapid game development tool, with a very powerful scripting language built in. GM would be the perfect development suite for just almost any sort of 2D game out there.

Cheers to GM! =)
Logged
Re: Why you're best off using GM.
« Reply #14 on: April 26, 2006, 12:58:34 am »
  • The Broken King
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Gender: Male
  • Posts: 1259
Actually, GM has really ghetto pointers (if I recall correctly). If I had an object with a variable "pants", and I had a function, and in that function, I edited variable "pants", it would actually edit the pants in my object...
Logged
  • Broken Kings [Temp Site]
Re: Why you're best off using GM.
« Reply #15 on: April 26, 2006, 01:07:38 am »
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Gender: Male
  • Posts: 150
Are you saying that if you have a variable named 'pants' somewhere in your code, and then you dimension a second variable named 'pants' in another subroutine, and you change the value of the second 'pants', you will change the first one as well?! That would be a terrible nuisance!
Logged
Re: Why you're best off using GM.
« Reply #16 on: April 26, 2006, 01:18:53 am »
  • The Broken King
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Gender: Male
  • Posts: 1259
Yeah, it took me a while to figure out what was happening XD. I don't know if it does that anymore though.
Logged
  • Broken Kings [Temp Site]
Re: Why you're best off using GM.
« Reply #17 on: April 26, 2006, 01:24:07 am »
  • The hero of Link
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Gender: Male
  • Posts: 112
Starters are best off using GM, but more advanced people would want to use something different.
Logged
  • A.D. Zelda
Re: Why you're best off using GM.
« Reply #18 on: April 26, 2006, 01:39:06 am »
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Gender: Male
  • Posts: 1635
I exaggerate. Of course you are limited in GM, as you are in higher level programming. I'm just trying to say that Game Maker is more capable than people think. Don't take my words so literally.

Quote
Starters are best off using GM, but more advanced people would want to use something different.

I disagree. I think working with a language should be based on relative skill and knowledge of the langauge, not how good you are at coding in general. People who know c++ decently but GML much better might prefer GML, and make better games because of it.

GML seems to offer a better package. Easier coding, many things that higher level languages have to offer (and the things it misses aren't all TOO important - it can do them, you just don't have to set it up manually. Many small, random things are missing), easier set up, and all quicker, too. With DLL's, functionality is expanded. Again, think about creating a base engine for walking. It could take weeks or months in C++, but it could take 20 miuntes in GML. Neither with any speed loss.

Think of it this way:

You want to choose between a gas station automatic car wash or a hand car wash. The automatic car wash takes 10 minutes, provides almost everything you need, and does most of the hard work for you. YOu can even choose many options such as wax, shine, etc. On the other hand, a hand car wash (at home, with a sponge, custom job) could take up to 4 hours for you to wash the car, get out every single dirt spot, shine the tires, wax it, let it dry, spray the inside, vaccum it, etc. One gets MOST of it done for you, the other offers more detail but at much harder work and much more time.

I don't say GML is better than C++, I just say Game Maker seems to offer a better development environment for the time-worthy people, and even the time-unworthy people now and then.
« Last Edit: April 26, 2006, 01:46:55 am by Scooternew »
Logged
Re: Why you're best off using GM.
« Reply #19 on: April 26, 2006, 12:23:47 pm »
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Gender: Male
  • Posts: 6206
Quote
You are NOT limited at Game Maker
Try returning an array FOOL :-p.
And you have, lets see... No OOP constructs, no dynamic memory allocation, bloody slow, no pointers, ...etcetera, etcetera...

To be honest only a bloody fool would say you arent limited in GM.
You aren't limited in GM. :P
Logged
Pages: [1] 2   Go Up

 


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



Page created in 0.274 seconds with 75 queries.