XNA Components – Better Structure And Organization

XNA has been really quite nice to play with, a pleasant change from the grind of UDK or Source where everything is done for me, and UI is simple – a lie on Source mind you. Building the Hades POC out in XNA has been fun because it feels like I have been on an educational adventure, experimenting and rebuilding portions of the game slowly and analyzing the results then rehashing it and repeating. Of all of the elements/tools in XNA that I’ve been able to use, tripped over and even those I thought I understood but didn’t  one stands out – I love the fact that components exist.

In a moment ill show you how I used components to ensure that my screenshot mechanism never includes the debug information but always includes the screen, also known as the back buffer.

Disclaimer: All of the code & discussion below refers to XNA 4.0

Continue reading “XNA Components – Better Structure And Organization”

Progress Being Had

Adobe AIR™ loading... I occasionally get the opportunity to revisit code and rewrite applications i’ve written previously. Without fail i can always tell which of the applications was being used by me directly and how often i was running it, if not by the quality of the code… by the progress monitor i implemented. There are usually three monitors, and i can see each of them standing as a checkpoint to the next.

  1. DONE!
  2. Iterate through with some character dropped on the screen
  3. A Percentage completed bar that updates

Each one has its benefits and usefulness, so i figured id take a moment to step through each of them and where i use it, as well as how i coded it for the latter two.

Continue reading “Progress Being Had”

Assembly is definitely tough to work with

A two-dimensional array stored as a one-dimens...

I have been very lax about sharing my experiences with the advanced assembly course, and ill tell you why – I am actually having a tough time and its bothering me. Its not tough to accomplish the projects…

  1. Write an app that calculates the GCD for two integers
  2. Begin work on my own Strings and Output libraries
  3. Continue work on libraries, work with FileIO
  4. Floating point arithmetic & stack manipulation

Overall it has been a lot of fun, learning about the memory interaction and trying to find better ways to work with arrays and heap allocation etc. It is definitely not as simple as some would have it be, but… fun is definitely an appropriate label:

This class is focused on getting beyond the Kip Irvine library and learning about the Windows API, Floating point arithmetic, and memory management. The most recent two labs have been incredibly telling, particularly about the Windows API, and for the record – I don’t like it.

Continue reading “Assembly is definitely tough to work with”

Code Example – MSSQL Test Update

I posted, in june of last year, about some very useful MSSQL tests that make development and the promotion process we use here at Broadcom easier. One of the tests was not entirely correct, and id like to make a quick substitution (although i wont be replacing the previous entry because it sort of works too).

Does a table have a field already?

IF EXISTS (SELECT Coalesce(Col_length('dbo.T_Table', 'FieldName'), 0))

should be

Does a table have a field already?

IF EXISTS (SELECT 1 WHERE Col_length('dbo.T_Table', 'FieldName') > 0)

sorry about the mixup. This new one is much simpler to read share with your friends and actually works well.

Code Example – NSIS – UT3 Install Locations

Along with the mod switch comes another piece of the pie. The installer allows you to package your mod for distribution. One of the hurdles that needs to be hopped over is finding UT3.exe so we can create the required shortcuts. Below is a short piece of code in NSIS to check the registry keys in windows 32 and 64 bit.

Continue reading “Code Example – NSIS – UT3 Install Locations”