Tuesday 18 December 2007

XNA 2.0 && Silicon Minds


Well its that time again. XNA 2.0 has been released and with it a new Dream Build Play competition.


As a warm up to the competition Microsoft have launched a smaller contest named Silicon Minds. The central idea behind this contest is to encourage A.I. in games and as such 60% of the marks will be given to the quality of the AI in the game a further 20% given to how fun the game is and a final 20% given to the polish of the game.


I have been wracking my brain trying to think of a good project to do for this contest, some of the ideas i came up with were:



  • Bee Swarm Game

  • Dynamic FPS Difficulty

  • Particle Flocking

  • Learning Geometry Wars

  • Predictive Multiplayer

  • Adaptive Level Design

  • DNA Designer

  • Design a Positronic Brain


In the end i decided that due to how short the competition is (ends jan 27th) and my lack of any A.I. experience I would stick with what I have learnt in the past and develop on that. So using the work i have done on LieroXNA so far im planning on writing an A.I. for a deformable 2d landscape.


Sorry i cant say any more at this stage but stay tuned and ill update in the near future.

Wednesday 5 December 2007

Project Technology (Deformable Terrains)

Well i got asked a question in a comment on how the terrains work in the LieroXNA project so I thought i would do a quick post on this rather than reply in the comments.


The way the terrains work has changed a few times over the course of development of the project for various reasons mostly related to the incompatabilities of the 360 and my previous methods. I wont go into those previous methods here but if anyone reading this has any questions dont hesitate to ask in a comment or email me. I would also like to say this may not be the most efficient method as I was only getting the terrains up as a proof of concept first then was planning on refining later.


Tuesday 27 November 2007

Graduation Part Two


Well thats officialy it now, university is over. Quite a sad thing but i guess it had to happen eventually.


The night out afterwards was fantastic however with the usual bunch of crazy antics and lethal quantities of alcahol.


Head over to my picassa album for more pics: http://picasaweb.google.com/mike.cann/Graduation07

Saturday 24 November 2007

Artificial - Future Harmonics



Its been quite some time indeed since i have released a mix so i decided to make another one. This one is a culmination of several weeks work and im pretty proud of it.

Its hard to describe which genre this mix falls into, as the name suggests i was going for a harmonics style mix but with a more edgey, IDM type feel to it, not sure if i succeeded, but oh well.

Didnt manage to fit all the tracks i wanted into this one so they may be a simmilar mix on the way in the near future :)

Future Harmonics by Artificial on Mixcloud

Wednesday 14 November 2007

Sunday 11 November 2007

Project Update

Well its been a while since i have posted an update regarding the LieroXNA project. I havent been slacking. 


I have been spending the majority of my time getting it to run on the 360. I ran into many problems, the majority of which were due to the different ways render targets work on the 360 and the fact that you cant use 128bit floating point textures (Vector4 textures).


Ill be going into more depth on the problems i faced on the 360 in a different post. But what i can say is that it works almost perfectly on the 360 now and im very happy with it.


For now you can see a new video of the engine with some fancy bloom effects added :)


Friday 9 November 2007

Coder Tidbit 01

Keep coming across things like this at work that make me stop and think for a while so i thought they would be interesting to post up here for others to think about too.


Heres one i came accross today that was causing a strange error in the game:


[code lang="java"]
boolean a = true;
if(a){ System.out.println("HERE1"); } { System.out.println("HERE2"); }
[/code]

Which one is printed? HERE1 or HERE2 or both?


If a = false which is printed?

Wednesday 31 October 2007

Graduation Part One

Just got a letter through the post confirming the date for my graduation from Uni.


Also at the same time I received a letter informing that I received an award for "Best Overall Performance on the Final Year of the Computer Games Programming Course" which is probably the longest name for an award in history but im still proud :D


Jump to part two after the 26th November to see photos of the ceremony!

Thursday 25 October 2007

Stall

