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: C++ or GML  (Read 6332 times)

0 Members and 1 Guest are viewing this topic.
C++ or GML
« on: May 25, 2006, 11:23:02 pm »
  • odens knop
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Gender: Male
  • Posts: 1608
Okay, so I'm learning the basics of GML right now, and then I thought that before I get to far I maybe should start learning C++ instead cause I've heard it's better/more powerful/your mom/etc...  Should I stop with GML and start with C++ or should I start learning basic C++ and learn GML as a side learning hobby thingy?

[Edit]

And for C++, what is the best compiler?  Is it hard to learn? Where can I find a good tutorial/guide?

[Edit2]

I downloaded Dev-C++ (compiler), I just want tips if I'm choosing the wrong compiler.  I'll try to find tutorials on google.
« Last Edit: May 25, 2006, 11:26:03 pm by Linky »
Logged
|LEUS HERTAN MINAT|
Re: C++ or GML
« Reply #1 on: May 25, 2006, 11:25:11 pm »
  • Txet Lanosrep
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Gender: Male
  • Posts: 700
If you want to make better game/become a pro, then use C++.

Word.
Logged

Retro
  • TITANIC
Re: C++ or GML
« Reply #2 on: May 25, 2006, 11:27:33 pm »
  • odens knop
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Gender: Male
  • Posts: 1608
If you want to make better game/become a pro, then use C++.

Word.

Okay, so I'll start learning C++ instead.  What compiler do you use?  wich one is the best?
Logged
|LEUS HERTAN MINAT|
Re: C++ or GML
« Reply #3 on: May 25, 2006, 11:29:09 pm »
  • Txet Lanosrep
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Gender: Male
  • Posts: 700
There are many professional compilers out there but my advice is to start with a free one, try download.com or google.  Also Helios should be here soon, he can smell the words C++ so he can tell you lol.
Logged

Retro
  • TITANIC
Re: C++ or GML
« Reply #4 on: May 25, 2006, 11:34:19 pm »
  • *
  • Reputation: +3/-0
  • Offline Offline
  • Gender: Male
  • Posts: 6629
No-contest, C++. GML isn't even a programming language.

I personally use Dev-C++ and VisualStudio 2005.

Quote
Also Helios should be here soon, he can smell the words C++ so he can tell you lol.
*sniff* *sniff* I SMELL IT AGAIN, HELIOS AWAY!
Logged
Re: C++ or GML
« Reply #5 on: May 25, 2006, 11:37:19 pm »
  • odens knop
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Gender: Male
  • Posts: 1608
No-contest, C++. GML isn't even a programming language.

I personally use Dev-C++ and VisualStudio 2005.

Quote
Also Helios should be here soon, he can smell the words C++ so he can tell you lol.
*sniff* *sniff* I SMELL IT AGAIN, HELIOS AWAY!

Then I'll get those.  I'm gonna try to make a really simple writing program as my first project.  :P
Logged
|LEUS HERTAN MINAT|
Re: C++ or GML
« Reply #6 on: May 25, 2006, 11:43:34 pm »
  • Txet Lanosrep
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Gender: Male
  • Posts: 700
Good idea, I can see now that if you focus and never give up you will go places.  Most people go "i teh learnin C++ I mak teh zelda rpg gamorz!!!1111!111!11111!"
Logged

Retro
  • TITANIC
Re: C++ or GML
« Reply #7 on: May 25, 2006, 11:53:00 pm »
  • odens knop
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Gender: Male
  • Posts: 1608
Good idea, I can see now that if you focus and never give up you will go places.  Most people go "i teh learnin C++ I mak teh zelda rpg gamorz!!!1111!111!11111!"

Lol, yeah.  I aim high and I'll do anything to get there.  I'll start simple and do harder things as I get better.
Logged
|LEUS HERTAN MINAT|
Re: C++ or GML
« Reply #8 on: May 26, 2006, 02:23:55 am »
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Gender: Male
  • Posts: 1393
DevC++ is a good start, but if you're into programming using the DirectX SDK, then VC++ is probably your best bet. You can download the free express version at Microsoft's development website: http://www.msdn.microsoft.com . Let's just say that using the DirectX SDK with DevC++ is a very daunting, difficult task that really isn't worth it.
Logged


"It is a terrible thing for a man to find out suddenly that all his life he has been speaking nothing but the truth" - Jack, The Importance of Being Ernest

aab

^ Evolved from a Hobbit
Re: C++ or GML
« Reply #9 on: May 26, 2006, 03:02:06 am »
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Gender: Male
  • Posts: 992
Yes ... those evil name mangle abortion demons.

