• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
3Ddreamer

C# Learning Sources

29 posts in this topic

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 [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img]


3Ddreamer
1

Share this post


Link to post
Share on other sites
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!
2

Share this post


Link to post
Share on other sites
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.
[url="http://en.wikipedia.org/wiki/Microsoft_Visual_C_Sharp"]http://en.wikipedia...._Visual_C_Sharp[/url]

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.
[url="http://msdn.microsoft.com/en-us/library/2fdbz5xd(v=VS.71).aspx"]http://msdn.microsof...d(v=VS.71).aspx[/url]

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.
[url="http://en.wikipedia.org/wiki/.Net_Framework"]http://en.wikipedia..../.Net_Framework[/url]

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#! [img]http://public.gamedev.net//public/style_emoticons/default/biggrin.png[/img]

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
1

Share this post


Link to post
Share on other sites
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...
2

Share this post


Link to post
Share on other sites
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! [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img]

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
0

Share this post


Link to post
Share on other sites
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
1

Share this post


Link to post
Share on other sites
[quote name='6677' timestamp='1345727175' post='4972561']
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.
[/quote]

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. [img]http://public.gamedev.net//public/style_emoticons/default/biggrin.png[/img]


3Ddreamer
0

Share this post


Link to post
Share on other sites
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...
0

Share this post


Link to post
Share on other sites
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.
0

Share this post


Link to post
Share on other sites
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
0

Share this post


Link to post
Share on other sites
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
0

Share this post


Link to post
Share on other sites
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
0

Share this post


Link to post
Share on other sites
Good day, everyone

What do you think of this game engine, Axiom:
[url="http://www.axiom3d.net/wiki/index.php/Main_Page"]http://www.axiom3d.n...x.php/Main_Page[/url]

Any possible challenges that you see with it?


3Ddreamer
0

Share this post


Link to post
Share on other sites
[quote name='3Ddreamer' timestamp='1346224595' post='4974338']
What do you think of this game engine,
[/quote]

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

Worry about it then.
0

Share this post


Link to post
Share on other sites
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
0

Share this post


Link to post
Share on other sites
[quote name='3Ddreamer' timestamp='1346224595' post='4974338']
Good day, everyone

What do you think of this game engine, Axiom:
[url="http://www.axiom3d.net/wiki/index.php/Main_Page"]http://www.axiom3d.n...x.php/Main_Page[/url]

Any possible challenges that you see with it?


3Ddreamer
[/quote]

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. Edited by nfries88
0

Share this post


Link to post
Share on other sites
[REMOVED RESPONSE TO OFF-TOPIC POST (but it's been [url="http://www.gamedev.net/topic/630556-new-to-programming-learning-c/page__view__findpost__p__4975282"]quoted[/url] 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. Edited by jbadams
: Removed response to off-topic post which was split into a new discussion.
0

Share this post


Link to post
Share on other sites
Please not that a related but off-topic response by the user "[b]skullfalker[/b]" was split from this topic in order to create a new one: "[url="http://www.gamedev.net/topic/630556-new-to-programming-learning-c/"]New to programming -- learning C#[/url]".
0

Share this post


Link to post
Share on other sites
Hi, everyone

[quote name='natescham' timestamp='1346274528' post='4974575']
What version of VIsual Studio are you using,
and what is the current cersion of C# that you are learning??
[/quote]

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! [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img]

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 Edited by 3Ddreamer
0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0