Categories
Looking glass
Navigate/Search

Archive for the 'XNA' Category

Useful page for Graphics People

Sunday, January 31st, 2010

If your doing any cutting edge graphics development whether offline or real-time Ke_Sen Huang’s page is a most, essentially he’s spend the time and effort to provide a one stop shop to virtually all graphics conference papers on the web going back the last few years.

http://kesen.huang.googlepages.com/

XNA 2.0 Beta is out

Tuesday, November 20th, 2007

The beta of version of XNA v2 is out at the usual http://creators.xna.com/ 

I’ve quickly upgraded XNua test to it and bar some fiddling with referencing, it was all fairly trivial and XNua test program (really should make it a proper unit test on of these days…) compiles and runs on PC (no beta on 360 so can’t tell that yet).

 

One interesting thing I noticed is that .NET Compact has been upgraded to v3.5, though a quick look didn’t see any changes (I believe 3.5 has System.IO.Compression but isn’t exposed in the ones shipping with the beta).

 

Right now to the much bigger job, of the editor and game…

New Blogs

Friday, September 21st, 2007

Marco Salvi who did a large portion of Heavenly Sword’s graphics engine (and worked out the clever way we do AA amongst many other things), has just started a blog which he’s already onto crazy complicated graphics stuff (in particular shadows). On the blogs to the right but here have a link

Also Matt Hart who was the Producer on Heavenly Sword has gotten the blog bug from doing one for IGN, its also on the right but have a link anyway

Opening up the Editor

Wednesday, April 18th, 2007

When not working on HS or playing my 360 (which I think is dying, boom boom rocket won’t play comes up with a disk unreadible error which sucks for a game without a disk :( ) or trying to learn japanese, I’m trying to get enough of an editor for my home game stuff to make it easy to play with level designs and the like.

The surprising thing is that there doesn’t appear to be a free entity editor anywhere… so i’m thinking of making mine in such a way that it can be released and adapted to other peoples games. BUT i’m not sure I want to release all my source code, cos its built on my game libraries… Which leads me to the thoughts of releasing the main editor with a plugin architecture that will allow it to be fairly easily adapted and useful to other people… Hell maybe even a ‘pro’ version for a few quid with more source code or more plugins etc.

We leads the the question of a decent plugin architecture… so far there are 3 really really important parts that will need to be ‘open’ if its usuable by other games without source code.

Game link – something that knows enough about your entity, renderable things, fields and properties of these entities

Manipulators – How to change properties… obviously some like the position manipulator are universal but more custom ones are generally needed for a really good editor.

Serialisation – Getting data in and out from a games particular format

Its sounds easy but its actually quite hard not to link it too much to my way of doing things… I wonder if its even worth it, does anybody else want a entity editor (for XNA mainly but it should work for any 3D game)? Its meant to be a platform you write your own custom plugins for, not a magic bullet (cos I don’t think one exists at the mo). Obviously I’d provide source code and examples to the plugins…

hmm well its the route i’m taking at the mo anyway… I’ll guess it doesn’t matter if nobody else uses it, as its a pretty clean future proof to write an editor for my use anyway.

XNA And Forms

Monday, March 19th, 2007

I’m not a tools guys… really I really only program to be able to design so tools and I don’t mix but unfortunately the devils must… XNA has removed a large portion of the hell of writing DCC importers which is nice but still misses out the other vital tool IMHO.

A level editor

The last time I attempted one was about 10 years ago in MFC and DirectX5 IIRC I’ve worked on bits of in house editors (Sudeki Ed, MrEd (HS’s), UnrealEd etc.) but haven’t started from scratch but really felt I needed one so figured time to knock one up. I thought this was gonna be a huge soul sucking experiance but I guess that shows how little I’ve programmed with modern .NET gui.

.Net & Forms is good :D in about a weekend, I’ve got an editor that reflects in the game and using a few interfaces allows you to add enties and alter any properties of your entities in a fairly swish UI. Using my XNA renderer into a panel I can display and move things.

I’m amazed that in about 2 days worth, I’m about half way to hitting my basic editor I wanted (just hit testing, a few manipulators and serialization til its rudimentary useful). Don’t get me wrong thats purely the most basic rubbish editor you can imagine but still for the amount of work thats amazing.

[edit] Forgot to mention, Ziggyware article has the details on was what i based my form XNA intergration. Here

So heres a piccy and a link to it fullsize

Early version of WierdEd

New version of XNA GSE on its way

Friday, March 9th, 2007

http://blogs.msdn.com/xna/

Most interesting is packaged binary for people with GSE installed, in essence if you have the developers club and have installed GSE, there is now an installer for binaries apps… Which means at least among the developer community when can now ‘release’ stuff.

I think its definantly clear that at some point MS is going to allow some form of non developer distrubution of XNA games onto 360… its just a matter of when, one more step will open in April :D

Little XNA Debug Renderer

Thursday, March 8th, 2007

I always have to have a nice little debug drawer class, something that can render lines, spheres etc. as simply as possible, for physics and game play on screen debugging.

As its something useful I’d thought i’d release my version to the public as its just a neat little tool to have in your arsenal and quite frankly there not great fun to get working.

Its worth nothing, this is not meant to be fast, clean or comprehensive… its just something that draw lines and simple objects without having to worry bout the real graphics stuff that goes on under the hood.

Its also will need a bit of modifying for use, I have a IEffectGlobals interface which I retrieve and get global matrices from (among other things), you will have to replace these lines with something that gets the appropriate matrix. PixelToTexels can be set to (0,0) if you don’t want to bother or follow the link in the shader to Simon Browns article about the correct value to stick in here (on PC only probably…)

Anyway its public domain, so feel free to use if your wanting something like this. Feel free to ask questions or if you’d like a working cleaned up version cos with a little bit of work I could make this a out of the box debug renderer just not sure if its worth the effort.

Does NDC Lines (screen space -1 to 1), World Lines, World Spheres, World Boxes and World Cylinders. Everything if buffered so you add debug renderer wherever and when ever you like without having to think of the current render state.

Download

More reliable benchmarks

Monday, March 5th, 2007

My mate Mark did me a logo and favicon for Xnua, which is a lot than the text was there before.

Plus I noticed the benchmarks I posted a few days ago where complete rubbish, cos they were in debug mode and was wasn’t really fair to the JITters cos of function overhead (which is massive for the JITters first time through). So I compiled release versions and upped the sieve search to 30.

Lua50 Interpretor PC – 0.406

Xnua PC – 0.469

Xnua X360 – 0.590

The PC Xnua is much more respectable compared to the interpreted version but still slower. X360 is slowest again, even tho my laptop is running in power saving mode.

Still not that it matters scripts aren’t meant for benchmarks like sieve calculations.

XNua.com is live

Sunday, March 4th, 2007

Still work in progress but the zips and some basic documentation is up and running.

Still got lots of documentation to do and set up the subversion server. But the basic infrastructure is in place now.

Though I need to work on the styling a bit ;-)

