Showing posts with label Videos. Show all posts
Showing posts with label Videos. Show all posts

Monday, August 13, 2007

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 ...

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.

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.

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.

Tuesday, May 15, 2007

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.

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

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.

Tuesday, May 08, 2007

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!

Friday, May 04, 2007

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 ...

"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!

Thursday, May 03, 2007

STOP-MOTION VIDEO: "GURREIROS MALANDROPS®"

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

Enjoy!

Tuesday, May 01, 2007

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!

Friday, April 27, 2007

XNAGPUPARTICLES V1.1

There's a new version of the XNAGPUParticles application at Artificial-Studios.co.uk, with adjustments to the way the vertex texture system works among other things.

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

Nice!

Thursday, April 26, 2007

NEW CONTENT FOR "XNA'ERS"

Ok, so you downloaded the refresh update for XNA GSE v1.0, read the readme page and updated the framework on your system, but have you happened to check the new content available at http://creators.xna.com?

I knew it! Don't be a lazybones, pay a visit to the XNA Creators Club Online site and:

  • Download the new starter kit: finally! The long-awaited "Racing Game" (formerly called "XNA Racer"),
  • Download the new samples: 3D audio, bloom, 2D particles, and many more.
  • Read the new articles: data structure and the shader series,
  • Watch the new video tutorials: advance audio series, and,
  • Download the new utilities: the "Bitmap Font Maker" utility and controller graphics.

Wow!

[Are you an "XNA'ER"? Sounds cool, doesn't it?]

"PCGZINE 5" 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 interview to the president of Massive Entertainment -the one behind "World in Conflict" game- plus a preview of "Enemy Territory: Quake Wars", a review of "The Lord of the Rings Online: Shadows of Angmar", and more, much more.

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