Allan Chaney on January 28th, 2009


Volcano Storm XNA game 012709 from Allan Chaney on Vimeo.
I’ve been struggling with perspective.  My original intention was to mirror my work on Paladin’s Legacy and just create a Top Down game.  The problem I’ve run into is, due to the current state of game graphics, even the simplest graphics don’t look good in pure Top Down.  It’s very hard to convey depth in top down… much harder than I thought it would be.  Back in the day, graphics were so simple, depth didn’t matter.  Now it does.  Some things work but most do not.  For instance, my player looks like a spider running across the screen in Top Down as you can see from my first video.  (Admittedly, there are only 2 frames of animation for each direction so he looks pretty choppy.  But until I have a fully sculpted 3D character, there’s no point in going through the painstaking task of texture grabs for each direciton times 16 or 20 for smooth animation.  I’ll wait to do that once I have a character worth animating.  I’m still learning ZBrush.:-)    My volcano looks acceptable but I’m unable to recreate any depth with mountain terrain in Top Down.

Here is mountain terrain, a tree and a burnt tree in top down.  The mountian is just barely acceptable but not really.  The tree and especially the burnt tree look aweful.  The burnt tree doesn’t even look like anything.  At least the green thing could be mistaken for a bush.  But no one would think that black thing was a tree.

mountain2topdown

Read the rest of this entry »

Tags: , , , , ,

Allan Chaney on January 21st, 2009


Volcano Storm 2009 XNA 3.0 Game from Allan Chaney on Vimeo.

Tags: , , , ,

Allan Chaney on January 21st, 2009

blogtree1So I finally made a decision regarding graphics applications for XNA game building.  I bought ZBrush. The interface is a little non-standard but what I really liked about it when I first started the trial was that you can start with a 3D object and just start sculpting and changes occur real time on the screen.  No “click render to see what you have just applied”.  It also takes a very artists approach to 3D model creation.  Which means…it’s not like other 3D modeling programs.  (It’s actually 3D and “2.5D”).  If you are starting from scratch, I strongly encourage you to watch the video tutorials at ZbrushCentral, ZClassroom.  The interface is something you can’t learn through trial and error as hobbyists are prone to attempt.

I’ve been struggling even within Zbrush to create realistic looking trees.  

First TreeIn this first attempt, I just sculpted everything.  I started with a 3D cylinder and moved and stretched to make the trunk.  I applied a material and painted on a texture.  Then I added a 3D cone and pulled and stretched, texture etc.  I used the Subtools features so I would have two separate pieces I could work with.  Here is a link to how to use subtools in ZBrush.  Ultimately I want my player to be able to walk under the tree canopy and have the canopy go semi-transparent.  So in game, I need the trunk and canopy as separate graphics textures.

Read the rest of this entry »

Tags: , , , ,

I really liked this book.  About half of the book will be valuable to a complete beginner.  The second half delves into 3D and starts you down the path of shader development, terrain generation and a third person shooter.  I found the third person shooter part to be a relief since most books deal in first person when they hit the 3D section.  I have motion sickness problems with first person shooters so I will never make a first person shooter.  I am therefore a little biased in that regards.  I didn’t understand most of the 3D stuff.  So I doubt you will either if you are at my stage in XNA development, which is to say beginner.

I did however like the fact that the authors are uncompromising in their use of Game Components vs. Classes.  My understanding of the history of Game Components is that it was a feature Microsoft included in XNA in the hopes that the community would develop components that could be distributed over the web and used as a sort of “drop in” chunks of game code.   I won’t explain how they work here but I will say I was thoroughly confused by them at first.  The previous XNA and C# books I read never even mentioned Game Components as an option.  In regards to C#, I think that’s because they are not available in C# regular (don’t quote me on that though) only XNA, and as far as the other XNA books, I think it’s because the authors were not familiar enough with the concept to feel comfortable writing code using them.  In essence a Game Component is just a form of a class that works differently with the intent of making that chunk of code more modular and thus more conducive to sharing.

