Pages

Saturday, May 22, 2010

Book Review: Beginning XNA 3.0 Game Programming

Just finished reading Beginning XNA 3.0 Game Programming: From Novice to Professional by Alexandre Santos Lobao, Bruno Pereira Evangelista, José Antonio Leal de Farias and Riemer Grootjans and would definitely recommend it for the beginner looking at learning XNA.

The book dives right into examples that are well explained and I liked how quickly they introduced game networking into the game, a topic that is often overlooked in game programming books. It is my experience that it is far easier to incorporate networking calls as early as possible in the development cycle than it is to try and add effective networking on top of a game that is nearly complete.

The book also deals with a number of other factors regarding the XNA content pipeline, as well as referencing how to setup terrain and skeletal animations... XNA gives a lot of control for setting these things up, but appears to do less importing work than Unity (or UDK) does for importing other assets. I suspect this may be one of the more time consuming aspects of XNA development if there needs to be a lot of custom support for importing 3D assets into the engine.

I would have liked to see a bit more information on the shader tutorials (as shaders are one of my favorite things to play around with). I will have to delve into the source code examples although I did play a bit of their "Rock Rain" and 3D FPS example vs spiders (I found the control setup to be a bit unusual but works once you get into it).

One of the nicest "gems" from the book was the reference to the terrain generator Terragen which I will be playing with a bit more this weekend. It has been used in Star Trek: Nemesis, The Golden Compass, Serious Sam (game) and the Imaginarium of Doctor Parnassus. I have to say from what I've seen of it in the galleries it looks to be a fairly impressive program and is also has a free version for non-commercial use :)

Looks like some terrain generation tests ahead and I'll see if I can post some XNA examples.

Bye for now,
http://michaelhubbard.ca

Wednesday, May 19, 2010

UDK vs XNA: Part 2

Continuing on my testing of the Unreal Development Kit and XNA I focus a bit more on the development process between these two packages, this is focusing on tutorial and community strength and some asset pipeline use.

Given that the UDK is a much newer release than XNA it is somewhat surprising how quickly tutorials, youtube videos and articles are being written about UDK and all of its features. While the literature on UDK is still fairly small compared with XNA, I imagine that given this initial output it will not be very long before more people begin trying the UDK and expanding on its knowledge base.

XNA has a number of useful books and demos written for it, (still one chapter to go on the Beginning XNA 3.0 Game Programming from Novice to Professional (likely writing a review tomorrow)). The XNA community also seems to be quite established with lots of beginner tutorials as well as some more complex examples as well. Many of the examples often end up with demonstrating the ease of 2D elements in XNA as well as the usefulness of the content management pipeline for loading fonts, images, audio and models. The pipeline is quite intuitive and easy to setup your own images and content in the game using the customizable XNA content pipeline.

The UDK is a bit different, the Content Browser looks to be fairly flexible in managing the assets (as well as coming with a significant amount of import options) and appears to have a more complex overall structure to what elements it has to display. This I imagine has its strengths and weaknesses, in that it is easy to find things by grouping for larger projects but more rigid in having to use such a complex system (instead of a hierarchical directory structure). It appears that the Content Manager also supports a number of more complex file types like photoshop .psd files as well as all the unreal file packages.

All in all XNA is likely an easier choice for the beginner programmer to get started with from the community and content pipeline choice (if you don't know you are looking for the content manager button in the UDK you might not find it straight away). The UDK editor has a larger focus on giving artists the flexibility they are used to in 3D modeling packages, but this appears to add some complexity for the programmer as well.

Still lots of stuff to explore with both systems, I will see if I can read up on some UDK literature soon (and not just online tutorials) to expand my understanding of both systems.

Until next time,
http://michaelhubbard.ca