Well i bought my new shiny PC two weeks ago a nice quad core Q6000 machine with an nVidia 8800GTX. All was good and nice, progress on liero was flying along. The machine didnt even flinch at 1,000,000 particles, i conservatively estimate its capable of 5,000,000 at 30FPS.  But just the other day it broke down, no reason, no warning, the mobo just went put. It turns on, the lights come on but it doesnt do anything, doesnt even get to the bios screen, nothing.


Whats odd about this is the fact that my backup PC (some crappy little machine i have lying around and have been using as a media PC recently) broke on the same day, with the same problem! It too wont get to the bios screen even tho it turns on and the fans work.


Anyways, the long of the short is, i sent my new PC back on Tuesday, hopefully, if they are quick it will be back tomorrow and I can resume work on LieroXNA. It annoying as i was really starting to make progress with getting it working on the 360! Stay tuned for a video of this once i get my PC back up and running.


In the meantime here is a link to a litte something my work mate pete is working on: http://www.virtualmind.co.uk/?page_id=84

Friday 19 October 2007

Thursday 11 October 2007

Zero Punctuation - Halo3

Abit old now i know but when this made the rounds at the office last week it had me practically wetting myself:


 


 


Tuesday 9 October 2007

Wordpress 2.3

Well I decided it was about that time again to take the plunge and upgrade Wordpress to the latest version as my spam filter had stopped working for some reason.


It went okay however there were some problems such as the fact that the way i have been embedding videos from other websites such as youtube seems to mess up the formatting of the site. I tried about 100 different things to fix it including deleting my entire website and then reinstalling! Well I still havent got the embedding sorted but atleast the website formatting is back to normal now.


Oh I changed the skin too, to this very sexy one by MangoOrange™.

 


 


 

Sunday 30 September 2007

LieroXNA - Improvements and Additions

Been a while since I have posted about LieroXNA but I havent been doing nothing. Changes and things:

+ Added a destroyed layer to the game which is just the initial map but darker.
+ Added a shadow to the foreground to give it a more 3D appearence.
+ Added an indestructable layer, so that maps can have abit of structure even after a long battle.
+ Added the ability to zoom in and out. This was a big one and took most of last weekend to sort out.
+ Added player spawning.
+ Added the ability to control the player with the 360 controller.
+ Started to add other gameplay features such as player jumps, crosshair, weapon switching things and others.

Anyways you can see all these new features in action in the video below. Again, you can download a higher quality one if you wish: [download#1]



<

Sunday 16 September 2007

LieroXNA - Weapons and Forces

I have been working hard on LieroXNA this weekend and have managed to get quite abit of what I wanted done.

Firstly I worked on setting up a framework for weapons that allows them to be described by an external xml. This should reduce the effort involved in creating new weapons in the future. Taking a quick look at the XML that describes the rocket weapon you can see its straight forward but also pretty powerful:


<?xml version="1.0" encoding="utf-8" ?>

<weapon name="Rocket" type="projectile">
    <properties>
        <texture>rocket</texture>
        <trail>smoke</trail>
    </properties>

    <events>
        <onTerrainCollide>
            <spawn type="explosion" size="64"  where="this" velocity="this" />
            <spawn type="shrapnel" quantity="10"  where="this" velocity="this" />
            <die/>
        </onTerrainCollide>
    </events>
</weapon>


In addition I have been working on adding forces into the game. It took abit of tweaking but now explosions have a force which repels particles around it, you can see this in action in the video below. I have also added a "vortex" special weapon that sucks particles towards it which then swirl around until the vortex implodes expelling all the particles.

The size of the world has now been expanded and a simple camera has been added. Previously the intention was the world was to be split into multiple tiles of 1024x768 textures but i have now decided against that due to the level of complexity involved and gone for a system that uses one large texture (2048x2048 currently) instead. I have also changed the texture so its a little less "programmer art" as I was getting some stick for that :P

There is still alot of work to be done but im happy with the way it looks at the moment. You will have to excuse the video quality below, flash isnt the best compression for alot of fast moving small particles.

If you want to see a larger less compressed video (35meg) you can download it HERE.

Wednesday 12 September 2007

I cant stop playing with particles..

Well I have been at it again, tweaking and altering the particles in LieroXNA. You can see a video of my results below.

+ Particles now represent the pixel they exploded from. i.e. if the terrain was green the particle is green, if it was blue the particle is blue etc.
+ Particles are now more white (hot) depending on how fast and how old they are.
+ Particles now explode in a circular direction and less randomly (looks more like an explosion).
+ Particles now have a direction from which they are exploded, at the moment is just current mouse position - last mouse position but in the future this will be used to blow particles away from a high energy collision.
+ Particles now react to the player. I realised that instead of just passing in the terrain texture to the particle update routine i could pass the entire back buffer allowing the player and any other objects in the scene to have particle reactions, yey!
+ Particles now have a bit of alpha blending to make them look a little less in focus, not sure if this works well, let me know :)

