C# Learning Sources

Started by
28 comments, last by 3Ddreamer 11 years, 7 months ago
Hey, this is Natescham.

Anyways, this is a great post.
I just wanted to say that.

Anyways, I like the replies here.
I have many, many computer science and electrical/computer engineering and math books ymself.
So I have many books on C# and related materials.

I was just wondering.
What version of VIsual Studio are you using,
and what is the current cersion of C# that you are learning??

Now, I wanted to add,
if you want to get good with C#, and this won't be so bad ifyou already know VC++ or Visual Basic, ASP.NET, etc,
but wouldn't it be very, very useful to get a book on the latest version of .NET??

That is what I do,
and also you should try to learn more about the compiler that you are using, and how VIsual Studio works,
but mainly hwo t compiler works the best that you can as you get more comfortable with programming.

I mean, after I learned C programming, which was my first language I choose to learn,
I started learning FOrtran, then C++, but at the same time, I read an overview of cComputer Science and Electrical Engineering,
ten I went onto a Software Engineering book, Discrete Mathematics, Computer Organization, then Computer Architecture.
Right now I am on Compilers myself, whcih has helped tremendously.
I am all about making my code more efficient, and always readable!!! lol, you knwo what I eman guys, lol.

Oh, and for your second tier of learning,
I mentioned Computer Organization and Discrete Mathematics, but htere are two or three subjects you shoudl also work on in this time period or skill level, maybe oen or two more, depending on what you woudl liek to study.

