The Daily Click ::. Forums ::. General Chat ::. I started learning C++...
 

Post Reply  Post Oekaki 
 

Posted By Message

monkeytherat

Hero of Time Jr

Registered
  07/11/2010
Points
  1293

VIP MemberI donated an open source project
9th August, 2012 at 09/08/2012 05:48:27 -

So I started learning C++ about 4 days ago and I'm already realizing why some of the things in mmf2 that always puzzled me are the way they are, most notably why the y axis is seemingly inverted. I just thought I'd share this, as it was interesting to me. I'm also noticing how actually making MMF2 must have been (and still must be) a huge task.

In addition, I'm finding that MMF2 actually is helping a lot with figuring out how to make an engine for my C++ games, as I'm able to take the general concepts I used and implementing them with relative ease. Not only is MMF2 helping with my C++, but learning C++ has given me ideas in what I might be able to do with MMF2, some of which actually work.

Has anyone else had this kind of experience?

 
If you put a million monkeys at a million keyboards, one of them will eventually write a Java program.
The rest of them will write Perl programs.

UrbanMonk

BRING BACK MITCH

Registered
  07/07/2008
Points
  49667

Has Donated, Thank You!Little Pirate!ARGH SignKliktober Special Award TagPicture Me This Round 33 Winner!The Outlaw!VIP MemberHasslevania 2!I am an April FoolKitty
Picture Me This Round 32 Winner!Picture Me This Round 42 Winner!Picture Me This Round 44 Winner!Picture Me This Round 53 Winner!
9th August, 2012 at 09/08/2012 06:14:01 -

Yes, when I learned a traditional programming language then switched back to MMF I understood it better, and I was able to get the results I wanted without having to use hack-y work arounds.

The general logic is the same, as well as some of the techniques. The same mathematics can be used across all languages. Plus using MMF allows you to learn the other processes of game making without being bogged down with the lower level stuff.

I find other programmers that want to write their own games have trouble with the other aspects of game design such as graphics and just gameplay in general. Using MMF gives you a focus on those things, and I think that produces better games.


And yes I'm sure MMF was a pain to produce. MMF is basically an editor for building a resource package that is executed by a separate runtime program. The exe's you produce all contain the same code (apart from the extensions, but those are separate files too.)

As an interpreted language it's significantly less optimized than C++ but that's the price you pay for ease of use.

However so is java, and like java MMF is almost completely multi-platform now.

Edited by UrbanMonk

 
n/a

Sketchy

Cornwall UK

Registered
  06/11/2004
Points
  1971

VIP MemberWeekly Picture Me This Round 43 Winner!Weekly Picture Me This Round 47 WinnerPicture Me This Round 49 Winner!
9th August, 2012 at 09/08/2012 12:21:03 -

I only very briefly looked into C++. The impression I got was that the language itself is very simple and easy to learn, but actually creating a game would be very difficult. I was looking at tutorials, and they were all talking about double-buffering, garbage-collection, and complicated collision-detection algorithms, etc.
It was all a bit daunting, and in the end, I just figured that I really only make games for fun, and none of that sound particularly entertaining to me. And considering that I've never even finished a proper klik game, the odds of me completing a game in C++ were slim to none.

However, more recently I've been toying with Javascript & HTML5, which I think is kind of a halfway house between MMF2 and C++. It's "proper" coding, but it's super easy and you see instant results (and the browser does the really basic stuff for you).
I'm actually working on a game engine now. The plan is to make an MMF2 application to convert my own custom scripting language into javascript. I'm trying to reproduce a lot of what MMF2 does under the surface (not the interface or anything like that), so it has been a good exercise in figuring out exactly how MMF2 works.
For example, I've written all the javascript functions to handle object focus, automatic-pairing, etc.
As an added bonus, learning javascript has meant I can do much better website designs.

 
n/a

Klikmaster

Master of all things Klik

Registered
  08/07/2002
Points
  2599

Has Donated, Thank You!You've Been Circy'd!VIP MemberPS3 Owner
9th August, 2012 at 09/08/2012 12:25:48 -

What reason are you learning C++ for? Making a game might be a bit daunting as Sketchy says, but you'll definitely learn a lot of programming concepts if that's what you're after.

If you are creating games you may want to switch to C# instead and use something like XNA, or at least some kind of framework.

And as Sketchy says, HTML5 is great for making games now

 
n/a

monkeytherat

Hero of Time Jr

Registered
  07/11/2010
Points
  1293

VIP MemberI donated an open source project
9th August, 2012 at 09/08/2012 14:34:57 -

I'm currently looking into C++ for 3 reasons.

1) 3d game programming.
2) To create text-based programs, including games and mathematical problem solvers.
3) For the sake of knowing a classical programming language.

As for why I chose C++ specifically, I thought I would learn more than if I used something that is almost purely OO, such as Java. In addition, the fact that it's mostly backwards compatible with C seemed useful. I do plan on learning Java and maybe C# eventually, though. But I think that I will stick to mmf2 for all of my 2D games.

 
If you put a million monkeys at a million keyboards, one of them will eventually write a Java program.
The rest of them will write Perl programs.

monkeytherat

Hero of Time Jr

Registered
  07/11/2010
Points
  1293

VIP MemberI donated an open source project
9th August, 2012 at 09/08/2012 14:35:04 -

EDIT: Sorry, double post

Edited by monkeytherat

 
If you put a million monkeys at a million keyboards, one of them will eventually write a Java program.
The rest of them will write Perl programs.

UrbanMonk

BRING BACK MITCH

Registered
  07/07/2008