Monday 10 September 2007

Liero Update - Console & ATi

Well I took Liero into work today just to show to a few people who were interested and to test it on another machine other than my own. And low and behold it didnt work on my work machine which was no surprise as it doesnt have a graphics card so it fell down at the first hurdle. I then went to test it on an artists ATi based machine expecting it to work. It did but sadly there were no particles.

Well after digging around abit, I discovered that it was the same problem I encountered before when I released my 1,000,000 particles demo a few months ago. The problem is that ATi dont include the ability to use Vertex Textures in their graphics hardware (the core technology allowing me to get many particles on the screen). I knew the solution from previous work was to use ATi's alternative Renter To Vertex Buffer (R2VB) unfortunately I could not find anyone else that had done this in XNA before which led me to the suspicion that it wasnt possible. I posted on the XNA forum about this, you can see the replies here.

Anyways to cut a long story short I have not been able to implement R2VB for ATi cards but I have instead done the next best thing which is to implement a CPU particle system instead. This means that people with realy old cards (or like my work machine without a card atall) or people with ATi cards they can still play the game and still have particles, just not as many (200-400k on nVidia, 10-50k on CPU).

Also something I implemented over the weekend was this fancy console which, makes life alot easier for me when developing, isnt it nice ;)

Sunday 9 September 2007

Liero + 200,000 Particles

Been workin on this abit this weekend and managed to intergrate my earlier work on GPU particles with the game to create some nice effects. See the video below to see thousands of particles being blown in many different directions.


Saturday 8 September 2007

Some more pics up

Just got back from Phil's 23rd party and Jen's 21st. As usual I have uploaded the pics to my picassa account.

Some highlights include:

Thursday 6 September 2007

LieroXNA - A Tentative Beginning

Okay I have decided to start a new mini pet project. As you may have guessed by now I have stopped work on the TDProject. The reason is that it is too large of a project to take on at the same time as having a job, should I ever find myself without a job in the future I may pick it up again.

So the new project is designed to be alot smaller than the last and should give a more immediate sense of achievement. The project is going to be a clone of the popular game Liero but for XNA (so xbox eventualy). For those that havent played it, its a real-time 2D action game (basically worms without the turn based tedium).

So far im just playing around with getting the core of the engine up and running. The original Liero and its successive clones were all done in C/C++. In those languages you have the ability to pixel blit, that is write directly to the back buffer one pixel at a time. In XNA/C# however you dont have that ability, so you have to do some funky stuff with shaders. The advantage of doing it this way however is that GPU particles that have physics (can bounce around the level) should fall out of the code nicely allowing for large numbers of particles.

Anyways, as I said its just a beginning for now. So far I have a level rendered with a terrain map, an explosion map (renders explosions to the texture each frame if any occurred) and a collision map which allows objects to collide. With the left mouse button you can blow holes in the terrain which in turn updates the collision map allowing the worm to move around more of the level.


Monday 27 August 2007

Master Cleanse



This is all I will be eating for the next 14 days! Well the ingredients of anyways. Its called the Master Cleanse and our tour leader in America Becca told me about it and it really intrigued me. It is basically a massive detox that should flush loads of stuff out of my system and set me on track for a healthier life.

