Archive for August, 2010

Info – (Dont Worry Shawson) XNA Evil and Not So Evil Check Lists….Oh My!

I was talking to my 8Weekgame colleague Shawson today, pertaining to XNA considerations when designing an Xbox 360 Arcade game and what to look out for before the submitting to Peer Review. Its a good idea to read the following to get an idea that its just not the game design in terms of logic, textures, physics, models etc that you need to consider, but more fundamental aspects like, what apsect ratios the user has for their TV, HD images for 1080p, localization considerations for other languages other than English. THe list is quite comprehensive, so all you wannabe XNA developers, dont be put off by it. WHat i think is nice, is the Creators Club Community also have a “Not So Evil” wishlist, as not to be too negative:

Xbox360 Programming Considerations

Evil List

Not So Evil List

So dont be scared, as this is a great way of saving time and helping the community, so “Dont Worry Shawson….”

Xbox Live Arcade on Xbox 360.
Image via Wikipedia
Enhanced by Zemanta

8WeekGame – Countdown Begins….

4 Developers – 2 Languages – 8 Weeks
Gareth Bradley, Martin Elsworth, Shaw Young & Paul Ledger have to build a 2D side scrolling game, in any language they choose in 8 weeks. You can track their progress here.
The Competition Begins on 4th October 2010.

The 8WeekGame header for the site is now updated, plus the countdown of when the XNA & iPhone game competition starts:

46Days, 14Hours and 23 Miniutes until it begins!

A constructed example of parallax scrolling. V...
Image via Wikipedia
Enhanced by Zemanta

8WeekGame – Competition 2 – Final Details

The details of the 2nd competition are:

◦Starts 4th October – Ends midnight on the 22nd November

◦2D Game – scrolling (Vertical OR Horizontal)

◦Cannot use Open Source pre-made libraries:
i) XNA Starter Kits
ii) Codeplex projects

NB: We can make a exception of the SpritePacker program BUT not the associated .DLL that you can use

◦The end game has to have at least:a) 1 working level
b) Menu
c) Game Start/Game over/Win Splash screen

◦Can use pre-built libraries for Physics Engines only

◦Can use the internet for Sprites/.fx files, levels and sounds.

◦If you are using other people’s assets, you MUST have a credits page, listing their names, and any
applicable URL’s. Last competition we didn’t do that which is bad sport really.

The competition this time around is:

Me (Gareth)

Paul Ledger

Shaw Young

Martin Elsworth.

So please welcome Paul to the next competition! I posed the following questions to each new member, and please see there answers:

Shaw Young:

A)      What languages/technologies you will be using

XNA I think!

B)      What type of game it will be (if you know)

Well I’m torn between a few ideas- but I think this is most likely going to be a fathom style game

C)      What type of game play you expect

So it will be a skill based game navigating your ship around tricky levels, fighting against gravity and NPC turrets and the like to collect stranded people.  Environments will be destructible (think worms, not red faction!).  I would like to have split screen multi-player which I think will be the most entertaining mode offering dog fights between players as well as collecting the stranded little guys, but may get dropped as I’m unsure if it will be do-able in 8 weeks!

D)      Any other comments

As reining champion, If I do loose this round it will be on purpose to give new comers a chance…

Paul Ledger:

A)      What languages/technologies you will be using

There is only one language, so its Objective-C, not sure yet but will probably use OpenGL, fall back is Quartz (iPhone)

B)      What type of game it will be (if you know)

Its going to be a sort of Defender game, but think instead of saving people you will be an alien abducting cows.

C)      What type of game play you expect


D)      Any other comments

You will all lose.

Martin Elsworth:

A)      What languages/technologies you will be using

Written in C# using the XNA framework.

B)      What type of game it will be (if you know)

A side scrolling beat ‘em up.

C)      What type of game play you expect

Double Dragon/Final Fight/Streets Of Rage meets Street Fighter!

D)      Any other comments

Possible game titles – Double Streets Of Final Fighter?  Or Final Streets Of Dragon Fighter!?

The same as before, we will write regular posts up here, plus information on the Facebook page which can be found here.

Still a while yet until the competition starts,  but enough time for us to design and plan our games better! YAY!
Watch this space.

Microsoft XNA
Image via Wikipedia
Image representing iPhone 3G as depicted in Cr...
Image via CrunchBase
Enhanced by Zemanta

Info – Common Intermediate Language

Visual overview of the Common CLR Language Inf...

Image via Wikipedia

For anyone that is interested in how .NET operates under the bonet, or wonders how the Mono project can use the .NET Framework, then read about the CIL – Or as it was known MSIL.

In addition, any XNA developers out there who wants to squeeze every last ounce of bandwidth out of their games, then learning CIL is a good start. Use the programme Ildasm.exe to extract the Assembly from your binary.

Enhanced by Zemanta

Info – ShaderToy – HLSL

Nick Gravelyn has created a cool App that compiles HLSL on the fly! I havent learnt HLSL (High Level Shader Language), but it is something that im coming too in my book XNA Game Studio 3.0.
Check this out if you have any knowledge of HLSL here.

NB: You will need .NET Framework 4.0 found here.

Direct3D 10 Graphics Pipeline
Image via Wikipedia
Enhanced by Zemanta

8WeekGame – Competition 2 – Details

