Sunday, December 30, 2007

WELL GUYS, THIS IS IT ...

As we approach this year-end the time for voting for my article is vanishing quickly.

For those who may not know it yet, the article is participating on a contest that ends tomorrow where there are two places left to enter the finals.

As I'm competing with many "heavy-weight" experienced authors I hope that those who haven't voted so far, decide to give me a friendly hand and vote for it.

BTW, I'll be out tomorrow so I want to wish you a Happy New Year 2008!

Cheers!

Pete

Friday, December 28, 2007

HOW TO: XNA-BASED GAME ON A WEBPAGE

For those of you interested in my article ("Xna & Beyond"), I have -what I consider- an interesting update (btw, don't forget to vote for my article since it's on a compo!).

You may remember that I was trying to investigate how to use the Silverlight technology with XNA. The bad news is that v1.1_alpha does not allow to host WinForms controls; the good news is that v2 -the new name for the final release of v1.1- will do!

I didn't want to wait so thinking more on the problem, I remembered how to embed an .NET assembly into a web page. Digging further into the subject I finally succeded. Read the section The "Silverlight" At The End Of The Tunnel for details and also download the new sample code.

A strong word of warning here: the new example code provided in the article is for learning purposes only. So do not recommend -as I don't recommend it- anyone to modify his/her machine's security giving full trust to any assemblies or websites since it could open the door for security risks.

Maybe I should start and hold a project at CodePlex. I don't know ... we shall see ;)

Well, enjoy!

Sunday, December 23, 2007

MERRY CHRISTMAS

Hi,

I think I'll be busy tomorrow so I'll post it today: I whish you all a Merry Christmas!

~Pete

[Btw, thanks to all who've voted so far ... until yesterday 25 votes and a score of 4.89 out of 5, today up to 26 votes and down to 4.68 ... sigh!]

Wednesday, December 19, 2007

I NEED YOUR HELP, GUYS!

As you may know, a few days ago I submitted an article entitled "XNA & Beyond: The Path To VS 2008" to The Code Project site.

Well, the article has entered TCP's VS 2008 Compo, where 3 out 5 finalists have been already announced and in a couple of weeks the remaining 2 places will be assigned for sure.

Why do I need help? As time goes by, in order to improve my chances to make it into the finals I need more votes, so if you feel like it, can and want to help me, just read the article and cast your extremely high votes ;)

It seems that Silverlight-based articles are the ones that bring more attention to readers and voters, and XNA ones are just left behind. Are we going to allow this? I repeat: Are we going to allow this???!!!!

By the way, thanks a lot to the ZMan, Ziggyware, Gamedevkicks, and the folks on the IRC channel for their support as well as all of you who have already voted for my article.

Cheers!

[Damn! I feel like a politician during an elections campaign ...]

Sunday, December 16, 2007

XNA & BEYOND: THE PATH TO VS 2008

I have uploaded my first article to "The Code Project" site, which shows how to integrate an XNA-based application into VS 2008 (an implementation for WPF is included) ... read it here.

Also in the article I present -what I think is- a simple solution for embedding your XNA games within a WinForms control; a topic that has been heavily discussed in the (XNA Creators) forums these days.

I hope you find it useful.

Cheers!

Thursday, December 13, 2007

PROBLEMS INSTALLING "NET RUMBLE" STARTER KIT

Well, having installed XNA GS 2.0, I then downloaded and install the Net Rumble Starter Kit. The process ended without problems so everything looked ok so far.

For my surprise, when I opened VS 2005 Express and attempted to create a new project based on that kit, I found the kit wasn't shown in the IDE's projects browser.

The template was installed under this folder:

(myOSDriveLetter)/Users/(myUserName)/Documents/Visual Studio 2005/Templates/ProjectTemplates/Visual C#

... but still the IDE didn't notice it at all.

At first I thought it had something to do with the fact that I'm using a non-english version of the IDE and a non-english version of Vista 32-Bit (something similar to what it's commented here: see section 1.2.2), but I cannot set the "International Settings" to "English" since, in my case, everything is in Spanish.

So, what to do? After locating the "SpaceWar" Stater Kit template file, I found that both, PC and 360 versions, where installed under a folder named "XNA Game Studio 2.0".

So, I created a new folder under ".../ProjectsTemplates/Visual C#", then renamed it to "XNA Game Studio 2.0", finally moved the "Net Rumble" template file to that folder, and presto!

Cheers!

GOT IT!

I've finally downloaded and properly installed XNA GS 2.0. Yeah!

Having done that, I've decided to redesign my XNA-based engine from scratch, and in turn, my "never-ending" entry for the first DBP contest.

Meaning? Things are going to change a lot around here.

Thus, from this year-end and on I'll be posting comments regarding the development of my engine and games, showing pictures and so on (of course, eventually, I'll be also commenting on news -published by other sources- as well as doing some off-topic posts ... not on a regular basis but as exceptions).

My goal: to finish an entry for the main DBP compo.

Therefore, for news regarding XNA, pay a visit -as usual- to Ziggyware (you know it: an excellent site to get news, articles, tutorials, code snippets, watch videos and such).

Well, guys, I'll be blogging again soon.

Cheers!
Pete

[Now, if only I could find my old code ... ;) ]

Wednesday, December 12, 2007

FINALLY! GS 2.0 IS AROUND THE CORNER

Yes, at last! The final version of Game Studio v2.0 will be released this December, 13th, that is to say, tomorrow.

Follow this link to Ziggyware to get the links to the press release and the related forum thread. Or also visit Dave Weller's blog to find out more ...

Is it tomorrow? ... And now? .... How about now? ... Are you sure this watch is working? ... that's it! "8 hours to the future (enter)" ... ahhh downloading it now ... pheewww ... that's better!

Yeah, I know, no more coffe for me :)

See you all tomorrow.

VIDEOS FROM THE XNA EUROPEAN TOUR 2007

I've followed the links posted by Charles Cox to watch the videos from the XNA ET 2007.

So far, I've listened to Dave Mitchell presentation and some interesting topics cought my attention:

  1. Although no dates were disclosed, Dave commented that there are some plans related to the "YouTube For Games" project that will be revealed soon (maybe changes in the monthly-fee policy?),
  2. The RPG Starter Kit being currently developed,
  3. The second edition of the D.B.P. compo will deliver similar prizes to this year's ones, and
  4. Plus, the demo of the game targeted for children was kinda cue.

Does anybody know how the 4 winners of the publishing contract are doing with their projects? I'd love to see images or read comments on how their games are evolving in order to go gold.

Well, next video please.

Enjoy!

Tuesday, December 11, 2007

LOTS OF NICE PRESENTS THIS WEEK

Yestreday, David Weller announced two interesting things that Santa will deliver soon:

First, more details will be given about the upcoming warm-up challenge.

Second, and maybe the most interesting part of the announcememt -at least for me- and I quote: "... We will have lots of nice presents this week for all you good XNA developers ...".

So, have you been a good XNA developer this year?

Monday, December 10, 2007

MAPZONE EDITOR V2.6

With version 2.6 of ProFX comes along the respective version of MaPZone editor. For those of you who never heard about these two:
  • MaPZone is an quite handy editor that builds procedural textures, and
  • ProFX is a middleware solution that helps handling those procedural textures.

V2.6 of the editor isn't yet available for download but you can get it via 3DWorld magazine.

Now, what about ProFX? If you're using XNA you may have read this announcement: "ProFX to be part of Microsoft's XNA Tool Suite (2007, March 26)" and perhaps got excited. If so, hold your horses. No news, ETA, beta or even alpha whatsoever, just this thread.

Procedural texturing brings a lot of advantages over traditional texturing techniques. To mention a few:

  • you save deployment space, and depending on how and when you generate the final textures, disk space,
  • like in procedural shaders, the textures are generated at any given resolution, and
  • 4D textures (real-time recomputing of textures).

Thus, let's hope the guys from Allegorithmic and the XNA Team meet this week in Seattle to make the above-mentioned announcement become a soon reality.

Fingers crossed!

Sunday, December 09, 2007

PHYSX FOR (XNA) PHYSICS

Checking connect entries for XNA I found this one: Physics API.

Following one of the links provided by Mike555, I found a page where the guys behind MS Robotic Studio claim to have a managed wrapper for Ageia's PhysX.