Those that know me know that im not really a mega health fanatic, in fact usually quite the opposite. This is one of the reasons I want to try this. Another reason is that it will be a massive challenge for me not to drink any alcohol during this period. This i think will be the hardest part especially as I have my sisters "late" 21st party coming up on friday where I wont be able to touch a drop!

Basically it works by taking senna tea (green box in the photo) before I go to bed. Senna tea is a mega laxative and should flush the system. In the morning i have to drink warm salt water which also has a laxative effect. During the day i drink a drink that is a mixture of lemons, maple syrup and Cayenne pepper (hot!).

Its going to be tough, realy tough, but I think I can do it. I will be journaling day by day here, partly so that I dont give myself the option of backing out.

Going to drink the tea in a few hours then go to bed and see what happens, wish me luck!

Day -1

Okay, just took the senna tea for the first time. Not particularly great tasting i must admit, but not too bad either. I wonder if i can put abit of that maple syrup in it next time to make it taste better. Anyways, bed in abit, i hope this doesn't wake me up too early, i want to be able to at least get some sleep tonight. Tomorrow is going to be tough at work tho *gulp*

Day 1

Well thats almost the end of my first day. Impressions? Well apart from having dreams of going to the toilet then being rudely awoken by my angry bowel at 4:30 and 7:00 all went well. I have been abit hungry, but nothing too severe, tho I agree with others on the internet that say that your sense of smell increases.

Ive just mixed my third litre of lemon and maple (which isnt too bad by the way, never tried maple syrup before, and probably wont again after this, but still its okay) you are only meant to drink 2 litres of it per day but I thought I would ease myself into this a little rather than going hardcore instantly.

The worst part so far has to be the salt water, damn that stuff is gross. Im gonna try adding some maple syrup to it tomorrow and see what happens.

Well, its laxative tea time again in a couple of hours. Cant wait for that :P Lets hope tonight isnt quite as painful as it was last night.

Day 2

Well today we went clay pigeon shooting today with work. Realy good fun, tho I wasnt too good :P You can see a video of the action here.

The detox went okay today, tho I was definitely much more hungry than I was yesterday. I have however now decided that today is going to be the final day. I have decided this because after talking to lots of people I think that the benefits of this probably dont outweigh the negative sides to it. The hunger and the pain from the senna and the salt is my bodies way of telling me to eat and stop forcing laxatives into it, so I think its a good idea to listen to it now.

Im a little disappointed that I couldnt make it to 14 days but as Toni said "If you want it enough, you will do it", I guess I just didnt want it enough! Goodluck however to anyone else that tries this. Let me know either here or by email how you get on.

Tuesday 21 August 2007

Back From America - Photos + Videos

Hello All!

Yes im now back from the good old U.S. of A. Had an awsome time, many exciting things seen many exciting things done and many interesting people met.

Best sight of the trip: Hard to say, everything was pretty damn amazing but if I absolutely had to single out one memorable event it must be camping out under the stars in the navajo homelands.

Craziest sight of the trip: Seeing a bloke with no legs front-flip out of his wheelchair..

Anyways, I have so many pictures and videos I had to buy an upgrade for my picassa account. But this upgrade now means I can upload videos to picassa, yey!

Go check out the photos on my picassa account HERE. Some highlights include:




Also check some of the videos HERE.

Friday 20 July 2007

Trip to America

This will be my last post for a while as im going on a 24day holiday to America on Tuesday. Im going with my old school mate Ben and we will be hitting the west coast on a large 21 day camping trip with the group Trek America.

It should be awesome, going to visit all the main national parks on the Midwest of the US and alot of the main cities too :D

Anyways, I may be checking my email when we arrive in the cities, I may not, so dont expect any instant reply from emails while im away.


Tuesday 17 July 2007

Photos - LAN07

Just got back from this years LAN party with the lads in Stourbridge. Awsome party tho strangely not much gameing went on :P

Anyways, I have uploaded the photos to my picassa account here.

Some highlights include:

Monday 18 June 2007

Dry spell