Points
  49667

Has Donated, Thank You!Little Pirate!ARGH SignKliktober Special Award TagPicture Me This Round 33 Winner!The Outlaw!VIP MemberHasslevania 2!I am an April FoolKitty
Picture Me This Round 32 Winner!Picture Me This Round 42 Winner!Picture Me This Round 44 Winner!Picture Me This Round 53 Winner!
9th August, 2012 at 09/08/2012 18:51:56 -


Originally Posted by monkeytherat
1) 3d game programming.



Have you checked out Unity3D yet?

I highly recommend it. It has a great physics engine built in and support for flash, iOS, and android. As well as PSVita support, but that's not public yet.

Check it out here:
http://unity3d.com/

 
n/a

monkeytherat

Hero of Time Jr

Registered
  07/11/2010
Points
  1293

VIP MemberI donated an open source project
9th August, 2012 at 09/08/2012 19:09:45 -

I've heard of it, but I never really looked into it. I might some day but I think I'll stick to language programming, at least for now.

 
If you put a million monkeys at a million keyboards, one of them will eventually write a Java program.
The rest of them will write Perl programs.

UrbanMonk

BRING BACK MITCH

Registered
  07/07/2008
Points
  49667

Has Donated, Thank You!Little Pirate!ARGH SignKliktober Special Award TagPicture Me This Round 33 Winner!The Outlaw!VIP MemberHasslevania 2!I am an April FoolKitty
Picture Me This Round 32 Winner!Picture Me This Round 42 Winner!Picture Me This Round 44 Winner!Picture Me This Round 53 Winner!
9th August, 2012 at 09/08/2012 23:54:40 -

The ease of building decent multi-platform games is the advantage. Lot's of the grunt work is done for you.

Programming engines from scratch is a nice academic exercise, but if you want a wider audience untiy3d and MMF are your best bets.

 
n/a

Cecilectomy

noPE

Registered
  19/03/2005
Points
  305

Has Donated, Thank You!VIP MemberWeekly Picture Me This Winner!Cardboard BoxGhostbuster!Pokemon Ball!ComputerBox RedSanta HatSnowman
I am an April Fool
10th August, 2012 at 10/08/2012 08:30:53 -


Originally Posted by monkeytherat
I'm currently looking into C++ for 3 reasons.

1) 3d game programming.
2) To create text-based programs, including games and mathematical problem solvers.
3) For the sake of knowing a classical programming language.

As for why I chose C++ specifically, I thought I would learn more than if I used something that is almost purely OO, such as Java. In addition, the fact that it's mostly backwards compatible with C seemed useful. I do plan on learning Java and maybe C# eventually, though. But I think that I will stick to mmf2 for all of my 2D games.



Learning a purely OO langauge or a purely Functional language will benefit you more than learning one that tries to do both and fails miserably. Learning C++ you will definitely pick up some bad habits. I started with TI-83 BASIC and went to QuickBasic. From there I learned C++ at my first University. Having switched to Java and C# and tried to go back to C++ I have found that I cannot. It is by far the worst language I have had the pleasure of learning.

I would actually recommend a scripting language like lua or python as a starting point. then continue into Java and C#. And lastly C/C++ only because it is widely used and popular in the industry (something that deeply saddens me).

 
n/a

jamesh



Registered
  28/02/2012 15:24:25
Points
  381
10th August, 2012 at 10/08/2012 11:53:48 -

Surely starting with BASIC isn't a great way to pick up good habits?

I use python, which more or less forces you to program tidily and readably, but I plan to try and learn the fundamentals of C (without extensions) as I hope that will give me a grounding in all the other C-derived languages.

Although I'm not very advanced with it, I've found python really helps me to 'think like a programmer' which makes, say, decisions in MMF2 much more clear.

I really recommend a site called Project Euler to anyone trying to learn programming (of any kind)

 
n/a

monkeytherat

Hero of Time Jr

Registered
  07/11/2010
Points
  1293

VIP MemberI donated an open source project
10th August, 2012 at 10/08/2012 15:10:38 -

I'm not sure what you're talking about, cecilizer. I find c++ to be more than good enough to make the kind of game I'm thinking of (it's not too complex). But I will look into Python soon, and maybe after that I'll understand what you're talking about, as it seems (from what I've looked into of them) to be a better language.

 
If you put a million monkeys at a million keyboards, one of them will eventually write a Java program.
The rest of them will write Perl programs.

Cecilectomy

noPE

Registered
  19/03/2005
Points
  305

Has Donated, Thank You!VIP MemberWeekly Picture Me This Winner!Cardboard BoxGhostbuster!Pokemon Ball!ComputerBox RedSanta HatSnowman
I am an April Fool
11th August, 2012 at 11/08/2012 06:12:07 -


Originally Posted by jamesh
Surely starting with BASIC isn't a great way to pick up good habits?

I use python, which more or less forces you to program tidily and readably, but I plan to try and learn the fundamentals of C (without extensions) as I hope that will give me a grounding in all the other C-derived languages.

Although I'm not very advanced with it, I've found python really helps me to 'think like a programmer' which makes, say, decisions in MMF2 much more clear.

I really recommend a site called Project Euler to anyone trying to learn programming (of any kind)



I didn't say it was where to start bro. It's just where I started. I said to start with scripting languages like python or lua.

Sure it's good enough to make games, It's just riddled with problems and intricacies, simply because it is a procedural programming language with OOP slapped on top. I have also yet to see an IDE that can auto include the appropriate libraries and headers.

 
n/a
   

Post Reply



 



Advertisement

Worth A Click