Project "TRANSFORMED" is about making a 3D game using XNA API. The major portions of the project are;
• 3D Graphics Programming.
• XINPUT(Input devices)
• STORAGE (Game Storage)
• XACT (Sound)
• AI
• Graphics designing
C# will be used as the programming tool and 3D Studio max will be used for graphics and video creation.
OBJECTIVE
Portability of game on to different platforms is a major field of concern for game programmers over years. One has to write different game packages for different platforms. This would become too much expensive. Thanks to the .Net framework that provides portability onto different platforms for games such as XBOX. But no one is willing to set the starting point of game programming in this platform simply because it is new. This is what motivated us to use this platform for games.
Since C# is not yet used for high video definitions game programming, that’s why the initial task is to set a platform for the game programmers to use C# as the tool for game programming.
In the process we will be trying to practical implement it by making a full fledged 3D game.
A BRIEF BACKGROUND
There was no question about it—if you wanted to program cutting-edge games, you did so in C. Sure, C++ was around, but it was too “slow.” The advanced features that C++ offered took off too much processing power, and that was simply unacceptable to a game programmer.
Over time, computers got faster and faster and video games got bigger and bigger. Soon, people realized that games were just getting too big to write in C. When programs were small, C was a great language to use because there was no real need for a lot of management in your code. One person could write a program and easily understand what everything did.
But C becomes a problem when programs get bigger; it’s just too hard to manage a large program written in C.
C++ fixed a lot of problems with C, but maintaining backwards-compatibility was a major problem, and as a result, C++ ended up being one of the biggest language mutations in existence. It’s also a great language, but it has a mighty long list of flaws associated with it. [1]
WHY C#?
C# has not only inherited a lot of Java benefits such as GC, restricting pointer usage, etc., it has also kept a lot of C++'s elegancy that Java threw away as well as some powerful VB features. No language is very useful without a powerful library. Microsoft has an excellent track record producing extensive software libraries. After checking the .NET CLR, one have to say that it is not bad for a first cut, and it is not just for C#, but also for managed C++ and VB.NET and ASP.NET.
Firstly, C# is a lot easier to implement than C++, from a compiler development stand point is already complete, but there are no fully standards-compliant C++ compilers, not even the venerable gcc. C# is also easier on the memory than C++ since there is no memory management that the developer has to worry about. [2]
THE XNA
The release of the XNA platform—and specifically the ability for anyone to write Xbox 360 console games—is truly a major progression in the game-programming world. Before XNA, it was simply too complicated and costly for a student, software hobbyist, or independent game developer to gain access to a decent development kit for a major console platform. With the release of XNA Game Studio Express, the ground rules have changed. Now anyone with a PC that has a decent graphics card can use the XNA platform to develop games not only for Windows, but also for the Xbox 360.
It will be fun to watch as a new strain of games springs forth from the labs of students, hobbyist game developers, small game shops—and you. Of course, commercial developers will always have larger budgets, teams of paid artists, and abundant resources on their side—however; commercial game developers are going to be taking notes and learning from the independent XNA developers who find new and interesting ways to warp the virtual world.
XNA Game Studio Express is the integrated development environment (IDE) for XNA. It is an add-on for Visual C# Express Edition. Although some people would like to see the full version of Visual Studio supported, Visual C# Express is free. Based on this, it is possible to develop Windows XNA games without any cost above the price of your PC.[3]
THE 3D STUDIO MAX
Autodesk® 3ds Max® 2009 software is a full-featured 3D modeling, animation, rendering, and visual effects solution . Quickly and efficiently generate convincing characters, seamless CG effects, and jaw-dropping environments.
Achieve stunning results in less time with Autodesk® 3ds Max® software. Autodesk 3ds Max 2009 introduces time-saving new animation and mapping workflow tools, groundbreaking new rendering technologies, and significantly improved 3ds Max interoperability and compatibility with other industry-standard products such as Autodesk® Maya®.
Greater OBJ translation fidelity, along with more export options, make it easier for you to move data between 3ds Max and other digital sculpting applications, support for .NET in 3ds Max allows you to use Microsoft’s efficient, high-level user interface APIs to extend the software. [4]
SCOPE OF THE STUDY
Since C# being used for the first time for game programming, it will bring to market a new trend of making games that are platform independent. Secondly, Gaming industry is zero in our country. By making this game, we are trying to introduce the gaming industry to our country.
WORKLOAD DISTRIBUTION
• Muhammad Sajjad ;
• Graphic designing and video creation
• Asad Iqbal ;
• 3D Graphics Programming and other modules.
• Meherzad Javed ;
• AI and the Website Management
WORK SCHEDULE:
7th Semester
September: Presentation of project proposal
October: Study the relevant fields
November: Study the relevant fields
December: Preparing the Game story.
January: Present a demo with a character that will move around the 3D environment.
8th Semester
February: Adding sound to the demo and making it 3D.
March: Moving with the demo towards the first stage of the game
April: Adding enhancements to the game
May: Finalizing the stage.
*If we have time we will do the networking part of the game.
EQUIPMENTS REQUIRED
• 3D Studio Max 9 with Plug-ins.
• Microsoft Visual Studio 2005 Express Edition
• Microsoft XNA Game Studio Express 2.0
REFERENCES
1- Beginning C# Game Programming
2- http://forums.hostrocket.com/archive/in ... 13683.html
3- Microsoft XNA Game Studio
Creator’s Guide
An Introduction to XNA Game Programming
4- 3D Studio Max 9 Brochure
