Page 1 of 1 [ 4 posts ] 

zacb
Veteran
Veteran

User avatar

Joined: 7 May 2012
Age: 30
Gender: Male
Posts: 1,175

26 Jun 2012, 10:16 pm

Hello,
I have tried to learn C++ (and wanted to pull my hair out), and I learned C, but the apis I wanted to learn are kind of poorly documented at the moment (SDL and Allegro 5), so I am looking into some alternatives.

I was thinking about Java eventually for android, but I bumped into C# and monogame which supports android and Metro, which XNA won't support (or the other way around I guess). Would C# be a good language to learn for Metro? And How good is the documentation on monogame? I know C# in general is good, but I want to be able to catch on pretty easily as far as making games. Thanks.



MyFutureSelfnMe
Veteran
Veteran

User avatar

Joined: 26 Feb 2010
Age: 45
Gender: Male
Posts: 1,385

26 Jun 2012, 10:29 pm

I've never really been totally satisfied with any platform abstraction libraries. I generally do my apps in C++ and do the abstraction as a part of the app.



monkeykoder
Blue Jay
Blue Jay

User avatar

Joined: 7 Feb 2012
Age: 39
Gender: Male
Posts: 76

30 Jun 2012, 10:47 am

Speaking generally Open Source documentation tends to be rather sparse. SDL is one of the better ones and there are some great tutorials for it out there. Along with the API description being quite well written (try wading through Microsoft's API documentation sometime). API's are a decent way for new developers to gain some confidence and along with reading about the inner workings (if doing graphics with XNA or SDL read up on some heavier duty graphics) can lead to a good understanding of what you're doing. C# can be quite well rounded in most ways but does have some drawbacks to really understanding the code.

From a quick look at the monogame website I would say their documentation is even more lacking than SDL'sm (I clicked on the documentation link and it said "This documentation is out of date look here") have you thought about using the Python PyGame combo? It's a very active community with a lot of documentation and source code available and aimed at people with little development experience. Learning Python is particularly easy and supports those people that are looking for quickly being able to learn something and has the ability for the most part to go as far down to the nitty gritty as you want.

If you have a decent understanding of C then your primary issue with C++ is with OOP techniques (the only difference between the two) and you should focus on that because C# is even more Object Oriented. Just remember that one of the best practices to take with you when programming is that your code should be as readable as possible and you'll find yourself growing faster than you can imagine. Languages and libraries become almost meaningless because you abstract them away and your code starts to read like English instead of code. The key is pick any library and language combo and you will learn even if it is "I never want to use this library language combo again".



zacb
Veteran
Veteran

User avatar

Joined: 7 May 2012
Age: 30
Gender: Male
Posts: 1,175

01 Jul 2012, 8:22 am

I looked at the documentation for monogame and you were right. I looked at a what I believe is a parent project, and it looks a tad better as far as documentation (just mono/monodevelop) So far so good with C#. I am reading the Deitel book on C# 2010, and it is pretty good at explaining things. I don't know quite about mono yet, but hopefully out of some of those tutorials I should be able to learn it pretty easily.