First, learn another programmign language, or start.
I mean, I learned ANSI/ISO C/C99 first,
so my second language was Fortran (but I also worked on C++ afer that, now I am workign on .NET and C#).
During this time, work on a secodn subject.
I would first suggest Computer Organization.
This will teach you sooo mcuh about low-level, assembly language and more about the science behind different languages and types of languages.
I think that anyone can work on two books at a time. If you want to do three or four, etc, that is up to you.
Now besdies COmputer Organization, work on soe of your math....
I KNOW IT SUCKS!!! lol, but seriously, work on Boolean Algebra, Discrete MAthematics, set theory, etc.
It is the other main branch of Analysis that you are working on, the other being Calculus, which isn't as useful for you at this time, generally! lol.

Now, once you work on that, there are other subjects in tier 2 that you can work on.
Oh, I shoudl mention that if you are liek me, and liek Computer Engineering, you may want to elarn mre about Electrical ENgineering and Hardware,b ut you do not have to, but please learn more about Hardware, Video Cards, RAM, and especially GPU's since htis is game programming.

Anyways, you shoudl elarn assembly language.
Now I first learned assembly language for the PIC16 and 18, which are microcontrollers, but you can work on others, RISC or CISC.
I should mention though, that x86 or Intel/AMD is a lttle tougher to learn at first. And if you are not into COmputer Engineering, do not learn it first.
You should elarn assembly because it will teach you so much about computers and how progammign and languages work. At tier 3 you will need it and you can elarn about COmpilers to roudn things off. And makign your own compiler is the BEST way to learn any language, trust me.
Also, if you want to learn a simple assembly language, try the book, "How COmputer's Do Math".
It teaches you a simple instruction set and shows you how computers work, and you will make a calculator.
It is one of the ebst books I have ever read to elarn fro initally. Trust me.
Oh, and "Bebop to the Boolean Boogie" is anotehr book by the same auther, which introduces you to Electrical/Computer Engineering.
Then you can move onto Digital Design or DIgital Logic or Digital Logic Design, or whatever it may be called in thsi matter.

Now for you programmers, thsi is a HUGE subject that you will want to work on: Data Structures! and Algorithms!
Trust me, in tier two of learning, you MSUT learn this stuff.
And with Algorithsm, you will unerstand why I emphasized mathematics.

Oh, and lastly, you will want t read about software engineering for sure.
It will teah you hwo to work in a group, which is necassary and standards,etc. (Also make comments!!!! lol)

Now, if you are learning C#, you will want to learn more about Microsoft, Windows and Windows SDK, MASM, .NET, etc.

Oh, and if you wantto starttier 3.
Rememebr to look into COmputer Architecture and Compilers.
This will really help you learn.
If you can do all of this, all you need to do is learn to work in a group.
I suggest forming a team online of programmers and graphic designers/ artists, evensound people, writers,etc.
I have done this in the past, and it was sooo much fun!!!

Well, I hope that you guys will research soem fo the topics that I mentioned.
If you are into C#, please look into .NET right away.
Let me knwo if you want much more detailed information on any subject up to tier 3, or about working ina group.

I am always willin gto help.
Also, if you want to start a group, let me know, I am willing to start one or join so that we can practice together.
We can elarn much from each other.
I also have like 6 book cases full of books, so if you want a lsit of books on any subject,
please let me know!!!
I will give you a detaield list of the book's title and author(s).

Well, take care guys.
And hopefully we work together it eh future on learning and projects.
Cya!

-Natescham
http://tech.groups.yahoo.com/group/VGPDT/
Advertisement

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


I generally advise newbie game developers against using complete game engines because that limits your ability to learn. If you use a game engine, you never learn how to write reusable game code yourself. That takes away one more developer from possibly creating the next great game engine of the future.

Just program -- really, just program. That's all you need to be doing at this stage. Doesn't really matter what it is. And I hope you're at least toying around with those libraries we've suggested. That's the only way you'll know you've chosen the right one for yourself.
[REMOVED RESPONSE TO OFF-TOPIC POST (but it's been quoted in the new topic)

Back ontopic.
Axiom is supposedly alright, not amazing. Its a full port of Ogre3d to C# (yes that is right, it isn't a binding it is a full source code porting). Its slower than MOgre (which is a binding to Ogre3d) but is also porting an older version (MOgre is only 1 release behind ogre3d, axiom is an ancient release of ogre). From what I here it doesn't work on mono too well either (which is the only disadvantage on paper for MOgre). Its generally not the best library unless there is a specific reason for not using Ogre. Ogre3d (the original C++ graphics engine) although is nowhere near as complex as raw openGL or directX (with C# that would be through tao or slimdx or sharpdx) still isn't terribly easy to use, it also doesn't provide anything other than graphics, its not a full game engine. Ogre I think is meant to be object orientated graphics rendering engine, so no sound or physics or anything. MOgre/Axiom would be a pretty good choice for a AAA quality game in C# but not for a newbie. Of the 2 MOgre is almost universally better than Axiom.
Please not that a related but off-topic response by the user "skullfalker" was split from this topic in order to create a new one: "New to programming -- learning C#".

- Jason Astle-Adams

Hi, everyone


What version of VIsual Studio are you using,
and what is the current cersion of C# that you are learning??


Just to get into it as soon as possible, I searched a bunch of local libraries and chose books on C# 4.0 because they were the latest available on the shelf. I am learning Visual Studio Express 2010 because it matches the books and also Axiom was using it. This all is only temporary. Once I reach the point of needing it then I will get more and better! smile.png

The C# is fun! I really like it a alot and it does seem relatively easy to learn.

I am on vacation, but will get back in the water here, so to speak, in a couple days.


Have a good day, everyone,

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

Some people still use visual studio 2005 and 2008, seeming as 2012 is only just coming out in a month or 2 (release candidate versions are available) I don't think your choice of C#4 in VS2010 is a bad one. I would give it another 2 or 3 years before upgrading might be worth it, even then most of the C#4 stuff carries on into C#5 with no changes apparently so your code will still work (axiom may need recompiling for .net 4.5 but by then I guess they will have done it already)
Good day, guys

The next several weeks or months, I will be focused on C# with mostly the help of books, VS 2010, libraries, and Axiom 3D game engine. However, I decided to spend some of the time introducing myself to game oriented math, hardware, graphics ( general overview with C#, scripting languages, and games in mind ). From experience over the last several years as a modder digging into games and simulations, I know firsthand how beneficial it can be to examin the game engine. With time spent on Axiom 3D game engine and looking at the games that others have made with it, I am sure to gain insight into how a game is made, especially with the help of the team over there.

And that is just it: Teamwork will be the key to learning things faster than would be learned otherwise.

Most of my time over the coming weeks and months will be spent in the books with C#. Down the road I will slowly add .NET and later a scripting language, but that is quite a number of months down the road. Things will start simple and evolve into a system of mine in years to come. Simple to start but growing in a balanced and prioritized way is my strategy.

So for now, this fresh newbie in programming will keep crawling like a baby in C# until I can walk, jump, and eventually run with it. I will know when the time arrives to learn more things as I come to those points.

Thanks so much everyone for all the advice!

smile.png

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


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.


Hi, nfries88

Tao or Python are most attractive to me at this point for a scripting language after C# because they are more user friendly (learner friendly) and have the portability, but I am looking into XNA as people suggested.

" Professional XNA Game Programming - for Xbox 360 and Windows " by Benjamin Nitschke - Wrox, a Wiley Publication. This library book caught my attention for extra reading after the day's work in C#.

Guys...

This thread was a ton of help and I really appreciate everyone's time. smile.png I'm sure that it will help others, too.

I am on semi-vacation for a few more weeks but still manage to find time with C# 4.0 and Visual Studio Express 2010. Getting "Hello World" to change size took me almost a week but I got it! Yeah! I think that I can eventually make a slider to change the size in real time. cool.png

Thanks, so much! biggrin.png


Clinton

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

Hello world shouldn't be changing size???

Hello world would be a normal console application assuming you started from the beginning, the console text is all fixed size and font (but not colour)
I managed to get it to change size, but not font. It takes changing things line by line and selecting something in VS and saving, but it showed me that a little application could be made which handles it on the side. I guess it would not work with a slider in real time but maybe changes can be made by an external custom made device and restart it.


Clinton

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

This topic is closed to new replies.

Advertisement