The authors make full use of Game Components in their very first game, Rock Rain.  This game is a real treat to code and to run.  I think the authors did a nice job of slowly progressing the building of this game.  They actually finish it in a very basic form which is good for us beginners.  Then they extend it with more powerful features like menus, game networking, health ups, progressing difficulty etc.  That helps to keep the complexity low in the beginning and it gives you a sense for how you can organize your code using game components.  I actually used their rock code structure in my first project.  Instead of rocks falling down the screen, I have raindrops.  And I used a class instead of a game component because I was more familiar with that structure from reading previous books.

Read the rest of this entry »

Tags: , , , ,

Allan Chaney on January 7th, 2009

I read some of the reviews of this book atAmazon and I was pretty disappointed by the immaturity of reviewers.  But I guess that’s the way it is when anyone can post whatever they want.  There was one review in particular that made the assertion that Mr. Silva was capitalizing on his winning of the Microsoft game competition where he won a publishing contract for his upcoming Xbox 360 Live Arcade game The Dish Washer: Dead Samarai, by pumping out a book.  This was a really stupid and immature thing to say.  That reviewer obviously has no idea how much effort is involved in writing a book or developing a publishable game.  And the market for these books is so small, Mr. Silva is not going to get rich on book sales.  If anything, Mr. Silva should be commended for taking the time to write this book along with his co-author, all the while, toiling away at his soon to be published game.  A year later and he is still working on that game, though I understand he is one bug from certification.  Publishing is immensely difficult.  I know just a little bit of where he is at.  When I sent my game, Paladin’s Legacy, off to Sundog Systems Inc. in 1987 I thought it was done.  I spent another year getting it publishable and that was 20 years ago when code and games were much much simpler.

That brings me to my first point.  This book has a lot of really awesome code in it.  With that said, I have to fair to the beginners out there.  A lot of the code is over your head…right now.  Mr. Silva includes so much code, there isn’t a lot of room left over for explanation.  At least that’s the way I perceive it.  Consider that in this relatively modest book, Mr. Silva develops an entire character animation editor (“robust, ugly character editor” are his words).  It looks magical to me.  He then proceeds to develop an entire, “robust” fully realized, 2D side scrolling game.  This thing makes the Platformer example included in the Visual C# Express Editor seem ridiculously simple.  That’s a compliment by the way.  Visually it blows away anything Mario has been in for the last 15 years.  That’s my personal opinion.  He develops a particle system with smoke, fire, blood spray and splatters.  His character is a gun toting, wrench wielding, jumping killer.  He has AI based enemies including regular ghouls and chainsaw wielding ghouls.  There is real time collision based combat.  I could go on and on.  But wait it gets better.

I have a pet peeve with some XNA books that spend a few chapters on 2D and then jump into 3D with all guns blazing.  The fact of the matter is most Xbox Live community games will be in 2D because 3D is just massively complex.  Given graphic content requirments of 3D, most 3D games will require a team of people.

Read the rest of this entry »

Tags: , , , ,

Allan Chaney on January 7th, 2009

This will not be a long review.

If you are just starting out with XNA or C#, this book is not for you.  There is a reason why the word Professional is in the title.  This book is targeted towards people who have already been programming for some time and may be on a development team making a game.

The book starts right out in part one talking about Unit Testing.  I’m still not sure what that is and I read the section at least 6 times.  What it meant to me is I couldn’t make any sense of the code.  Unit testing has something to do with writing your code in a format that isn’t the real code but is instead used to test the code.  Huh?  I guess that’s something the professionals do.

The author then moved right into Helper classes and more unit testing.  It’s a little strange because he goes on to say that the helper classes he has written are really good and should be downloaded so you can use them in the rest of the book.  I got a little worried at this point.  He shows some code and some ideas for helper classes but doesn’t really complete the topic of Helper classes before it’s on to some more unit testing code.

Read the rest of this entry »

Tags: , , , , ,

Allan Chaney on January 7th, 2009

