Showing posts with label Game Development. Show all posts
Showing posts with label Game Development. Show all posts

Monday, April 09, 2007

SOME CODE SNIPPETS, EXAMPLES AND TOOLS

Dean Lunz published a set of samples, code snippets and projects, all related to XNA.

Among the above-mention resources, you will find:

  • Kabombulator: a rts game where the goal is to both defend your base as well as send out troops to destroy your enemies base,
  • xGameConsoleXNA: a easy to use in game console system,
  • TextFileContentProcessors: allows the use of text files as game assets using content pipeline, and
  • XNAContentCode: generates so as to reference game assets directly without using strings.
For the complete list of projects and tools, please visit Dean's blog.

TUTORIAL: LAMP LIGHTING

Rick Hoskinson published a post about shaders used for "faceted" lamps, or lamps without curved surfaces.

From Rick's post: "... Early on, I decided I wanted to blur the line between realism and style for this title. Obviously, any game featuring ghosts and river spirits doesn't really necessitate rigid adherence to the laws of physical light, but for the lamps I wanted something both neat-looking and recognizable. I began my research by looking at about 200-300 pictures of Toro Nagashi festivals, and hanging Chochin (paper lanterns). This process took about 2 or 3 hours to find enough subject matter, at which point I brought out the graph paper and started to sketch down notes ...".

Read on ...

XBOX 360 NEWS

Microsoft has announced that Instant Messaging is coming to the 360 through Windows Live™ Messenger, among other new features to be distributed within the "XBOX 360 Spring Update".

You may wonder: "ok, but how can one input text to the 360 fast and easy?". The answer is straight ahead by just looking at the following picture:

Please follow this link for a full description of all the new features available within the Spring Update.

Now, if only I had a 360 ...

Wednesday, April 04, 2007

TUTORIAL: SIMPLE PARTICLE SYSTEM

John Sedlak has published a nice 3-page tutorial about setting a basic particle system in XNA, with source code included.

From John's tuto: "... This tutorial describes a simple way to render particles using simple rendering techniques, and a custom vertex format in a 3D world ...".

Read on!

APRIL'S DIRECTX SDK AVAILABLE FOR DOWNLOAD

In a recent post, Dave has informed that the April's DirectX SDK has been released for public download.

The new features include:

  • Improvements to the XACT UI,
  • Improvements to PIX,
  • Shader compiler update, and
  • an effect-pools sample.

Please read Dave's post for full details. To download the SDK just follow this link.

Cheers!

Tuesday, April 03, 2007

JAD ENGINE 1.1 RELEASED

For those of you that never heard about Jad engine, it's one of the first shader-prone engines created using MDX that was released to the public for free.

I was following its development since it was originally called "Haddd" engine, so let me tell you that if you want to learn how to develop a robust and powerful engine, then Jad engine is a great knowledge base on the subject.

From the announcement: "... After more than 6 months of work the Jad Engine Team has finally released Jad Engine 1.1. This new version comes with lots of bug fixes, minor improvements (math library, multiple viewports,...) and major new features (virtual file system, scripting,..) ...".

You can download the engine from its hompage in Codeplex.

Cheers!

Monday, April 02, 2007

"NETWORKING/INTERNET WITH SOCKETS" - PART 1(WINDOWS ONLY)

A new tuto has been published on PlasmaFlux site which covers a starting point for networking with XNA, under Windows OS only.

From the site's post: "... Many people have asked “Can I/How do I make internet/network games in XNA” and the replay has been “yes” or “yes but not on the Xbox360 until later”. So I wanted to produce a simple network/internet game & tutorial/explanation to show off how it’s done. I wanted to keep the game simple as not to get people lost between where the game starts/stops and where the networking starts/stops, whilst not making it to simple like string only string messages as games need to send some quite complex information at times ...".

Read on ...

Saturday, March 31, 2007

HANDLING THUMBSTICKS' INPUT VALUES

Remember Shawn's Trilogy? As a bonus, he has posted a handy tip for hooking the values returned by thumbsticks to your game's physics calculations.

From Shawn's post: "... Good analog control has a huge impact on the feel of a game, and massaging your input values can do wonders to make things feel more controllable and responsive ...".

Read on!

Thursday, March 29, 2007

"INTRODUCTION TO COLLADA"

Gamasutra has published and excerpt from the book: "COLLADA: Sailing the Gulf of 3D Digital Content Creation".

This 6-page publication is specifically the book's opening chapter.

