Sunday 27 November 2011

Week 4

I was on holiday over this weekend, so didn't get as much as I had planned completed.  I have drawn a few more sketches for the design and implementation, and added a little writing to accompany each.  My plans for next week are to flesh out on these ideas and draw more art to compare and evaluate.

Thursday 10 November 2011

Week 3

Game Engines

Unity 3D

Unity 3D is a game engine made by Unity Technologies, and is used to make video games, 3D animations or architectural visualisations. You can develop this on either Windows or Mac OSX, and can be developed for the Wii, iPhone and iPad, Xbox 360, Android phones and the Playstation 3. There are two versions of Unity 3D for offer, the free version and the professional version. The main differences between the two are the extra features offered in the pro version. These features include video playback, realtime shadows. Global illumination and occlusion culling, among other features. You do have to pay for the professional edition, and this costs $1500 from their website. The features that are on both the free and paid for editions are extensive, so I will list the main ones which shall be of use to me during this project. The main features are Audio importing, Optimized graphics, Instantaneous, Automatic asset importing and generated terrains. Audio importing is an important component of Unity, as this allows the user to import custom sounds to the engine, and assign them to different assets, such as new gun sounds or background music. Unity also allows you to change whether it is a 2D, 3D sound, and add appropriate Doppler effects if needs be. The optimized graphics will be useful in making the game run to it's full potential. The developers at Unity have optimised the pipeline for DirectX and OpenGL, so models that are imported, along with models that are created within Unity run better. Instantaneous Automatic asset importing is a feature that allows most file formats to be imported to the program, and import settings are saved, so when they get set with the first import, they are saved for every subsequent import. The final feature I will be looking at will be generated terrain. This is a quick and easy way to create landscapes and design levels for games. As well as this, Unity states generated terrain:-

run(s) smoothly on low-end hardware. All that and they take up almost no disk space”

This will keep overall disk space used by the game to a minimum, whilst at the same time also ensuring that this game won't need a very powerful machine to run it, as the terrain generation isn't very demanding.

Unreal 3 Engine

The Unreal engine is a game engine, and was created by Epic Games. Originally it was created for the game Unreal Tournament, and they have continued to create newer versions which are now used by many games companies. The newest version to be released is the Unreal Engine 3, which was released alongside the release of Unreal Tournament 3. It currently is used to develop for Microsofts DirectX 9 on Windows and Xbox 360, DirectX 10 and 11 on Windows Vista and 7, OpenGL for Linux, Mac OS X, Playstation 3, iOS, Android and Adobe Flash Player 11. The Unreal Development Kit (UDK) is available to the general public for free use, but if you wish to make your game commercial, you must pay a $99 fee, then later 25% of whatever you make should your income rise above $50,000. UDK offers lots of features, such as Animation, Artificial Intelligence, Audio, Cascade, Cinematics, Editor, Networking, Physics, Real-Time Shaders, Rendering, Unreal Scripting, and Unreal Swarm, but the tools that would be used for this project are Kismet, Lightmass and Terrain generation. Unreal Kismet is a hierarchical system that makes it easier for artists and level designers to design the layout of the level without having to implement any code. This also allows programmers to easily get an event to happen between two objects using this system, as you just need to link two of the nodes together to get the event to occur. If the objects are to have more than one event happening, possibly with some complex actions, you can create your own variations which can be called up when you need them. Unreal Lightmass is a type of global illumination, that also provides advanced lighting and shadow techniques to give a realistic finish to games. The illuminate part gives you the option to add Ambient Occlusion, per-pixel lighting, fill lighting and fully dynamic specular lighting and reflections. The Global Illumination from this system means that you don't need to add new lights to every room, and the engine also takes care of the colour correction of the light hitting off objects. The advanced shadows allows dynamic characters to cast dynamic soft shadows, are pre-computed as to not affect the performance of the game. The unreal engine 3 also supports Deferred Rendering, where translucent obkects are rendered with the forward rendering pipeline and Billboard reflections, which allows reflections of shadows to be created, with little performance loss. The terrain system that Unreal Engine 3 uses is called Landscape, and it let's you create large scale, yet realistic outdoor environments with ease. Using a simple system of using brush strokes to paint and sculpt landscapes, you can build up a realistic looking environment fast. Along with the advanced thermal hydraulic erosion brush, you can make certain areas look more weathered and worn than others, adding a lot of realism to the levels. With the advanced Directx11 features you can also add features such as tessellation and displacement maps, which further add detail to the level, which would otherwise take up a lot of time if the user were to try to replicate it manually.

