BrownBot Logo BrownBot Head

Eraser – now with online score board

10:39 pm Filed under: General

Eraser with online score board Put in a couple of big nights on Eraser to give it a little more zing for the comp, I’m happy with the result.  Here are the major changes:

  • General Speed increase
  • Chucked BrownBot1a in there for some gratuitous eye candy
  • Extended the HighLighter numbers class to allow words and justification
  • Added an online score board system (this was the big one)

Seeing it’s the final couple of days of the competition it was pretty gutsy of me to go for the online high score system but it came together pretty easily, we’ll see how long it takes someone to crack it?

Download the latest version with the links below.

Game (4.5Mb)

DirectX Web Updater (you will need even if you already have directX [you need the October patch])
XNA Runtime (2.0Mb)
NET 2.0 Runtime (22.4Mb)

I’ll knock up a page dedicated to Eraser in the kitchen soon, also a page to display the current high scores table. Hope you enjoy it, see you on the high score table!

Moto Accountant

2:52 pm Filed under: General

Rebecca Lipsett Zetty went out to dinner last night with “her accountant mates” as I like to call them (bad joke of mine ribbing Zetty about the fact that she’s an accountant), they’ve been going through their usual yearly audit over the past few weeks and the dinner was to celebrate the finish.

One of the auditors is Pro Motocross Champ and factory backed Honda rider Rebecca Lipsett.

Zetty got talking to her about trail riding (Zett’s been keen to get a bike since sampling the power of Mowli’s XT 400 the other weekend) and she told Zett to not muck around with the small bikes (Zett was thinking a smaller 200 might be a good starting point) got straight for a 400 or a new 250.

Looks like we’re up for two bikes now… look out boys!

1a in XNA with Anti-aliasing and Shaders

9:39 am Filed under: BrownBot

Brownbot 1a’s back again, this time he’s rendered in XNA with a nice custom shader featuring:

  • Per pixel lighting
  • Separate Ambient, Diffuse and Specular values

Plus 2x anti aliasing, now it’s time to add a texture and move him into some interesting poses.

Here are some code snippets for the XNA guys out there.

To turn on full scene anti-aliasing in XNA (otherwise called multi sampling) you simply add the following.

graphics = new GraphicsDeviceManager(this);
graphics.PreferMultiSampling = true;

The following is my fx file for super simple per pixel rendering (note: the camera is the light source).

string description = "Basic Vertex Lighting with a Texture";

//------------------------------------
float4x4 worldViewProj : WorldViewProjection;
float4x4 world   : World;

texture diffuseTexture : Diffuse;

//------------------------------------
struct vertexInput {
    float4 Position				: POSITION;
    float3 Normal				: NORMAL;
    float4 TexCoord				: TEXCOORD0;
};

struct vertexOutput {
    float4 Position     : POSITION;
    float2 TexCoords    : TEXCOORD0;
    float3 Normal        : TEXCOORD1;
    float3 Position3D    : TEXCOORD2;
};

//------------------------------------
vertexOutput VS_TransformAndTexture(vertexInput IN)
{
    vertexOutput Output;
    Output.Position = mul(IN.Position , worldViewProj);
    Output.Normal = normalize(mul(IN.Normal, (float3x3)world));
	Output.Position3D = mul(IN.Position, world);
    Output.TexCoords = IN.TexCoord;
    return Output;
}

//------------------------------------
sampler TextureSampler = sampler_state
{
    texture = ;
    AddressU  = CLAMP;
    AddressV  = CLAMP;
    AddressW  = CLAMP;
    MIPFILTER = LINEAR;
    MINFILTER = LINEAR;
    MAGFILTER = LINEAR;
};

float4 Ambient = float4(0.12, 0.12, 0.10, 1.0);
float4 Diffuse = float4(0.80, 0.80, 0.80, 1.0);
float4 Specular = float4(0.25, 0.20, 0.20, 1.0);
float SpecularPower = 10;

float4 lightPos : LightPosition = {0.0f, 50.0f, 500.0f, 1.0f};

float4 color = float4( 0.36, 0.26, 0.10, 1.00 );

//-----------------------------------
float4 PS_Textured( vertexOutput IN): COLOR
{
    float3 LightDirection = normalize(lightPos - IN.Position3D);
    float NDotL = dot(IN.Normal, LightDirection);
    float4 TotalDiffuse = saturate(Diffuse * NDotL);
    float3 Reflection = normalize((2.0 * IN.Normal * NDotL) - LightDirection);
    float RDotV = max(0.0, dot(Reflection, LightDirection));
    float4 TotalSpecular = saturate(Specular * pow(RDotV, SpecularPower)); 

    return saturate(Ambient + (color * TotalDiffuse)+ TotalSpecular);
}