I have VC++ and Dev C++ (and Code::Blocks, which is what i currently use).
If you already have DevC++, you can use the Code::Blocks IDE as well as that as Code::Blocks will use the compiler that Dev C++ comes with (MingW compiler)(if you want it to).
You can also download a Toolkit from MSDN (see above) to use with Code::Blocks (It allows you to switch therefore between a Microsoft compiler and MingW) if you choose to download it.
Basically, use the compiler and IDE that suit you personally, but also you dont need to stick to one.

Also, http://www.cprogramming.com/




Logged




I ♥ Sol
.... I ♥ Sol ? wtf how long has that been there? >_> *rrrrrrrrar*
  • MySpace
Re: C++ or GML
« Reply #10 on: May 28, 2006, 10:42:44 am »
  • odens knop
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Gender: Male
  • Posts: 1608
I can't find any good tutorials...  And I used a template for a Windows application in Microsoft Visual Studio 2005 and it looked like I was creating a website kinda.  I don't get it, how am I supposed to learn this?  I'm gonna go to the library and borrow a book there maybe.  But  I want to learn on the internet because it's easier.  Do you guys know any good tutorials/guides/examples/etc.?

[Edit]

And BTW thanks for the link aab it helped some.

[Edit2]

Actually now I'm exploring that link and it is kinda an tutorial.  But if anyone knows any other places to learn C++ I would be thankful.
« Last Edit: May 28, 2006, 10:44:39 am by Linky »
Logged
|LEUS HERTAN MINAT|

Gilgamesh

Re: C++ or GML
« Reply #11 on: May 28, 2006, 11:03:28 am »
You can find lots of tutorials on C++. Just remember; C++ isn't made solely to make games, unlike GML. You'll have to fight your way through lots of other stuff before you can start with graphics libraries and actual game programming. If you only want to make a small game, I suggest you stick with GML.
Logged
Re: C++ or GML
« Reply #12 on: May 28, 2006, 11:36:36 am »
  • odens knop
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Gender: Male
  • Posts: 1608
@Gilgamesh:  I realize that.  I don't just want to make games, in fact, I don't know if I want to, yet.  right now I just want to develop my programming and try something new.  And I know Game Maker isn't the best program to make programs with, I just want to be able to make a program or a game when I want to, cause I know that will happen when I get an idea or something, cause from what I've leared C++ is a pretty free coding language, meaning I can do what I want with it, and GML pretty limited language.
Logged
|LEUS HERTAN MINAT|

Gilgamesh

Re: C++ or GML
« Reply #13 on: May 28, 2006, 01:24:26 pm »
Then use C++. Or C.
Logged

aab

^ Evolved from a Hobbit
Re: C++ or GML
« Reply #14 on: May 28, 2006, 07:02:52 pm »
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Gender: Male
  • Posts: 992
I see you say you started off with a template for making a window.
Making a window is definately not a beginners environment.

Just go through everything at that link i gave you, in order, and you should be fine.
It may seem crazy to have to go through 40 tutorials befoer you make a window, but time it takes you to make any program decreases as you learn more structural and abstract concepts.

You can find more things on your own as long as you know what to search for...

Heres a(n) (ordered) list i've given others: you may find it usefull ... Just dont be scared by it.