CryEngine 3

The CryEngine 3 is a game engine released by company Crytek on October 14th, 2009.

This shall be finished by the end of this week, and ready to start the next section.  This isn't the totally final copy, as I may find more information in the coming weeks to update  

Thursday 3 November 2011

Week 2

Blender

Blender is an open source software development program and created by the Blender Foundation. Due to it being open-source, it is also free to download, and with the download you also get a development license, allowing you to create and release content as soon as you have the software. This software is available on all versions of Windows, Mac OS X, Linux and FreeBSD, making it very portable. Blender is an advanced modelling tool, with lots of utilities and tools built into it, and the ability to have others imported into it to improve productivity. The tools necessary for a project such as this would be Modelling, Rigging and Animation. The modelling has got a lot of detail in Blender, with lots of modifiers to add quality to the models, such as NURBS. It also has the ability to sculpt, with tools such as paint, smooth, pinch, inflate and grab, which would all be used to make realistic looking landscapes and character models. The rigging within Blender has also got some useful extra features built into it. Mirror editing is something of great use, as it can save time and also leave a more accurate skeletal model, especially if that model also happens to be mirrored. One feature that blender exclusively has is Double Quaternion deformation, which:-

reduces shrinking and other bone deformation errors. [1]

A feature like this is useful because it helps minimise incorrect rigging, which can make animations and overall quality look sloppy. Blender can output to two separate file formats, .blend and .obj. The blend extension retains all modifications made to it, but isn't supported by any game engines, it is just for exporting to render with another renderer. The obj extension retains some of the modifiers, but is a standard that works in most game engines.

Maya

Maya is another product from Autodesk, which focuses on animation after the models themselves have been created. Introduced in 1998, it is now in its 12th release, and is available for use on Linux, Mac OS and all Microsoft Windows OS's. The main features that Maya has are all to do with post production, such as Cloth, Fluid and Hair effects. The cloth effects are especially useful if you are going to have characters wearing light weighted clothing, or going to be in a high wind situation, as it properly simulates each cloth movement before hand. Fluid and hair simulations are also pre-baked, so they are affected properly and affect the surrounding items around themselves. Unfortunately, none of these effects can be exported to a game engine, and, even if they could it would take up too many system resources. This would most likely make the game run exceptionally badly, if not at all on not so powerful systems.
This software currently costs $3,495 for a proprietary licence, but with access to a student license, you can get the software for free.

zBrush

zBrush is a 3D Modelling and Sculpting tool, which uses its “pixol” technology to create depth on the models, which results in exceptionally realistic models. Zbrush is available for use on Mac OSX and all variants of Windows OS. Being more of a sculpting program, you start with a block that looks similar to clay, and from there you sculpt your desired shape. This leads to a much more detailed model overall in comparison to most modelling programs. A new feature which was introduced recently is called GoZ, which allows the user to export the mesh they have created to another program, such as 3D Studio Max. This model can then be recreated, but with a lower polygon count which would be desirable for things such as games. Along with the mesh, a normal map is exported, which has all the detail from zBrush giving you an overall high quality model. Along with the standard 30 brushes you get with zBrush, it has the option for more to be added if the user wants.
Ideally this program works best when partnered with another 3D modelling program, as this doesn't have the functionality, such as scripting or bone rigging. This software costs $699, and doesn't have any student programs, so if I were to chose this, I would need to pay full price.

Final Choice

With all considerations and reviewing the research that I have done, I have come to the conclusion that the best Graphic Modelling program for this project will be 3D Studio Max. If I had more time and funds, I would have also chosen zBrush. The reason I didn't chose zBrush is that I would need to learn how to use it in the allotted time, as well as spend the $699 on the software itself. The reason that I chose 3D Studio Max over the others is that I already have 3 years experience using the program, and we were introduced to a student program, where we get a years license for free. For these reasons, it was obvious that 3D Studio Max was my choice of program.

I will continue on to do 3D Engines, then that should be my research section complete