From the excerpt: "... This chapter explains why the COLLADA technology has been developed. It provides a global view, defines the problems addressed by the technology, the main actors, and the goals and perspectives for this new technology. It provides an historic overview and information on how COLLADA is being designed and adopted. The goal is to give the reader an insight into how the design choices are made and how this technology might evolve ...".

I don't know much about this format. I know is making a lot of noise in the Industry these days. So maybe it's interesting to read it and catch up at least on the concepts behind the format.

Later.

Wednesday, March 28, 2007

THE "... SUCK" TRILOGY

Shawn Hargreaves has published a series of three posts declaring war to keyboards, gamepads and those handy little friends: computer mice!

He mentions the awful truth of these peripherals as far as game programming is concerned.

From Shawn's posts: "... Gamepads, like keyboards, are not perfect. They are designed to be cheap, sturdy, and nice to hold: accuracy comes second ...".

You can find the installments here:

The posts give useful advice on how to deal with keyboards and gamepads as well as explains how XNA makes our lives easier for reading thumbsticks' absolute positions.

Enjoy!

"INTERVIEW WITH MICROSOFT GAME STUDIO'S SHANE KIM" - PART 2

Do you remember this post? If you don't follow the link and read it but if you do just go ahead and read part 2 published by Gamasutra.

This second part of the interview to Shane Kim and Dave Mitchell covers "... their feelings toward Nintendo as competition, Microsoft's strategy of funding game development in Japan, the upcoming episodic Halo content, Peter Jackson, and more ...".

And yes, XNA GSE is mentioned throughout the interview. Take for instance: "... we've got over eighty universities from eight countries that are teaching, including Japan. In Japan, we've got Iwatani-san, the creator of Pac-Man, extremely excited about getting into the possibilities of Express. As a result, when he retires, he is going to be teaching at Tokyo Polytechnic University, using Game Studio Express to teach game design to future game developers ... ".

The creator of Pac-Man ... impressive, ugh?

Ok, please all repeat after me: "XNA rules!" ... ;)

Monday, March 26, 2007

TIPS: "SOFTWARE EFFICIENCY AND OPTIMIZATION - PART 2"

The awaited second part of the series is now available on "Advice From the Swamp" blog.

This time Thomas explains the initial How To's for benchmarking your algorithms and methods -and includes two source code samples.

From Thomas post: "... If benchmarking shows your algorithm has problems without implementation optimizations, you are probably better off with a different algorithm. Which isn't to say that these sorts of optimizations aren't still useful. But it's better to do these selectively, once you have your code implemented and have profiled it to find specific problem areas. We'll look at how to use a profiler to find these problem areas next week, in Part 3 ...".

Cannot wait for part 3 ... :)

Saturday, March 24, 2007

"SOME CODE IS MORE EQUAL THAN OTHERS"

No, it's not Confusio ... it's Shawn Hargreaves striking back on the topic of optimization.

In his latest post, Shawn talks about how to priorize and optimize things when dealing with different kind of programming, plus he opens the x-files of his life and reveals some dirty secrets of his past.

From Shawn's post: "... This is one of the reasons I like having a content pipeline that separates build time data processing from my runtime game code. The more computations I can move from my game into a custom content processor, the less product code I have to write. Processors are internal utilities that only ever have to run on my computer, so I can get away with all kinds of shortcuts that would never be acceptable if I was doing this processing as part of my shipping game code. ...".

I agree. What is more, for those of you who may think that the content processor could turn out to obstruct the creation of a game editor (say, for the PC platform) by using the XNA Framework, I'm afraid that you are forgeting something: "MS Build" console application and the "XNA Content Builder Application" comes to the rescue when you need to import content "on-the-fly" (unless of course you decide to make your own "dynamic" loader).

Cheers!

Friday, March 23, 2007

NEW XNA BLOG: "ADVICE FROM THE SWAMP"

There's a new blogger in the XNA Community: Thomas Aylesworth (you can also see screenshots and or download his game: "Space Invasion").

And he's opened with a great subject ...one of the topics that Shawn likes most :) ... Software Efficiency and Optimization (Part 1).

As you an see this is the first installment of a series so stay tuned to his blog.

Cheers!

AN AD-HOC 3D PRIMER

Things have been a bit quiet in the XNA world lately -like a calm before the storm, so I decided to post some useful links for those who want to do the first steps into 3D and thus, need to understand some basic concepts.