I don't know whether this wrapper is a lite version or not (and by "lite" I mean if it doesn't implement all the functionality available in the original API), but it would be quite handy if the XNA Team could talk to these guys in order to integrate that managed API into XNA.

Possibilities could be endless for our games if that happens.

Let's hope someday we'll see an AAA physics API like Ageia's being integrated into XNA.

BTW, and switching topics to the warm-up challenge, let's thank Mykres for listing links to interesting sites that cover AI for games. Check the list out and do some reading.

Cheers!

Saturday, December 08, 2007

TO CONTESTS AND BEYOND!

Wow, mate! As we approach the year-end it's as if Santa brings a lot of incredible contests for us to choose. Just to mention a few:

First, we have Ziggyware's "Holiday Contest" when you can win one of the three available DX10-ready gfx cards plus subscriptions to the Microsoft XNA Creators Club, just by writing an XNA-based tutorial or a handy tool to help you develop your XNA creations. Piece of cake!

Second, we have the second edition of the "Dream.Build.Play compo", which includes the "warm-up challenge". Although the main compo's "precious treasure" wasn't yet disclosed, there are great prizes ahead for those who enter the challenge: (a) the possibility of an intership at Microsoft Research, Rare Ltd. or Lionhead Studios, (b) tickets to show your entry at GDC'08, and (c) $3,000.

Third, the "InstantAction Game Developer Contest" organized by GarageGames. The task: to create -at least- a playable game demo by using whatever engine you want. The grand prize: a publishing deal with InstantAction.com plus a lincese to Unity Pro with Asset Server (valued 1,999 american dollars).

Fourth, the ImageCup's "Game Development Competition". If you're a student and love using XNA GS for your game creations -as much as I do- you may find this one is the right for you. Hesitating? Read on: "... Not only will cash prizes be awarded, these winners will then have an opportunity to come to Microsoft and present their entry to the Microsoft games management team for possible inclusion as a download in the popular Xbox LIVE Arcade service or MSN Games Web site. The first place team or individual will also win the opportunity to become an apprentice at Microsoft's Interactive Entertainment Business as part of its internship program ...".

Last but not least -hang on to something, Acclaim's "Project Top Secret". I won't comment on this one because it took my breath away, and I'm recovering, so I'll just quote the following: "The winning Indie Development team, which will develop the game, receives an instant prize of $100,000 and Acclaim will pay the license fees for whatever commercial game engine the team chooses. This combination is capped at $1,000,000. Yes, you are free to use ANY commercial game engine!".

And these are just a few compos. You may find plenty more, just do a google search to be surprised.

But which one suits you and your team? There lays the tricky part ... are you ready to face the challenge? If so, go ahead, choose your compo, and slay the dragon!

"SILICON MINDS"

Do you want to win the opportunity to be interviewed for an internship with Microsoft Research, Rare Ltd. or Lionhead Studios? How about an invitation to show your entry at GDC 2008? Well then you would also love to cash in 3,000 american dollars.

Yes, the cat is out of the bag now ... you can win all of the above-mentioned prizes if you "... push the limits of Artificial Intelligence while building a game with XNA Game Studio 2.0 ...".

Interested? Then head over the Dream.Build.Play site, read the rules, dates, prizes and start coding! Hurry up! The entry period for submissions starts on December 20, 2007 and ends on January 27, 2008.

Cheers!

[Well Ziggy, one part of the plot is known, so I guess we'll now have to wait for a soon release of XNA GS v2 final ...]

Friday, December 07, 2007

IS THERE A PLOT SOMEWHERE?

Thanks to Ziggyware I read about Dream.Build.Play 2 and the new warm-up challenge scheduled to start this Dec 8th, 2007, that is, tomorrow.

Now, the XNA Team guys have previously announced that XNA Game Studio 2.0 Beta Program would end today, so is it me or something is being cooked right now??!!!

I don't know about you but I feel there's a plot somewhere ... hummmm ... ;)

Tuesday, November 20, 2007

XNA GAME STUDIO 2.0 (BETA) IS NOW AVAILABLE

As announced by the XNA Team, the beta version of the awaited XNA GS 2.0 has been released!!!

So go and visit the following:

  1. The official announcement :)
  2. The "What's new" page, and
  3. The beta home page.

Don't forget to check the new "Project Upgrade Wizard", the newly updated demo sample projects, and the "Net Rumble Starter Kit".

Enjoy!

Monday, November 05, 2007

NVIDIA PERFHUD 5.1

It's been a long time since my last post but I think this news deserves it ... the new version of nVidia's PerfHUD tool supports XNA builds.

Don't believe me? Just read this: "... PerfHUD 5.1 Highlights:

  • GeForce 8 Series support on Windows Vista and XP (older GPUs are also supported)
  • Microsoft Windows Vista support (DirectX 9 and 10)
  • New in 5.1! Instrumented driver updated to 163.71
  • New in 5.1! Compatibility with Managed and XNA applications ...".

To download this great real-time perfomance analysis tool, just navigate to this page.

Tuesday, August 14, 2007

SECOND DAY WEBCAST?

I don't know about you guys but the sessions of the first day were really great! So many info shared, previews, experiences, images, demos, videos, and so on. And the webcast itself was loud and clear ... I eperienced only one glitch and it was on my side (too many webpages opened).

I know it was announced that only the first day would be webcasted but, given the importance of the sessions and the fact that many of us couldn't attend the gamefest this year, let's hope the XNA Team decides -of course, if within possibilities- to webcast today's XNA sessions.

Fingers crossed!

Monday, August 13, 2007

XNA GS: FORGET THE FUN JUST SHOW ME THE MONEY!

Finally! The last webcast of the day has ended.

Frank Savage reminded us what's the current state and features of XNA GSE, what XNA "GS" 2 will bring, and what to expect for the first half of 2008.

I'm tired so I won't comment on the current status of GSE. What will come on v2 was already covered. So the juice is on 2008. Why? Because even though there are not further details on how they will implement it yet -meaning it's still under discussion- these guys are working on a way to help us reach the XBox Live Arcade market more easily (and then the Xbox360 retail disk distribution).

The final round of questions seemed pretty exhausting since everybody start asking and asking, even questions that had nothing to do with what this guys were supposed to talk about!

Some interesting Q&A:

  • Will we worthwhile building a game for the 360 in 2008 given the advances in technology which could make the 360 an obsolete console? Yes.
  • How can one convince any publisher that managed code & XNA can create a "blockbuster" game? The answer is simple, just convince them that your game is fun and sellable. they don't even care what technology you use to create the proof of concept, prototype or even the game itself.
  • How much does it cost to get a certificate? I think the first time you get in is free and after that you pay by submittion.

Well, that's all folks! I hope my comments on the webcasts help those unable to watch them because of bandwith restriction, bad connections, and so on.

Cheers!

NETWORKING COMMING UP NEXT!

The one we all were probably waiting for ... and is comming along nicely!

Some features we will find:

  • Reliable UDP, ordering, etc.
    Packages can be sent to a specific player and to all players on the session.
    360 players can join Windows sessions and viceversa.
    Player-to-player voice.
    "Lobby" management so as to sync games (isReady and isEveryoneReady properties).
    and much more.

Some we don't by now: Game invites, Leaderboards, etc.

Some we probably won't (or at least in the middle run):

  • Ranked matchmaking.
  • Achievements.
  • Raw sockets.

A couple of great questions:

  • ¿Dead Reckoning? Nope. This version will provide basic functionality, so you should build upon it by yourself.
  • ¿Beta Public Release? Maybe in a couple of months (more good news!).
  • Didn't get the answer about the kind of suscription to play networked games (silver or gold), maybe gold? Sorry about htis one.

Btw, if after building the game you try to host/join a session but get an unhandled exception, just recompile your code and try again ... :)

GAINING SOME PERFORMANCE ON XNA GSE

Man! I really need to get Shawn' slides ... very useful info and tips to program game using XNA GSE, both for Windows and the 360. He covered many areas, like graphics, math, threading and profilin tools.