//-----------------------------------
technique textured
{
    pass p0
    {
		VertexShader = compile vs_1_1 VS_TransformAndTexture();
		PixelShader  = compile ps_2_0 PS_Textured();
    }
}

We’ve got a long weekend starting with Australia day tomorrow, looks like we’ve got a few social events lined up I should have some time to get some more interesting stuff up here.

BB1a in XNA

9:30 am Filed under: BrownBot

Here’s a pic of BB1a (BrownBot 1a) rendered in XNA, there’s a small issue with the winding order of the mirrored limbs on the left hand side but I should be able to flip those pretty easy.

Also a couple of the surfaces smoothing groups are not coming through but I’d guess that’s because they’re in more than one group, again I should be able to fix them up easily.

It’s nice to have such an easy process for getting content into your app.  Full credit to the XNA guys for getting it right.

Zett picked me up an XBox 360 wired controller last night while she was in Albury, they’re windows compatible and a big part of this “Games for windows” boloney that Microsoft have been going on about. 

I must admit though that the XNA library is top draw, took me 15 minutes to integrate it into Eraser, pity they don’t support any of their other joysticks, I’d love to get some force feedback control happening with my Sidewinder Joystick and Steering wheel.

I’ve still got to get the Eraser shooting in the correct direction with the right thumb stick and add some rumble when you get shot. All too easy.

BrownBot 1a

10:42 pm Filed under: General

BrownBot 1a

Zetty and the girls headed up to Albury tonight to catch a movie and a spot of shopping.

First up I put in a few solid hours on “The Legend of Zelda – Twilight Princess” on the Wii, man it’s a good game, but it’s friggin huge, I’m only just about half way through after 30 odd hours of play.

After that I quickly cooked myself up some eggs on toast, then headed to the study too chip away at one of the many projects I’ve got to work on.

I’ve been thinking about building a 3D model of a Brown Robot mascot for this website for a long time, I only had a very rough retroesk idea as to what he should look like. The pic above is the result of about 3 hours work in 3D Studio Max,  I’m pretty rusty at max,  but well happy with the result.

He’s only at the raw model stage, I’ve still got to skin and bone him (colour him in and make him move).

He’s called 1a because he’s the first, I’ve got a few ideas for creating a whole string of  individual “BrownBots” in all different styles, not sure what I’ll use them for but surely I can sneak the odd one into my games, should be a bit of fun.

Back in town

1:28 pm Filed under: General

BarnesToupia

Zett and I rolled back into town at around 10 Saturday night, pretty knackered after 30+ hours traveling with little sleep (4+ hour car ride to PE, 2+ hour flight to Johburg, 12+ hour flight back to Sydney, 1+ hour flight to Melbourne, 3 hour drive home) it was actually a pretty smooth trip home, the guy infront of us on the long leg had a dodgie seat that reclined further than anyone elses making things a little uncomforitable for me seeing I couldn’t see the TV anymore, but Zetty swapped over with me and we scored a couple of bottles of wine from the hostess for our troubles.

As soon as we got the car unloaded I shot over the road to pick up my Nintendo Wii that I had pre-ordered (it came out the day after we left so Evan went and picked it up for me!), hooked it up proto and had a go at the motion controlled goodness, by the time Zett and I had had a couple of goes of all the Wii Sports games, it was 3 in the morning and time to crash… and crash we did.

Got rudely awakened at midday by a phonecall, it was time to get up and get some stuff organised before meeting up with everyone for the (delayed) anual Barnestoupia river float, an early start to our new years celebrations.

Good turnout this year, we had 2 boats and a jetski to tow us out of the snags where needed also, it was good way of catching up with everyone over a few brews while floating along, watching Moorey hump some childs inflatable dragon xmas present to death!

This set us up for a nice new years eve around the bar, talking shite as per usual, Zett and I had dropped our bikes down at camp before the float ready for a scoot home to sleep in the air conditioned comfort of our home.

Anyhow the following pics are curtosy of Dools.

BarnesToupia BarnesToupia Shorty Shorts and Stripes The start of New Years

Eraser – XNA 1.0

11:01 am Filed under: General

 Here’s an updated version of Eraser, exactly the same as before only compiled with the final version of XNA.

Unfortunately running on the bleeding edge bit me on the bum, the final version runtime wasn’t compatible with the beta 2 exe, we should be right from here on now we’re on the full release, all I need now is a 360 so I can run it on a console :)

Updated links below:

 

Let me know how you go?

Powered by WordPress