I havent talked about this for a while. The first competition was a roaring success in terms of what was achieved – ie 3 Games made in 8 weeks. Shawson did a blinder in Javascript using some of the new HTML5 Canvas elements, and ManicSpaceman won the competition, which was well deserved.

Now the 2nd competition will begin on 04/10/10, but this time the brief is simply:

  • 2D side scroll
  • 1 playable level
  • Cannot use pre-made libraries (Apart from standard ones line XNA)

Shawson has decided this time to use C# XNA due to winning a competition, where he won a MSDN Ultimate subscription worth £13,000! Well done Shaw!

I have already thought about the type of game i want to do, which will be a space side scroll, with space ships, aliens etc. This time round i will design the game properly before coding so that i know what im doing before the competition starts. The rules state we cannot begin coding the game until 04/10, but we can design!

Martin has decided to do a Double Dragon clone, and Shawson is toying with Cannon Fodder, so a diverse selection!
Anyway i will blog more info when i have it.

Info – Game Programming Terminology – Part 2

**This post follows on from Info – Game Programming Terminology – Part 1.

As per my previous post, the following are terms which you may find useful, again these are inspired by my knowledge and Chad Carters excellent book, XNA Game Studio 3.0 – Unleashed.


Effects are quite simply used to get any 3D object to be shown on the screen, with effects like:

  • Textures
  • Light
  • Position of Points

One of the XNA classes to use is BasicEffect which will have one or more technique, and a technique will have one or more passes.

NB: More info to come on the explanation on technique and pass.

Index Buffers:

As we mentioned in the previous post, vertices are stored in Vertex Buffers, which is an area in memory containing lists of vertices. So an index buffer is an area in memory that stores indices that correspond to our Vertex Buffer.

For e.g. if you wanted to draw triangle, you use 3 points (x,y and z if needed) in the vertex buffer, i.e 3 x Vectors (x,y,z). If you want to draw a Rectangle (2 triangles), you could use 6 Vertices in the Vertex Buffer. But because the vertex structs in XNA are memory intensive, AND some of the vertices would be duplicated, then you only need to use 4 in the Vertex Buffer.

The Index Buffer will store 6 indices that correspond to the vertices, in the order we want them rendered. This means only the indices are duplicated and not the complex vertex data.

Good example of this is explained here.

Info – Game Programming Terminology – Part 1

I have started doing Chad Carters book, XNA Game Studio 3.0 – Unleashed, and im now on Chapter 4, Creating 3D Objects. Chad writes the book in a very unique way, where he starts with 3D Game logic first before 2D. You may think this is silly, but it is helping me solidify my current knowledge of 2D XNA programming, and making me delve into 3D, way before i would of without this book (maybe never). So hats of to Chad because i think it is actually the way to do things.

On reading i up some new terminology (to me anyways), which i will share with you now, plus some that i already knew, but the newbies of the gaming world may not know:


This is an important part of 3D and 2D gaming. All game objects are represented by points in space as a Vector. These are x, y and z coordinates (Cartesian).

Within XNA there are various Vector structs:

Vector2 (X,Y)


Vertex Buffers:

The 3D objects we talked about are made up of triangles. This is because the Graphics cards are designed to use triangles as the basic primitive. For e.g. a rectangle is made up of 2 triangles. A triangle in 3D space is 3 vertices.

Vertex buffers are used to store the 3D points in memory. XNA uses the coordinate system by:

x = goes from left to right  – e.g. left = -1 right = 1 (Horizontal axis)

y = goes up and down – e.g. down=-1 up = 1 (Vertical axis)

z = goes forward and back – forward=-1 back=1 (Depth axis)

A lot of 3D geometry going on here, but as Chad says in his book, even though XNA does a lot for you, it is good to know the math behind it.

Info – Kinect Patent Now Available For Public Consumption

As reported by ign, the patent for the new motion controller that i believe will revolutionize not just the Xbox, but gaming in general, has now been released here.

Info – Mono.NET and Visual Studio

For anyone who develops enterprise applications, games, websites or just for fun, and uses .NET and Visual Studio, will have probably have heard of the Mono Project. This project was devised by Novell and various partners to create a .NET Framework and C# which works across multiple platforms, including LINUX, Mac OSX etc. This allows developers to port apps easily without rewriting them in Native C++, Objective-C etc. There is even an iPhone  version (MonoTouch) which cab plugin to Xcode to create iPhone/iPod Touch/IPad Apps using C#:

Taken From

“When developers create iPhone and iPad applications using MonoTouch, they use the C# language to take advantage of the features found in .NET like garbage collection, full type safety, and Language Integrated Query while interfacing directly with iPhone OS libraries, including UIKIt, CoreGraphics, CoreAnimation, GameKit, AudioToolbox, AVFoundation and many more.”

There are now some tools available to use within Visual Studio which can be purchased here which allows developers now to write all their applications for multiple platforms within one IDE, which lets face it is the best! At the moment, if you develop multiple Applications for other platforms you use:

  • Windows – Visual Studio
  • Android – Eclipse
  • Mac/iPhone/iPad – Xcode
  • Linux- SUSE

With the introduction of MonoDroid for Android development, us C# developers can now use 1 IDE + 1 language = LOTS  of platforms! Oh how i love OpenSource!!!

Oh and the introduction of XNATouch, there will be no need for OpenGL for the iPhone 🙂

« Previous entries