Well I have just started a new job in a new town. Well actually the job nor the town is that new as I worked here two years ago during my placement year. The town, Manchester, the company Rockpool Games.



Basically this means im working all day during the week and when I get home I dont have the internet so cant upload anything.

Hopefully ill get the internet at home soon tho so back to the posting :P

Sunday 3 June 2007

ChainReaction (Binary+Source Release)



Okay so i have finally decided to upload this. I had intended to do some more work on it and get it into a more presentable state. However as time goes on and I still havent found time to do any more on it I have just decided to upload it now.

ChainReaction was my large (60 credits) project for my final year of university. It is basically a tool for creating 2D particle effects in an easy and fun way. There are two parts to it. Firstly the main tool:



The tool lets an artist or designer visually lay out their effect in an easy to use and understand manner. Once an effect has been created it can be exported out to either the XNA SDK or the Flash SDK for a programmer to use in thier own projects:



I have produced video tutorials explaining how to use these in conjunction with each other. However you must understand this is mainly an academic project and I had realy intended to clean this up before I released it.

There is also a GIF animation export option that I added late in the project and as such is a little slow and buggy :P



The source code is included within the project. Feel free to use it for anything non-commercial. If you wish to use it for commercial purposes I would like to be contacted for permission first: mike.cann@gmail.com

Download: ChainReaction-Final.zip (161mb)

More Photos..

Just some more photos of my latest comings and goings :P

Highlights:


Tuesday 29 May 2007

Picking and Bounding Boxes



Got the next essential small step of the project in today, picking, that is selecting an object that exists within a 3D world from a mouse click in the 2D world. Found some really good resources for this including the Hazy Mind site again and a new one I discovered by accident by Charles Humphrey. I had a little trouble at first with working out how to calculate a bounding box, but yet again the XNA community came to my rescue. Thanks to Andy and his blog I now have a custom content pipeline that generates a bounding box for my mesh automatically.

Now that you can select a unit on the map the next step will be to add the ability to add properties and *gulp* custom scripts!

Sunday 27 May 2007

Unit Placement

I have to be honest I haven't been working as hard as I could have recently on the TD project. The reason for this is that I have been trying to decide whether to progress with it atall. I believe it is an awesome project and will be successful, however each time I complete something in the project it adds to the complexity never subtracting from the amount of work remaining.

I finally however decided that I would stick it out as my mantra goes "Your success is only measured by your accomplishments". If I constantly keep starting new projects then I will never accomplish anything and therefore never be successful.

I had a long chat with my new friend Ebor Jan Folkertsma about different technical challenges associated with developing a tool and a game engine in tandem. The chat was extremely useful in the fact that it allowed me to take a more objective view of the project and split it down into simple tasks rather than getting swamped by the enormity of the project. It also made me feel like I wasn't sailing into uncharted waters, there were others out there that had run into similar problems and had come up with solutions to solve it. Basically Ebor gave me a big morale boost which encouraged me to stick with this project.

So onto the progress. Well as I said not a whole lot of visible progress has been made, I have mostly been re-organising the core of the project again to best suit my needs. I have however been adding more functionality allowing the user to place objects on the level in preparation for setting triggers and the like later down the road.



Next step in the project is picking so that the new objects on the map can be selected and have their properties modified and triggers added and the such :)

Tuesday 22 May 2007

TD Terrains

Well i havent updated in a while one the TD project, not because I wasnt working on anything but mainly because i have been struggling with the nuts and bolts of 3D RTS game development.

Normal game development is fine when you only expect ever to have your game to simply run. When you want to make it run as a game but also act as a tool at the same time you have problems. The way the TD project is structured we have a game "Engine" project that contains all the code to display our objects on the screen, then we have a "Tool" project that contains all the code for making maps, it creates an instance of the Engine so that it can render those objects. We also have a "Game" project that will be the actual game and will contain all the other game type logic like menu systems etc.

Getting all these to work nice and happily and in an efficient way is proving to be umm difficult. The problem is confounded by the fact that the tool requires multiple rendering windows to display things at once, causing me to redesign alot of the way the game works. When you only have one window open you can set classes to be static all over the place, but if you need those classes to interact in a non static way then you have to use managers to sort out how they should interact, introducing more complexity nightmares!

