Jump to content

  • Log In with Google      Sign In   
  • Create Account

C# Learning Sources


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
29 replies to this topic

#1 3Ddreamer   Crossbones+   -  Reputation: 3157

Like
3Likes
Like

Posted 15 August 2012 - 03:53 AM

Good day, everybody

The website and community here are wonderful! (Just had to get that out my system.Posted Image )

I am a beginner who is going to start learning C# today. That's right: Why wait? After looking online and at local public libraries, I have enough now to launch this C# stage. I am ahead of schedule according to my goals, by the way, and much thanks to everyone here who made posts and provided information at this site. Because of you I am having a nice opening stage in my career.

Please guide me to C# beginner and tool making resources which you would highly recommend from personal experience. I am looking for both books and online information. Though I have enough to start, I am seeking favored publications recommended by C# programmers which is good for game development skills. Please keep in mind that this is very much based on opinion and personal preference, but every referral will be seriously considered by me.

If anyone needs to know, I will tie C# tool making to C++ and/or Python game implementation in multi-platform. Some good stuff was found by me here at gamedev, so all I need now is recommendation from personal experience.

As always, any and all comments, information, and criticism is welcomed in my threads.

Two minutes of your time may help a bunch of readers, too.


3Ddreamer
Keep a dream alive and you keep direction in your life.

Edited by 3Ddreamer, 15 August 2012 - 04:03 AM.

Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software.  The better the workflow pipeline, then the greater the potential output for a quality game.  Completing projects is the last but finest order.

 

by Clinton, 3Ddreamer


Sponsor:

#2 Xanather   Members   -  Reputation: 709

Like
5Likes
Like

Posted 15 August 2012 - 07:11 AM

I'm currently reading

Pro C# 2010 and the .NET 4 Platform by Andrew Troelsen
http://www.amazon.co...n/dp/1430225491
Although I have been coding prior to reading this (few years) for fun, the reason why I am saying this is because of the following:

"This book is for anyone with some software development experience who is interested in the new .NET Framework 4 and the C# language. Whether you are moving to .NET for the first time or are already writing applications on .NET 2.0 or .NET 3.5, this book will provide you with a comprehensive grounding in the new technology and serve as a complete reference throughout your coding career."

Which may be a problem in your case, other than that I'm really liking this book and i'm only 250 pages in! Note though that this is NOT aimed at game development but programming in general.

Edit: there is a new edition (.net 4.5) which is not out yet: http://www.amazon.co...=dp_ob_title_bk

Edited by Xanather, 15 August 2012 - 07:16 AM.


#3 Jaap85   Members   -  Reputation: 242

Like
3Likes
Like

Posted 15 August 2012 - 12:12 PM

Right now i am reading the book "Visual C# game programming for teens". I am not overly enthusiastic about this book, since it skips a lot of the concepts instead of explaining them in depth. If focuses more on creating a game, provided you already know some C#.

When i first started with C#, coming from Visual Basic, i used the following website which was useful to learn the very basics.

Hope this helps!

http://www.homeandlearn.co.uk/csharp/csharp.html

#4 shinks   Members   -  Reputation: 117

Like
4Likes
Like

Posted 15 August 2012 - 12:44 PM

Your first step should be to visit the official learning site...

http://msdn.microsoft.com/en-us/vstudio/hh341490.aspx

