Current Software Technologies
There are many different types of application software which are being used in game development today. Although some of these were not originally intended for use as game development software, they have come to be known for this purpose. Take Photoshop for example, this was originally created to manipulate the early digital photographs and has evolved from this stage to be used for art in general and as such provides a good tool for 2D image processing. Photoshop is now part of Adobe Creative Cloud Suite.
Many other software vendors provide simple drawing and painting applications such as: Alchemy, Painter, SketchBook pro, etc. These are used in the development of 2D art either for backgrounds, characters, sprites, etc. or for 3D games where textures are needed and any other art needed for the UI (user interface).
Moving on from 2D, modern computers allow the use of shading and perspective to give a 3D experience. Obviously this requires different technologies and this brought along the advent of 3D modelling programs such as Autodesk's Maya, Mudbox and other similar programs. With these applications, modellers are now able to generate 3D characters, 3D environments and similar to use in games.
Although the 2D and 3D applications create models and artwork, this is no good if it doesn't move and there needed to be ways to move and animate the artwork to create games. Computer languages have been around for many years now, driving the business environment and providing a means of manipulating data and this is what is required to manipulate the artwork and models to bring them to life. These languages have evolved from their digital beginnings of Machine Code, Assembler and then through Fortran, Algol, Cobol and then to Basic, C++ and C#. Most games development these days is written in either C++ or C#.
As you can imagine, using a text editor to write and format the code is a little laborious and thus several language developers have marketed IDEs (Integrated development environment) for their languages which make it easier for programmers to develop. Such IDEs are now widely used, the major ones being Visual Studio, Monodevelop, NetBeans, etc.
Although programmers developing a game can do this using simply the 2D, 3D artwork and the program codes, this does mean a lot of work for the programmer calculating physics forces, deciding upon algorithms for movement such as the A* path algorithm, and providing rendering using graphics pipelines. This gave rise to game engines which are used to provide basic physics, basic collision, basic rendering and many other aspects leaving the programmers free to design the games. Game engines such as Unity, Unreal Engine 4, XNA, CryEngine and others are used widely to provide this functionality, reduce game development times and coding errors.
To develop a complete game using all these technologies, a designer would start with some concept art using 2D drawing program from which 3D models are made. Animators would then take the 3D models and create animation sequences to allow these models to move realistically from the joints and then programmers will use a game engine and a programming IDE to develop all the movements, game rules and graphics processing involved in the final game.

Comments
Post a Comment