Here are my top picks so far for learning C# and XNA.

C#

C# for Sharp Kids  – This starts at zero and teaches you c#

XNA Tutorials - This is a video series by Joran Omark.  It’s excellent.  I mean excellent!!  If the link is broken, let me know in the comments.  I’ll make these available from my site.  (Go to the XNA Tutorials website, look to the right of the window where it shows Download Videos).  Download them all.  They are great!

Learn C# and Game Programming - This is a series of tutorials focused on learning C# and then XNA from scratch.  Very nice!  The author calls it CampElmXNA.

XNA Books

Read the rest of this entry »

Tags: , , , , ,

Allan Chaney on January 7th, 2009

What is Blender?  Blender is an open source 3D modeling and animation program.  It’s 100% Free. 

Why did you choose to look at Blender when you are a beginner and sticking to 2D?  At a certain point I decided that my in game graphics would look better if they appeared 3D even though they are actually 2D textures.  It turns out, not being an artist, that making something appear 3D, shiny, shadowed etc. in a 2D paint program is pretty difficult.  It gets even more difficult if you want to make a rotating  object that appears 3D by flipping 2D textures contained in a sprite-sheet.  So I started looking at 3D applications, figuring I could simply screen print or export/save the 3D object as a 2d image and use it in my game.

You can download Blender here:  http://www.blender.org/

For the record, I used version 2.48a. 

Read the rest of this entry »

Tags: , ,

Allan Chaney on January 5th, 2009

This was the very first XNA book I bought and I’m glad it was my first.  Based upon the 5-6 XNA books I’ve purchased and read, this book is the most beginner oriented.  Rob Miles does a nice job of trying to hand hold you through basic Object Oriented concepts yet also rapidly getting you involved in XNA code so you can do something exciting.  When I read books of a technical nature, I realize that most of what I read will be forgotten but exposing my brain to the ideas over and over eventually has an effect.  My point is the real value in a lot of technical books is as a reference source.  When you start developing your first project, you’ll run into all sort of road blocks.  Hopefully you’ll remember reading something in one of your books that provided a solution.  My strategy is I use sticky notes as page markers.  I write on them and place them on the page sticking out the top so I can easily see my note outside of the book.  Later on when I run into a problem, I can quickly browse through my sticky notes to try and find a solution.

Some of my notes include Gamepad Input, joystick vibration, filling the screen, fake 3D text, arrays, keyboard, using a struct to define an object.

Mr. Miles  walks you the development of several simple 2D games.  I particularly liked the Bread & Cheese game which he expands with Tomotoes.  For some reason, I understood how this game was organized.  It was simple, straight forward and became the structural basis for my first game project.

Read the rest of this entry »

Tags: , , , , , , , , , , , ,

Allan Chaney on January 5th, 2009

One of the problems I had early on and still do in many cases is understanding the big picture when it comes to C# development with XNA.  There is just so much abstract stuff going on, it’s hard to visualize what you are doing and where you need to go.  Books don’t make this any better because they present code is small snippets and when you are first starting out, you find that the authors take a lot for granted.  I can’t tell you how many times I was frustrated because the author would describe some code and then not specifically tell me where it needed to be typed into the Visual C# Express editor. 

This is the way I visualize what’s going on:

C# is the programming language you are writing.  XNA is a vast library of code you tap into to do stuff using C#.  You’ll run into a lot of references about .Net.  .Net is just a very non-intuitive name for the microsoft library of code.  It goes back to the age old concept of not re-creating the wheel.  At some point in history, after my days of programming were long over, coders decided that it was better to reuse code that had already proven it’s worth.  Plus programming had become so complex and teams so large that things had become unmanagable.  Thus the .Net library was born and now the XNA library.  .Net is used for windows and web development.  XNA is purely for game development.  It also helps that Windows and Microsoft are so dominant or we would probably have dozens of operating systems and dozens of libraries of code not too mention hundreds of languages.

Read the rest of this entry »

Tags: , , , , , , , , , , , , , , , , , , , , ,