Download
|
Video |
Type |
Contents |
Length |
Download |
|---|---|---|---|---|
|
1 |
Theory |
Introduction – What you’ll need. |
12:54 |
Pack 1 |
|
2 |
Practice |
Installation – Downloading and installing Visual C# and XNA Game Studio Express. |
14:49 |
|
|
3 |
Theory |
Code Structure – Crash course in C# code. |
18:34 |
Pack 2 |
|
4 |
Practice |
Program.cs – Code which starts the program. |
21:13 |
|
|
5 |
Theory |
Vocabulary – Review of C# terminology. |
5:13 |
|
|
6 |
Theory |
Object Orientation – Encapsulation, Inheritance, Polymorphism |
14:20 |
Pack 3 |
|
7 |
Practice |
Engine.cs – Engine class inheriting from Game class. |
14:23 |
|
|
8 |
Theory |
XNA Structure – Constructor, Initialize, Update, Draw. |
4:14 |
|
|
9 |
Practice |
Engine.cs – Overriding Main Methods. |
3:08 |
|
|
10 |
Theory |
Vocabulary – Review of C# and XNA terminology. |
6:57 |
|
|
11 |
Theory |
Expressions and Operators – Assignment, Relational and Logical Operators. |
9:18 |
Pack 4 |
|
12 |
Theory |
Graphics – Loading, reloading, and displaying graphics. |
6:38 |
|
|
13 |
Practice |
Graphics Engine.cs – Loading, reloading, and displaying graphics. |
23:56 |
|
|
14 |
Theory |
Using – Using Directives and Using Statements. |
7:07 |
|
|
15 |
Practice |
Engine.cs and Program.cs – Using Directives in Engine.cs and Using Statements in Program.cs. |
3:14 |
|
|
16 |
Theory |
Naming Datatypes – Naming Conventions, Value and Reference Types, Heap and Stack. |
12:47 |
Pack 5 |
|
17 |
Practice |
Image.cs – New Image class, encapsulating drawing an image. |
49:37 |
|
|
18 |
Theory |
Properties – Public Properties and Private Fields. |
6:49 |
Pack 6 |
|
19 |
Practice |
Mouse.cs – New Mouse class, encapsulating mouse input and cursor output. |
28:23 |
|
|
20 |
Theory |
Design Question Session – First design decisions explained. |
18:45 |
|
|
21 |
Theory |
Casting, Operators, While and For - Implicit and Explicit Casting, Increment and Decrement Operators, Assignment Operators, While and For Loops. |
9:59 |
Pack 7 |
|
22 |
Practice |
CalculateSource - Extract a single sprite from a sprite sheet. |
19:07 |
|
|
23 |
Theory |
Generics and Type Parameters - Generics, Type Parameters, and the .Net Generic List. |
5:25 |
|
|
24 |
Practice |
Animation.cs - Uses a Generic List to store several frames of an animation, in an Animation class which inherits from the Image class. |
33:15 |
Pack 8 |
|
25 |
Theory |
.Net and C# Vocabulary - Some less-important vocabulary of .Net and C#, such as assemblies and the different parts of IntelliSense. |
10:39 |
|
|
26 |
Theory |
Execution Pattern – The overall execution flow of the application. |
12.36 |
Pack 9 |
|
27 |
Theory |
Farseer Singleton – Inside Farseer Physics and the Singleton Pattern.. |
22.21 |
|
|
28 |
Practice |
Farseer.cs Singleton – Farseer.cs is a Physics Engine Singleton.. |
11.11 |
|
|
29 |
Practice |
Sprite.cs – Sprite.cs links physics to graphics.. |
22.39 |
|
|
30 |
Practice |
Commenting – Integrate comments with IntelliSense.. |
7.46 |
I made the above videos for Microsoft Windows Media Player, but they work fine in Media Player Classic or VLC Player too.
If you have problems with the above packs, try these, for Macromedia Flash:
Pack 1 - Pack 2 - Pack 3 - Pack 4 - Pack 5 - Pack 6 - Pack 7 - Pack 8 - Pack 9
Theory - The C# Language - Skip if you already know C#.
Practice - The XNA Framework - Skip if you already know XNA.
The code has been tested with XNA Game Studio 1.0, and compiled fine on my computer. Let me know if there are problems for you.
Old Series
I started on a similar serie of videos for XNA beta 1, before starting over with the final version. If you can stand a few quirks, it’s still available:
1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13
on November 25th, 2006 at 9:18 am
[…] I’ve made a beta of a download page, where you can access all of my video tutorials. Let me know if you have an idea for a better layout. […]
on November 25th, 2006 at 10:05 am
Excellent tutorials not only covering XNA but also some extremely important fundamentals on the C# language that everybody will be coding their XNA games in. I would imagine there will be just as many people new to C# and programming in general as there are experienced programmers who are just new to XNA and game programming.
Here’s food for though though. Of all the beginner tutorials I see on XNA game programming, the majority of them approach their objectives of teaching people how to code games from quite an unsound point…that is, starting to write code straight away.
I’m a relatively new programmer too and EVERY book I see keeps telling me how important it is to first use established practices for planning your approach to creating a program before your fingers even touch the keyboard. Presumably this topic is covered by books on Object-Oriented Analysis and Object-Ooriented Design?
Now when an author is presenting small bite-size examples of code purely for demonmstrating language syntax and various elements, such as this series of tutorials does, then there is probably no need for initial planning discussions because the code samples are fairly trivial and stand-alone, making them easy to visualise even fior beginners.
However, programming a game is no easy task and yet all beginner tutorials that discuss actual game coding and present extenisve code to type in (including the Game Starter Kits themselves), completely neglect to discuss the planning stages beforehand. I often find myself asking questions such as
“Why did the author decide on the structure of the collection of classes the game uses?”
“How did they decide on their design of data structures?”
“How did they come up with their algorithms?”
“How do I envisage the game program flow and design the game classes based on this knowledge?”
It seems beginners are thus required to learn about good program design and planning principles purely by having to reverse-engineer the author’s design decisions from the code itself.
Surely there’s a need for tutorial authors to begin covering important steps and techniques they used in designing the programs they present in their tutorials as part of the tutorial itself?
Something to think about at least
Kudos to Joran for his approach to these tutorials ,as he explains some important concepts as to they why’s of coding as well as the how’s. Can’t wait to se emore of his work and, maybe, even coverage on good techniques for program design and planning
on November 25th, 2006 at 11:19 pm
darrenecm: “Excellent tutorials not only covering XNA but also some extremely important fundamentals on the C# language that everybody will be coding their XNA games in. I would imagine there will be just as many people new to C# and programming in general as there are experienced programmers who are just new to XNA and game programming.”
Knowing how to program C# is more important, so for me XNA is secondary - XNA is just a tool to learn to program in a fun way.
I chose XNA because I believe that by the time I am finished, two three years from now, professional studios will use managed languages and managed frameworks. The overhead for using C# compared to a managed wrapper around C++ (be that C++/CLI or your own wrapper) is already negligible, and will be even more so three years from now.
Quake III was the last game idSoftware wrote in C. After that, games became too complex, so not even Carmack could handle it. The Doom III engine was done in C++, because it was so complex that only object oriented programming made them possible. Note the differences when interacting with your environment in Quake III and Doom III for an example.
Blizzard, arguably the greatest game house out there, have been using object oriented programming for a long time. Starcraft, Diablo, Warcraft III and World of Warcraft were all done in C++, solely for its object orientation.
But, C++ was not designed for object oriented programming. It was added later, and now the language is a bit messy to code in.
I’m betting that the next step is to move to a language which was designed from the ground up for object oriented programming. I’m also saying that managed code makes your framerate drop from 60 FPS to 58. Considering the benefits, that’s worth it already today. Five years from now, it will rule the game development houses.
XNA is managed C#, managed DirectX, and managed .Net. C# JIT compiles to optimize for your computer.
Not only am I digressing, I’m rambling too… (c: Back to the point.
darrenecm: “Here’s food for though though. Of all the beginner tutorials I see on XNA game programming, the majority of them approach their objectives of teaching people how to code games from quite an unsound point…that is, starting to write code straight away. I’m a relatively new programmer too and EVERY book I see keeps telling me how important it is to first use established practices for planning your approach to creating a program before your fingers even touch the keyboard. Presumably this topic is covered by books on Object-Oriented Analysis and Object-Oriented Design?”
I agree with you. There is one other consideration I’d like to add, though. My series starts with installing programs, next teaching the basics of what computer code is, and then introducing what object oriented programming is. All this takes about an hour. Not until after explaining what OOP is, could I jump to design. But I don’t.
People switch channel on their TVs roughly fifteen million times per hour. (c: Arguably, these videos don’t compare to channel surfing, but still, people have short attention spans. If I wouldn’t at least display a box on screen within the two first hours of videos, nobody would keep watching.
darrenecm: “However, programming a game is no easy task and yet all beginner tutorials that discuss actual game coding and present extensive code to type in (including the Game Starter Kits themselves), completely neglect to discuss the planning stages beforehand.”
I still agree with you. (c: I want to do what you are saying, but feel that I would lose people. The compromise I’m making is that there will be a few things happening on screen first, such as a mouse cursor and possibly an animation. After that, I’ll take the time to draw up some design charts, explaining where this is going, and why.
darrenecm: “I often find myself asking questions such as
‘Why did the author decide on the structure of the collection of classes the game uses?’
‘How did they decide on their design of data structures?’
‘How did they come up with their algorithms?’
‘How do I envisage the game program flow and design the game classes based on this knowledge?’”
These are good questions. I’ll make note of them, and bring them up as soon as possible. Thank you!
darrenecm: “Kudos to Joran for his approach to these tutorials, as he explains some important concepts as to the why’s of coding as well as the how’s. Can’t wait to see more of his work and, maybe, even coverage on good techniques for program design and planning.”
Check out pack 5 after I publish it this coming week, and you might find something you like there. (c:
Cheers!
Joran
on November 25th, 2006 at 11:26 pm
Oh, I’d like to add one more thing. I haven’t made any design decisions yet. (c:
All the code so far is the code you get when you start a new XNA game template, with a little bit added from the MSDN-included You First Game Tutorial.
The only real decision I’ve made was the Image class, and hopefully it was pretty clear why I did that.
Cheers!
Joran
on November 26th, 2006 at 2:25 pm
I agree whole-heartedly with darrenecm.
Fantastic tutorials, Joran! I am very impressed with your introduction to the XNA framework via Object Oriented Programming and encapsulation. It’s such a relief to see some video tutorials that take the time to set up code properly, instead of rushing in and putting all the game code into one class (which a lot of tutorials on the internet seem to encourage).
I am just a hobbyist programmer, so I didn’t really know much about how code should be written to flow together and how to encapsulate it. I’d been looking for examples of how to write my code to act as a reusable ‘game engine’, much like Popcap’s SexyApp Framework (developer.popcap.com). And I think that your video tutorials are the answer!
I applaud you for your efforts, and I will eagerly be awaiting future developments in the tutorial series.
Ryan.
on November 27th, 2006 at 7:16 am
Well I have to agree with darrenecm on most of what he says and Joran I understand what your saying about people not watching. However, I think that it would be a good idea for a video on design of an game without any coding. I think maybe it would make more sense that it come later in the series though so that people will watch it. Get all the cool stuff out of the way and then bring up the design. By the time most people get through the series I think they would be ready for a little boring, but useful design theory.
One of the most overlook things in programming tutorials is design. After many years in programming and having to hire new programmers, I found a major flaw nearly *all* of them have is no training in design. Most just sit down and start coding. Now if your the only programmer or maybe there is one other programmer that can be ok to do. However, when you work on a team of 7 or 20 or whatever #, the design part of developing *any* program becomes very important and something that seems to be missed over.
on November 29th, 2006 at 9:26 am
Just downloaded the 4th pack lessons 11-15 and can’t wait to see them. I have poked around trying to learn coding for games for a few years but trying to DIY with a copy of SAMS Learn it in 21 Days just didn’t cut it. Your video tutorials and your own beginner status has reinspired me to try alot harder with easier tools.
In response to the comments above, I have to agree that managed (ala modular) code is definately the way developers are headed. This is a great time to pick up the new technology if anyone has plans for working with some of the developers (or for themselves).
I also agree that having a head for design is critical. Without a plan for development a person can sit spinning their wheels for eternity if they don’t fall out from discouragement. Let me drop in a little “general planner” that hopefully might help a bit.
THE DEVELOPMENT CYCLE
Concept:
> Sketch out game screen activity ideas
> Define expected A.I. behavior
> Create basic game asset (GUI, models, music, etc.) prototypes
Design:
> Collaborate with entire design team
> Layout a storyboard approach with asset placement
> Incorporate visual expectations
Development:
> Integrate GUI to game engine
> Incorporate runtime A.I. behavior
> Incorporate all game assets
Testing:
> Debug asset behavior thru gameplay
> Test remore connectivity
> Use Beta player testing
Release:
> Resolve release format (PC or xBox or both)
> Check for any copyright infringements
> Select distribution sources
Support:
> Provide support website & forums
> Accept input from fan base
> Resolve software/hardware conflicts
… and that’s it.
Alot for any do it yourselfer but that’s why work like Joran’s and others in the community is so important. They help to provide vital tools, the bulk of which is basic knowledge. So, thanks for your efforts and keep up the good work.
L8r
on December 2nd, 2006 at 1:42 pm
I appreciate your effort.
However,
Why do you call this an XNA tutorial? So far I have gone through four tutorials and all you have produced is one sprite on the screen. This information is available MSDN. I would of preferred if you spent less time telling me what a variable is and more on how to use XNA.
I mean there are plenty of resources out there on the net telling people what namespaces, using directives, variables, statements and expressions are and not many showing you how to use XNA.
Why dont you write a camera component or a terrain component or something useful!
on December 3rd, 2006 at 5:56 am
Gruddo: “Why do you call this an XNA tutorial?”
To answer your question: it will be about XNA.
Gruddo: “So far I have gone through four tutorials and all you have produced is one sprite on the screen.”
Yes, I agree, so far. However, I’m in this for the long run. This means that when there are forty packs up here, a year from now, then you’ll see that there’s plenty of stuff about XNA in there.
There was an earlier effort, which got a bit further, using XNA beta 1. But because of the changes in the framework, I decided to start over. Sorry, but what with Chrismas and real life, it’s not going as fast as some would like.
Seeing as how good you are with programming already, maybe you would find the old series more useful, as they do a bit more. I’ll add links to them below the packs at the top of this page as soon as I finish writing this comment.
Gruddo: “I mean there are plenty of resources out there on the net telling people what namespaces, using directives, variables, statements and expressions are”
Yes, there are plenty of those. There are none of them which are fun, though. Mine is fun, because it teaches programming using XNA instead of a ‘customer retention software solution’ or some other sleeping pill.
Gruddo: “This information is available MSDN. I would of preferred if you spent less time telling me what a variable is and more on how to use XNA.”
You seem like you know what you’re doing. What are you doing over here then? Let me quote myself: “XNAtutorial.com provides video instructions for beginners wanting to get into game programming.”
The point I’m trying to make is that this site is for beginners, not for Gruddo, because he should be helping me out instead of the other way arouund. (c:
Gruddo: “Why dont you write a camera component or a terrain component or something useful!”
I will. This game will have a camera component eventually. But since I’m starting from the beginnig, there are some things which need to be explained first. The camera component is on it’s way as well, but much further up the stream.
Gruddo: “I appreciate your effort.”
I hope that didn’t come out wrong. I’m in no way thinking you’re considering me doing something wrong, just that this site is not for you - you’re too good, Grasshopper. (c:
Cheers!
Joran
on December 3rd, 2006 at 5:59 am
Ken, thank you for that schedule, and thank you for putting in the effort to type it up!
It is a good summary. I especially like how you give equal spacing to both development and post-development acitivities - a lot of people seem to thinkn they are done some they can play the game on their own machine.
They don’t even realize that for a small indie title the start menus and configuration options may take as long as the actual game they wrap around…. But I digress, as usual.
I’ll definitely incorporate something similar in the tutorials, much borrowed from your great outline.
Thanks, and cheers!
Joran
on December 3rd, 2006 at 7:50 am
Oh, one more thing. For those of you, like Gruddo, who are only interested in half of the subject I’m getting into, learn to read the keywords ‘theory’ and ‘practice’.
Videos labeled ‘theory’ are goin to be mostly about the C# language.
In videos labeled ‘practice’, I’ll try to stick to only XNA.
Skip the half that don’t interest you.
Cheers!
Joran
on December 3rd, 2006 at 11:39 pm
[…] There is still a download page, which will be integrated into the new layout, whenever I get that done. My parents showed up early for the Christmas gathering, so there has been some sightseeing and a lot of catching up to do this last week. Fun, fun! […]
on December 4th, 2006 at 6:15 pm
I really enjoyed tutorial 5. Especially the explanation of the By Ref “This way up” and “fragile” textures. I watched your previous tutorials as you suggested they were very helpful. I look forward to tutorial 6.
on December 7th, 2006 at 12:41 am
Gruddo: “I really enjoyed tutorial 5.”
Thank you. I’m trying to make them worth the time of those who watched the beta 1 series. Christmas is family time, so tutorial pack 6 will be out before Christmas, but don’t expect pack 7 during the end of December.
Cheers!
Joran
on December 9th, 2006 at 3:43 pm
I just bought two great books on the aspects of object-oriented program design and planning called:
‘The Object Oriented Thought Process’ by Matt Weisfeld and published by Developor’s Library.
‘Code Complete’ (2nd edition) by Steve McConnel and published by Microsoft Press.
If, like me, you don’t have a formal education in object-oriented programming, you will find these two books invaluable to better understanding how to analyse design object-oriented programs before you put fingers to keyboard.
Weisfeld’s book is for newcomers and covers the fundamentals brilliantly. Code Complete is the next step up to furthering your knowledge and contains some truly brilliant insights into good coding practices and program architecture and design.
Time to download Pack 5 and start practising learning more
on December 9th, 2006 at 8:01 pm
Good tips! Thank you. I’ll be sure to check them out. I recognize the name Matt Weisfield, so it must be good. (c:
Cheers!
Joran
on December 12th, 2006 at 11:06 pm
great tutorial. thanks for taking the time out to do it.
on December 13th, 2006 at 9:03 am
[…] — Download videos — […]
on December 13th, 2006 at 3:18 pm
Great tutorials!
Can’t wait for farseer physics to get involved.So when we finish 2D game, we will not only get a game, but a nice 2d easy to use engine!
I guess your Microsoft’s MVP for XNA is on the way…
Cheers
-Stefan
on December 13th, 2006 at 7:51 pm
streetpriest: “great tutorial. thanks for taking the time out to do it.”
Thank you for taking the time to comment!
Stefan: “I guess your Microsoft’s MVP for XNA is on the way…”
Not that important to me, but it would be fun. I don’t consider myself having done enough, though, but maybe 2008.
Anyway, there are plenty of people more deserving, which should be nominated before me:
- Gregory Wurm for LearnXNA.com and video tutorials.
- Mark Coffman for Xbox360Homebrew.com and audio tutorials.
- The Jaegers for XNAresources.com and tile tutorials.
- Derek Nedelman for ThreeSixBox.com and 3D tutorials.
- George Clingerman XNAdevelopment.com, state tutorials, and being active on the MSDN forums.
- Bill Reiss for xna101.net and a long series of tutorials.
- Glenn Wilson for virtualrealm.com.au, tutorials, and being active on the MSDN forums.
- Michael Morton for ZiggyWare.com and a million tutorials.
Some of these are already MVPs in other cateogries, but I’ve already emailed the MVP team about many of these people, and I suggest you do the same with your favorites. They should get the MVP award before me.
Cheers!
Joran
on December 14th, 2006 at 1:54 pm
I just finished watching Tutorial Pack 5 and things get better and clearer with each tutorial release. I’m certainly grasping lots of things much faster thanks to Joran’s videos than I do from most commercial books on game programming.
Big thanks to Joran for his continuing work on these tuts.
In keeping with my previous comments above on recommending really cool programming books to enhance understanding of concepts that Joran covers in his videos, might I also suggest the following book to everyone, which arrived today courtesy of my friendly neighbourhood Amazon.co.uk courier:
‘Game Architecture and Design - A New Edition’, by Andrew Rollins & Dave Morris and published by New Riders.
This 900-plus pahe chunky tome has LOTS of very good tips and topics on how object-oriented games are structured - which I would imagine will further enhance everyone’s understanding of Joran’s tutorials. There’s a particularly interesting and thorough explanation on how game loop timing works, which should help everyone understand the importance of the GameTime concepts that XNA features, and which Joran covered nicely in Tutorial Pack 5
on December 15th, 2006 at 7:29 am
darrenecm: “Game Architecture and Design - A New Edition”
That’s a new one. I’ll be sure to check it out. Thanks!
Cheers!
Joran
on December 20th, 2006 at 3:23 pm
Jöran,
Let me start by saying, excellent videos. Great job on them.. I have been programming in many languages but never in any game type situations.
I am a newbie to C#. Listening and seeing your videos are a great start. I have some questions though!
1. When do you know what types of commands you shopuld be using in order to get a task done? Meaning, I want to have c# load my background for the game and display on the screen. Take this in babby steps.
2. Using all these new methods. Is there a list of all of them in alphibetical order? I looked on the website and in my books and in the help files for c#, but it is either very hard to understand that 10 things are happening in one statement and what are the actually parts that are what a programer chooses to name something vers the built in commands?
This seems to be the point at which I am stuck at. Know what to use and what the syntax is.
Is it possible to get a 3d game for download fully functionable to look at and make changes to? I ould like to take steps to see how each methid can be used. How do you know if your going to need to use an int or sttring or something? What keys you in when you say ok my game is going to do this this and this?
It just seems to get very over whelming at times. Not as strange forward as programing a windows application or database where you can make some code show you on screen what you are tring to accomplish.
Ok any help is greatly appreciated. Take care.
P.S. What is the best way and product to understand how to draw and use 3d graphics for charaters and the tools. And once you get the drawing how do you import or export to c#? See so many questions?
on December 24th, 2006 at 2:24 am
Hope I understand your questions correctly - I’ve rewritten them as I understand them.
Nick: “‘How do you know what commands to use?”
1. I come up with an idea of what I want to accomplish.
2. I abstract the idea into a general class - trying to understand the big picture.
3. I determine a few key words to describe the class, very much like when searching in Google.
4. I search MSDN for a class which does what I want.
5. I go up through the namespaces to find what I’m looking for.
6. If there is no class, I go to Google and search again.
Like this:
1. Idea: “I need a per-pixel collision detection method.”
2. Big picture: “This might be available in a sprite class.”
3. Search string: “sprite collision”
4. MSDN returns: A bounding box class, which has a method called Intersects(). It does pretty much what I want, except it is not pixel-perfect.
5. I click on the namespace which contains the bounding box. Here I find that there is a bounding box and a bounding sphere, but nothing about a pixel-perfect, bounding polygon.
6. I search for “XNA pixel collision detection” over at Google. Google returns ziggyware.com’s excellent tutorials.
Nick: “How do I load and display a background?”
1. I would go to a very basic tutorial, such as the one included in XNA as ‘You First Game’.
2. I would read it through, and understand what it does, and why.
3. If necessary, I look up every method in MSDN.
4. I know what methods I don’t need to look up in the MSDN help system, because the are declared in the little sample I have in front of me.
5. When I do understand the whole sample, it is easy to modify it to use a bigger texture, and cover the entire background.
Nick: “Is there a list of all methods in alphabetical order?”
1. The MSDN help system does a pretty good job at this.
2. If you don’t like that, maybe Reflector is for you.
Nick: “How do I find out which are the programmer’s variables and methods, and which are part of the framework?”
1. I place my caret on top of the method name, and hit F12.
2. Then Visual C# takes me to the place where it was defined, if it was made by the programmer.
3. If such a place doesn’t exist, the method must have been part of XNA/.NET. So, I hit F1 instead.
4. Then Visual C# fires up the MSDN help system, and takes me to it’s help section.
Nick: “Is there an XNA 3D game with full source available?”
1. If you want to have you hand held all the way, maybe Bill Reiss’s xna101.net or Riemer Grootjans’ riemers.net is for you.
2. If you just want to play with something finished, maybe Johnny Lightbulb’s Strange Things suits you better.
Nick: “How do you know when to use an int, and when a float?”
If I am to store something which will only use integers, I use an integer, and vice versa.
Basically, it is the same thing as if you do something on paper. If I am to design a house, and I need to calculate how thick to make the bearing wall, I wouldn’t strip the decimals off of the result I get on the calculator.
On the other hand, if I count sheep at night, I don’t count one-point-oh, two-point-oh, etc.
As for using a float or a double - in the beginning, just use whatever you feel like. Eventually, you will go back and read up on the details, and by then other things will be so clear that you understand right away.
Nick: “Which 3D modeling program is easiest to use/learn and makes me understand 3D?”
I’d say that Blender is the one to use. It’s not super-easy to figure out, but do visit Greybeard’s video tutorials site, and you can figure it out:
Blender does give you one great benefit - it is written directly on top of OpenGL. Because of this, you will learn a lot about local space, global space, shaders, and so on. This will transfer right over to programming later on.
Hope that helps.
Holiday cheers!
Joran
on December 24th, 2006 at 8:01 am
Nick!
Abi just released Rocket Commander in an XNA version:
http://exdream.no-ip.info/blog/PermaLink.aspx?guid=442152d0-a014-47de-b9b1-4e8aed1d9bd3
It’s one of the best resources out there, because it comes with a bunch of video tutorials to explain the code, albeit the old pre-XNA code:
http://msdn.microsoft.com/coding4fun/gaming/arcade/article.aspx?articleid=997852&title=Rocket+Commander+Tutorials
Joran
on December 25th, 2006 at 7:41 am
[…] 6.学习 XNA ,这里提供了一个 XNA 初级教程。 […]
on December 27th, 2006 at 12:49 pm
[…] Fiercedeveloper.com posted the 10 steps to start developing homebrew games for the Xbox360 with Microsoft’s (’free’) XNA Game Studio Express released earlier this week:[QUOTE]1. GET C# Express!2. GET XNA Game Studio Express!3. Download the XNA Framework4. Learn C#! (here or here)5. Check out the sample programs!6. Learn XNA!7. Learn more XNA!8. Make Pong!9. Look at sample code! (from xnaspot.com, xbox360homebrew.com or xnaresources.com)10. Join the Creator Club to get your game onto the xBOX![/QUOTE] […]
on January 2nd, 2007 at 3:59 am
Thanks for your hard work. These tutorials are excellent.
on January 3rd, 2007 at 8:26 am
…loving the tutorials, you’re doing a great job
Thanks a million…
on January 3rd, 2007 at 8:41 am
hi
seems that pack9 links to http://xnatutorial.com/xnatutorial.com.pack3.object.orientation.zip
link @ home site is correct though
love your work! thx a lot
peter
on January 3rd, 2007 at 1:17 pm
Congratulations Mr. Jöran for your wonderful tutorials …I think you are the first person who makes VTM’s as a full series - with your video’s I learn XNA much faster ..and it’s fun…it will also be cool if you can create a series on 3d graphics for Windows ..with
I don’t know…loading a character, controlling i,t give it physic properties this kind of stuff. Once again congratulations >:D
on January 3rd, 2007 at 8:37 pm
[…] — Download videos — […]
on January 3rd, 2007 at 9:15 pm
Peter, thank you for pointing it out. I’ve fixed now.
Alex C, thank you for your praise. I’m glad I make your life easier. 3D is coming, but it’s a long way off still.
Cheers!
Joran
on January 3rd, 2007 at 9:42 pm
Wow, just wow. I have watched alot so far, and it is probably the best tutorials for any language. I am learning off of it. Great job.
on January 4th, 2007 at 9:08 am
Joran, I was wondering how you create your videos. What software do you use?
Thanks
on January 4th, 2007 at 10:11 am
I started out using CamStudio, which is a free SourceForge project.
http://sourceforge.net/projects/camstudio/
It was great, just click record, and off you were. However, some people reported that the videos lost audio-video syncronization after a while, so I quit using it.
Instead, I invested in Camtasia, which is, as far as I know, the only solution worthy of your money. It is a complete package, both for recording and editing. I have version three, but there is a version four out in a trial version, which I’m considering upgrading to.
http://www.techsmith.com/camtasia.asp
If you have the time, download both CamStudio and Camtasia, and look at the similarities. I think somebody was studying the source code a bit too much…
Cheers!
Joran
on January 4th, 2007 at 12:49 pm
Thanks for these! They are really helping me get back into programming after a 10 year hiatus. Please keep em coming…
on January 4th, 2007 at 2:29 pm
Just wanted to say thanks to joran for all these great tutorials. I’m really learning alot from them.
keep up the good work.
on January 5th, 2007 at 10:23 pm
Thank you for the great effort
Maan Ashgar
on January 5th, 2007 at 11:05 pm
Just wanted to say thx joran for the tuts. great starter resource.
on January 6th, 2007 at 8:43 pm
Just to say thanks and a Happy New Year to you!
on January 7th, 2007 at 3:45 am
Hi
Thanks for helping me out in xna
http://www.newsxna.com
on January 10th, 2007 at 12:20 pm
Hi again Joran…
I very much enjoyed your your explaination of stack & heap memory… it leads me to a question about the image class in video 17:
If I understand correctly, the declarations as below set up variables on the stack?
private SpriteBatch spriteBatch;
private Texture2D texture;
private Vector2 position;
private Rectangle source;
private Color color;
private float rotation;
private Vector2 origin;
private Vector2 scale;
private SpriteEffects effects;
private float layer;
further down the code, I believe the objects themselves are created on the heap & linked to the stack variables?
this.position = new Vector2(100, 100);
this.source = new Rectangle(0, 0, 128, 128);
this.color = Color.White;
this.rotation = 0f;
this.origin = new Vector2(source.Width/2, source.Height/2);
this.scale = Vector2.One;
this.effects = SpriteEffects.None;
this.layer = 0.5f;
My Question:
When the “new” keyword is NOT used, is it because a class parameter is invoked, thereby creating the object without he need for “new”?
i.e
position is a vector2 type, created with “new”
scale is also a vector2 type, but “new” not used
Thanks again for a great set of learning aids
Chris Johnson
on January 11th, 2007 at 6:07 am
Chris Johnson:
on the stack?
private SpriteBatch;
private float rotation;
Joran:
Sounds about right. The stack only holds the 32 bit “page number” of where on the heap there will be a SpriteBatch later on.
However, the rotation floating point number is so small, that it fits straight on the stack.
Chris Johnson:
the objects themselves are created on the heap & linked to the stack variables?
Joran:
The heap contains objects, because they are too big to fit on the stack. So, that sounds pretty good, that the SpriteBatch lives on the heap, with a page number on the stack. The variable rotation stores the value straight on the stack, and never uses the heap.
Chris Johnson:
this.position = new Vector2(100, 100);
this.scale = Vector2.One;
Joran:
Well, position = new Vector() first fills the heap with a vector, then calls the constructor, passing it 100, 100.
On the other hand, scale = vector2.one uses the code already packed up and placed on the heap, as a separate object. It calls the One property accessor method. The code inside looks something like this (simplified):
static Vector2 One { get { return new Vector(1, 1); } }
Any static method is instantiated and placed on the heap when the game starts up.
I hope I understood your question. Ask again otherwise. I really ought to get that forum finished…
Cheers!
Joran
on January 15th, 2007 at 3:39 am
Hi, just want to say thanks for the great tutorials, especially for taking time to explain everything in the theory lessons.
I started programming by teaching myself Java about six months ago and now switched to C# to use XNA and since I started programming there has been a lot of thing that were unclear to me and your tutorials have cleared a lot of that up as well as teach me new things and programming techniques that I never even thought about before.
So, thanks again.
on January 15th, 2007 at 12:55 pm
These tutorials are unbelievably fantastic. The explanations are fully detailed leaving no question unanswered. I couldn’t be more happy with them.
PLEASE continue to produce them!
Maybe you should put a paypal donate link on the site to help with your effort?
Thanks so much.
on January 17th, 2007 at 7:46 pm
These are great tutorials, thanks much for making them.
I’ve run into a bit of a problem though, on the 13th video where you write the path to the image you want to show up, Visual C# express says that it cannot find the file. The code mirrors yours exactly (except for the image name) and I’ve done everything else fine too. It compiles without any problem but this. Help please?
I wasn’t really sure where to go for help, but I don’t like that something that should be really minor is holding me up. Sorry if this is a problem…
on January 17th, 2007 at 9:07 pm
(a) Did you “Add Existing…” your new image?
(b) Or did you just change the asset name in the LoadGraphicsContent method?
If you did (b), you need to do (a). The Content Pipeline will process the image you add when you push it through “Add Existing…”, even changing it from a gif or jpeg to a native XNA format.
If you did (a), I’d like you to flesh out your description of “I’ve done everything else fine too”, unless someone else chimes in with an idea.
Hope it helps.
Cheers!
Joran
on January 18th, 2007 at 11:43 am
Fantastic work dude.
Your video tutorials are very much appreciated!!
Keep ‘em coming!
Cheers.
on January 19th, 2007 at 5:17 am
Thank you very much for these great Tutorials Jöran!
It is nice to see someone who takes their time and actually explain all the expresions and consepts you use, and dont leave anything behind. (Although you make us viewers lazy
)
Cant wait for the next release..
Until then.. Time to start using all the things we learn without having it served on a platter.
on January 19th, 2007 at 4:02 pm
Yup, I’ve done just as your video directed.
By doing everything else fine, I meant that up to this point, I’ve had absolutely no problems or unexpected errors or anything like that.
Has the syntax changed at all since that video release or anything? I’m really clueless as to what could be the problem…
I’ve just noticed that after starting the debug, I am not able to open the image from the solution explorer, instead I get a message box telling me that the parameters are incorrect. Before starting the debug, I’m able to open it. ???
Thanks for taking the time to answer me!
on January 19th, 2007 at 11:21 pm
Jess: “Has the syntax changed at all since that video release or anything?”
No, the syntax hasn’t changed since I made the video.
Jess: “I’ve just noticed that after starting the debug, I am not able to open the image from the solution explorer, instead I get a message box telling me that the parameters are incorrect. Before starting the debug, I’m able to open it. ???”
Did you set it to “Copy Always”?
Did you escape the path in LoadContentResources()?
If those don’t help, would you mind zipping up the solution and emailing it to me? It would make it easier for me to see what’s going on.
Hope it helps.
Cheers!
joran at omark dot org
on January 19th, 2007 at 11:38 pm
Like many others, I just wanted to add that I greatly appreciate your video tutorials. I’m a bit slow so I often have to rewatch them in order to keep up. I haven’t had any formal training so your basic approach is wonderful for someone like me. Thanks again and please continue with the tutorials!
on January 22nd, 2007 at 7:37 am
I have to say, these are by far the best and most thorough tutorials I’ve see, For example: Where other people fail, and just do the encapsulation, you tell us why bother with it, why it’s better and more clean. I’ve been programming C# in one year. But when I saw you videos i learnt a LOT! Thank you, I love the way you build up these videoes. especially the vocbulart bits, it’s realy inportant to understand what you’re doing later.
Keep it coming! Morten
on January 22nd, 2007 at 3:19 pm
Joran
I’ve sent you the file. I’d like to thank you for taking your time to help some random person who’s probably made some silly mistake.
It shows that you’re the real deal.
I really can’t express my gratitude.
on January 23rd, 2007 at 7:27 pm
Thanks for the file. I solved it already. Check you inbox.
Cheers!
Joran
on January 25th, 2007 at 4:56 am
Awesome tutorials..just about half way through now. Just wondering, will you be doing any more? If so when will they be coming? I’ll be abit lost once i’ve finished all the ones currnetly uploaded
Thanks again
on January 25th, 2007 at 7:32 am
Yes, I will start releasing again in February.
I’ve my family visiting from Sweden right now. As it is, all my time off form work goes to sightseeing and catching up.
The last of my family, my parents, fly home beginning of February. Then I’ll get time to turn the new code into videos.
I am programming ahead rigth now, and I’ve got a player sprite controlled by mouse and keyboard jumping around at the moment.
During the week that comes, when my parents are off on some adventure of their own, I’ll add some enemies to shoot at. And actually shooting at them.
But turning all of that into videos takes time as well. Back in November, before general Chrimstmas craziness ensued, I put out about a video per week. I expect that schedule to resume, unless they throw more work at me.
So, in essence, expect more videos during February.
on January 27th, 2007 at 6:14 pm
Just posting to thank Joran for these tutorials. They really are the best tutorials on the web as far as I’m concerned. Unlike all the other people out there, you actually explain *how* and *why* to do things, whereas most tutorials just say “Hey, we’re gonna make pong. Copy and paste all this code, and pretend you’re learning something!”
Thanks again.
on January 30th, 2007 at 1:34 am
Hello Mr. Joran .
I vary much appreciate your hard work, time, and dedication. Your providing an easy going method to learning game programming in C# - XNA. I’ve dabbled with tutorials for game programming, but as a novice, many tutorials are still to complicated for a beginner. Your tutorial series on video are the best anywhere online. I’ve went though all 30 of them and waiting patiently for new releases. I’m grateful for the service and knowledge you’ve provide us with. I’m now really learning how to program a game, and my 9 year old son can’t wait to play it. This is far better than coding html-asp WebPages I’m use to doing.
Thank You.
Richard
Glendale,AZ
on January 31st, 2007 at 2:34 pm
Hello Joran,
I thought that the videos were really helpful, they helped me learn basic concepts and idea’s fairly easily. If there was some visual representation of what is going on then it would make it sick a bit better. Other than that, these tuturials are the best on the net.
on January 31st, 2007 at 8:20 pm
Vishal: “If there was some visual representation of what is going on then it would make it sick a bit better.”
I’d be happy to oblige, but you’ll have to specify a bit what you mean with (a) “visual representation” and (b) “what is going on”.
(a) I thought that the fact that it was a video was a visual representation. (c:
(b) I need to know what part is not shown, so I can add that.
Cheers!
Joran
on February 1st, 2007 at 5:32 pm
Mr.Joran
I have A problem. Being totally new to C# and XNA GSE,
I can’t seem to get the GameState into my head - ( Its dark and scary in there. lol ). I need a start to finish detailed how to for dummies on this. See, I would like to click the startup.icon The game opens in to a Splash screen for 4 seconds. kill the splash screen and go to a menu screen to set options like screen res, keyboard key layout,sound options, player options. once set by user. they can chose to play one of many map levels they want. The only tutorials on making levels and menus require GameState. but the tutorials are for people that have lots of programming experience, years. I have a few weeks of it. HELP…
Please
Richard
on February 5th, 2007 at 6:50 pm
Richard: “I can’t seem to get the GameState into my head”
Game state tutorials are on my agenda, but I have some other things I need to get out of my head first. It’s getting crowded in there.
Cheers!
Joran
on February 10th, 2007 at 9:39 pm
I’ve been watching your tutorials all day, kinda like a tv show =) . I already understand alot of the stuff you have talked about ( just finished pack 6), however watching these videos seems to make it easier to connect everything together, if you understand what im trying to say.
Anyway, you said you would like some feedback so here is mine:
Keep up the good work.
on February 11th, 2007 at 10:10 am
Wow..
These are the most helpful tutorials I have seen in a very long time. Everything is step by step and very organized. I have just finished pack 6 and things are starting to come together now.
I still have to go back and review some more; there is so much content in these things!
The videos help a ton when compared to the boring text tutorials you see everywhere. Plus most of them do not give as good an explanation as you.
The only part that I am getting somewhat confused on is keeping track of all the labels and whatnot: especially the ones like: spriteBatch & SpriteBatch. Would it be bad practice to rename this to something more distinguished simply for a newbie like myself to keep things straight?
Anywho..good work. I see there haven’t been any comments in a while, which is disappointing, however I hope to see more great tutorials from you!
on February 12th, 2007 at 5:03 pm
GREAT tutorial, excellent.
I even learn more with them than going to programming classes. It starts from the very beginning, teaching the fundamentals of C#. Also it has a fully explanation for every aspect of the code, which helps a lot to understand it.
Keep the great work.
on February 13th, 2007 at 5:01 am
Thx for all these awsome tutorials, i have wanted to learn a programing language for a long time now, since there are no classes around here which is weird since one of the big game companys is based here my dream to be a programer was pretty much severed and now thx to a fourm on a different site i was guided to C# and your tutorials, though at some points ur explinations can be a little confuseing on the whole ur doing a amazing job, keep them comeing ^^
on February 13th, 2007 at 10:48 pm
I have to agree that some parts are a little confusing. I’m not sure if its the wording used, or if I’m still struggling to learn the concepts. I’ve gotten used to the different labels (Camel Case and Pascal Case) however.
For instance it took me a while to realize exactly how the statements worked when they passed parameters to a method that it called.
You do some wonderful illustrations with your red pen tool…perhaps one would be handy when explaining that concept. On second thought, you do mention it in one of the early chapters…maybe its just me.
One thing that is still a little fuzzy for me is the Initialize and the Constructor methods. I am not sure when or what to put in there unless I’m following along with your video.
on February 14th, 2007 at 5:17 am
Dear Mr Joran,
Your videos helped me alot in understanding xna and c# although im just very new to both of them. I’ve looked every where in the net and couldnt find any better sources.
Thanks Mr Joran.
Im realy waiting for your new video release, so can you tell me when it’ll be
and I hope it’ll be very soon.
on February 14th, 2007 at 9:58 pm
Excellent, I can’t believe that someone spends some of his time to share this tutorial with us.
Congratulations Joran, and keep the excellent work.
on February 15th, 2007 at 3:45 am
Geoff: “I already understand alot of the stuff you have talked about… however watching these videos seems to make it easier to connect everything together”
ArcaneDreams: “These are the most helpful tutorials I have seen in a very long time… The videos help a ton when compared to the boring text tutorials you see everywhere. Plus most of them do not give as good an explanation as you.
Federico: “GREAT tutorial, excellent. I even learn more with them than going to programming classes.”
Daniel: “Thx for all these awsome tutorials… keep them comeing”
THE LORD: “Your videos helped me alot in understanding xna and c# although im just very new to both of them. I’ve looked every where in the net and couldnt find any better sources.”
Lead Programmer: “Excellent, I can’t believe that someone spends some of his time to share this tutorial with us. Congratulations Joran, and keep the excellent work.”
Thank you all!
I really do appreciate them. Without comments like this, I wouldn’t be doing this.
As you’ve all guessed, real life got in between, and dragged out on things a bit. Sorry, but I can’t go into details, as I signed a pretty restrictive NDA.
That, and Christmas and family visiting has made what little spare time I have sparse.
I promise that I haven’t quit, though. (c:
XnaTutorial.com will continue to be updated. I just have a longer perspective than some, so my horizon is a year or two away. It takes a bit of planning to take this all the way to 3D.
Cheers!
Joran
on February 15th, 2007 at 3:51 am
ArcaneDreams: “The only part that I am getting somewhat confused on is keeping track of all the labels and whatnot: especially the ones like: spriteBatch & SpriteBatch. Would it be bad practice to rename this to something more distinguished simply for a newbie like myself to keep things straight?”
ArcaneDreams: “I have to agree that some parts are a little confusing… For instance it took me a while to realize exactly how the statements worked when they passed parameters to a method that it called.
ArcaneDreams: “One thing that is still a little fuzzy for me is the Initialize and the Constructor methods. I am not sure when or what to put in there unless I’m following along with your video.”
Thank you for your good questions!
As I see it, there are three distinct topics:
1) Naming Conventions.
2) Passing data to and from methods.
3) Purpose of the setting-up methods.
1) Naming conventions are not mandatory. While you write your code, you can name your variables anything you want. I’m just trying to use the recommended conventions, although I’ve not studied them in detail, so I’m probably messing them up. (c:
I will put some thought into the possibility of making an extra video with some clarifications on my choice of names. It’s not at the highest priority level for me, though.
2) I’m aware that I botched some of the explanation of passing data. I’ll try to remedy this as soon as possible. This one has a higher priority.
3) The constructor instantiates objects. Initialize() sets the initial values of variables. But, that’s just a rule of thumb I’m using. I’ve seen people mix and match.
Cheers!
Joran
on February 15th, 2007 at 5:22 am
Thanks for the reply! I have pretty much worked out the naming conventions, it just takes some getting used to. The “Find all references” function is a great help. Plus I also realize the need to use standard conventions so that other people may help if necessary. I have looked at quite a few other tutorials with source code for download, and I must say that their structure was a lot messier and harder to follow than yours.
In making a large project however, there are so many times you pass information around…calling methods from here and there, it can be difficult to keep them straight. I’m thinking about starting a sort of web outline type thing to visually show how things are working.
on February 15th, 2007 at 10:37 pm
ArcaneDreams: “I’m thinking about starting a sort of web outline type thing to visually show how things are working.”
UML?
on February 18th, 2007 at 12:07 pm
Joran, I have really enjoyed watching all the 9 packs that are out so far.
Can you tell us when to expect more to be released?
Keep up the great work.
bishboria
on February 19th, 2007 at 9:41 am
Dear Mr Joran,
I want to know how to move sprites using the keyboard and make them shoot you know thing like that. I hope these input stuff are in the following packs.
Keep it up.
on February 20th, 2007 at 1:09 pm
Joran the depth of your tutorials and the detailed explanations,C# IDE shortcut info, etc. MAN! I can’t thank you enough! All those little tidbits are so helpful. You’re making it easy to get up to speed in the C# GSE arena! Thank you so much!!
Best,
Mario
on February 20th, 2007 at 7:38 pm
ArcaneDreams: “In making a large project however, there are so many times you pass information around…calling methods from here and there, it can be difficult to keep them straight.”
I have problems myself sometimes! (c: Right now I’m keeping the flowchart in my head, and I need to be reminded from time to time on the details.
ArcaneDreams: “I’m thinking about starting a sort of web outline type thing to visually show how things are working.”
Mikey: “UML?”
UML would be nice, but programs which handle C# cost about the same as a house here in Thailand. Maybe I’ve missed a program. I’m looking at NotNet2UML, combined with ulm2svg, but it doesn’t quite rock my boat. Do you guys know of any nice tool you can suggest?
bishboria: “Can you tell us when to expect more to be released?”
Soonish. (c:
Khaled: “I want to know how to move sprites using the keyboard and make them shoot you know thing like that. I hope these input stuff are in the following packs.”
Yes, input is coming up.
Mario: “MAN! I can’t thank you enough! All those little tidbits are so helpful. You’re making it easy to get up to speed in the C# GSE arena! Thank you so much!!”
Thank you!
Cheers!
Joran
on February 21st, 2007 at 5:28 am
Thanks for your reply but I just wanted to know what is the word MouOshimaiDa means, or is it just a word you came up.
on February 21st, 2007 at 9:51 pm
“Mou oshimai da” is Japanese. It roughly translates as “This is hopeless”, like this entire undertaking, and in a similar vein to MoreThanICanChew.com. (c:
Cheers!
Joran
on March 1st, 2007 at 7:49 am
Thanks man for this videos; I hope the next release will be in a few more days. Continue the good Work.
on March 4th, 2007 at 11:08 am
Nice job done Joran
on March 5th, 2007 at 4:24 pm
Thanks for the tutorial but please re-upload xnatutorial.com.pack5.value.reference.image.swf.zip
Error Message:
! C:\Documents and Settings\Administrator\Desktop\XNA Tutorial\swf\xnatutorial.com.pack5.value.reference.image.swf.zip: CRC failed in XNAtutorial.com.rc1.pack5\Videos 16-17\16 - Theory - Naming Datatypes\16 - Naming Datatypes.swf. The file is corrupt
on March 7th, 2007 at 9:49 am
Hi Chester.
I tested this as well, and got the same CRC error.
If you have the possibility to use media player format, you can download this package instead.
http://xnatutorial.com/xnatutorial.com.pack5.value.reference.image.zip
-Per Ivar
on March 10th, 2007 at 10:10 pm
Alejandro: “Thanks man for this videos; I hope the next release will be in a few more days. Continue the good Work.”
Mark: “Nice job done Joran”
Thank you! Don’t touch that dial! There will be more tutorials, after a word for our sponsors. (c: The next batch is having some birthing problems. The code is already done, but I have done so much refactoring, that it’s difficult to make the videos smoothly transition to the new layout. But, they’re on their way.
Chester Heng: “please re-upload xnatutorial.com.pack5.value.reference.image.swf.zip…The file is corrupt”
Per Ivar: “I tested this as well, and got the same CRC error.”
Thanks to Kai (emailed me first), Chester, and Per Ivar for pointing this out. I’ll update the broken files during next week, and make an official announcement/blog post about it.
I checked the CRC after uploading, but it was fine for me. However, I didn’t check the actual contents after packing them up locally, so there might have been a problem there.Sorry about that.
Thanks, and cheers!
Joran
on March 11th, 2007 at 3:09 pm
Man ,those tuts are AWSOME!!!!
Thank you very much for giving us out stuff like this.
When will chapter 10 be avaliable for download?
on March 12th, 2007 at 10:30 am
Great tutorials!
Keep up the good work, I’ll be waiting for more tutorials from you. You cover up the areas very well and still maintain keeping it pretty simple. For now atleast, im halfway with the tuts and I’m learning alot.
Cheers,
Henrik.
on March 15th, 2007 at 10:53 am
Hi,
Theese tutorials are extremely cool! Love your work!
Hang on.. Want to see more.. 2 day’s ago, i couldn’t write games, now i can make some simpel ones.. Great!
Best Regards,
Elias Sørensen
on March 25th, 2007 at 6:33 pm
I am in my first year studying Computer Science at University. I discovered your tutorials today and having just finished pack 7 I have a much clearer understanding of programming and learned more than I have during 6 months at University!! I can just imagine the immense effort that goes into creating these videos. Thanks, you’re a lifesaver and please don’t stop!!
Cheers
on March 27th, 2007 at 6:45 pm
Good stuff.
Was so good I’m still up wanting to learn more.
You explain it so much better than my tutor at university does. You should be a teacher, if your not one already.
Finally a good, easy to follow xna tutorial.
Thanks.
p.s. please don’t stop releasing new packs
on March 30th, 2007 at 6:43 am
Hehe.. Tought i could pick up on the nagging thread and see if I could get another vague answer ;o)
But Jöran.. How are things going?
Got any time to work on the new tutorials?
on April 9th, 2007 at 2:36 am
Thank you,
I very much enjoy watching and doing the tutorials, i had some previous programming expierence in basic from long ago, however your explanation of classes and their use was very nice, along with the aspect of making something graphical instead of a boring drop down menu item program is good fun.
on April 19th, 2007 at 9:56 pm
Thanks for the great tutorials. I have tried many beginner tutorials in the past but got discourages real quick. Your explanations and examples ROCK! I have done two packs so far and I have learned a lot. Thanks again!
on April 20th, 2007 at 12:50 am
Thank you all for your encouraging thoughts! It does motivate.
I’d like to start by apologizing. I’m in a bit of a bind with work right now, which has taken much more time than anticipated. I’m sorry that my previous estimates of when I’ll be able to return to XnaTutorial.com have been so short. But, I promise I’ll get back to XnaTutorial.com.
When? I have two work-related projects to finish up, which will carry me into next month.
I have written the code and outlined the speech for the coming packs. I just haven’t found the time to shoot and edit them yet. Just wanted all of you to know that progress is being made.
Coming up:
First, I’ll introduce GameComponents, including procedurally generating textures. At least a tiny texture.
Next, the Game Object (sprites, triggers, etc) in an inheritance-based design. This will include an XML level file.
Then, a component-based redesign of the Game Object, to show you where the professional game developers are heading. Inheritance is so 1990s… (c:
That should take a few video packs to wrap up.
Since much of my time has been away from my development machine, I only have access to my lousy old laptop. From the previous millennium… This means text is easier for me while I finish up work, so I will probably have an article in the upcoming XNA magazine.
Cheers!
Joran
on April 20th, 2007 at 7:02 am
The upcoming tutorials sound really exciting, thanks for the update on what’s going .
on April 27th, 2007 at 11:00 am
am a computer programmer and wants more knowledge in computing world
on April 30th, 2007 at 5:58 pm
Joran,
I have a question about your Singleton, both in the theory video and the farseer singleton video. You explain each line of code quite clearly, except you seem to skip the line right after the constructor, and I’m confused about what it’s doing there.
public sealed class Farseer {
private static readonly PhysicsSimulator physics = new PhysicsSimulator(new Vector2(0f, 300f));
private static Farseer() { }
Farseer() { } /* What’s this line for? */
public static PhysicsSimulator Physics {
get { return physics; }
}
}
Probably something obvious I’m missing, but I couldn’t figure it out watching the videos again.
Also wanted to say, great tutorials! I’ve never seen such a good mix of theory and practice, and practically everything’s perfectly clear. Thanks for doing this.
-Scott
on April 30th, 2007 at 8:46 pm
Scott: “What’s “Farseer() { }” for?”
See http://www.xnatutorial.com/?p=69
on May 7th, 2007 at 9:04 am
These tutorials are great!
I have been doing a bit of hobby programming in c++ for a good while and wanted to see what all the fuss was about with XNA and C# and saw this site.
As has been said your tutorials are great at mixing theory and pratices - coming from a c++ background I feel like I am learning more c++ as well when watching these. Becuase you are clearly marking each tutorial as either theory or practice it means I was able to skip the few first theory tutorials - if you had mixed them I would have had to watch stuff I most likely already knew
Keep up the great work!
on May 9th, 2007 at 7:06 am
Thnx for this tutorials, keep up the good work, I just wanted to say that.
on May 12th, 2007 at 1:20 pm
Thanks Joran, I’m almost done going through your tutorials now and they’ve been the biggest help so far in my learning XNA. Looking forward to going through the rest of your video.
russ
on May 15th, 2007 at 2:07 am
Hey ! a really good tutorial ! , ty for the great work Joran
on May 16th, 2007 at 8:31 am
Thanks Joran for your excellent Tutorials.
They are the best I have seen for C# let alone XNA.
Can’t wait till you get into 3D
on May 18th, 2007 at 10:51 am
Hey Joran, thanks for the great tutorials.
Having been programming with C++ for a moderate amount of time now, a friend of mine convinced me to try C# and XNA. Your tutorials are the best I have found so far for XNA, as many other tutorials go straight into 3D without explaining any concepts or actually teaching us anything.
I’m looking forward to the next set of tutorials, and will be checking here regularly for an update.
Thanks again for giving back to the community
on May 19th, 2007 at 7:17 pm
Thank you Joran for such a great start. I’m a c# programmer by trade, but nothing to close to games. I skipped the installation portions, but already know from video3 that you know what you’re talking about. I use these structues everyday.
Looking forward to learning how to use them for something I want to build.
Thanks again.
on May 30th, 2007 at 10:51 am
Hey Joran!
Your tutorial are beautifull!
You explain everything very very clearly.
I have already programmed in C++,
but still, your first videos (exept installation etc..)
give a very very good refresh of the OOP theory.
I’m awaiting the next pack with impatience
I’m currently trying to get some more advanced functionality with Farseer,
but since there’s so little documentation,
it’s hard…
Keep up the good work!
on June 5th, 2007 at 5:21 am
Wow this is very good, just what I was looking for! Thanks very much!
on June 7th, 2007 at 2:50 pm
I just wanted to congratulate you on your clear, concise tutorials. I even understand polymorphism now, yupeee, so I’ll be following the rest of the videos. Thank you for your time and energy that you have put into these.
on June 10th, 2007 at 8:38 pm
Jordon, the tutorials are fantastic! Coming from a C++ background I found even the first tutorials extremly educational as a primer for C#.
I am still filled with questions that were left unaswered in several of the videos like exporting variables to an XML file.
Writing a class to manage the assets such as Update() and LoadGraphics().
In particular when I make my two sprites after Tutorial #30 I have them randomly being drawn on the screen and I’m not sure where would be the most oppropriate place to position them. Does this happen inside Engine()? Or do I have to go back and rewrite certain functions of Sprite class.
on June 11th, 2007 at 1:52 am
Michael Kofman: “Where would be the most appropriate place to position sprites?”
How about a SpriteManager class? Engine instantiates the manager, passing the level to load to it. The manager then reads the appropriate level file (XML), and instantiates all the sprites needed, passing the starting locations to each sprite.
I’ve got something along these lines coming up. Sorry that it has been a while without new video packs. I’ve not forgotten about this site, and will add more. Soonish, as usual. (c: No, seriously. Work will lighten up soon, giving me some much needed spare time.
Cheers!
Joran
on June 16th, 2007 at 2:00 am
I can’t wait Jordan, thank you. I’ve already started on the SpriteManager.
on June 16th, 2007 at 10:32 am
Hi,
A few weeks ago I went trough all the tuts on this site and I must say they are really good and explain xna and C# really well for a newbie like me.
I’m glad to hear that you will be uploading the next set soon, looking forward to it.
Good luck :),
Com-man
on June 18th, 2007 at 12:05 am
Thanks a lot for your tutorials man. I have expirience in Java but couldnt figure out how to proggram in xna but your tutorials made it very clear.
Keep up the good work
cheers
on June 20th, 2007 at 3:58 pm
Your tutorials are great! Thanks a lot!
Are you going to make more that 30 tutorials?
Cheers!
on June 21st, 2007 at 12:19 am
Thanks a lot for videos they are great
on June 24th, 2007 at 6:54 pm
i have never had such in depth tutorials. I have been programming in VB.NET for 2 years and i wanted to take a switch to game programming so i kept trying to pick up C# here and there and i couldn’t get very much help with tutorials until i found this. I understand a lot more.
Thanks for your time it is much appreciated
~Sodapop
on July 2nd, 2007 at 10:32 am
Best tutorials i ever read\view…you should write a book.
on July 3rd, 2007 at 12:24 am
just like to say thx for posting these tutorials, they’re great.
on July 3rd, 2007 at 1:03 am
i’ve been looking for a some XNA tutorials and found yours thanx very much
on July 6th, 2007 at 4:08 am
I love you^^
on July 7th, 2007 at 4:33 pm
Joran,
Youv’e done an awesome job keeping these tutorials interesting and informative. I look forward to continuing down your tutorial line.
~Chris
on July 17th, 2007 at 7:05 am
Downloading these files seems to take ages, is there anywhere else where I can get them?
The first 2 where done in seconds but now it says that everything takes more than a day to complete. :/
on July 21st, 2007 at 10:18 am
Great tutorials, will there be more ?
on July 26th, 2007 at 6:41 am
Hello, please man, make a tutorial with 3d. Thanks.
I downloaded this tutorials and I liked a lot.
on July 27th, 2007 at 5:34 pm
these tutorials are seriously good, they are some of the best u can find and i would love to see more.
on September 6th, 2007 at 11:33 am
thank you alot man you know I find your toutorials the most usfule toutorials in the net for somebodey who wants to start learning c# and xna
and I hope that you wol countinu with your blog and toutorials and thanks again to you.
on September 9th, 2007 at 2:10 pm
Very informative tutorials, ill make sure to mention you in my credits
Do you have any idea on when the next pack(s) will be ready?
Best Regards from Denmark
on September 10th, 2007 at 9:38 am
I got a harsh feelin the turorial progress is dead as you stated everything was written for the next ones, like 6 months ago
well I can understand its a lack of time issue but I really hope one day we can get the next one, It s really fun learning xna with your videos, and there is nothing else like it avaiable find on the net
regards
Peter
on September 16th, 2007 at 8:52 am
Hi guys!
Thank you for the praise. Like most of you have guessed, work is bogging me down. I won’t go into details, but it’s more than full time right now.
There will be more tutorials. I can’t swear that the current series will continue until a full game has been finished, because I’ve evolved since I did the packs that you’ve seen. The plan is to round off that series with a level loader reading XML, then start a new series. The reason I want to start anew is twofold:
First, I have seen the light that is component-oriented design. The series so far has been very inheritance-driven.
Second, I have changed my belief in people’s potential. I used to think that it was good to start with 2D, then move into 3D. Now, I believe people are ready for 3D right from the start.
I’m not going to give you a guess on when I will be able to pick things up. I’m not making that mistake again… I’m just going to say that you shouldn’t expect too much before XNA 2.0 is out, considering my work situation.
Cheers!
Joran
on September 17th, 2007 at 2:35 pm
see everyone!
all hail joran!
cant wait. really cant wait. youve got a good following here joran good luck with work
on September 18th, 2007 at 9:55 pm
Joran, you should never apologize for not posting fast enough–we owe you bigtime as it is. Thanks for your work.
Looking forward to 3D.
on September 19th, 2007 at 7:19 am
Your tutorial is the best. You’ve covered all necessary things which can make a noob like me understand C# and XNA. Thank you very much!
on September 20th, 2007 at 2:23 pm
hellow mr joran, pleas can upload some new toutorials Im realey crazey about your toutorials ,I finnishd them all and all what I want now is more and more actuley I have a good knoledg of c# but I didnt undersud anything about xna untill I watchd your toutorials Im verrey happey and thankful to god and to you, but can you tell us pleas when are you going to upload new toutorials.
you can put a donation botton in your blog Im shur that evrey bodey wo donate to you including me
thanks again for the toutorials.
on September 25th, 2007 at 7:31 am
i want to say thank you for this site i now have a better understanding of programming in general thanks to your tutorials.
on October 4th, 2007 at 7:11 am
Hey,
Thank you so much for these free wonderful tutorials! I was learning C++ & have had a hard time learning it, so I thought I could start out with C# since it has the power of C++ & learning curve of VB.
~ Tyler
on October 14th, 2007 at 10:47 am
In your opnion, What´s the best book of XNA?
on October 25th, 2007 at 1:30 am
JORAN !!! thanks for this info i like the way it is presented i can understand the information much better this way. this site has helped me greatly, im a total new bee. your videos help allot Thanks!
on October 25th, 2007 at 8:42 am
What do you think about a XNA certification?
on October 25th, 2007 at 7:18 pm
Jose asked:
What do you think about a XNA certification?
Sure, why not? Not everybody learns in school, and Microsoft’s certification program has always been a way through for such people. They have certifications for web developers and windows application developers, so it could fit in there somewhere.
One problem for the future, though. I expect you will be able to run your XNA application in a web browser in a year or two. Does that mean you are a web developer or a Windows developer? Maybe it’s just easier to make an XBOX path, and clump in XNA windows developers in that path.
It could be a fourth path for MCPDs:
http://www.microsoft.com/learning/mcp/mcpd/default.mspx
or possibly demanding an expanded version of the MCTS Windows Application Developer, with XNA tacked on:
http://www.microsoft.com/learning/mcp/mcts/winapps/default.mspx
Both of the above paths are newer than MCAD, if I know Microsoft’s certifications:
http://www.microsoft.com/learning/mcp/mcad/default.mspx
Cheers,
Joran
on November 1st, 2007 at 4:34 pm
Hi, Jöran,
I’ve just started to get to know XNA. I’m up to program XBOX.
Anyway, I started with your tutorials. I would say that a 7 year old kid could understand how XNA works based on the explanations and examples you provide in your videos. Well, I’m familiar with C# so I just skip them anyway.
Tha reason I write to you that I found a bug in the section creating the Animatio class (pack 8, video 24). Here it is:
public bool IsStarted
{
get { return IsStarted; }
set { IsStarted = value; }
}
Accidentally you use the property insted of the field creating an endless loop resulting on the crash of the program. (Didn’t tried, have no time, but I’m pretty sure it will crash with stach overplow error.)
In your next “video release” you should correct this little mistake. More imparant for the ones who are not good at properties and fields…
Is there only these 30 videos? (Pack 9 is the last.)
Thanks again for the grait tutorials!
Peter Minarik
on November 1st, 2007 at 6:51 pm
Peter Minarik said:
‘public bool IsStarted { get { return IsStarted; }}’
Yes, that would be a mistake/bug/feature. (c: Thank you for catching it!
‘Is there only these 30 videos? (Pack 9 is the last.)’
Yes, there are only thirty. I’m swamped with work for a while longer. I’ll get back to XNA early 2008.
Cheers,
Joran
on November 4th, 2007 at 11:12 pm
Wow these people all seem so smart…im just going to put it in my own words. I cant thank you enough for putting in the time to make these tutorials and help all the aspiring programmers (like me) to learn how to program. Im actually a 15 year old kid whose goal is to work as a programmer in the industry
but thats beside the point. You make the tutorials very interesting and your making me stay up later than normal because i want to learn more. So thank you for posting great tutorials and keep up the AMAZING work.
on November 5th, 2007 at 11:19 pm
Thanks for the GREAT tutorials. Interesting accent, I was not sure where you were from. keep it up.
on December 14th, 2007 at 7:46 am
thx for these great tutorials.
on December 15th, 2007 at 1:57 pm
Great!!! Thanks.
on December 16th, 2007 at 10:55 am
Will there be turorials for XNA 2.0 any time soon?
on December 20th, 2007 at 2:48 am
These are great, can’t wait for the new tutorials. Thanks mate.
on December 24th, 2007 at 3:53 am
These are probably the best tutorials on XNA I have ever seen. They’re clear, concise, intersesting and fun.
Up until recently I was just sort of dipping in and out of various books catching fragments of information but not really getting much done in the way of learning. I can’t count the amount of times, while watching your tutorials, that I almost dropped to my knees shouting “oh, sweet revelation!” ha ha.
Thank you so much Joran, you are a good teacher and I can’t wait to see your next set of videos. Maybe you should write a book.
on December 30th, 2007 at 2:34 pm
Nice stuff you got here….
on January 2nd, 2008 at 5:37 am
FreehanD: “You are making me stay up later than normal because I want to learn more… Keep up the AMAZING work.”
justin: “Thanks for the GREAT tutorials. Interesting accent, I was not sure where you were from. Keep it up.”
raven: “Thanks for these great tutorials.”
gazi: “Great!!! Thanks.”
golf1052: “Will there be tutorials for XNA 2.0 any time soon?”
Kieran: “These are great, can’t wait for the new tutorials. Thanks mate.”
Tim: “Nice stuff you got here…”
George: “These are probably the best tutorials on XNA I have ever seen… I can’t count the amount of times…that I almost dropped to my knees shouting ‘oh, sweet revelation!’”
—
Thank you all. Now that XNA GS 2.0 is out, I will have to update my videos. I had several pedagogic insights while making the previous video tutorial series, so I spent New Years Eve on a beach, sketching out a path for XnaTutorial.com 2.0, or whatever I should call it.
With increased clarity, I think I can up the difficulty as well, so I will probably switch from 2D to 3D. 2D will still figure in the videos, as there is need for menus and HUDs and such. I will also try to make the path fork in a few places, so you don’t have to sit through episodes which are below your level of expertise. While this makes it possible to cater to old ‘customers’, I still don’t alienate newcomers.
Anyhow, my point is that I will probably start over. I will most likely make a new series, which will cater to both new and old visitors.
I finish my current project on the last of January. Unfortunately, I’m signing up for a new contract starting on the first of March, but I am hoping that it will take a few months before that project really picks up pace, so i should be able to get in some solid new videos during the early part of this year.
Cheers,
Joran
on January 3rd, 2008 at 3:15 am
Tack för det Jöran(intressant stavning på namnet för övrigt, aldrig sett det förut). Har sett fram emot att du skulle uppdatera till 2.0 då de videos som ligger uppe nu har hjälpt mig riktigt mycket på vägen mot att göra mitt eget spel. Tackar.
on January 3rd, 2008 at 10:34 am
När kommer dom nya filmerna
on January 11th, 2008 at 2:37 am
Joran,
i love your tours. great work.
but if i may ask one thing of you for people who are easly side tracked.
can you bring your voice out more maybe abit more emotion in it. get excited on the bigger things that we need to know. not to the point you sound stupid just enough to keep us awake bud. im not trying to be terribly rude but focus on something that sounds like the dry eyes commercial is hard.
Thanks for everything else.
Joey
on January 12th, 2008 at 4:16 pm
Man, When will you make a tutorial to 3D? please make it!!!
on January 15th, 2008 at 3:40 pm
Joran,
What a wonderful contribution you have made to the world of Game development! Being a seasoned programmer (18+ years), I am still amazed at how much knowledge there is to absorb, and your tutorials cut straight and true even for a ole war horse like myself. I’m surprised that you do not have a pay-pal button for contributions to your effort. I’d certainly chip in, knowing how much work went into these tutorials.
I would like to see you delve into 3d graphics a bit more, and perhaps more theory behind physics engines. And of course using Blender to create custom graphics for the game. You do such an excellent job, I hate to look elswhere for guidance.
With great respect,
Mark
on February 2nd, 2008 at 11:31 pm
Thanks for giving special attention to people who did not know how to code in C# before knowing about XNA
You are a terrific teacher, congratulations! =`]
on February 11th, 2008 at 1:01 pm
hello i am just wondering if these tutriols are good for people with no knowledge of programming???
on February 13th, 2008 at 8:54 pm
Hello Joran,
Any news on a timeframe for the next tutorial yet?
Cheers
on February 15th, 2008 at 1:44 am
I cant open the solution files even though I have both Visual studio 2005, Visual C# Express 2005 and Visual C# Express 2008 installed. Why?
on February 15th, 2008 at 10:28 am
Hi Joran
How do you expect me to answer, when your sender-mail dont accept answers? :-s
/thomas
on February 16th, 2008 at 8:00 am
[…] η ώρα για ΧΝΑ tutorials και […]
on February 27th, 2008 at 8:06 pm
Joran,
First off, great tutorials. I have absolutely no knowledge of programming and your tutorials are doing a fantastic job of introducing things.
I did have one problem with the tutorial in the early stages, however, I found a solution for it and was wondering if it was a real fix or not. I am using GameStudio 2.0 and when I added the resources and textures folder, I could not reference them in the code (it could not find the path when it tried to run). What I did was make a textures folder in the Content folder already provided, and that path was recognized. Is this the proper way to do it in 2.0 or was I most likely doing something wrong before and this just happened to be done correctly?
Other than that everything has been working great. Thanks again for the great tutorials. Now it’s time for me to start #21.
Mike
on March 2nd, 2008 at 3:10 pm
Joran,
Thank you so much for making these tutorials, they are helping me a lot.
Unfortunately, I also have run into the same issue as Jess did:
“I’ve run into a bit of a problem though, on the 13th video where you write the path to the image you want to show up, Visual C# express says that it cannot find the file. The code mirrors yours exactly (except for the image name) and I’ve done everything else fine too. It compiles without any problem but this. Help please?”
I’ve also noticed one other thing though.. when i go to properties, all the info under your XNA tab, i don’t have. (i.e. I don’t see the Asset Name, Content Importer, Content Processor, etc.)
Any help anyone could give on this would be much appreciated.
thanks in advance,
Taylor
on March 9th, 2008 at 6:05 am
Taylor, you probably have XNA game studio 2, you should place your images/textures and so on in the content folder witch is created by XNA when you first create your project.
also, if you in any case deleted this like from the constructor method of you engine:Content.RootDirectory = “Content”;
you should paste that back in, then when you recompile it should work fine.
yours, Niels
on March 9th, 2008 at 6:06 am
if you in any case deleted this like, should be this LINE,
sorry for that mistake.
on March 11th, 2008 at 7:50 pm
Thank you both so much!! (Joran and Niels)
that was exactly my problem, i had constructed it 100% as the tutorial said, so it wasn’t liking the conflict of where my content.rootdirectory was set.
finally i can move on hahah.
on March 26th, 2008 at 1:59 pm
Thanks Joran,
Thought I would say something as well since I took the time to go over all your tutorials. I thought they were great. I believe I learned more watching these tutorials than I did when I took a class on object oriented programming in C#… at least more on what I wanted to learn
I, for one, am very interested in 2D games. I like how these tutorials revolved around the 2D environment. I read in a previous post that you may go to the 3D route, but you would allow multiple paths for how you want to design your game. So does this mean you will teach for both 2D and 3D games at the same time? I wouldn’t think there would be much of a logical difference between the two, but I’m also not that experienced in the programming field.
Thanks again!
-Warren
on March 28th, 2008 at 3:07 am
Come on Joran, we’re all eagerly awaiting your new tutorials.
on March 28th, 2008 at 5:39 pm
WOW! Joran, thank you! I was eager to make the leap from programming to doing some fun game stuff but had no idea where to start.
I finally decided to start with XNA and after some BRUTAL hours in the XNA documentation I found these tutorials.
Joran, you are a great teacher. You explain things in clear and comprehensive fashion. I could not have done better if I had paid for these lessons!
(Actually, like the previous poster.. I have paid for plenty of OOPs classes and I wish you had been teaching them, I probably would have gained alot more knowledge! Thanks!)
on April 2nd, 2008 at 5:03 pm
Thx Joran!!! I finaly made my first game. A Pong remake. It sounds like nothing but im only 13 and it excites me that from here im well on my way to making the next big game!!! Please email me if you want to see my game.
on April 7th, 2008 at 2:05 pm
Joran,
Thanks for the great tutorials. Do you plan on doing any more? After many books and many websites, yours was the one that finally made enough sense to me that I was able to stat programming my project. More tutorials from you would be the best.
Thanks again!
on April 19th, 2008 at 7:31 am
Very nice work

thanks
on April 22nd, 2008 at 3:05 am
Awesome tutorials
They taught me how to start in C#. Before i watched these i had no idea what any of the code in XNA meant. I’ve programmed before in other languages, but these got me started in C#.
Great tutorials
Thanks
on April 26th, 2008 at 12:34 am
Thanks for the tutorials, they were very good. Please update and release the next tutorial!!!!
on May 2nd, 2008 at 6:13 am
I really appreciated the tutorials, even though I’ve done a lot of Windows and C#. The XNA was new to me and the tutorials helped to put it in place.
It would be neat if you had a presumably short tutorial about moving a simple game to the XBox.
Bruce
on May 15th, 2008 at 3:43 pm
[…] Code This site tell you how to make a game step by step. Check it out http://www.xnatutorial.com/?page_id=46 […]
on May 24th, 2008 at 3:53 pm
Thankyou Joran for contributing such a wonderful piece of learning material for C# coders.
Kudos!!!
on June 9th, 2008 at 7:27 am
hi Joran,
First of all THANKS a lot for this amazing stuff. The best thing I have ever seen.it was quite easy to learn.I m just became a fan of yours. if you have any tutorial on C# alone, please just sen d link to my e-mail address.
I want to use this notes to teach some of my friends.I want your permission.
Because this is real hard work thing.Expecting your reply.
Thank you ..
Regards
Jeswin
on June 15th, 2008 at 1:21 pm
Hi, i have a “little” problem here. When i right click on the “box.png” and then click on properties, i can’t see any “XNA framework content pipeline” category as you have in the 13th part of the tutorial. I have visual studio 2005 express edition (C#) and i also have XNA game studio 2.0. Because of that problem, i can’t set up asset name for the box.png and it pops up error which tells “contentLoadException was unhandled” and some little window.. But build is always succeeded.
on June 16th, 2008 at 9:44 pm
hi all,
this is really very good tutorial..
hey Mr. author if you have any tutorial on c# language alone..then please send it to me.
on June 17th, 2008 at 5:21 am
Hey Aurthor,
Good job these tutorials are really good I am a programmer in C# and i found that tutorials are so useful even if u dont know anything
Thnx so much for it
on June 17th, 2008 at 10:21 pm
So Joran are you still alive or ?
on June 22nd, 2008 at 2:16 am
Have You Seen This Already?,
on June 25th, 2008 at 12:36 pm
Hi Joran,
I’m new to C# and XNA and have just watched all 30 off your tutorials in the last 2 days. Excellant work, I’m now looking forward to starting my own project.
Was going to ask when pack 10 was coming out but having read the other reply will be looking forward to your new tutorials.
Cheers
Darren
on June 25th, 2008 at 4:15 pm
Preved webmastero4ki, , :PP,
on June 25th, 2008 at 5:37 pm
Sorry, , rxqy,
on June 25th, 2008 at 10:58 pm
I am having the same problem as “Gobo” on June 15th, 2008 at 1:21 pm
He stated
“Hi, i have a “little” problem here. When i right click on the “box.png” and then click on properties, i can’t see any “XNA framework content pipeline” category as you have in the 13th part of the tutorial. I have visual studio 2005 express edition (C#) and i also have XNA game studio 2.0. Because of that problem, i can’t set up asset name for the box.png and it pops up error which tells “contentLoadException was unhandled” and some little window.. But build is always succeeded.”
I am having this same issue, not sure why though as i have followed the instructions perfectly. I am also getting 2 warnings when compiling they are listed below any help would be great.
Member ‘Mech.Engine.LoadGraphicsContent(bool)’ overrides obsolete member ‘Microsoft.Xna.Framework.Game.LoadGraphicsContent(bool)’. Add the Obsolete attribute to ‘Mech.Engine.LoadGraphicsContent(bool)’.
Engine.cs
Member ‘Mech.Engine.UnloadGraphicsContent(bool)’ overrides obsolete member ‘Microsoft.Xna.Framework.Game.UnloadGraphicsContent(bool)’. Add the Obsolete attribute to ‘Mech.Engine.UnloadGraphicsContent(bool)’.
Engine.cs
on June 26th, 2008 at 12:08 am
I would like to state that i have corrected the issue that happened for the picture.
What i had to do was move the folders i created called resources > textures > with box.png
I moved them to the section called content in the solution and this fixed the problem.
on June 27th, 2008 at 10:09 am
Hello,
GREAT tutorial. Really helped me.
Nevertheless it would be unbelievable cool if you would extend it onto Farseer much more. Especially with the new versions of Farseer and XNA.
Greetings from germany…
Nergal
on July 2nd, 2008 at 10:05 pm
your tutorial is good. But there is a problem, i unable to run your code. when i try to copy and paste it will appear error loading.
i need some help.
on July 10th, 2008 at 6:37 am
[…] is another spot as well XNAtutorial.com Download __________________ Jesus is Lord Celebrity wallpapers coming to a zune near […]
on July 14th, 2008 at 12:26 am
First of all, thanks Joran for this tutorial!
Your tutorial is great! I’ve try to begin programing in C++ and I never have understand the concepts of polymorphism and you make it very clear.
I just want to ask if you will end this series of tutorials.
Sorry about my English, I’m portuguese.
on July 14th, 2008 at 6:25 pm
Thank you very much!!!
on July 25th, 2008 at 6:54 pm
Thank you so much i’ve spent so much money on books and could’nt learn but now i am…for free
thanks!!!
on August 7th, 2008 at 11:07 pm
Hey really neat stuff man!
Your videos and methods of explaining everything is just amazing!
I understood everything u spoke about and these videos really helped me a lot!
Hats off to you for doing something like this!
-Tito
on August 9th, 2008 at 1:55 pm
Joran the tutorials are great. Slow moving and easy to understand. However i just wanted one help. As I am just a beginner I would like to understand what is exactly happening when we initialize and load and unload contents etc in a schematic diagram if possible. Just to get a birds eye view on how the program is actually displaying a sprite , how are all the functions actually integrated.
on August 18th, 2008 at 11:04 pm
Thanks a lot, Joran
this great!, I’m new in C#. I no need to spent lot of money to buy expensive books for this
Thanks
sorry for my english, I’m indonesian
on August 26th, 2008 at 9:54 pm
Excellent tutorial, including a physics engine! Just one question, will there be more? The last set (package 9) mentioned doing more and even making editors… Has this series stalled or will there be more? I also believe Joran mentioned above (back on January 2nd, his last post here) the posibility of starting over with XNA 2.0 and making new tutorials. Has anything been started on that?
I loved these tutorials and can’t wait for more! BTW, the latest Farseer physics engine has changed quite a bit from the tutorial above. There is no RigidBody or RectangleBody anymore, you use BodyFactory.Instance.CreateRectangleBody(…) to create a Body, and I also had do GeomFactory.Instance.CreateRectangleGeom(this.physicsBody, …) to create a Geom object (also registered with the Physics engine) in order to get the collision to work. So it looks like it’s been redesigned a lot since these tutorials were made.
I’m excited to learn more about how to use Farseer and see more of these tutorials! Great job so far, Joran!
on August 31st, 2008 at 8:06 pm
Anyone else having trouble downloading these just now?
pack3 and 4 seem to stagnate
on September 19th, 2008 at 7:04 am
These tuts are amazing. I was just wondering when will the later tutorials appear? I’m also hoping the new tuts will cover 3d games.
on September 20th, 2008 at 2:46 am
Nice work Joran,
I am really thankful because of your great effort producing such outstanding videos, keep up the good work.
I was wondering if you are experienced in tilebased 2D platformer games like sonic, would you please make a tutor about that specially the physics part.
Sincerely,
Yahia
on October 4th, 2008 at 5:57 am
It’s funny how he sounds like he’s ready to do video 31 soon with more stuff with the mouse right away. However that is the end.
to be a bit more informative with getting the farseer physics to work. As was mentioned in another comment, you need to make an object besides the physics.Dynamics.Body, which is a physics.collision.Geom. I found it easiest to initialize it after you’ve fully initialized the body, because you pass the body in as a parameter to the new Geom (instructions are in Leep’s comment).
After you’ve done that be sure to register both the Geom and the Body to the physics engine [Physics.add()]
Nearly foolproof tutorial, even being over 2 years old, and 2 versions behind it works great.
on October 15th, 2008 at 7:43 am
Joran,
Excellent tutorial series. I can’t wait for more (I hope there is more to follow). I have skipped around a bit and also I have watched some of the lessons several times. I am especially interested in reading in an XML file. I did not see that in this series, but either I can wait a while for the next installment or figure it out myself. I will go back and watch again to see if I skipped over it.
It would be nice if “students” could submit future tutorials in this series. Just something to think about.
Regards,
Ed
on October 21st, 2008 at 11:07 pm
Hey Joran, Thanks for posting these videos. I am on pack 6 right now. I was wondering if you will continue doing these? I really like them. XNA 3.0 is coming out soon. I wouldn’t worry as much about starting over with each version. I would finish your tutorials. Then updated them all when each new version comes out!
Gordon~
on November 8th, 2008 at 7:16 pm
a download with all the packs would be nice
on November 16th, 2008 at 1:11 am
Thanks so much ! These videos is very useful with me, I’m waiting for your next tutorials.
on January 2nd, 2009 at 8:20 pm
Heya man. I hope this gets to you over the spam. Im posting because the download manual for Farseer 2.0.1 isn’t working.
Pack 9: If you know. Where do you declare the vertices in 2.0.1 like you did with the beta version of RigidBody?
Now there is only Body, and the newest version no longer has the PhysicsEngine.BodyFactory.CreateRectangleBody();
on January 2nd, 2009 at 8:29 pm
I found it. This is the first time i’ve compiled source for a dll instead of jsut using dll. Forgot I could just search for Rectangle Body. My solution was:
using FarseerGames.FarseerPhysics.Factories;
…
this.physicsBody = ….
BodyFactory.Instance.CreateRectangleBody(this.animation.Size.X, …
this.animation.Size.Y, mass);
on January 2nd, 2009 at 8:32 pm
In addition. Thanks for the tutorials. They have helped me understand more about C# than most other tutorials. Now I can actually get one with making my game instead of hand coding physics on the spot all the time.
Also as far as tutorials go. If New XNA versions come out and you are still working on this tutorial just keep forging ahead with the new version.
If you provide a link to the change log people can just search the page for the changes that are messing them up. Its a great way to learn.
on January 10th, 2009 at 3:45 am
Thank you Joran your tutorials are wonderful !! You’re saving my life
Please keep this up!
on January 15th, 2009 at 7:55 am
Thanx man!!!
You, this tutorial and this website are really great…
Some things in this world may mark a significance…
and I am sure this will…
on January 17th, 2009 at 1:44 am
Thanx a lot man
on January 19th, 2009 at 3:34 pm
hi,i didnt know where to ask for help but hopefully someone can help me out
i am stuck on Pack 4 Practice 13 i got as far as when you put your art “box” by going to your art folder and selecting “content pipeline files” i dont get that,ive tried several pictures and different files but i cant get the “content pipeline files” option
what can i do,somebody please unstuck me will ya
thank for anyones attention,hopefully joran is around
by the way your teaching methods are great
awsome tutorials…..(just help me out will you,i am a beguiner) :/ he he
on January 24th, 2009 at 11:32 am
Hey MDCT
In XNA Game Studio 3.0 they have modified the the way to add a content pipeline. Now you have to rightclick the content node in the solution Explorer and add an existing item like before.
It is all explaint on this side.
http://msdn.microsoft.com/en-us/library/bb313966.aspx
Hopes it helps.
on January 25th, 2009 at 5:11 pm
thanks for trying to help Martin
but everytime i get to any art folder i cannot choose “content pipeline files” so for example on joran video before he picks his “box” art he clickes on “file types” and he gets the following options:
Visual C# files
content pipeline files
Data files
and so on….but all i get is
Visual C# files
Data files
see i dont get that content pipeline option that joran has and i dont know why,can somebody please help me
ive tried adding while picking other options like “all files” or “Data files” but i get errors and it wont show on the properties
on January 25th, 2009 at 5:41 pm
ok i added it from the content node but i still get this error message pointing to this code:
Texture2D>(@”resources\textures\red_ball”);
ContentLoadException was unhandled
Error loading “resources\textures\red_ball”. File not found.
what can i do?
on February 15th, 2009 at 12:50 am
Полезная инфа, поставлю в закладки и добалю в новости, пусть другие то же читают
on February 19th, 2009 at 5:24 pm
Thank you for this excellent series of training videos.
on February 19th, 2009 at 9:27 pm
Если ты реально писал это для новичков, то стоило расписать более подробно…
on March 12th, 2009 at 4:21 pm
Hi,first of all, thanks for these packs that look very well structured and with great content from what I read.
But I have a question. Are these packs still up-to-date with the current XNA version?
Thanks,
Darren
on March 21st, 2009 at 8:25 am
I just went through the whole set, very impressive and informational, I learned more from these videos in two evenings than I did from the first few programming classes I took.
For those wondering, almost everything works in the current (3.0) version of XNA, the exception is the path to the resources has changed.
In the video he right clicks on the project to add a resources folder, and then adds the texture folder to that. In the new version they have a content section made for you, so you right click on the Content sub-section of your project and add your resource folders to that.
Everything else you can create where the author creates it. Also, as long as you put your folders in the content area but name them the same as he does your path names in the code will look the same as his.
I hope this was helpful.
Thanks,
Daniel
on March 26th, 2009 at 1:39 pm
The tutorials are great! Except I ran into a problem on #13, with the Graphics Engine…..when I try to load the .png file for the LoadGraphicsContent, it says it cannot find the file, I followed it step by step how you did….but I noticed that on your Solution, you don’t have a Content folder like i do….
..and when I go to Properties on my .png file, it says the name, but also just calls it a file name, and not an asset name like on yours….
what is this?
Thanks for your time and the tutorials, please help!
-Frank
on March 26th, 2009 at 1:42 pm
O wow I guess a few other people have had this problem also…
on March 26th, 2009 at 3:31 pm
i tried to add content to content folder and still got yellow line across no .png file….ill try it again tho….
on March 26th, 2009 at 7:11 pm
Error 1 Program ‘C:\Doc….does not contain a static ‘Main’ method suitable for an entry point …..
Warning 2 Member ‘NamedShit.Engine.LoadGraphicsContent(bool)’ overrides obsolete member ‘Microsoft.Xna.Framework.Game.LoadGraphicsContent(bool)’. Add the Obsolete attribute to ‘NamedShit.Engine.LoadGraphicsContent(bool)’. C:\Doc…
Warning 3 Member ‘NamedShit.Engine.UnloadGraphicsContent(bool)’ overrides obsolete member ‘Microsoft.Xna.Framework.Game.UnloadGraphicsContent(bool)’. Add the Obsolete attribute to ‘NamedShit.Engine.UnloadGraphicsContent(bool)’. C:\Doc…
?
on March 26th, 2009 at 7:25 pm
sorry so much….green line underneath LoadGraphicsContent and UnloadGraphicsContent
on March 26th, 2009 at 8:34 pm
this.myTexture = this.content.LoadTextures->box (Asset) in the Content folder….
on March 31st, 2009 at 4:22 pm
Обалдеть просто! Все, блин, об этом знают, кроме меня
on April 18th, 2009 at 3:03 pm
Предлагаем вашему вниманию межкомнатные деревянные двери и установка дере
вянных дверей. Возможность получить эксклюзивную дверь по нашему или Вашему дизайн-проекту – изготовление на заказ деревянных дверей.
on April 18th, 2009 at 6:38 pm
Уважаемые друзья, предлагаем вам пройти очень интересный тест Равена. Не упустите вашу отличную возможность протестировать себя. Iq тест Равена и тест роршаха, сонди или люшера бесплатно в онлайн и многое другое.
on April 19th, 2009 at 3:42 pm
Известная фирма NLClub предлагает texas holdem. Осуществляем распространение на территории Восточной Европы покерного софта для ведения покерной статистики и полноценного анализа игры по умеренной стоимости.
on April 20th, 2009 at 7:14 pm
This is the best tutorial I have ever gone through. Very well done! Thanks.
on April 21st, 2009 at 5:53 pm
Hi Everyone
I just became a member of this forum
Great job forum crew!
Yesterday I read that there is a cure for diabetes on www.healthcaredaily.org
Can diabetes seriously be cured? The source looks like a reliable healthcare news website
Has anyone tried beating diabetes this way?
Thanks a lot
TolcawSaurola
on April 22nd, 2009 at 2:16 pm
Известная фирма Дженерал Мебель предлагает мебель из массива сосны, лавочки чугунные и пластиковые шезлонги в городе Москва по умеренной стоимости. Гарантируем высокое качество всего ассортимента товаров нашего магазина.
on May 19th, 2009 at 9:42 pm
Wow I am having a lot of fun going through these videos! I hope you keep making more videos!!!! I would even sell these if I were you becuase I know I would pay for your more advanced videos that we all hope your making.
on May 27th, 2009 at 2:15 pm
Давно хотел у вас спросить, автор, вы где живёте? В городе каком? Если не серкет:)
on May 28th, 2009 at 2:13 pm
Разное
on May 29th, 2009 at 2:20 pm
Hi,
I was wondering what screencasting program did you use? it seems to me that it’s not comtasia and it doesn’t seem to be comstudio.
Great tutorials, you have a knack for teaching.
on May 29th, 2009 at 2:53 pm
Sorry, I meant to say: camtasia and camstudio
on June 1st, 2009 at 9:29 pm
are these for xna 3.0?
on June 5th, 2009 at 1:10 am
Привет, статья интересная и я тоже процитирую у себя в блоге
on June 7th, 2009 at 9:16 am
Great work
on June 7th, 2009 at 11:31 pm
hay man thanks for reading this comment this i have a problum i am geting an error when trying tobuild the box o your first build idk what to do i put a @ semble in front and it did not work and then i put // and that did not work what can i do?
on June 13th, 2009 at 4:25 pm
Tired of a competitor’s site? Hinder the enemy? Fed pioneers or copywriters?
Kill their sites! How? We will help you in this!
Obstructions of any site, portal, shop!
Different types of attacks: Date-attack, Trash, Attack, Attack, etc. Intellectual
You can work on schedule, as well as the simultaneous attack of several sites.
On average the data, ordered the site falls within 5 minutes after the start. As a demonstration of our capabilities, allows screening.
Our prices
24 hours of attack - $ 70
12 hours of the attack - $ 50
1 hour attack - $ 25
Contact via ICQ: 588 666 582
on July 1st, 2009 at 11:51 am
This tutorial was made in ‘06. It does not cover 3.0 or 3.1, I dont even think it covers 2.0. But mostly you can do it this way just exclued some of the stuff. For matthew and others that have that problem you just need @textures\cursor) leave out resources as xna 2.0 got rid of needing resources needing to be added to access, Good tutorial though.
on July 4th, 2009 at 4:13 pm
Вообще, когда читаешь такое, посещает мысль, а ведь это ж так просто, ну почему я это не смог придумать Респект
on July 19th, 2009 at 10:12 am
So Nice
on July 20th, 2009 at 1:22 pm
Приятно понимать, что остались действительно стоящие блоги в этой мусорке рейтинга Яши. Ваш - один из таких. Спасибо
on July 30th, 2009 at 8:57 pm
Разное
on August 9th, 2009 at 4:12 am
[…] would like to get started with Microsoft XNA Game Studio, I would recommend you to take a look at XNA Tutorial. It gets you to speed quickly. Also, discussion on related topics like Visual Studio, object […]
on August 23rd, 2009 at 1:07 am
Известная фирма Арабелла предлагает женскую униформу по оптимальной цене. Также готовы предложить промо продукцию и профессиональную разработку корпоративного стиля в кратчайшие сроки с гарантией высокого качества.
on September 3rd, 2009 at 11:54 am
Solution is in XNA 3.0 for box problem:
-add existing file by right click on Content and then add box.png
-set property as it is in tutorial
- and write this in your source code
this.myTexture = this.content.Load(@”Content\box”);
on October 7th, 2009 at 11:38 am
Great! THX!
on October 7th, 2009 at 11:38 am
[…] stránce http://www.xnatutorial.com/?page_id=46 sem našel zajímavé video tutoriály, hej už stahuju. Žádné […]
on November 6th, 2009 at 9:24 am
Thank you very much for lessons…
I’m new programmer. I’m Turkish and never find of Turkish XNA lessons.
And sorry for bad speak English
Good works…
on November 20th, 2009 at 4:05 pm
I’m new to C# and XNA and I gotta say these tutorials are really nicely done, very easy to follow, you are an excellent teacher - I was confusing my friends with tech-speak after only a few hours
Thanks alot sir
on November 24th, 2009 at 4:23 pm
lool ya joran
on November 26th, 2009 at 6:56 am
Very good lessons for the beginner in XNA.
Thanks.
Will you publish something about 3D?
on December 8th, 2009 at 2:55 am
Популярный web портал рыболова - охота, рыбалка на Волге, диалоги о рыбалке, форум для активного обсуждения различных тем о рыболовных снастях и рыбной ловли. Также у нас Вы можете скачать русскую рыбалку.
on December 30th, 2009 at 5:24 pm
i dont like xna level editor why do u have to use fbx files i want to use deleb map editor but there is no way to use there models and maps and not all the tutorials will play. im thinking xna is just junk.
on January 3rd, 2010 at 12:25 pm
To bad you stopped your movies, WHY for god sake?!
on January 3rd, 2010 at 7:20 pm
thanks !!!
on January 14th, 2010 at 8:52 pm
Прикольно. Хотелось бы еще почитать чего-нибудь на ту же тему.
on January 22nd, 2010 at 8:31 am
You sir are amazing thank you soo much I hope you continue making more.
on January 29th, 2010 at 7:28 am
[…] Learn XNA! Alright, we’ve seen what it can do, but all we can do is adjust the speed of missles in a prefab […]
on February 1st, 2010 at 4:28 am
Very good lessons for the beginner in XNA.
Thanks.