First things first, mathematical concepts: undertanding vectors and matrices. You will learn how to operate with both as well as understand some relevant concepts like the difference between dot and cross products. Of course, further separated reads can be found on vectors and matrices.

Assuming that you've got that clear, you can then move onto the next concept: coordinate systems. What's the difference between local and world coordinates? What's tangent space? You'll get a first glimpse to these concepts, dont' worry.

Now enters transformation matrices. So, what's a transformation matrix? You will learn that in order to get the desired and or correct 3D projection, the order how you operate with matrices is the key.

Ok, let's take a larger step here, ... this topic is not particularly referred to 3D only, but it comes very handy when you want to build a game engine and start dealing with parent and children objects moving along together and thus, with matrices concatenation: scene-graph.

Implementing a scenegraph varies on a per-project basis, but if you understand the basic concepts you will do well, even if you don't (want to) call it a scene-graph in your source code or want to avoid its whole implementation but still preserve its functionality.

Well, as you can see, this is just an ad-hoc primer, built by just browsing the web with the help of search engines, so if you don't have money to buy a good book on the subject you will find that Internet is a great place to find the information you need if you're patient while searching.

Have a nice read ...

Thursday, March 22, 2007

NVIDIA GDC'07 PRESENTATIONS AVAILABLE FOR DOWNLOAD

nVidia has released for public access the slides presented during GDC 2007, which cover among other things: rendering tips and tricks, Direct3D 10 topics, and a preview of the features included in the long awaited FX Composer 2.

The slides are available in PDF files and can be found here.

By the way, for those that heard some rumors about FX Composer 2 coming out next month, the slides are clear, and I quote:

  • Public Beta, early April 2007
  • Final Release, early May 2007
Cheers!

Wednesday, March 21, 2007

GAMEVIDEOS.COM'S GDC2007 COVERAGE ON XNA

News in line with my previous post: GameVideos.Com has published a series of 3 videos interviewing Shane Kim (Microsoft Game Studios Vice-President) and Dave Mitchell (Microsoft Game Developer Group Director of Marketing).

Part 1 of 3:



Part 2 of 3
:



Part 3 of 3
:


Enjoy!

"THE YOUTUBE OF GAMES: MICROSOFT GAME STUDIO'S SHANE KIM ON XNA STUDIO EXPRESS"

Gamasutra has published a 3-page article entitled "The YouTube of Games: Microsoft Game Studio's Shane Kim on XNA Studio Express", covering among other topics, the future of XNA GSE.

From the article: "... With the release of XNA Game Studio Express just behind them, Gamasutra met with Microsoft Game Studios' corporate vice president Shane Kim, and Microsoft Game Developer Group director of marketing Dave Mitchell in the heat of the 2007 Game Developers Conference.

In this extensive interview, we discussed the Xbox 360's current placement in the market, the possibility of making harddrives mandatory, the state of Microsoft Game Studios in Japan, future Zune connectivity with the 360, Kim's thoughts about the competition, and the future of XNA Game Studio Express, both commercially and for educational purposes. ...".

Interesting read.

Sunday, March 18, 2007

KYLE SCHOUVILLER ON 2D COLLISION DETECTION

Kyle has posted a nice read with tips useful to face the task of inplementing Collision Detection in Two Dimensions.

From Kyle's post: "... Use the Separating Axis Theorem. Use a space-division scheme, like a Quadtree. Use multiple levels of collision detection to avoid unnecessary testing. Use a common bounding structure for all objects so they can interact generically. Those are things I learned when I did it. ...".

Stay tuned!

Saturday, March 17, 2007

ARE 'FOREACH' LOOPS THAT BAD FOR YOUR GAME?

Lately, many developers have been asking about any performance issues that the use of "Foreach" loops could bring to their XNA-based games, both in the PC and XBox360 platforms.

As a result of all those questions, Cornflower Blue decided to carry out its own research with the help of the "CLR Profiler" tool.

From Eli's post: "... I wanted to get the whole story. Plus, this was an ideal reason to learn to use the Windows and Xbox 360 CLR profiling tools, which I've put off doing for some time. So, I figured I'd do just that: do a foreach loop over a bunch of collections, use the profilers to see if I'm making garbage, and hopefully we'd all learn something in the process. ...".

It's a nice read, but most important, the results Eli's obtained are quite interesting, so go ahead, pay a visit to "Foreach, Garbage, and the CLR Profiler" and read on.

Enjoy!