Download the free Visual Studio Express (if you don't have Visual Studio already)...

http://www.microsoft.com/visualstudio/en-us/products/2010-editions/express

Make sure you watch the free learning videos...

http://msdn.microsoft.com/en-us/vstudio/bb798022

It's amazing how many of the learning resources are completely free. After 10 years of being a .net asp.net developer I am learning .net MVC and I try to watch one video and read a chapter in a book every day.

If you want to spend some money and want to learn very fast then I recommend the site http://www.pluralsight.com. It's $29 a month and well worth it.

#5 3Ddreamer   Crossbones+   -  Reputation: 3157

Like
3Likes
Like

Posted 17 August 2012 - 10:46 AM

Hi, everybody


I looked at everything you suggested. My goal of going open source and no cost as much as possible in early stages still stands, but I haven't made too big an issue of it because if something is good enough then it would be reasonable to consider buying it.

Here I am in the library today with two books:

"Essential C# 4.0" by Mark Michaelis - Microsoft .NET Development Series, Recommended by Charlie Calvert, Program Manager, Visual C#, Microsoft

The qualifications of Mr. Michaelis may be summerized here http://intellitect.com/mark-michaelis/ , but other sources seem to confirm that this person is a leader in the C# field, no exaggeration.

It is about 900 pages and seems comprehensive. Some of the things which attract me, personally are "Hello, World" (well known in the programming field), Syntax, Console Input and Output, Classes, Inheritance, Interfaces, Lambda Expressions, and building Custom Collections - all caught my attention for tool creation. It has the largest multi-threading sections which I have seen anywhere so far.


"C# 2010, ALL-IN-ONE, for Dummies" by Bill Sempf, Chuck Sphar, Stephen Randy Davis, but monster software architect Bill Sempf seems to be the core of this publication (Look online for his career description and you'll see what I mean.) with significant contribution to over 200 applications, some of which are commonly used by the public.

With these two leading authors, both the industry leaders of C# development and the leaders of C# software architecture for end users may be represented, I am hoping. These public library books are sitting in front of me at this moment , so the price it right.

As far as game development and C#, does anyone have suggestions on what will be least likely and conversely what I will likely need in game dev? Please include C#.net in this.

Some information on C# 5.0 is out there. Would studying 4.0 be much different than 5.0?


3Ddreamer - "Dream on!"

Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software.  The better the workflow pipeline, then the greater the potential output for a quality game.  Completing projects is the last but finest order.

 

by Clinton, 3Ddreamer


#6 Memories are Better   Prime Members   -  Reputation: 769

Like
3Likes
Like

Posted 18 August 2012 - 04:27 AM

Some information on C# 5.0 is out there. Would studying 4.0 be much different than 5.0?


If you are going to use .NET 4.5 and plan to take advantage of the new threading features then reading up on C# 5.0 / .NET 4.5 is necessary, theres other features too but the main thing (or at least what I consider main) was the new asynchronous features.

You dont need a book for this ofc, MSDN is a good enough resource for the new sections so you can read books based on .NET 4.0 then once you are done read up on .NET 4.5 features.

Another great book is O'Reilly - "C# 5.0 in a nutshell" (4.0 will do too), it doesnt cover everything but for what it does cover it explains nicely

#7 3Ddreamer   Crossbones+   -  Reputation: 3157

Like
1Likes
Like

Posted 20 August 2012 - 01:39 PM

Cool.

Over the weekend, I began practicing things in the books that I have. I'll be looking at the online stuff, too.

Thanks, everyone Posted Image


3Ddreamer

Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software.  The better the workflow pipeline, then the greater the potential output for a quality game.  Completing projects is the last but finest order.

 

by Clinton, 3Ddreamer


#8 Kheyas   Members   -  Reputation: 179

Like
2Likes
Like

Posted 20 August 2012 - 02:14 PM

As a beginner I found the Yellow Book of Rob Miles verry helpful. He explains everything very well and throws a joke here and there. And it's free. It's nice to have it in addition to what you already have ;). Good luck!

#9 3Ddreamer   Crossbones+   -  Reputation: 3157

Like
1Likes
Like

Posted 21 August 2012 - 03:08 PM

My homework today has me homing into target areas and some good stuff I have here.

Here I learned that when people mention C# they often really mean Visual C#. I also did not realize that Visual C# is "by far the one most commonly used" implementation and should have expected that.
http://en.wikipedia...._Visual_C_Sharp

Visual Studio C# compiler: "The compiler produces executable (.exe) files, dynamic-link libraries (.dll), or code modules (.netmodule)." This I expected but got confirmation here.
http://msdn.microsof...d(v=VS.71).aspx

This wikipedia page really helped with a ton of useful information. Now I have a general vision of what happens in the flow of things. The criticism of .NET Framework was enlightening. The diagram of the CLI and other details were very helpful. The C# is a major part of this, of course.
http://en.wikipedia..../.Net_Framework

I forgot to mention, Visual Studio seems to be very powerful for making applications which are built in C# but implement in another language, such as C++. Python was even listed as one of the languages supported for implementation.

It looks as though I picked a winner with C#! Posted Image

Eventually I am going to be concerned with memory leak and undetected loops, but for now I am happy to be studying the books and online about C#. Soon I hope to have several simple applications made to show for my study. I am still in the crawling stage but one happy baby. LOL



3Ddreamer

Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software.  The better the workflow pipeline, then the greater the potential output for a quality game.  Completing projects is the last but finest order.

 

by Clinton, 3Ddreamer


#10 Lance42   Members   -  Reputation: 339

Like
2Likes
Like

Posted 22 August 2012 - 08:42 PM

My favorite for learning C# was "Head First C#".

I think a really good option for learning game development in C# is "C# Game Programming For Serious Game Creation". Go all the way through this and you will have a great starter engine for game development. It uses the Tao libraries for OpenGL, which are no longer being maintained, but still work great, and the author is active on his blog at http://www.godpatterns.com ... After going through the book you should be prepared to start modifying the game engine for your needs, making a wrapper so you can use DX if that's your desire, or replacing Tao with something else. He does not go much in to 3D, but I really feel like your first game should be 2D anyway. =D Hope this helps.

Lance...

#11 3Ddreamer   Crossbones+   -  Reputation: 3157

Like
0Likes
Like

Posted 22 August 2012 - 09:04 PM

Lance,

That is perfect timing. Actually, everything so far that I have read here at gamedev has been perfect timing.

Yesterday and the day before I spent a few hours researching framework.

Today I spent a couple hours studying scripting languages. All this in the context of game development has helped much.

Now I see that OpenTK has overtaken Tao Framework, but a lot of useful stuff can be learned in Tao and it is still viable, too.

Interesting to me that today I continued looking for information specifically on using C# for game making and look what you brought! Posted Image

Yesterday and today I searched for people in the web who make attractive games with C# and there is a sea of them. I even found a major developer who uses C# for making their game engine but I can't remember the name. The game is implemented in C++ which affirms what people say here in these forums that it matters more how the language is used over which language is preferred.

Great stuff!


3Ddreamer

Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software.  The better the workflow pipeline, then the greater the potential output for a quality game.  Completing projects is the last but finest order.

 

by Clinton, 3Ddreamer


#12 6677   Members   -  Reputation: 1058

Like
1Likes
Like

Posted 23 August 2012 - 07:06 AM

OpenTK is of course an OpenGL binding (with some other bits thrown in). 4 other options for you:

slimDX - DirectX binding (versions 9, 10 and 11) on windows only.
SharpDX - Another DirectX binding on windows much like slimDX. Some people prefer to use slim, some prefer sharp, entirely upto you.
XNA - A high level DirectX binding and games framework for windows, xbox-360 and windows phone 7.
MonoGame - Much like XNA (near identical to the end user infact) using OpenTK instead of DirectX, supports mac, windows, linux and with the relevant licenses iOS and android. Monogame projects can easily be ported to be XNA projects allowing xbox-360 and windows phone 7. Good luck finding tutorials though, generally its better to learn how to use XNA and then work out Monogame from there.

As for using C# for engine and implementing in C++, your misunderstanding alot here. I'm assuming it was the unity engine which is written in C++ but game code is in C#, its never the other way around (for performance reasons). You are right in it mattering more about how the engine is used though. Badly written C++ will probably give poorer results than well written C# or java, the potential for better performance is still there with C++ though (its just more difficult to exploit).


I do advise learning how to write console applications and getting all the basics of C# down before looking at any of the above libraries otherwise your just going to get confused.

Edited by 6677, 23 August 2012 - 07:09 AM.


#13 3Ddreamer   Crossbones+   -  Reputation: 3157

Like
0Likes
Like

Posted 23 August 2012 - 02:12 PM

I do advise learning how to write console applications and getting all the basics of C# down before looking at any of the above libraries otherwise your just going to get confused.


Typically, in the context of my early stage here, that would mean Visual Studio and .NET Framework, I understand.

Yes, you are right that I got the cart before the horse with C# and C++. Thanks for correcting me. It was indeed Unity.

This is getting good. Posted Image


3Ddreamer

Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software.  The better the workflow pipeline, then the greater the potential output for a quality game.  Completing projects is the last but finest order.

 

by Clinton, 3Ddreamer


#14 Lance42   Members   -  Reputation: 339

Like
0Likes
Like

Posted 24 August 2012 - 05:05 PM

I'm using Tao ATM, and it's doing great for me. I imagine I'll convert to OpenTK or something else later, but for now... well... "If it ain't broke..." =D

I'm glad I brought something to the table that was useful to you. Let me know how your projects go!

Lance...

#15 6677   Members   -  Reputation: 1058

Like
0Likes
Like

Posted 25 August 2012 - 03:27 AM

OpenTK is forked from tao anyway, monogame then uses OpenTK under the hood aswell, so really the best graphics API's for mono all stem from tao.

Tao's development has basically stopped but it works, if you want to use it you can but documentation is probably a little scare. OpenTK doesn't seem to have alot going on either but hasn't quite stopped completely. Monogame is in full swing but isn't as low level as the other 2. Most XNA tutorials probably apply to monogame too but its probably a good idea to use XNA first before trying to learn monogame, it's not quite 100% identical and doesn't have many tutorials of its own.

#16 3Ddreamer   Crossbones+   -  Reputation: 3157

Like
0Likes
Like

Posted 25 August 2012 - 03:26 PM

It's baby crawling for me at this early stage, but I am happy. Right now I am looking at how I can alter "Hello World".

Thanks,

3Ddreamer

Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software.  The better the workflow pipeline, then the greater the potential output for a quality game.  Completing projects is the last but finest order.

 

by Clinton, 3Ddreamer


#17 nfries88   Members   -  Reputation: 259

Like
0Likes
Like

Posted 27 August 2012 - 06:21 PM

Looking for portability? Hard to go wrong with Tao, or Unity3D if you're willing to lay down some cash.

I'd recommend XNA for now, actually. Like I told you in another thread, I found it to be an excellent API, with its downside being a general lack of portability. But don't worry about portability now -- get the experience first, portability is easy enough later.

EDIT: Just did some quick research on OpenTK, and it seems like a decent library.

Edited by nfries88, 27 August 2012 - 06:23 PM.

Looking for paid or open-source C++ programming work. Been programming since 2005. No degree.

#18 3Ddreamer   Crossbones+   -  Reputation: 3157

Like
0Likes
Like

Posted 28 August 2012 - 05:29 PM

nfries88,

Actually since you mentioned it, I am trying to get everything together at no cost if possible, at least for the first few months. As experience and need demand it, I will probably aquire some paid programs. If I can find a way to go my whole course in game development with no paid programs, then I will but we all know that is very unlikely.

Tao, Unity 3D, and XNA are still on the table. My self-imposed deadline for deciding on a game engine for learning purposes is the last day of this month, this coming Friday. Yes - I am still looking at OpenTK, too.

I am convinced by what many people said that I really can't go wrong with whatever choice I make for a system at this very beginner stage. Some are urging me in different threads to start now, but I feel a whole month of August is reasonable to research and make a decision, so I am sticking to it.

One way or another, I will let people know about my choice for a game development path.


3Ddreamer

Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software.  The better the workflow pipeline, then the greater the potential output for a quality game.  Completing projects is the last but finest order.

 

by Clinton, 3Ddreamer


#19 3Ddreamer   Crossbones+   -  Reputation: 3157

Like
0Likes
Like

Posted 29 August 2012 - 01:16 AM

Good day, everyone

What do you think of this game engine, Axiom:
http://www.axiom3d.n...x.php/Main_Page

Any possible challenges that you see with it?


3Ddreamer

Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software.  The better the workflow pipeline, then the greater the potential output for a quality game.  Completing projects is the last but finest order.

 

by Clinton, 3Ddreamer


#20 Telastyn   Crossbones+   -  Reputation: 3726

Like
0Likes
Like

Posted 29 August 2012 - 11:45 AM

What do you think of this game engine,


I think that you got hello world working 4 days ago. Getting the programming, program design, and debugging skills needed to work with any engine effectively is still at the very minimum, a few months off.

Worry about it then.




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS