XNA Project: End of Semester 1 / Reflection

IT Education, XNA Project  Tagged , , , , 2 Comments »

The end of the semester has come around and my students have submitted their work and moved to their next electives.  I now have a new group of students – which I am quite excited about as I will be able to build on what I have done so far.  It seems like the perfect time for a reflection on the semester, so here goes!

I have been teaching programming for 18 years and have been using games in the classroom for about 10 years.  However, this is the first year I have implemented a course like this.  For me, it’s all about engagement – and this course has hit the mark!  I wanted to give them an experience as close to one that they would have working as a games developer (in a classroom and in 6 months)! 

Students took a while to come to grips with C# (and XNA) but they did – with lots of help and examples.  I had to write a lot of material, and in many cases was doing this a lesson or two in advance of the class (as you sometimes have to do as an IT teacher)!  Students were very excited about programming for the XBOX360 and this has also helped drive them through ‘the tough times’.  Having said that, by limiting the course to 2D arcade type games and giving the students lots of examples, it wasn’t as difficult as I imagined it might be.

Teaching C# has definite benefits.  It is a close cousin to C++ which my students will come into contact with later on if they select an IT course.  It has also continued the development of my students for VCE Software Development 3/4 – where the ability to manipulate and write code is required.

I had the students form mini ’game-companies’ of 3 or 4 students.  Within these groups, there have generally been students who have designed all of the sprites / graphics, students who have done the menus and the infrastructure coding and those that have had the skills (and interest) in coding the game mechanics.  I think I can formalise this structure better by informing students about what types of skills are best to have in each group.  I asked the groups to create their own logo, which each group then included on the splash screen of their game.

I am going to upload some screen captures from the completed projects – so these will give you an idea of what they have done.   

XNA Project: Examples of students work 1

IT Education, XNA Project  Tagged , , , , , No Comments »

This is an example of a program that has been written by a group of students adapting the tutorials that I gave them at the start of the semester, which in turn were based on the 2D tutorials on the XNA Creators Club site.

XNA student program

The cannon that was fixed in the bottom left hand corner of the screen can be moved freely around.  In addition, although it is hard to see on the image above, the enemy UFOs drop bombs.  The explosion effect is pretty impressive and utilizes some nifty particle code.

XNA program: space invaders

Another group of students has created a great Space Invaders clone.  The enemy space ships do speed up quite a lot towards the end and the frequency of their bombs increases – which makes it quite challenging!

 

XNA Project continued!

XNA Project  Tagged , , , , , No Comments »

It would be fair to say that this semester has been one of ups and downs.  Overall it has been an extremely rewarding experience and I do think that my class in Semester 2 will benefit from all of the pitfalls that my Semester 1 class has encountered. 

I have students in roughly three categories at the moment.  I have a group of students that are flying in terms of their understanding and the development of their major game project.  In many ways this group has been challenging me in terms of their own needs – as I try to stay one step ahead of them and in many instances, not managing to get away with it!  This is where the teaching of IT presents it’s own unique challenges in that there are some many software types to learn and the depth at which we need to learn how to use them can be tricky to guage.  This group has an excellent grasp of C#, OO concepts, etc. and are creating code on the fly based on their own needs.

The second (and largest) group in the class are those students that are getting by using my code examples, adapting them and creating their own projects using these resources and others from the Internet.  Their level of understanding is good but not deep.  However, the projects they are creating are impressive.  Could they have created these projects without referring to the examples and tutorials that I have created?  Most probably not – but their understanding of C# is progressing and given more time, they would attain a level of independance that would allow them to do this.

The last group (thankfully only quite a small number) are those students that are struggling with the basics of C#.  I do acknowledge that this is the group I would like to do the most to address next Semester, and I think that this task will be easier given the amount of resources that I have created now. 

Very soon I will start transferring student’s work to the XBOX360 – I have already set up one in the back of the classroom for this purpose (connected to a large plasma screen that the Science department donated*).

Plasma screen

*The Plasma screen has a black vertical line down the middle of the screen about an inch wide.  After about 15 minutes it disappears (there must be some component that needs to heat up or is overheating).  I might be able to find a solution to this on the web?

XNA Project – End of Term 1

IT Education, XNA Project  Tagged , , , , , No Comments »

Well the end of Term 1 has finally come around.  I thought it would be a good time to look back at how my Game Design class has progressed with C# and XNA…

The first few weeks of the term were tough.  I had written a few tutorials – translating some of the content from the MS XNA Beginner’s Tutorials here.  Students started working through these tutorials and some were rushing through them much quicker than I expected.  Others were getting stuck with understanding the structure of an XNA / C# program, variables and constructs, etc.  This was very difficult as I was also trying to get my head around these concepts at the same time as trying to stay one step ahead of those that were finishing the tutorials that I had produced.

The general level of understanding of students during this time was poor.  The learning curve was a steep one and students were getting very little rewards for their efforts.  Their programs were almost impossible to debug as they were not familiar enough with the language and the interface.  However, it didn’t take long for things to turn around.

Once students had worked through the tutorial (in fact in many cases, even before they had finished), they started modifying the code and producing their own versions of the game described.  I decided to set this as the first mini-project and from this point on students flourished.  Students were creating versions of the tutorial game that I had not envisioned and many were very creative.  Many were still developing these mini-projects at the end of term despite the fact that we had moved on in the theory from the tutorial to some specific skills. 

Just prior to the end of Term 1, I produced my own mini-game called ‘Fozzie’s Banana Flip’.

  Fozzie\'s Banana Flip

By building this project up, I was able to demonstrate a number of additional skills to students such as sound, animation using sprite maps, collision detection, keeping score and randomisation.

The work that students are doing is really great and they are genuienly disappointed when the bell rings at the end of each class.  My aim is to get them started on their major projects with a view to porting these on to an XBOX360 at the end of the semester for play-testing.  I also aim to create a disk of all the games – it’s just a pity I can’t create an actual XBOX360 disk due to the security features of disks.

The XNA Project has begun!

IT Education, XNA Project  Tagged , , , No Comments »

At the end of last year, I decided that I would change the programming language that my Yr.10 Game Design class was using to Microsoft XNA.  For the last several years, they had been using both Dark Basic (which was really good for 3D stuff) and GameMaker.  At the conclusion of a student folio, in which students worked through exercises in both packages, they formed teams and worked on a major project using one of them.  This worked reasonably well, but I was looking for more ways to engage students and opportunities to make the subject more interesting.

The answer presented itself a couple of years ago, when I had a couple of students complete their major project for Game Design using XNA.  I had to set up a separate computer for them, as our lab computers lacked the graphics grunt required.

I thought about using it for a while, but one of the major stumbling points for me was teaching students C#.  Many years ago I had tried to teach a C++ course which failed – mainly because of the learning curve.  The lure of XNA and the resources that are already available on the www and elsewhere was the tipping point – and I thought that for 2009 I would give it a really good go!

I plan to update this blog with my experiences as I deliver this course and produce course materials, etc.  I will try and upload some photos and embedd some video as well.

XBOX360 and PC setup


WordPress Theme & Icons by N.Design Studio. Hosted by Edublogs.
Entries RSS Comments RSS Log in