But anyways, enough of that. Time for pretty pictures:



As you can see Mr Graham 'Golden' Furner has been making good progress on his terrain generation algorithm for the project. Hopefully I will beable to get enough of the structure in place so we can begin to merge the two parts of the project together!

Monday 21 May 2007

Photo Update

Updated my photos on picassa again. Mainly photos from bens birthday and some from other nights out and some of just random things :D

Some highlights include:


Wednesday 9 May 2007

Docking Nightmares



The tool has to be functional, elegant and fun. For that I wanted a special UI for it. I loved what the team had done over at Blade3D and i wanted something similar. Unfortunately they paid at least $300 for thiers, and hence this wasnt realy an option for me just yet :P

So for now im stuck with an old 2005 style UI. To spice it up abit I decided to add docking panels. I had worked with docking panels before for my ChainReaction project in Java but hadnt done one in C# before. A quick search on sourceforge came up with DockPanel Suite.

It certainly wasn't as easy to pick up as when I did docking panels in Java, but I eventually got it. The toughest part which I still haven't sorted out 100% is rendering a XNA window into a docking panel. As XNA runs using a DirectX graphics device its very picky about loosing its rendering state. So if a user undocks the window and moves it about and then redocks it, it doesnt like it due to the loss of rendering state. For now the XNA window has been fixed so that it cant be undocked.

As you can see in the screenshot above I have added some visual properties to the BlueprintEditor so that you can affect how its rendered, its all working beautifully.

The next step is to get the blueprints being placed on the grid so that you can build the level.

Sunday 6 May 2007

TDProject BlueprintStore and BlueprintEditor



Today I added the BlueprintStore and the BlueprintEditor.

Firstly the BlueprintStore has two halfs to it. On the left hand side you have a list of "library blueprints" these are loaded from an XML document. Library blueprints can then be dragged over to the second half which is where all the blueprints that are used in the map are stored.

If you select a blueprint you can then click a button to open the BlueprintEditor. The editor is a separate window with a rotating view of the current model for the blueprint and on the right is a property grid that lets the user edit any number of properties a blueprint has.

So you can see that when a user creates a map they are going to require blueprints. Blueprints can be anything from creeps, towers, trees, houses, anything. Blueprints are the actual objects that that you place in the world and interact with.

Tomorrow will be more work on the blueprint editor me thinks :D

Mike

Saturday 5 May 2007

TowerDefence - A Slow Beginning



Just a quick update on the project, not much to show as of yet. Been working on getting a basic terrain in place with 3D picking so you can place towers on the map.

I realised once I had done this however I was jumping the gun abit, so the next bit im going to be working on is the BlueprintStore. The BlueprintStore lets you create tower blueprints that the player can then use in the game. There will also be a library of pre-built towers that you can just drag and drop and use.

Thursday 3 May 2007

New project started! TowerDefence

I always need something to be working on in my free time. All this year it has been my University projects that have been keeping me busy. But now all i have left is one exam I have been seeking a new project that I can undertake.

I was looking for a specific kind of project. It had to be something that I am passionate about (i work so much better when i enjoy the project). It preferably had to have something to do with tools and it had to have enough new things in it that I had never done before so that I could learn new stuff.

With that said it took alot of head scratching and many weeks passed. I watched many videos of up and coming games and watched several videos related to new PS3 games and in particular "little big planet". This is exactly the type of project I wanted to work on, its a tool but its a game at the same time. If you havent seen it then you can check it here. Basically all the content in the world is created in an interactive fun tool by the community which then gets uploaded and others can play.

I asked myself how can I take the idea of little big planet and game 3.0 and apply it to a project I want to do? Well it dawned on me while i was playing a Tower Defence (TD) on Warcraft 3, I can make this!

