Spanish/Getting Started
From NeoAxis Engine Wiki
Contents |
Nota del Traductor
Los documentos traducidos por mí no serán traducciones literales de lo que dicen las guías, se adaptaran para traducir las palabras adecuadas, no será como esas películas mal traducidas.
Disfrutenlo. Atte.
Miguel Díaz
¿Qué es NeoAxis Engine?
NeoAxis Engine es un motor de juegos 3d de última generación, fue diseñada para crear juegos y/o sistemas de visualización 3d. Consiste en un conjunto de librerías y herramientas que ayudan a la realización de aplicaciones 3D.
Este motor resulta muy útil al momento de crear aplicaciones 3D, así como juegos, simuladores, programas de entrenamiento, programas para visualizar procesos físicos y químicos, tu imaginación es el límite.
NeoAxis Engine SDK (Software development kit)
Instalación
Muchas versiones del motor NA (NeoAxis) están disponibles para su descarga. La lista se puede ver en el siguiente link aquí.
Existe una version NO-Comercial de NA que es totalmente gratuita. Con esta edicion tu puedes desarrollar aplicaciones que no se comercializarán.
Descargar NeoAxis Engine SDK versión No-Comercial .
Una vez que hayas descargado e instalado el SDK, puedes comenzar a trabajar con él.
El menú de NA
Puedes ver las nuevas opciones en el menú de inicio de tu PC:
El menu contiene:
NeoAxis Engine Non-Commercial SDK X.X
-
API Reference - Un API que se genera automáticamente.
-
Browse Files - Acceso directo a la carpeta donde el SDK se instaló.
-
Configurator - Herramienta de configurado del engine, video, audio, etc...
-
Demo - Aplicación demostración. Recomendamos que para comenzar a entender el engine analizar esta demostración.
-
Documentación - Link a la documentación que estas leyendo ahora.
-
Map Editor - Editor de mapas, acá creas editas y modificas tus mapas.
-
NeoAxis Engine on the Web - El link a la web de NeoAxis.
-
Resource Editor - Editor de recursos del engine.
-
Uninstall NeoAxis Engine Non-Commercial SDK - Desinstalar SDK.
Te recomendamos que comiences utilizando y estudiando el Demo.
Demo
Descripción
El demo que viene con NA, es una aplicación interactiva en la que se muestran todas las capacidades que posee este motor. El demo contiene variados mapas mostrándote los distintos tipos de juegos que puedes crear con él.
Una vez que ejecutes el demo, te aparecerá el menú principal. Haz click en Run Demo y te llevará a una vista en primera persona con el mapa base.
Si deseas ir a cada uno de los mapas de manera independiente, presiona la tecla Escape. En ese menú presiona donde dice Maps y allí tendrás la lista de mapas disponibles para elegir.
Controles
Movimiento
- WASD, flechas - Mover el personaje
- Barra espaciadora - Saltar
- (Mouse) Boton primario - Disparar
- (Mouse) Boton secundario - Disparo alternativo
- 1 - 9 - Elegir armas
- E - Usar un objeto
Controles de la aplicación
- F7 - Cambiar el tipo de cámara
- F8 - Pausar el juego
- F11 - Pantalla con información de debugeo.
- F12 - Tomar una Screenshot
- ~ - Abrir la consola
- Av Pág, Re Pág - Zoom in/zoom (Solo en si la cámara esta en 3era persona)
- Home, End - Cambiar la altura de la cámara (Solo en si la cámara esta en 3era persona)
Lista de mapas
Lista de los mapas incluidos en el demo:
- ConstructionsDemo - Demuestra el uso de físicas complejas, en este caso en la construcción, así como una grúa o un puente.
- DeathmatchDemo - Ejemplo de un juego de disparo.
- JigsawPuzzleGame - Juegos de mesa (con posibilidad multijugador).
- PhysicsDemo - Un ejemplo de como usar el sistema físico.
- PortalSystemDemo - Un ejemplo utilizando sistemas con portales Portal System, el cual te permite una mejora en la productividad al renderizar espacios interiores.
- RagdollDemo - Un ejemplo utilizando físicas de ragdoll.
- RenderDemo - Demostración de varios sistemas de renderizado.
- RTSDemo - Un ejemplo de un juego RTS (inglés).
- SkirmishDemo - Demostración de la inteligencia artificial en personajes, incluso dividiéndolos en equipos rivales.
- SoundDemo - Un ejemplo del uso del sonido 3d.
- StaticLightingDemo - Utilización de luces.
- SwitchesDemo - Un ejemplo utilizando botones.
- TankDemo - Un simulador de tanques (muy recomendado y entretenido).
- TPSArcadeDemo - Un ejemplo de un juego visto desde una tercera persona, con cinemáticas incluidas.
- TurretDemo - Un simulador de una torreta.
Archivos del SDK
Ve a la carpeta del motor. Por defecto, esta ubicada en C:\NeoAxis\. Hagamos una revisión general de lo que trae la carpeta del motor.
- Game - La carpeta del proyecto.
- Bin - Los ejecutables del programa, esto incluye todo el set de herramientas y la aplicación de demostración Game.exe (la que hablamos arriba).
- Data - Carpeta con los recursos del proyecto. Contiene los modelos 3d, mapas, audio, texturas, etc...
- NativeDLLs - Librerias, sin estas el motor NA no funciona.
- UserSettings - Las configuraciones de usuario (configuracion de video, audio, red, etc...), aquí tambien se guardan los logs.
- Src - Aca están los código fuentes de tu proyecto, que cuando funcionan en conjunto son el esqueleto de él.
- Bin - Los ejecutables del programa, esto incluye todo el set de herramientas y la aplicación de demostración Game.exe (la que hablamos arriba).
- SDK - Directorio con la documentación y herramientas adicionales.
- Docs - API de referencia.
- Tools - Herramientas adicionales.
- Exporters - Herramientas de exportación para los modelos 3d.
- 3dsMax - Herramienta para exportar desde 3dsmax.
- Maya - Herramienta para exportar desde Maya
- Fonts - Herramientas para trabajar con fuentes.
- BitmapFontGenerator - Una herramienta para generar texturas con fuentes.
- BitmapFontGeneratorToNeoAxisConverter - Una aplicación para transformar las fuentes creadas en BitmapFontGenerator, a un forma que lo puede soportar el motor.
- Video - Herramientas para trabajar con videos.
- ffmpeg2theora - Una herramienta para convertir audios varios a OGG.
- Exporters - Herramientas de exportación para los modelos 3d.
Aplicaciones adicionales
Lista con las aplicaciones adicionales:
-
DedicatedServer.exe - Servidor Dedicado wiki.
-
WinFormsAppExample.exe - Ejemplo de como integrar el motor en Windows forms.
-
WPFAppExample - Ejemplo de como integrar el motor en aplicaciones WPF.
-
ChatExample.exe - Un ejemplo de como hacer un chat online y Windows Forms
Herramientas
Vistazo general
El conjunto de herramientas que trae el motor es un set de editores y utilidades.
El conjunto de herramientas:
-
Resource Editor - El Resource Editor fue diseñado para editar los recursos del proyecto. Por ejemplo, modelos 3d, mapas, materiales, texturas, sonidos, etc.
-
Map Editor - El editor de mapas fue diseñado para crear y editar mapas de juego.
-
Configurator - Esta utilidad es para ajustar las características del motor, dígase modos de render, audio, etc.
-
Deployment Tool - Herramienta para hacer los deploys del juego, es decir, cuando está listo, compila todo para crear una versión publica del juego.
-
Shader Cache Compiler - Pre-compila los shaders, para que el motor cargue mas rápido.
Este conjunto también incluye una serie de plug-ins para el modelado 3d, así como herramientas para importar modelos creados desde 3dsmax y maya.
Las herramientas principales son el Resource Editor y el Map editor de los cuales se hablará mas adelante.
Editor de mapas (Map Editor)
NeoAxis Map Editor is a tool for creating maps. The term "map" origins from computer games. A map is some location where the action of the game takes place. A map can be both a city and a room. A map editor allows you to create different landscapes, and place game objects, trees, buildings, vehicles. The editor works based on the WYSIWYG (What You See Is What You Get) principle, which means you work with the map the way it will be in the game. Moreover, by pressing a button you can start the map and watch it in action .
You can learn more about the map editor in more details here.
Resource Editor
NeoAxis Resource Editor is a tool, for viewing and editing of a variety of resource types.
That is:
- 3D models (.mesh),
- Materials (.highMaterial),
- Textures (.jpg, .tga, .png, .dds),
- Sounds (.ogg, .wav),
- Physical models (.physics),
- Particle systems (.particle),
- User's interface (.gui),
- Fonts definition (.fontDefinition),
- Game objects (.type).
3D model is a model of an object, which can be regarded as the main resource of the game. Creating 3d models is usually the most time-consuming work. If you are not familiar with this notion, it is necessary to mention, first of all, that computer games employ mostly polygonal 3D models. Polygonal means consisting of polygons.
Material is information containing only one colour. A 3d-model covered with this material will be coloured in the same colour. More complicated materials are often used, containing one or more textures, shininess, glow, and bump mapping.
Texture is a flat picturе. Textures are used mostly in materials to be put on one-dimension model.
Sound is an essential resource of any game, lending variety to the game process.
Physical model is a description of a game object regarding its interaction with other objects. A 3d model describes appearance whereas a physical model describes its inner characteristics. For example, you can create a physical model for a car, using an enclosing block (frame of the car), cylinders (wheels), axes, springs (shock absorbers). Rotation, collisions, destruction of the game world objects take place with the help of their physical models.
Particles system is a way to realize different visual effects. With its help you can create effects of smoke, fire, steam and many others.
User's interface is a so-called GUI (Graphic User Interface), which is responsible for interaction with the user. It includes different buttons, lists, forms, input fields and other components. You can create your own interface elements and use them in the applications of your own.
Fonts definition is a set of parameters characterising this or that font.
Game object is one of the components making up the game world. It can be anything: a character, a vehicle, a building, a tree. The whole world of the game is filled with game objects. A game object combines all other types of resources: 3d models, physical models, sounds.
You can read more about the Resource Editor here.
Packages of 3d modeling
How are 3d models created? The programs allowing you to create 3d models are called packages of 3d modeling. People who create 3d models are called modellers.
At present there is a great number of packages of 3d modeling. The most popular are:
We should note that Blender, unlike the other three mentioned above modeling packages is free.
In order to transform the models to the format of NeoAxis Engine there are special additional programs called exporters. Exporters are available for Autodesk 3ds Max and Autodesk Maya. Besides, all modern modeling packages support exporting to the open format Collada, and Resource Editor in its turn lets look over and convert models in format Collada to your own format.
Programming in NeoAxis
Overview
NeoAxis Engine API is based on .NET. The main language is C#. You can write the code using any languages supporting .NET. Moreover, you can attach to the project the libraries written in C/C++ or any other unmanaged language. The logic of the project is written in C#.
SDK includes a ready to use skeleton for the project development (Demo), as well as a wide range of code examples for fast development of the project logic. The engine lets you concentrate on developing the project logic and not deal with inside low-level tasks, thus decreasing time of the project development and as a result its cost.
Internally, the engine uses native C/C++ components, such as rendering, physics, sound for maximum productivity.
The engine can work via Mono Runtime without using .NET Framework from Microsoft.
Choosing IDE
There are several IDE, supporting development in the language of C#.
The following IDE are supported for the development:
- Microsoft Visual C# 2008/2010 Express - free development framework from Microsoft.
- Microsoft Visual Studio 2008/2010 - paid development framework from Microsoft.
- SharpDevelop - free development framework.
- MonoDevelop - free development framework.
We recommend you to use Visual C# 2010 Express, which is free.
Download Visual C# 2010 Express
After installing IDE let's go to on to learn the source code of SDK.
Overview Source Code of SDK
Go to the folder Game\Src and open NonCommercialLicense.sln.
You can see a list of projects available:
- GameCommon - Various classes of a project, such as description of material types, networking services of a project, class of the engine console, users GUI classes.
- GameEntities - Game classes and the entire logic of the game.
- Game - Access point of the application. Initializing the engine, classes for realizing the structure of the project, navigation of game screens and interaction with the user.
- ChatExample - An example of an online chat on the basis of Windows Forms.
- DedicatedServer - Application for creating a dedicated server.
- WinFormsAppExample - An example of integration of the engine into Windows Forms application.
- WPFAppExample - An example of integration of the engine into WPF application.
The main assemblies are GameCommon, GameEntities and Game.
We strongly recommend you to use Demo as a foundation of your project. Deleting the whole demo code and writing it anew is not the best idea. Developing a project looks like a gradual extension and changing of the code available in SDK . In the future, when you are more experienced you can delete an unnecessary code.
Also you may need some reference on the SDK structure and description of the libraries. You can get this information here.
Scripting Maps
In addition to the main way of writing a code, there is a possibility of scripting maps. Map Editor includes a special editor for writing the logic of maps.
You may add logic to the map without changing the main code of the application. There is one more editor for this purpose: NeoAxis Logic Editor. It allows you to connect logic to the map objects, react on the events, manage the objects with help of your algorithms.
For example, you have marked a specific area on the map. With the help of the Logic Editor you can get a notification about the character entering this area and execute an algorithm. Also with the help of the Logic Editor it is easy to create cut scenes on the engine.
The Logic Editor supports two ways of writing algorithms:
- Designer Type (with the help of user's interface),
- Script Type (in the programming language C#).
Designer Type will suit not only programmers but also maps designers because it is user-friendly. The commands of the algorithm are created with the help of a very convenient menu.
Script Type, using all the all power of the language C#, allow you to create algorithms much faster than with the help of interface, but it requires programming skills.
Read more about the Logic Editor.