Hereunder you will find some bullets:

  • Graphics: Shawn mentioned things like the spritebatch, then shaders, materials and effects, and finally renderstates. Some conclusions: use the GPU the most you can, don't forget to set SpriteSetMode, undesrtand the 360 system's calls and avoid the use of states blocks.
  • Math: is incredible how one can gain some performance by passing structs by reference and inline some computation. About the latter, constructs can be manually inlined (an example was provided). Those of us who have experienced .NET Framework 3 and 3.5 do know that the way this is handled in those versions of the .NET framework is quite handy.
  • Threading: a must! To take advantage of this feature on the 360 one have to understand how the cores and threads per core are organized as well as the fact that one must manually assign threads to the 360's cores (this is not done automatically for you). Also take due note that the Content Manager is not thread-safe and input handling is not threadable on windows (meaning, it has to run on the main thread, always).
  • Profiling Tools: there is not much help on the 360 to identify bottlenecks, thus, profile on windows and do some inference (of course, remember the way the compact framework deals with the GC and generations).

There were more points to mention about Shawn's presentation plus plenty of smart questions, but you'll have to watch the webcast later to get all of them ... ;)

Phew! ... a 30 minutes brake. Thanks so much! I need some rest ...

THE 10 RULES TO AVOID UNWANTED PERFORMANCE COSTS

"... measure, measure, ... , and measure". Yeap, that was what Rico Mariani said during the fourth webcast. The sooner you diagnose, the better.

The spirit associated to the above-mentioned "axiom" is driving your application to pay the costs of using managed code at the proper time, where and when you can afford those costs.

All the slides where quite interesting, and many relevant things were stated like:

  • "not all the dots are created equal" (this is related to "inlining").
  • structs are not as weel handled as reference types (although structs are sometimes preferable).
  • exception handling constrains optimization, and
  • many more.

Finally, there was a great comment, the proof for non-believers that managed code is suitable for game design are all the games that were created for the 360 using managed code (through XNA GSE, of course).

Well, now is Shawn's turn, so gotta go again.

PRE-MORTEM: SCHIZOID

What an interesting webcast this is: Jamie Fristrom & Bill Dugan (from Torpex Games) are commenting on their whole experience to bring Schizoid to the XBox Live! Arcade.

I do agree to what they have said about C#:
  • the C# vs. C++ discussion for game development is like "C++ vs. Assembly" many years ago. With C# you forget about pointers, and that alone says a lot. Plus, performance, speed, etc. is becoming less and less an issue as many games, demos and samples demonstrates, and
  • you don't need to use external languages for scripting (of course, you can do it if you want to), since you can use c# itself as a scripting language (as I said on this blog and on others' blogs).

In short, C# will rule (read my first posts).

What I don't agree -at least, partially: and I know Benny is also gonna hate me for this, is that Test-Driven Development is great for creating "proof-of-concepts" and prototypes -so as to bring your ideas close to the "real" thing quickly (and get some nasty bugs on the initial stages), but from a design viewpoint, relying only on tests to write the "final" implementation/output from scratch could be messy for the final stages and as a base for future projects (one could deem it as a "too aggressive" way of programming, again, only the final product, not the proptotypes).

I mean, you may find yourself in the need of changing many places to get the final product as well as to create future products (like "this class should be responsible for rendering this and that" -instead of the original class- and things like that) . And that could worsen, the bigger the game project, IMHO, of course.

With this I'm not saying "this approach is better than those", "don't use a rapid approach" or things like that. Instead, I'm saying "balance" is the key to a well-designed software. One should find its own approach -mostly if you're going solo, ... the one that you are most comfortable with, but it doesn't mean you have to use one and only one approach. In fact, your way of designing and programming games could be a mixture of methodologies derived from the type of project, available resources (including staff), time/stage/deadlines, and budget (estimated and current costs and ditto for funding).

Why "balance"? Because as these guys' just said (non-textual quote) "if you plan and discuss too much you face the risk that your project gets cancelled ..." (it doesn't matter whether you were implementing it or not), to what I must add, "... but if you plan too little you face the risk of having to redesign a lot of code at later stages."; both extremes could complicate things up in the end. So get the balance, optimus, equilibrium ("sounds" like a yoga class).

Now, I want to listen the round of questions, so bye ... for now!

XNA GAME STUDIO 2.0

The second presentation has finished and many interesting things came out. You can find some of the upcomingfeatures on the XNA Team Blog. Again, what happened to the "Express" word? Simpe. Everything lays now on a common ground!

The news ... there's new content available on the creators site:

You can check it out all here.

Also, you can watch a video of the first Xbox Live Arcade created all the way with XNA GSE: Schizoid (presented on the first webcast by the producers/developers of the game -Torpex Games- and is the focus of the third webcast, which is going to start in a couple of minutes).

Well, in fact I see the guys preparing the third webcast -images and sound is being transmitted- so, again, gotta go ... stay tuned!

AND THE WINNERS ARE ...

Have you watched the first webcast? A great intro by Chris Satchell with plenty of info about the future of XNA v2.0 (first surprise: get to the part about the "pro" version), expected numbers on the XBox Live market (growing very fast), XBOX Live Arcade and ... drums please ... the winners of the Dream.Build.Play compo of this year:

  1. First Place: two games will share this place, both getting all the prizes: "Blazing Birds" and the "The Dishwasher: Dead Samurai" ... btw, Chris, how cruel of you! ... :)
  2. Second Place: my connection went bad at this time but I guess this place is also shared ... please correct me if I'm wrong, but the games getting the second place are "Gravitron Ultra" and "Yo Ho Kablammo!" (the sound went bad but the pictures shown a Live Arcade image among the prizes, so I guess they also getting the opportunity for a publishing/distribution deal? If so, more congrats!)
  3. Third Place: the remaining finalists ... I can bet and hope that many-to-all of you will also get some interest deals and offers from distributors/publishers/etc. in the split of a second ... ;)

Congrats to all of you!

Also, there were shown great demos, in particular, I was amazed with the one presented by the guy of XSI (in fact, the procedural-textured terrain looked awesome).

Ah, yes, before the second webcast begins, in sync with Chris' presentation, Michael Klucher was also announcing XNA GS 2.0 at the XNA Team Blog ... what no "Express" term inthere? Mmmm ... just watch what Chris says about the "pro" version ...

Opps! gotta go ... Michael's presentation has started ...

Friday, August 03, 2007

D.B.P. FINALISTS!!!

At last! Dave Mitchell has announced the top 20 finalist of the Dream-Build-Play contest ...

So, go ahead and direct your browser to the contest's site to meet the finalists.

Congrats to all the ones who created/submitted a game, and special congrats to the finalists .. and good luck in the final round!

Tuesday, July 31, 2007

FX COMPOSER 2 OFFICIALLY RELEASED!!!

Hi, folks! Just a quick note: FX Composer 2 has been officially released today. Finally!!!

For those who may not know what FXC2 is -if there's someone out there who doesn't know about this great tool yet- browse to this website and read on and or watch this video:

BTW, guess which language was used to build this version of the tool ... yes, you can say it, don't be shy ... c# ... isn't it great?!

See ya.

Thursday, July 19, 2007

HELLO WORLD!

After many weeks of being unplugged I have "almost" returned to the XNA community. As you can imagine from my previous post, I have been very busy lately.

Having moved to my new home now -which has been and still is experiencing an extreme make over (I mean it, all over)- getting my new DSL connection from the local ISP (finally) and fighting with my main desktop computer -meaning, my 64bit processor has passed away, sigh!-, I have managed to get online once again and join you guys in the excitement of knowing in the following weeks who will be chosen for the final round to win the DBP contest.

By now, I'm using my wife's computer to check the news, so don't expect too many posts until I get a new processor.

Anyway, so much to read, new content, v2 coming out these holidays, so let's start.

BTW, thanks to all of you who congratulated me for getting married either by posting a comment on this blog a/o sending me a private message to my email address ... ;)

Now, back to my ultracave ... Pete's out ...

Monday, May 21, 2007

I'M GETTING MARRIED IN THE MORNING ...

... as the song goes ... well, actually, not tomorrow but this Friday 25th.

Yeap! After many years of being the last man standing, the ultraplayer, the ultrabachelor, ... or at least in my dreams ... my fiancee Andrea and I have decided to say "yes, I do". The big step ...