{
 ???  simple data types: beginning with int.
 ???  assignment operator, addition and subtraction, multiplication etc.
 ???  the (quite-obvious) semi-colon.
 ???  looking at more data types; char, unsigned int VS signed int, shorts, floats, doubles, (Mention word 'instance' here.) and then:
 ???  boolean values
 ???  initialising assingment
 ???  boolean operators
 ???  if
 ???  else
 ???  while
 ???  increment and decrement  operators
 ???  for
 ???  do while
 ???  arrays
 ???  references
 ???  const values
 ???  less intuitive operators, eg: binary and, or, xor, complement, mod, lsh, rsh
 ???  literals
 ???  order of expression evaluation
 ???  pointers
 ???  pointer iteration (through array)
 ???  calling functions
 ???  calling functions with parameters
 ???  dynamic allocation, ie 'new', and dynamic deallocation ie 'delete'.
 ???  Also, the C way of this: 'malloc' and 'free'
 ???  why iostream, not iostream.H lol.
 ???  std::cout
 ???  std::cin
 ???  functions
 ???  global variables, and thier pitfalls
 ???  enum
 ???  return
 ???  parameters
 ???  references as parameters
 ???  const, again, only with parameters this time.
 ???  implicit aggragates
 ???  multy dimensional arrays
 ???  namespaces
 ???  confined construction and deconstruction using braces '{' and '}'
 ???  use and using
 ???  std::ifstream
 ???  std::ofstream
 ???  C style string manipulation
 ???  std::string
 ???  std::stringstream
 ???  static keyword
 ???  prototyping functions
 ???  Proper organisation of files: .Hs being included in multiple C++ files that get linked together.
 ???  Understanding from a user-point of view what the compiler does
 ???  typedef
 ???  function overloading
 ???  inline
 ???  structs, C style
 ???  unions
 ???  some standard C library stuff, like rand(, time(), sin()
 ???  recap on pointers + '->' operator //important step: possibly the hardest is when you come to use this to delete an item in a linked list (next stage).
 ???  linked lists   //get past this and your into the world of unapplied
 ???  multi dimensional dynamic arrays, and why one should understand pointer syntax as early as possible in using these things: Make a big leap over a tall wall, and then you wont, like many, walk face into it, and think its all so confusing and hard and freakily random. Tip about pointer syntax: It all makes perfect semantic sense (with respect to a very discrete set of rules).
 ???  STL algorithms
 ???  implemeting your own common/usefull algorithms eg searching, sorting
 ???  STL objects: vector first, then lists, maps, sets, stacks etc
 ???  function pointers
 ???  typedef on function pointers
 ???  typedef on arrays
 ???  extern
 ???  template functions, and their compile time instantiation.
 ???  classes, private and public
 ???  methods
 ???  encapsulation
 ???  constructors
 ???  deconstructors (aka destrutors)
 ???  copy constructors
 ???  summary on object self-update and integrity
 ???  some examples of classes=>getting used to an abstract approach to the highest layer of a program.
 ???  implementing your own abstract containers for integers
 ???  overloaded operators
 ???  function pointers (being just objects) of function pointers=> arrays of functions
 ???  nested class.
 ???  inheritance
 ???  polymorphism
 ???  multiple inheritance
 ???  virtuals
 ???  pure virtuals, hence the Abstract Base class
 ???  static class members
 ???  implicit class fiddlings, and using the explicit keyword.
 ???  template classes.
 ???  int: special template argument.
 ???  default template arguments.
 ???  More class implementing: eg: make your own binary tree class, linked list class, dog class if you really wanted.
 ???  pointers to members
 ???  pointers to member methods
 ???  template specification
 ???  partial template specification
 ???  template metaprogramming.

}

Its important to practice using these techniques: Write programs using them as you learn.
Eg: once at one stage, write programs using the rest of he techniques together, if you can.
This may seem unusual as while going through the stages of learning the above, you can't really apply what you have learned into a visually interesting program.
Some (well ... everyone) write programs that do nothing but deal with console windows during earlier stages.
I wrote programs that done nothing other than demonstrate the technique that i had learned (experimanting and testing the limits of my knowledge of that technique), instead of writing programs dealing with expected input and output. But thats something you can decide for yourself.
Very basic example of a program merely demonstrating an if statement at work:
Code: [Select]

#include<iostream>
int main()
{
using std::cout;
using std::cin;
using std::endl;

int x;

cin >> x;

cout << endl;

if( x < 10 )
{
cout << "x is less than 10" << endl;
}
else
{
cout << "x is greater than or equal to 10" << endl;
}

cin.get();

return 0;
}



I wouldnt recommend conciously learning things.
Its better to let it slip in through understanding and practice. That way, you cannot forget ...  e v e r !

Oh, and a basic tip so you never forget which order the '<<' and '>>' go with 'cin' and 'cout' (Dont know about you but i messed syntaxical things up alot at first in C++: It was very discouraging so i tried some BASIC for a while) :
   With cout << x; , x is being copied into cout, so it gets displayed on the screen, so the '<<' is pointing in the direction of 'cout'.
   With cin >> x; , a value in cin (an input value) is being copied from cin, into x, therefore the '>>' points in the direction of x, as though the value is moving into 'x'.
When learning the semantics behing syntax (What all the symbols mean), think carefully about why they mean what they mean, and why they are used like that.
Then, your brain wraps that concept youve learned into its own little nest in your mind, full of masses of details about core items which are therefore very easily detected when using your memory.

Logged




I ♥ Sol
.... I ♥ Sol ? wtf how long has that been there? >_> *rrrrrrrrar*
  • MySpace
Re: C++ or GML
« Reply #15 on: May 28, 2006, 09:24:39 pm »
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Gender: Male
  • Posts: 1635
Quote
If you want to make better game
No, I know as many crappy C++ games as there are GML games, and screwing up in C++ affects your game more than GML.

Someone who judges a language merely by what it is capable of doing surely isn't an expert. Just because a language is harder to use doesn't automatically make it better.

I'll stick to my general position on this argument I've seen too many times. GML is better for making games,and C++ is better for making anything else. C++ is harder because it wasn't designed to make games, it was designed to make anything, so it's going to have to be more low-level and have more ability, again making it more complicated to use. GML on the other hand was designed to make games, so it provides everything you could possibly need to make quality games, but being a scripting language (@Helios lol), and not some pre-included stuff such as TGF, it allows you to basically do everything you want to do (in this sense it has everything C++ has that you would need for game development) without all the time, effort, and little room for error. So use C++ for non-games, but use GML specifically for creating games.

Look, you can't really compare the two. They were designed to do completely differnet thigns.
« Last Edit: May 28, 2006, 09:28:31 pm by Scooternew »
Logged
Re: C++ or GML
« Reply #16 on: May 28, 2006, 09:41:29 pm »
  • *
  • Reputation: +3/-0
  • Offline Offline
  • Gender: Male
  • Posts: 6629
No offence scooternew, but do you even know C++? What right do you have to make that comparison when you have only used one of the languages in this argument it makes you exceptionally biased.
Logged
Re: C++ or GML
« Reply #17 on: May 28, 2006, 09:55:03 pm »
  • odens knop
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Gender: Male
  • Posts: 1608
I see you say you started off with a template for making a window.
Making a window is definately not a beginners environment.

Just go through everything at that link i gave you, in order, and you should be fine.
It may seem crazy to have to go through 40 tutorials befoer you make a window, but time it takes you to make any program decreases as you learn more structural and abstract concepts.

You can find more things on your own as long as you know what to search for...

Heres a(n) (ordered) list i've given others: you may find it usefull ... Just dont be scared by it.

{
 ???  simple data types: beginning with int.
 ???  assignment operator, addition and subtraction, multiplication etc.
 ???  the (quite-obvious) semi-colon.
 ???  looking at more data types; char, unsigned int VS signed int, shorts, floats, doubles, (Mention word 'instance' here.) and then:
 ???  boolean values
 ???  initialising assingment
 ???  boolean operators
 ???  if
 ???  else
 ???  while
 ???  increment and decrement  operators
 ???  for
 ???  do while
 ???  arrays
 ???  references
 ???  const values
 ???  less intuitive operators, eg: binary and, or, xor, complement, mod, lsh, rsh
 ???  literals
 ???  order of expression evaluation
 ???  pointers
 ???  pointer iteration (through array)
 ???  calling functions
 ???  calling functions with parameters
 ???  dynamic allocation, ie 'new', and dynamic deallocation ie 'delete'.
 ???  Also, the C way of this: 'malloc' and 'free'
 ???  why iostream, not iostream.H lol.
 ???  std::cout
 ???  std::cin
 ???  functions
 ???  global variables, and thier pitfalls
 ???  enum
 ???  return
 ???  parameters
 ???  references as parameters
 ???  const, again, only with parameters this time.
 ???  implicit aggragates
 ???  multy dimensional arrays
 ???  namespaces
 ???  confined construction and deconstruction using braces '{' and '}'
 ???  use and using
 ???  std::ifstream
 ???  std::ofstream
 ???  C style string manipulation
 ???  std::string
 ???  std::stringstream
 ???  static keyword
 ???  prototyping functions
 ???  Proper organisation of files: .Hs being included in multiple C++ files that get linked together.
 ???  Understanding from a user-point of view what the compiler does
 ???  typedef
 ???  function overloading
 ???  inline
 ???  structs, C style
 ???  unions
 ???  some standard C library stuff, like rand(, time(), sin()
 ???  recap on pointers + '->' operator //important step: possibly the hardest is when you come to use this to delete an item in a linked list (next stage).
 ???  linked lists   //get past this and your into the world of unapplied
 ???  multi dimensional dynamic arrays, and why one should understand pointer syntax as early as possible in using these things: Make a big leap over a tall wall, and then you wont, like many, walk face into it, and think its all so confusing and hard and freakily random. Tip about pointer syntax: It all makes perfect semantic sense (with respect to a very discrete set of rules).
 ???  STL algorithms
 ???  implemeting your own common/usefull algorithms eg searching, sorting
 ???  STL objects: vector first, then lists, maps, sets, stacks etc
 ???  function pointers
 ???  typedef on function pointers
 ???  typedef on arrays
 ???  extern
 ???  template functions, and their compile time instantiation.
 ???  classes, private and public
 ???  methods
 ???  encapsulation
 ???  constructors
 ???  deconstructors (aka destrutors)
 ???  copy constructors
 ???  summary on object self-update and integrity
 ???  some examples of classes=>getting used to an abstract approach to the highest layer of a program.
 ???  implementing your own abstract containers for integers
 ???  overloaded operators
 ???  function pointers (being just objects) of function pointers=> arrays of functions
 ???  nested class.
 ???  inheritance
 ???  polymorphism
 ???  multiple inheritance
 ???  virtuals
 ???  pure virtuals, hence the Abstract Base class
 ???  static class members
 ???  implicit class fiddlings, and using the explicit keyword.
 ???  template classes.
 ???  int: special template argument.
 ???  default template arguments.
 ???  More class implementing: eg: make your own binary tree class, linked list class, dog class if you really wanted.
 ???  pointers to members
 ???  pointers to member methods
 ???  template specification
 ???  partial template specification
 ???  template metaprogramming.

}

Its important to practice using these techniques: Write programs using them as you learn.
Eg: once at one stage, write programs using the rest of he techniques together, if you can.
This may seem unusual as while going through the stages of learning the above, you can't really apply what you have learned into a visually interesting program.
Some (well ... everyone) write programs that do nothing but deal with console windows during earlier stages.
I wrote programs that done nothing other than demonstrate the technique that i had learned (experimanting and testing the limits of my knowledge of that technique), instead of writing programs dealing with expected input and output. But thats something you can decide for yourself.
Very basic example of a program merely demonstrating an if statement at work:
Code: [Select]

#include<iostream>
int main()
{
using std::cout;
using std::cin;
using std::endl;

int x;

cin >> x;

cout << endl;

if( x < 10 )
{
cout << "x is less than 10" << endl;
}
else
{
cout << "x is greater than or equal to 10" << endl;
}

cin.get();

return 0;
}



I wouldnt recommend conciously learning things.
Its better to let it slip in through understanding and practice. That way, you cannot forget ...  e v e r !

Oh, and a basic tip so you never forget which order the '<<' and '>>' go with 'cin' and 'cout' (Dont know about you but i messed syntaxical things up alot at first in C++: It was very discouraging so i tried some BASIC for a while) :
   With cout << x; , x is being copied into cout, so it gets displayed on the screen, so the '<<' is pointing in the direction of 'cout'.
   With cin >> x; , a value in cin (an input value) is being copied from cin, into x, therefore the '>>' points in the direction of x, as though the value is moving into 'x'.
When learning the semantics behing syntax (What all the symbols mean), think carefully about why they mean what they mean, and why they are used like that.
Then, your brain wraps that concept youve learned into its own little nest in your mind, full of masses of details about core items which are therefore very easily detected when using your memory.



How am I supposed to not get scared by that?  :o

[Edit]

And I think I kinda understand the cout >> x and cin << x things, but what is x?  Is it like the external files where the main file gets it's data?
« Last Edit: May 28, 2006, 10:00:18 pm by Linky »
Logged
|LEUS HERTAN MINAT|
Re: C++ or GML
« Reply #18 on: May 28, 2006, 10:05:07 pm »
  • *
  • Reputation: +3/-0
  • Offline Offline
  • Gender: Male
  • Posts: 6629
x is just a variable ( a place in memory of which you can store a value in ), cin and cout mearly send and retrive data from the console ( thus the name cin ( console in) cout (console out) ). The statement aab described mearly sends the value of x to the console.
Logged
Re: C++ or GML
« Reply #19 on: May 28, 2006, 11:12:19 pm »
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Gender: Male
  • Posts: 1635
Quote
but do you even know C++? What right do you have to make that comparison when you have only used one of the languages in this argument it makes you exceptionally biased.

Helios, die, and then fornicate yourself with an iron stick! Grr!!!!

Lol, no offence taken.

I know enough C++ (not a lot, enough though), and enough people that know C++ as well as GML, to be able to make the comparison. On the flipside, do you even know enough not only GML but also about how Game Maker works to make the comparison? I will stick by my opinion forever. GML is better for making games, and C++ is better for making other applications. I'm not saying one language is better than the other, I'm saying that for making games, one is better than the other.

Even if no one knew either language, you still wouldn't really be able to compare the two. GML is designed for making games, and C++ was designed for making anything. One is a programming language and another is a scripting langauge. (You've bashed into my feeble mind). I still believe, though, that GML is better for game development, but I'm not saying it is a better langauge, and I can't anyway, because the two are mutually uncomparable.

Helios, I get the feeling I've pissed you off a lot during my time at ZFGC, lol. :D Even so, I try and teach myself more C++ in the meantime. I've hardly scratched the surface, but I do know some.
« Last Edit: May 28, 2006, 11:16:54 pm by Scooternew »
Logged
Pages: [1] 2   Go Up

 


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



Page created in 0.17 seconds with 77 queries.

anything