For those of you that dont know, TD's are mini games that happened by accident. When Blizzard released Warcraft 3 they also released their powerful map editor with it, soon the community were making their own maps and campaigns. Soon people started to notice other features of the map editor like the ability to link triggers together. Duke Wintermaull invented the first TD (i think), basically you and 7 other people have to stop waves of monsters that spawn at the top of the map from getting to the bottom of the map by placing defencive fortifications along the way. As you kill more monsters you get more gold so you can build more defences, simple concept but HIGHLY addictive :D

Soon there were hundreds then thousands of these different "mini-games" some were TD's others were completely different. Hundreds of thousands play these custom games every day even now some 5 years after its release.

So after all that, the new project! Well infact its not a new project at all, its taking the TD idea and expanding, elaborating and improving on it. Users will be given a friendly editor that they can use on thier Windows machine to build the levels in an easy, interactive and fun way. The levels can then be saved and exported out for use on the X-Box and PC.  Levels will be given high scores and multiplayer abilities (eventually) encouraging others to replay the levels to get better scores to become the "pro" at a certain TD.

Well thats the basics of the idea, I have a great many more ideas of ways to improve the way TDs work. But I will detail these in the weeks to come.

So the project has now started, I have enlisted the help of my flatmate and course mate Graham 'Golden' Furner for his specialisation in terrains. Expect to see some excellent work from him in the coming weeks.

I have been working on getting an engine up and working and the basics of the tool ready for furthur development. So far there isnt a whole lot to see, I have been working through Michael Schuld's exellent tutorials on 3D XNA games engines. And have now got a basic 3D engine up and running although it doesnt look much like a tool yet, but expect more very soon!

Friday 27 April 2007

XNAGPUParticles 1.1

I got bored of revision for my final exam so i decided to play around with my XNAGPUParticles abit more and came up with this thing.



Basically it takes a texture and picks out pixel colours from the texture and maps it onto a large vertex buffer which then is used as the input to my Vetex Texture particle system.

I have made a few adjustments to the way the vertex texture system works, now each particle has its own centre of gravity that it revolves about.

You can grab the new binary: http://www.mikecann.co.uk/Work/XNAGPUParticles_v1-1.zip

As per last time if you wish to see the source please dont hestitate to email me.

Monday 23 April 2007

ChainReaction (Part2) - Video Tutorials

Okay i have now completed a couple of video tutorials for ChainReaction. They should also give a little more info on what ChainReaction is!

Tutorial1:
 

Tutorial2:
 

Chain Reaction Tutorial 2 from mike cann on Vimeo.

Saturday 21 April 2007

New Camera, oooooo!

So i have bought a new camera in preparation for my trip to America and have been busy taking pictures of everything that moves.. also stuff that doesnt move.

Its all been uploaded to picassa for viewing.

Some highlights:



Tuesday 17 April 2007

ChainReaction (part1) - Effects Preview

Okay its project presenting time again. This time its a biggie, its my final year main module, 60 credits of year-long projectness (not a word i know).

Sunday 1 April 2007

Particles Video

This is the video of the XNAGPUParticles project i have uploaded for those peeps who doent have the requirements to run it but want to check it out anyways.

Friday 30 March 2007

XNAGPUParticles (1,000,000 Dynamic Particles)

This is another submission of work i have done in my final year. This time the project is all my own work.

The project is a continuation based on work from before Christmas and is an experiment into state preserving particle systems. I started out with examining the basic particle systems such as a static system and one that updates on the CPU. I then moved onto more advanced systems such as the GPU based system described by Lance Latta and others. I soon discovered however that XNA doesn't support "uber buffers" and as such had to invent a new solution using vertex textures. The result is a particle system written in XNA that is able to update and render 1,000,000 particles at about 22 frames a second with 4 forces.

To view this demo you first need to have the XNA runtimes. If you dont have those just go HERE.

Once installed you can grab the binary for this project http://www.mikecann.co.uk/Work/XNAGPUParticles.zip

If you are interested in seeing the source code for this project, just drop me an email: mike.cann@gmail.com

Oh also, the written report for this can be found http://www.mikecann.co.uk/Work/GPUParticles2003.doc