Hey all,
So, I've done a bit of programming before with actionscript 3 in flash, and I was decent at it. Understood it. But, now I want to try and learn a bit more advanced stuff so I can possibly prototype a game idea I have.
Ive done a bit of research, and I think I have decided to go with c# (c++ seems a little out of my league right now). So, I was wondering if anyone knows any good tutorials / books / online resources / forums for it.
Any help / suggestions would be greatly appreciated.
Cheers
Replies
Im not a huge 2d guy, but I do want to do a duel stick shooter type game, and I think 2d may be better suited. so maybe java would be best. hhmmmmm
That said, I found it really easy to learn C#. However, I believe the new Kismet system for UE4 is going to be C++, if that is something you plan on using.
MIT has some open course ware online with free lectures that use Python.
http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00sc-introduction-to-computer-science-and-programming-spring-2011/
[ame="http://www.amazon.co.uk/Programming-Key-Aspiring-Programmers-Pro-Developer/dp/0735618003/ref=sr_1_1?ie=UTF8&qid=1355245055&sr=8-1"]Programming in the Key of C#: A Primer for Aspiring Programmers Pro-Developer: Amazon.co.uk: Petzold Charles, Charles Petzold: Books[/ame]
Once you've gotten through that, you can easily pick up on XNA / UDK or something similar.
[ame="http://www.amazon.com/Head-First-C-Andrew-Stellman/dp/0596514824/ref=sr_1_1?ie=UTF8&qid=1355244937&sr=8-1&keywords=head+first+c#"]Amazon.com: Head First C# (9780596514822): Andrew Stellman, Jennifer Greene: Books[/ame]
If it's anything like the Java version, it will definitely not get into anything too complex, but as a first look at the language it should be a quick and informative read.
But they have tons of videos on different subjects, a lot of them free or buy a member sponsor ship and get it all, pretty cheap as well
http://www.3dbuzz.com/vbforum/sv_videonav.php?fid=0ff61b695c6bdfd1a409d4e94c13ae33
Anyway, as far as tutorials go, I liked many of the video tutorials that MS offers: http://www.asp.net/web-forms/videos
I find the video tutorials to be much better than someone's text on a blog. The main reason being, most text tutorials seem to suddenly leap over steps, and assume you know what they are now referring to. With the video tutorials, you get to see what menu items are clicked, and where the user navigated in Visual Studio.
Also, you may want to create a small project idea. A small app that maybe already exists, but helps give you purpose to your project, even if you don't use it later. I've always found that more helpful then some generic example from the web.
And a good book is always nice to have for quick reference. Especially if you don't have dual monitors.
You can always ask here for help too, if you have any questions. I'm willing to throw in some help whenever I can. I worked with C# for several years. Right now, I'm doing mostly VB.net, because my new employer favors it, but I still prefer C#
C -> low level procedural small fast but difficult to use for large projects language. Almost everything is done by working directly with memory addresses in the form of pointers, even string manipulation.
C++ -> C with classes and other OO stuff. A bit messy in my opinion, neither a "clean" OO language, nor a low-level procedural language.
C# -> A lot closer to Java than C or C++, C# is a "clean" OO language that mostly exists as an interpreter for Microsoft's CIL. (though alternate implementations such as Mono exist for Linux/Mac)
C# is nothing like C at all, while C++ can be used like C# but often isn't.
So, Ive seen a little bit of about C++ being a low level language, and it makes for a faster game. But, just how much faster is it? Like, if I use C#, will my game feel slow and laggy, or will it just not be good for multiplayer, or what? Again, its only a small twin stick shooter, but will have lots and lots of enemies on screen
C# is pretty fast as it compiles to native code when executed which might actually be faster than compiled C/C++ binaries as it knows exactly which machine it's building the program for. However, it has many pitfalls such as boxing and garbage collection you can fall down which will murder performance if you don't know about them and can be hard to debug even with profiling tools.
I think you're safe making a game in C#, especially if you're using MS's XNA. Let's face it, you're probably not making the next Halo/Gods of War/Battlefield, so you're not likely to really stress the system. When you get to the point where you REALLY need that low level code, to get the most performance, you can THEN look into the other variants of C.
http://www.riemers.net/
I would also recomend getting a good book aswell. For me, reading about something while removed from my PC helped me a lot. At the very least, you can't copy and paste so it will force you to type it all out.
http://programming-motherfucker.com/become.html
And MSDN.
If you're still interested in XNA though there's: http://gamedev.tutsplus.com/articles/how-to-learn/how-to-learn-xna/
EDIT:
There's also the .net binding for SFML2 if you want something a bit lower level than a full blown engine like Unity. http://www.sfml-dev.org/
EDIT: Another website would be www.gamedev.net