XNua

XNua and Heavenly stuff

Saturday, March 3rd, 2007

XNua
So i finally came up with a name XNA + Lua = XNua… yeah its a bit rubbish but it also has the advantage of not being taken as a domain name (well it is now but u know what i mean…). Today has mainly been battling php and Drupla and writing documentation.

Don’t bother going to the site yet, its not ready but it should be (with a following wind… probably a curry :-p) tomorrow evening. Its likely to be a bit rough round the edges both from a distribution point of view and a website one.

I think i’ll have a binary distribution, just consisting of the assemblies (cos the 3 assemblies are all you actually need) and a full source distribution for those who want to help make it better or customise it. I also have a public svn server, anybody who wants write permission (just ask) can then just work on the source control version directly.

Already got a bunch of things that need doing…

Separate from XNua there is of course my day (and often night…) job… Heavenly Sword and Ninja Theory have been in a pretty tight media silence for a while which we are finally coming out of. I really don’t get the whole media silence thing but meh Sony pay the bills so… Its also been a fairly odd time for me which hasn’t helped me post very much either, I’ve been a bit ill and have been almost obsessional over the army section of the game which has eaten massive amount of my time.

Basically two of us (Lilly and I), pretty much designed and implemented most of it from a game play perspective over the space of the last 6 months or so. Its been pretty intense to say the least…

Essentially we have built a separate game that runs along side the normal game… The armies can swap into the main game when required… its totally seamless to the player but internally there are two distinct game play systems.

So basically you have the army game which has up to 2180 AI’s (I checked the other day cos somebody on Beyond3D asked and I didn’t actually know, its can probably go a little higher but thats the current number embedded in the code) running on SPUs with the normal main game logic mainly running on PPU. For fighting the SPU code selects the 20-30 closest army guys and hands them over to the normal game so you get the full fight engine and AI for them. For ranged weapons (like the Bazooka) its all handled internally to the armies, and they try and run or dive and also get blown up quite spectacularly(its very satisfying ;-) ). The army AI is hierarchical, each guy has his own brain and avoids and tracks important things but there is also a battalion level intelligence that guides each unit around the field following a specialised virtual machine with commands and orders. Its quite hard to control an army and not make it look silly, so we use a few tricks to make it look visually interesting as well.

From a design point of view, the difficulty is giving the player a challenge without making it completely unfair. Obviously 2000 people + catapults vs 1 women is a little unfair in the real world but we have a number of techniques to keep it fun. From long range weaponry to her spinny attacks and some cool special moves she can wipe them out if you know how. I had a screen shot (used to be my laptop backdrop) when I was tested the army death code where I went and slaughtered every person I could find (at that time about 950). With Alpha basically done (which means we are basically feature complete) its now just a matter or polish and balancing, that’s something Lil and I are quite looking forward to, we have had to do a fair amount of rushed drudge work to get here and just having some time to polish is something we’ve been wishing for, for quite some time.

I think some stuff is being shown at GDC but don’t quote me, I know ATG have produced a presentation using the army code as a SPU case study and a video has been made but its possible its for internal WWS stuff and not GDC… but hopefully its for the public as its very frustrating not to have it ‘out there’…