Thus, as you may suppose I -in fact we both- have been (and still are) dealing with all the details of the wedding day, party, honey moon these days -plus a "extreme make over" of my near future home- so that's why I may have seemed a bit "distant" to the self-proclaimed task of reporting XNA-related news. Sorry about that, but you know, I've been really busy ... real life ... responsibilities ...

So what does this mean for my blog? Only that I'll be out for the next 4 or 5 weeks, so in the meantime, until I come back, don't worry 'cause you can count on Mykres and Ziggy.

Thanks guys for supporting this site and see you all when I get back. I need some vacation ...

BTW, I cannot go without giving some breaking news: we're all aware of the already released (Benny's) and 3 upcoming books on XNA (check Ziggy's site), but there are two new books to add to that latter list:

Ok, guys, see ya.

Pete's out!

Friday, May 18, 2007

TESTDRIVEN.NET AND XNA

There has been many questions in the XNA Creators Club's forums regarding unit tests with the express editions and particularly with XNA GSE. Well, not only unit testing can be executed with the latter but also, TestDriven.NET can be also used again since version 2.5 (still in beta stages). However, from time to time we may found some exceptions with tests related to the content pipeline. Henning Degn explains us why and also brings a simple workaround to that issue.

From Degn's article: "... Some tests in XNA cannot be done dynamically. These tests usually require visual inspection and therefore need to be run manually. Using Testdriven.net you can run test scenarios, simply using an ad hoc test of a function containing the test. Simple. Effective. No need to modify the main method to run these functions.

However, when using any XNA content I have stumbled on the following error:

Microsoft.Xna.Framework.Content.ContentLoadException
File not found. ---> System.IO.DirectoryNotFoundException:
Could not find a part of the path 'C:\WINDOWS\assembly\GAC_32\Microsoft.Xna.Framework\1.0.0.0__6d5c3888ef60e27d\Content\myTexture.xnb'

The reason being that (naturally) I didn’t put my content inside the GAC (Global Assembly Cache)! The ContentManager is using the codebase of the assembly who’s main method called it as its root ...".

BTW, in some chapter of Benny's book it's stated that this tool cannot be used with XNA GSE. Please notice that by the time the book was written, v2.5 beta -the build that reimplmented support for express editions- hadn't been released.

Cheers!

"STENCIL SWIPES"

Shawn Hargreaves has published the third part of the series that cover "transitions", this time centering attention on the use of stencil buffers to produce some nice effects.

From the post: "... Stencil is usually an 8 bit integer value, and is attached to each pixel in addition to the usual color and depth values. You can set renderstates to control how values are written into the stencil buffer while drawing graphics, and also to specify that graphics should only be drawn in areas where the existing stencil values meet specified conditions ...".

Consice, accurate and practical. The best part on the series so far, imho of course ... cheers!

Thursday, May 17, 2007

"XMESSAGE" XNA COMPONENT

Created by X has published a new component for XNA , "xMessage", designed for displaying in-game chararacter dialogs.

From the post: "... the component allows an image to be displayed with the text, and the text is also dynamically changes acording to the size of the dialog. When running the demo use the left mouse button to move the dialog and the right mouse button to resize the dialog ...".

See ya!

Wednesday, May 16, 2007

INTERVIEW TO THE TEAM BEHIND "TOWER DEFENSE"

Zygote has interviewd the guys behind the game "Tower Defense".

From the interview: "... There are four of us currently under the Focused Games umbrella. Justin O'Dell (Anxiety), has been taking care of a lot of the core gameplay functionality such as how the map works and how state, player and enemy management works. Matthew Randall (EviLDeD) wrote the entire audio core for the game, and also did quite a bit of work with Towers and Enemies to get them to track, shoot, move et cetera. Mart Slot is the one responsible for all the fancy particle effects in the game, which will be more prominent in the future. I, John Sedlak (Krisc), have been responsible for the user interface and a lot of the front end work like how the user interacts with the map, how they change levels, and build towers ...".

Later.

DEALING WITH MATRICES IN XNA

Rhysyngsun has submitted to Ziggyware the article: "Introduction to Matrices in XNA".

From the article: "... Understanding matrices is a fundamental part of creating effective games in XNA. Matrices particularly flex their muscle when you're working in full 3D space, however, the math behind them can be daunting. Fortunately, XNA provides most of the functionality for matrices that you will ever need without having to worry about the complicated math behind that functionality. However, it is necessary to have an understanding of what this functionality is actually doing in order to apply it correctly in your code ...".

Watch this space!

QUATERNION CAMERA IN XNA

Scot Boyd, author of the upcoming book "Expert One on One: XNA Game Programming for Xbox 360 and Windows", has provided the source code of the "QuaternionCamera" class which will help you avoid that nasty Gimbal Lock problem that you may face when working with yaw, pitch and roll at a time.

From the post: "... XNA unfortunately does not provide a QuaternionCamera class in it's Framework. Nowhere on the Internet could I find a camera class that provides six degrees of freedom without requiring additional coding from the reader ... In the process of attacking this problem in my book, I've made a few camera classes. I'm posting the simplest class here - good for beginners. The final camera class in the book will be more complicated. This class should provide a good jumping-off point for anybody interested, or a simple helper class for those who just want a camera without hassles. In the camera, GetViewMatrix and CreateYawPitchRoll are where the money is ...".

Read on!

"KRYSALIS" SHOOTER PROJECT

There's a new blogger in the XNA community, which will post details, information and screenshots of the shooter projectKrysalis.

Here you will find some description of the game and here the software being used for its development.

Also, there's a couple of screenshots of the custom tools created for building up the game.

Nice!

FIVE THINGS TO REMEMBER

Head to Kar0nEs blog if you want to know the "5 Things we can learn as developers from videogames".

From the article: "... Yesterday, while travelling to work, I thought about what things PC videogames (almost) always do today that should be applied to general development ...".

Stay tuned!

TABBING BETWEEN CONTROLS ...

... is what you'll see in the video available below, which shows off some GUI features of the upcoming Thrust engine.

From the post: "... Below is a short video clip of me testing out GUI Pathing in Thrust ... I can't wait to see what people come up when using this. In the demo, I am simply tabbing between the controls. It will work much the same with the XBOX 360 GamePad, allowing a user to "tab" to the next menu option, et cetera ...".

Bye.

XNB-VIEWER ... WHAT IS IT?

Shane Lynch has released the first version of XNB-Viewer, a handy application that lets you preview an XNB model with a double-click of your mouse.

From the post: "... You can either drag and drop your XNB model files onto the exe or associate your XNB files with this EXE. Later version of this viewer will support for textures, shaders and other content types ...".

Enjoy!

Tuesday, May 15, 2007

A NINTENDO PLANT ON BRASIL?

This is interesting news: the governor of Santa Catarina (Brasil) announced "... the installation of a plant of the Nintendo, that will produce games electronic aiming at to an ambitious program of exportation ...".

Here is the original news post and here is the translated one.

I hope someday we read something similar for the XBOX productline regarding SouthAmerica.

"DAVE WELLER FROM MICROSOFT"

Want to listen to what Dave has to say? Then listen to this podcast.

From the podcast: "... um ..."

Cheers!

RESOURCEMANAGER COMPONENT

Wizzie has released a component for handling resources, and thus the name: "ResourceManagement Component".

From the post: "... This is a very useful component since it allows for managing all of your resources in one object that is available anywhere in your engine via XNA Game Services. The code was written with the 360 in mind so there are work arounds in place for the .NET Compact Framework ...".

Nice!

BLADE3D BUILD 1817 IS OUT

Yes, the latest release of Blade3D beta1 (build 1817) is now available for donwload.

Hereunder is the list of changes:

  • New SimpleTerrain Height and Raycast Operators,
  • New audio system, with import, and preview,
  • New TriggerVolume, GraphTrigger, SoundTrigger and AnimationTrigger,
  • Opacity property now working on many MaterialsPlay Sound Operator,
  • Ability to modify bitmap fonts from gallery,
  • New Bounding Box ActionsBuilt-in support for Idle Animations,
  • Random sound containers,
  • New water normal texture,
  • RenderColorTarget Semantic Now Evaluated Per-Pass,
  • New Scene Level Bools For Enable/Disable Display Bounds, and
  • Fixed some floor plane draw issues.

Happy coding!

USERCONTROL FOR RUNNING YOUR XNA GAME WITHIN A WINDOWS FORM

... or as Nuclex has posted: "XNA Windows.Forms UserControl".

The preview: "... as can be seen in one of my recent news posts, I did just that while developing a world editor for my upcoming game Island War. Because of the great demand for such a component, I decided to release my XNA GameControl class to the public ...".

The screenshot:

And the link to it.

Handy, very handy ...

CRIMSON UPDATE ... AGAIN

Diagrams showing the layout of the engine are now available:

Plus a new video:


Also, as usual, a preview of the post: "... Animated sprites have been a fun feature to add, my implementation hangs around the concept of an animation sheet. my orc test sprite has some animations in separate.png files and some bunched together on the same .png. So how do i handle them? every animation gets a animation sheet, which contains its start frame, end frame and a reference to its texture. these are held in a dictionary as a value, the key to that dictionary is a CompassDirection (north, NorthEast ect). I have a load of these in a list, and i keep there indexes in another dictionary with a AnimationState(move, idle, jump etc). To get the correct animation sheet you just need to know what direction and animation you currently in and pull em out ...".

Ultrahead's out.

TRANSITIONS - PART 2

Shawn has published the second installment on his series of articles regarding "trabsitions", this time focusing on the physics part.

From the post: "... you may not know exactly when you want things to start or stop moving. When the factors controlling your transitions get more complicated, it can be easier to switch to a physics based approach ...".

Read on!

STREAM CONTENT PROCESSOR

Created by X has published a content processor for XNA that allows you to read content files as streams.

From the post: "... The StreamContentProcessor allows you to use simple stream based importer and/or processors, so you can read your content files as a stream using content.Load("AssetName") ...".

Downloading it now ...

"GETTING STARTED WITH XNA" - THE SERIES

Remember this post? Brecht is back with more tutos:

Read on!

SOME PROBLEMS WITH MY DESKTOP

Yes, my desktop went no-no last weekend, ... again. Since I have no yet found a restoring system that works well on a WinXP Pro x64 OS -I mean a complete one, not the application that comes packed with the OS, I'm manually reinstalling almost everything, or at least the things that I need most.

Well, other than that, sorry for being late with the news post.

One good note: along with other books, I've receive Benny's. So I will start reading it as soon as I can and maybe post a full review (why not?).

Cheers!

Sunday, May 13, 2007

GAME DESIGN PROBLEM

After conquering "deferred shading", Jason Maskell is crying loud for help ... Ok, maybe I'm exagerating ... :)

As Jason approaches the phase of implementing a physics handler, he encounters a design crossroad. So he would like to hear what others with experience in the field have to add so as to help him decide what to do.

From the post: "... I’ve got to come up with some elegant system to retain my 2d movement vector on the flat grid, but also have an equivalent 3d worldspace vector at the same time. It’s an interesting problem but I think I’ve got it. It’s starting to feel grossly complicated though ...".

Have ideas? Post them here.

A NICE GUI/HUD

Josh, from "Grass Root Games", has posted a nice screenshot of the GUI we will find inside the 2D shoot'em up game "Last Alarm".

From the post: "... You’d think it only takes a couple of hours to lay your interface out in photoshop so it should only take a couple of hours to code…but you’d be wrong, dead wrong ...".

Does anybody know whether this game is being created with XNA GSE? The GUI looks really good ...

[Aha! It is, according to this post TorqueX has been used.]

LINEAR COLLISIONS WITH XNA - PART II

McCoder has released the source code of the linear collision tests referred on my previous post.

From the post: "... There’s a ton of hack lying around in the code for my collision test app, but I figured my collision response code was probably clean enough to be useful to someone so I figured I’d post it up for everyone to check it ...".

Happy coding!

Saturday, May 12, 2007

LINEAR COLLISIONS WITH XNA

McCoder shows a video with the latest results obtained on a XNA-based linear-collisions system:

From the post: "... I worked out some better collision response code and finally got some accurate and stable results. My primary goal was to get momentum transfer working correctly based on the object’s mass ...".

Later.

Friday, May 11, 2007

CONQUERING DEFERRED SHADING

Jason Maskell comments about his experiences with deferred shading techniques.

From Jason's post: "... I’ve thought that I’ll probably have to write a material editor sort of thing where my artist can play around with the materials settings until he finds out the right settings to stick in the lookup texture. For instance, he will be putting an index value in the alpha of the texture, which will then lookup into another texture to get 4 values instead of one ...".

Do I see some soft lighting in that screenshot?

BEWARE WHERE YOU INVEST YOUR MONEY

This has nothing to do with XNA, game programming, comic books, nor animation, so its miscellaneous stuff. However, I believe is an interesting read for those who plan to invest their money on capital markets, in particular, in penny stocks.

Kiplinger.com has published an article called "The Truth Behind Penny Stock Spam". What's relevant about the article? That it shows the awful truth behind easy money.

In short, I guess you already knew it but if you want to invest money in capital markets, don't let yourself being attracted by spammers, or companies which you barely know or don't know at all.

Always try to analyze the fundamentals of the prospect companies by yourself (in case the proper info is available), read serious analysts' assessments, study the track record of the company, what it offers, if its a known company or not, who are its directors/owners, where it is located, since when, and so on. Otherwise, you face the risk of losing your money in the split of a second!

I'm not saying that you must play always safe, because as you may know the greater the risk the greater the potential reward ... or losses ... but if you want/need to get some "quick" profit just play smartly and the safest as possible, as I assume you do with any other type of investment, in order to avoid the risk of hugh losses because you actually invested in a "ghost" company.

Take the company mentioned in Kiplinger's article, for instance, if you analyze the quote charts, you'll see that it opened in more than USD 7.oo/share when it was first traded in the penny market and then it just followed a slow downward and almost steady path to the current value of USD 0.04 a share. And yes, you're reading right. From riches to rigs ...

Spooky!

VIDEO: VJ TOUCHSCREEN SOFTWARE CREATED WITH XNA

Ok guys. What I'm going to blog about right now is a very interesting way of using the XNA API for other serious purposes than what it was meant for: videogames -which in turn also shows off the potential of the API, when you use it in a smart way.

Adrew Griffiths and a friend of him were asked to write the software for an interactive VJ editing system for the Ford stand at the Geneva motorshow. And guess what? Yes, you're right! They decided to use XNA for the implementation.

Not a believer, ugh? Then just watch the following video and be prepared to get spellbound:

What did I tell you? So now you're interested ... well, you can find more info about the project here.

Cheers!

VIDEO: FLOCKING ON XNA

Here's an interesting video showing off some flocking behavior of a group of boids, all done with XNA!

You can get to the author's site by following this link.

GETTING STARTED WITH XNA: PRIMITIVES

Brecht Kets has published a series of articles about primitives with XNA.

From the articles: "... A triangle is defined by 3 points, which is defined by a Vector3, containing the X, Y and Z coordinate (3D space), and maybe some additional information, such as color. Such a point is called a vertex. XNA has some vertex structures embedded, and one of them is perfect for this example: VertexPositionColor. So let us add this to our class ...".

You can find part I and part II on his blog.

Thursday, May 10, 2007

"VISUAL3D.NET - XNA FOR THE MASSES, PART I"

Dan Maltes comments on Realmware's Visual3D.Net framework.

From the post: "... is a combination Game/Simulation engine and Game/Simulation building tool-set all built into one. This means it has much of what you need built right into it, saving you a tremendous amount of time and letting you, and your team, focus on the imaginative and creative part of your application. For instance, assigning keys and mouse clicks to control objects in your 3D world; normally you would have to write a whole bunch of code and event handling on your own to accomplish this. Visual3D has that built-in, so all you have to do is decide what keystroke or mouse-click does what. That is just the tip of the iceberg of what Visual3D has built into it ...".

Stay tuned.

"BULLET HELL TACTICS" AVAILABLE FOR OPEN TESTING

Kobingo has released a demo version of his game "Bullet Hell Tactics" for public testing.

From the announcement: "... This will be the one and only public testversion before the final demo is released. Before downloading, please read the requirements. If you are having problems running the game read the troubleshooting instructions. Please also read about how to play the game ...".

You can donwload the files here.

MORE ON QUADTREES

Kyle strikes again on quadtrees, this time focusing on code design.

From kyle's article: "... Before I explain the classes, a picture of how the node tree is constructed in a Quadtree as objects are added and move through the tree (individual frames on click-through) ...".

Read on!

CRIMSON UPDATE: VASCULITIS

NekoCake's engine has been updated and a demo is included.

From the post: "... for anyone who is interested, heres a short demo. It only works with an xbox controler at the moment. left stick moves you around, B jumps and A kills you. If anyone can run it and tell me how it runs on there pc id be gratefull! ...".

So, let's tell this guy how it runs ...

PREVIEWING "AIR LEGENDS" NEXT RELEASE

Sharky comments on the new features that we'll be getting with the next release of his game "Air Legends".

From Lawrence's post: "... I’ve added a much requested Special Manoevre (aka. evade) feature! I’m stoked about this. It really makes the gameplay a lot more dynamic. Essentially, using the Special Manoever button you can trigger the plane to pull the manoevre. Currently there are two manoevres ...".

Cannot wait!

Wednesday, May 09, 2007

BLUEPRINTEDITOR'S DOCKING NIGHTMARES

Mike comments on the experiences he is facing along the process of building a UI for his XNA-based world editor: "Blueprint".

From Mike's post: "... 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 ...".

Later.

WHERE DID SPIDEY'S "SPIDER-SENSE" GO? - PART II

Hi everyone. I had earlier promissed a sort of "in-depth" review on the third spidey's movie, so here it goes:

1. What happened with the so-well-known "spider-sense"?

As I said in my previous post, Venom has the ability to be around Spiderman without being detected because the black suit managed to learn how to surpass spidey's senses when Peter was the host. But that was after Peter was the host.

Let's start with the meteor crash. Pete and MJ were just looking the stars and when the meteor crashed closed to them, the spider-sense was what? Temporally out-of-order? Then the black matter approaches and yet again, still out-of-order?

Another one, when Harry Osborn strikes on Peter -when the latter was driving his motorcycle, just nothing, nope, zero ... Spider-sense was on vacation ... All through the movie the spider-sense was missing -of course, this is ok when fighting Venom, I repeat.

2. From light to dark.

The movies have been clearly follow a path to the dark side: the first one was ok, Spiderman was fun, say jokes during battle, usual stuff. The Second one was a bit darker, but still ok. The third one was the darkest, what in fact was already expected due to the presence of the black matter/custom, so maybe one may have thought it would be very easy to switch from one state of mood to the next one and transmit those states, changes and sentiments to the viewers.

Well, imvho, the scenes/script fails to transmit the mood, and make the audience go "wow", "ahh", "snif!", "yeah" -what in the previous 2 movies was more or less accomplished; in fact when the movie finished, nobody clapped -everyone left the room mumbling, and believe me when I say that the theater was really crowded, on a Tuesday's evening!

3. Still great villans?

One may argue whether -in the first two movies- Peter, MJ, Harry, Flash and others -even spidey- were all well presented to the viewers or not. But one great aspect of those movies were the villains: the Green Gobbling and Doctor Octopus, both excellent performed.

Now, let's face it, the sandman was never a great archenemy of Spiderman, in the sense that it wasn't the most clever one, nor a "real" bad @$$, but to be fair, the actor played the role nicely.

However, the origin of the sand man and the story around him and Pete's uncle was a mess. If you want step on to the middle of an atomic experiment, just climb a small unguarded fence, go to an unprotected container, and jump/drop. Wasn't contamination an issue? Not to these guys, since there was no roof on the silicon/sand container. It was funny then to hear one of the scientist say something like: "there was a change in the mass of the sand" when the sandman dropped in there. What about rain, particles in the open air, and such. Unbelievable!

Now, enters Venom. That should have been the real nightmare to both, Spiderman and Peter Parker, not Harry, but then again Venom played just a sort of minor villain role who also dropped dead(?). C'mon!

4. Every foe knows who is behind the mask of Spiderman.

Why don't you just publish in the Daily Bugle: "Peter Parker is Spiderman!", "Spiderman unmasked", or "Want to know who is Spiderman? Call 1-800-GOTCHA". It also happened in the second movie: a lot of people "happened" to see his whole face w/o the mask. Please, just stop doing that.

5. Almost everyone dies.

Every foe, or semi-foe, just dies. Perhaps this is a consequence of (4) above. But not the sandman!

"I forgive you", those were the words of Peter Parker after the final battle and the light explanation of the sandman. Only that foe and the spectators knew the existence of the sick daughter, who barely appeared in the film. And Spiderman w/o knowing any of this, stole Daredevil's lines.

Yes! Those were the words from DD to Wilson Fisk when the former finally decided to put and end to Kinping's reign. Something quite different to what was seen on DD's movie.

6. Harry and his butler.

I didn't knew that Alfred was on the movie. Honestly! "Sir, I loved your father ..." When? Where you in the first movie? "... And the wound/blade bla bla bla ....", that was enough to make "two-face" hurry to become a good guy again ... [face of lost guy] ... Errr ... O - k? [/face of lost guy]

7. Scenes Edition Hiccups.

This may be consider as a minor issue in comparison with the story, but in some places, transitions between scenes were a bit "jumpy" as if they were suddenly cutted, even you notice it because the sound was also drown.

And nope, it wasn't a problem with the theater projector. The movie lasted what it should ... so maybe the editor should have read Shawn's blogposts about the importance of transitions ...

8. What's with Peter Parker's character?

This is the one I must mostly complain about. Just read on to know why ... Peter was a bit shy, but never "that" naive.

In fact when he became Spiderman a big change happened. He also become a sort of player ... Gwen, MJ, Felicia Hardy, ...

But the interesting part is that no matter what he was always a common dude with common problems, a bit of financial/professional sort of bad luck, women, guys who didn't like him, JJ, Doctor Connors, classes, and such.

There was the drama, indeed, but he always was a funny guy, specially when using spidey's custome, who always tries to fool the bad guys with jokes and funny comments and things like that, also as a way to release some preassure during the battle.

Now read this: as I said the theater was crowded, a couple of rows behind my fiancee and I there was a couple and she suddenly said and I quote: "this guy is a stupid!". That's not the image in the comic books nor the one that should be projected.

And what was that "red kriptonite" behavior with scenes where Pete behave à la "SATURDAY NIGHT FEVER"? And then that "unspicy" dance with Gwen in front of MJ. Who are you? "The Mask"?

They writters/director want to make PP life funny so hard that they are making him look riddiculous or pittyful -when he slaps MJ in the face. Want to introduce fun? Just make spiderman mock the villains during the batlles ...

And I won't argue here why Gwen Stacey appeared in this movie -when she should have appeared in the first one- nor the story with MJ. But as a whole, the script was about to cross the edge to the fields of cheap soap opera plots. And to be fair, this was stressed when MJ abbandoned JJ's son during the wedding -on the second movie.

In conclusion:

If you are a comics fan who read and collects lots of regulars, graphic novels, and such -meaning you know a lot of superheroes stories, and you haven't yet watched the movie, my advice is: just forget everything you know in order to enjoy the movie. Otherwise, you'll keep saying "what ... ?!" in many scenes. Believe me ...

Given the technical advances in the Industry, specially on the gfx side, what makes a difference between a regular, good, great and excellent movie, is not the amount of gfx you include -of course, the more improved in quality and realistic, the better- but the script, as always ... the same for (almost any kind of) videogames.

Cheers!

[Jfyi, in case you didn't know it, JJ's son was for a certain period a werewolf due to a rock he picked as a souvenir during one of his trips to the moon, but that's another story ...]

WHERE DID SPIDEY'S "SPIDER-SENSE" GO?

I've just got back from watching Spiderman 3 movie, and I must say that as an old comic fan I am rather dissapointed with this sequel. It's not that I didn't like it at all, but in order to enjoy it I just watched it as if I had never read any Spider-Man comic book in my life.

I must admit that I'm a bit upset right now, so I need to take off my "black suit", rest a little, clear my thoughts and then I promise you I'll publish a my review of the movie.

Bye.

[Btw, I know the black suit "disables" Peter's spider-sense, so tomorrow I'll explain the reason behind the title of this post ...]

Tuesday, May 08, 2007

NEED SHADERS?

In modern game development you'll most likely need to take advantage of your gfx card by using shader effects and in turn moving away from fixed-function pipeline techniques.

Thus, the need for hiring shader artists and or become one yourself -so as to create custom-made effects for your particular game or engine- just grows.

So, what to do? You can either do a google search -say, looking for free fx resources- buy some books that come packed with shader content -like the "ShaderX" series, hire a shader artist, and or build your own shaders by yourself from scratch or by modifying a pre-existing template (like the ones that come packed with the nVidia SDK 9.x/10).

Well, there's a new additional solution: "Shaders for Games" ... a site that should have been called "Shaders For Sale", instead ... check it out since these guys offer interesting HLSL shader packs at affordable prices.

The SM3 water fx screenshot looks great ...

UPDATE ON CRIMSON ENGINE

Codenamed "Vasculities", there's a new update of NekoCake's engine: "Crimson".

From the post: "... So far, ive completely rebuilt the screen system. Ive looked through Microsoft’s game state management sample and i loved the way they implemented some things (especially the transitions!). After playing with it a bit, it was clear id have to do a bit of retooling on my screen system, which ended up with me ripping out the whole screen system and starting from scratch ...".



Stay tuned!

THRUST INPUT SYSTEM

John comments on the new input core of his engine: "Thrust".

From the post: "... Thrust, unlike Xna5D, has recieved its own project folder for 360 compatible work and I am happy to report that the new input core is running on both Windows and the 360. So how does this new Input services work? I have decided to go much the same route as the new GUIManager by templating the main class, Ebi. When you create a new Ebi (Event Based Input) object, you pass along the type of an object that inherits from ControllerBase. This allows the Ebi object to instance your controller's code and use it ...".

Nice!

Monday, May 07, 2007

NEW ARTICLE: "XNA STORAGE"

Head over "Mykres Space" to read the following handy article: "XNA Storage - The Beginning".

From the article: "... With some of the projects that I am working I am going to have to be able to store player and game data, so with this in mind I thought that it was time I had a look at the storage systems that are included in the XNA Framework. The first stage in this project was to make sure that I had had a good read of the Documentation files for the Storage System that Shipped with the XNA Framework ...".

Read on!

JOHN SEDLAK'S "TOWER DEFENSE" BETA

John sedlak has published a beta of the first game that "The Gib Factory" has ever created: "Tower Defense".

From John's post: "... It is 05/06/07, and today is the day we, "The Gib Factory", are releasing a Beta to our first game, Tower Defense. A lot of progress was made over the past week and even in the last couple of hours. Sounds have made their way into the game as well as particle effects for towers and the GUI is becoming more and more complete everyday. We are looking forward to hearing back from everyone about this version, what works and what doesn't as well as any bugs you may find ...".

Downloading it right now ...

VERTEX BUFFER, TANGENTS, BINORMALS AND SO ON

Ziggy has published a couple of handy source codes:
  1. "Converting Vertex Buffer Formats in XNA", and
  2. "Calculating Tangents and Binormals/Bitangents in XNA".

Watch this space!

NEW ARTICLE: "QUADTREE"

Kyle Shouviller has written a nice article on quadtrees with also comes with source code included.

From Kyle's article: "... Imagine a game like Pong, except with a rotating triangular ball. This ball needs to have perfect collision detection with the paddles, which means if any part of the triangle intersects with the paddle, there is a collision. You can’t just do simple radial collision detection, nor can you do rectangle collision detection, because the triangle might not actually be colliding for some collisions detected in those cases. However, performing the triangle-to-paddle collision detection can be expensive to do every frame (I know, not that expensive – but imagine 200 balls with 30 players around a big field with balls also colliding with each other, or something like that). So what are you to do? ...".

Read on!

NEW FF2 TRAILER

Almost every comic fan in the world is paying attention to the spiderman 3 movie -now in theaters- because of the appearance of one of the fiercest foes ever: Venom.

However, and despite the fact that I haven't gone the cinema yet to watch the above-mentioned movie, I'm particularly more excited with the Fantastic Four's sequel. Why? First, if the Silver Surfer is in it, it should also imply that "Gah Lak Tus" is. And second, because of this new trailer.

I'm not going to argue why I prefer more FF over SP series of movies, at least for now, but in short, I'm not happy with the way Peter Parker's life is being presented/plotted. Maybe in a later post I could explain the reasons behind my sentiment, but for now, I'd only say the the part of the script that deals with PP should be improved.

Anyway, the new FF trailer rocks!

[Btw, an ironman movie is coming ...]

"PROFESSIONAL XNA GAME PROGRAMMING" BOOK: UPDATED SOURCE CODE

Ziggy has posted a message from Chris Webb -Executive Editor at Wrox- who announces that the source code of the book "Professional XNA Game Programming" has been recently updated.

From the message: "... Yesterday I received updated code from Ben for Professional XNA Game Programming, and it is now live on the book’s page at wrox.com. This new code replaces all of the code previously available on the book’s download site, so all readers should update as soon as possible.

The update includes bug fixes, all samples now compile on both XNA Versions and on Windows (XP and Vista) and Xbox 360. In addition, Ben also included new support for some older ATI video cards because he’s cool like that ...".

What are you waiting for? Just go and download the updated files!

Friday, May 04, 2007

GARAGEGAMES IS HIRING

If you need a job, are looking for it, and think you qualify, then read this post, since GarageGames is likely looking for you.

From the post: "... What We're Looking For:We are looking for experienced Engineers, Web Developers, Marketers, and QA Specialists ...".

Hurry up!

RUMOR: "WILL MICROSOFT BUY YAHOO?"

This is an off-topic post about a rumor that has suddenly appeared: Is Microsoft pursuing a deal to buy Yahoo?

Maybe we can find the answer to this question in this video.

Intresting ...

MICROSOFT GAME STUDIOS OPENS DOORS IN EUROPE

Microsoft has announced the opening of a European base of operations for Microsoft Game Studios.

From the OXM's article: "... MGS Europe will be headed up by Phil Spencer, general manager, Microsoft Game Studios, who will report to Shane Kim, Microsoft Game Studios' corporate vice president ..."

Cheers!

"XNAPROJECTS.NET" IS LIVE

Benny has announced that his new site "XnaProjects.Net" is up and running. But, what is it? A new XNA Community site where you can submit your games and links.

From the announcement: "... Yesterday I wanted to put all the samples from the book on my blog, but it is already way to overloaded here with screenshots and games, adding another 10 games will not make anything better. Instead I had a crazy idea to create a XNA Community site in one day. It is called XnaProjects.Net. The idea is for everyone to submit their games and links. News are grabbed with Google Blog Search and more features will come in July 2007 when I got more than 5 minutes time in a row ...".

Cool!

"360ZINE 6" NOW AVAILABLE FOR DOWNLOAD

This month issue of PCGZine is now available for free download. As always, you have read it right, free download.

The issue includes an exclusive interview to Robin Burrowes -Microsoft's Xbox Live product manager for the UK and Ireland, plus previews of "Mass Effect" and "Shadowrun", a review of "Command and Conquer 3: Tiberium Wars", and more, much more.

So, what are you waiting for?! Download it now!

"TRANSITIONS PART ONE: THE IMPORTANCE OF CURVES"

As promised, Shawn is starting to blog on transitions with "... The Importance of Curves".

From the post: "... Whenever you are dealing with transitions that take some fixed amount of time to complete, it can be useful to normalize their position along this timeline into a control value in the range 0 to 1. This makes the transition state easier to manipulate ... More importantly, you can apply curves to make the animation speed up or slow down in interesting ways. Normalized control values are useful for this because it is easy to apply curves that will affect their shape without changing the overall range of the motion ...".

Read on!

Thursday, May 03, 2007

STOP-MOTION VIDEO: "GURREIROS MALANDROPS®"

A group of students created this funny stop-motion video with over 3000 photos:

Enjoy!

EXTENDING THE CONTENTMANAGER FOR MODELS

There's a new article on Cornflower Blue's blog that demonstrates how to extend the content manager so as to handle the setup of models being imported.

From Eli's post: "... I don't know about everyone else, but usually the first thing I do after loading models is loop over their effects and set up their lighting. (Check Shawn's blog to read more about the standard lighting rig and per pixel lighting. ) The other day I thought of a neat way to tuck this code away a little, so I thought I'd share.

A subclass of ContentManager could easily handle the model setup code for us automatically. It could check what kind of content it's being asked to load, and if the content type is a Model, it can set up the model automatically ...".

Read on!

SHOCKWAVE DISTORTION EFFECT

Jamezilla has submitted a new tutorial to Ziggyware which shows how to implement a shockwave distortion effect in HLSL.

From the tutorial: "... The render routine will draw the scene to a RenderTarget2D, then draw the render target to backbuffer normally, then draw the render target to backbuffer again with the shockwave shader ...".

Let's read!

MOVING SPRITES OVER BEZIER CURVES

Cube2D has submitted a new tutorial to Ziggyware which shows how to move sprites over bezier curves.

From the tutorial: "... Just about every beginners tutorial for XNA starts off with the same things, making a sprite move along the screen. I'm going to show you how to do the same thing, but over a curved line, more specifically over a Bezier Curve. Curvy behaviour its a pretty neat thing to do for some games. You could set up a Physics engine to solve all movement in you game (a relatively complex thing to do) but for some games this would be unnecessary. For example, if your making a side scrolling shooter with aeroplanes you could very easily make your missiles drop from your aircraft, curve backwards a bit and then speed forward ...".

Read on!

Tuesday, May 01, 2007

BENNY'S BOOK IS ON FIRE!

Yeap, indeed.

Read the post on Machaira's Space blog: "... Looks like Ben Nitschke's XNA book, Professional XNA Game Programming For Xbox 360 and Windows, is doing pretty well. I got a call from Chris Webb at Wrox (since I was the tech editor on the book) letting me know that it's in the top 600 of all books on Amazon.com (it's at 520 at the time I'm writing this) and in the top 20 of Computer books (16 at this time). Looking at the computer related books ahead of it and considering where it's at having only been available for a couple of weeks, I have a feeling it's going to move quickly up that chart ...".

Congrats, man!

VISUAL3D.NET BETA1 IS OUT

RightRiot has announced on Realmware's forums that the first open beta for Visual3D.Net framework has been released.

Finally!

MCCODER'S "LITTLE COLLISION MANAGER"

MCCoder has published the source code for his "Stand alone little collision manager".

From the post: "... I had previously been doing all my collision stuff during my physics steps, which led to pretty fantasic failure cases. I was checking to make sure the objects were heading in the same direction before I’d say there was a collision, but this often led to objects coming to a rest while penetrating another object (say two objects interpenetrated and bounced off each other, but not with enough force to actually seperate them) ...".

Read on.

RICK HOSKINSON'S LAMPGAME UPDATE

Rick has posted an update of his "LampGame".

From the post: "... Despite my lack of posting, work on my ambient game continues. I'm working 60 to 90 hour weeks these days so I don't have a lot of free time for things like blogging, games, or sleep ...".

Bye.

TECH SAMMURAI'S POST-PROCESSING SYSTEM PREVIEW

Tech Sammurai has published a preview of the source code of his post-procesing system.

From the post: "... Anyway, since I’m starting the development process over, I can’t just upload the entire engine for you all to try. Again, I’m really sorry. However, the PostProcessor will stay pretty much the same in terms of how it is called, so I decided to show you just how easy it will be to add Post Processing to your game ...".

Watch this space!

BORTREIST'S GUI

Bortreist has started blogging on the progress on his GUI system, called "SimpleGUI".

From the posts: "... Below is a shot of a SimpleGUI Window hosting a SimpleGrid control and four ButtonLegendLabels (I need to come up with a new name for that one) ...".

Welcome!

JONAS FOLLES' FIRST XNA GAME: "XPONG"

Jonas Folles is sharing his first game created with the XNA Framework to the community.

From Jonas' post: "... So as I mentioned in the beginning I just completed my implementation of PONG written using the XNA framework. I wanted my PONG game to be more "complete" than some of the XNA PONG samples available online. There are some nice tutorials you might check out. One of them is a video tutorial over at LearnXNA that walks you through an implementation of Pong. Two other implementations worth checking out are Rob Loachs' XNA Pong and Tiny Tennis up on Coding4Fun ...".

Welcome, Jonas!

"SINGLETONS"

There's a new post at XNAtutorial which brings some light on the Farseer singleton.

From the post: "... In other words: When starting the game, the static Farseer is not created. If a piece of code tries to access the Physics property, then the static part of Farseer is created. Or, if someone tries to instantiate Farseer, it is not instantiated, but the static part is activated ...".

More after the break!

FRUSTRUM CULLING IN XNA

Inverse has posted an article at Ziggyware showing how to cull objects relative to a camera's frustrum.

From the article: "... To cull an object, you have to compute the object's bounding volume. Since we are keeping this article simple we will use bounding spheres. Bounding spheres are both economical and very fast.

Iterating thru the meshes in a model, we can merge the bounding spheres to produce a composite that bounds the entire model ...".

Read on!

Monday, April 30, 2007

VISUAL3D.NET BETA 1 EVALUATION GUIDELINES

Realmware Corp. has recently released the "Guidelines for Evaluating Visual3D.NET Beta 1".

From the guidelines: "... In order to make your evaluation a positive experience that helps us better Visual3D.NET and ensures you have the information you need work through crucial issues we ask you to adhere to the following guidlines during your evaluation of Visual3D.NET ...".

If you are a betatester, you should have already read them or be reading them right now.

"EXTENDING THE BITMAP FONT MAKER UTILITY"

There's an interesting article available at Ziggyware -"Extending the Bitmap Font Maker Utility", which explains how to add more image extensions to the tool recently released by the XNA Team for the creation of bitmap fonts.

From Ziggy's article: "... Extending the Bitmap Font Maker Utility to support multiple file formats is a very easy task since the .NET System.Drawing.Bitmap class wich the font utility uses to write its output with already supports several file formats via the System.Drawing.Image base class ... I have chosen to implement bmp, jpg, png and tiff ...".

Read on!

CODING4FUN: INTRO TO XNA PART 3

Andy -TheZMan- has published the third part of his "Introduction to XNA" series, this time focusing on audio effects plus text rendering.

From the article: "... Before you go any further I need to explain how XNA works on the Xbox 360. Microsoft created a version of the .Net compact framework that runs on the Xbox 360, as well as Xbox versions of the XNA assemblies. To get these assemblies onto your Xbox 360 and enable deployment of XNA framework requires that you join the Creators Club which has a cost associated. The changes you will make for this article will work on the PC too, but you will not be able to play on the Xbox 360 without this. Microsoft have provided a video to help you get this installed: Getting Started with the XNA Creators Club ...".

This article is available on the Coding4Fun site.

ADVENTURES IN PERFORMANCE

NekoCake analyzes how to measure the performance of your game by using FPS ratio and frame time.

From the article: "... I’ll look at what FPS values actually mean, how we count them in game and then why it’s a bad idea to profile your games performance using FPS as your only metric ...".

It uses the new SpriteFont class to render the performance data on screen.

Saturday, April 28, 2007

HOW TO COMPRESS AUDIO USING XACT

One of the questions we developers usually ask is "what can I do to reduce the size of my executable and content files?". The answer for audio content has been provided by Mitch, who has published the process you must follow so as to compress audio using the XACT tool.

From the post: "... there is some support for compressing your audio files in the current product, using the XACT tool; it's just not easy to discover. XACT supports ADPCM compression on Windows and XMA compression on the Xbox 360. You can get about 4:1 compression with ADPCM and even better with XMA. So while perhaps not as high as some other encodings, such as WMA, it does offer quite a substantial savings ...".

Let's compress some audio files!

Friday, April 27, 2007

"XNARACINGGAME.COM" IS NOW ONLINE

As announced by Benjamin Nitchke, the new site for the just-released "Racing Game" starter kit is now up and running.

From the announcement: "... The download file is 130 MB in size and will eat up almost 290 MB of your hard disk space extracted. It is also only available in the .vsi format and can't be used in anything but XNA Game Studio Express or Visual C# Express. The main reason for this incredible size is the Textures directory, with uses mainly uncompressed .TGA files ...".


Let's race!