Version 25 vs 26
Version 25 vs 26
Edits
Edits
- Edit by Timotheos, Version 26
- Sep 16 2017 10:29 PM
- ·Format only the actual class name, do not include pluralisation modifiers etc.
- Edit by Timotheos, Version 25
- Sep 16 2017 10:29 PM
- ·Format only the actual class name, do not include pluralisation modifiers etc.
« Previous Change | Next Change » |
Edit Older Version 25... | Edit Older Version 26... |
Content Changes
Content Changes
The official Echo project uses the NetBeans Integrated Development Environment (IDE). Please [[tools/netbeans/|download and install NetBeans]] before continuing.
Please [[projects/echo_3/building/|install and build the Echo engine]]. You can begin doing this while waiting for NetBeans to install.
Once you have installed Echo and NetBeans, you should also install the [[projects/echo_3/netbeans_modules/|Emblem NetBeans Modules]]. This will allow you to configure Tool chains automatically and also provide new project templates to get started faster.
=Your first project=
Now that you have everything installed, create a new project:
1. Open NetBeans and select {nav File > New Project}.
2. Select the {nav C/C++} category
3. You should see Echo project templates listed in the Projects list. Select {nav Echo Application}.
{F4375 size=full}
4. Choose a project name and project location, then click {nav Finish}.
5. Right-click the project in the project list and click {nav Build}. The project should build without errors.
6. Right-click the project in the project list and click {nav Run}.
The Echo Application template has a simple menu and main game state that you can switch between using the on screen buttons. The game state scene is made up of a spinning cube and some lights.
{F4377 size=full}
Congratulations, you have created your first Echo project!
=What next?=
Have a look at the project source code. The ProjectNameApplication.cpp file contains documentation about some Echo fundamentals and details the project Task structure. Game.cpp contains code to build the game scene, viewports and the in game menu.
Here are some suggestions for moving forward:
- Familiarise yourself with `Scene` objects:
-- Modify the scene.
-- Add another `SceneEntity` to the scene, give it a `Sphere` mesh (hint: the `Mesh` class contains some helper methods for generating certain meshes).
- Familiarise yourself with `Camera`s, `Renderer`s and `Viewport`s:
-- Modify the Game state to include a third `Viewport`.
- Familiarise yourself with GUI scripts:
-- In the resources folder you'll find a folder named Menu that contains various `.gui` files. These define GUI layouts of images, buttons, text etc. The element types correspond to Echo GUI classes. Play around with the menu elements.
-- Try creating a couple of new buttons to click on in the Game state to speed up or slow down the spinning cube. You will need to create a function to change the speed and set up a new binding to make it available for GUI buttons (see the application file on how to set up bindings, but set the bindings up in `Game.cpp` using the provided `FunctionBinder`).
- Familiarise yourself with `Task`s: Create a custom `Task` to periodically toggle the visibility of the sphere (or, if you didn't create one, the cube).
If you're happy with your progress so far, you can move onto a more advanced project by creating a third person game using the provided project template. The third person game template is a little more complicated that the simple application. It provides examples of:
- Using a `ContextSwitcher` to manage application states.
- How you can get values from a `Configuration` object,
- Creating a custom `Camera` controller task to follow a character
- How to create and use `MappedInputDevices`
- How to create a generic game entity class that has discrete states defined by animations, physics bodies
- How to create a `BulletPhysicsWorld` and add `PhysicsBody` instances to it.
The official Echo project uses the NetBeans Integrated Development Environment (IDE). Please [[tools/netbeans/|download and install NetBeans]] before continuing.
Please [[projects/echo_3/building/|install and build the Echo engine]]. You can begin doing this while waiting for NetBeans to install.
Once you have installed Echo and NetBeans, you should also install the [[projects/echo_3/netbeans_modules/|Emblem NetBeans Modules]]. This will allow you to configure Tool chains automatically and also provide new project templates to get started faster.
=Your first project=
Now that you have everything installed, create a new project:
1. Open NetBeans and select {nav File > New Project}.
2. Select the {nav C/C++} category
3. You should see Echo project templates listed in the Projects list. Select {nav Echo Application}.
{F4375 size=full}
4. Choose a project name and project location, then click {nav Finish}.
5. Right-click the project in the project list and click {nav Build}. The project should build without errors.
6. Right-click the project in the project list and click {nav Run}.
The Echo Application template has a simple menu and main game state that you can switch between using the on screen buttons. The game state scene is made up of a spinning cube and some lights.
{F4377 size=full}
Congratulations, you have created your first Echo project!
=What next?=
Have a look at the project source code. The ProjectNameApplication.cpp file contains documentation about some Echo fundamentals and details the project Task structure. Game.cpp contains code to build the game scene, viewports and the in game menu.
Here are some suggestions for moving forward:
- Familiarise yourself with `Scene` objects:
-- Modify the scene.
-- Add another `SceneEntity` to the scene, give it a `Sphere` mesh (hint: the `Mesh` class contains some helper methods for generating certain meshes).
- Familiarise yourself with `Camera`s, `Renderer`s and `Viewport`s:
-- Modify the Game state to include a third `Viewport`.
- Familiarise yourself with GUI scripts:
-- In the resources folder you'll find a folder named Menu that contains various `.gui` files. These define GUI layouts of images, buttons, text etc. The element types correspond to Echo GUI classes. Play around with the menu elements.
-- Try creating a couple of new buttons to click on in the Game state to speed up or slow down the spinning cube. You will need to create a function to change the speed and set up a new binding to make it available for GUI buttons (see the application file on how to set up bindings, but set the bindings up in `Game.cpp` using the provided `FunctionBinder`).
- Familiarise yourself with `Task`s: Create a custom `Task` to periodically toggle the visibility of the sphere (or, if you didn't create one, the cube).
If you're happy with your progress so far, you can move onto a more advanced project by creating a third person game using the provided project template. The third person game template is a little more complicated that the simple application. It provides examples of:
- Using a `ContextSwitcher` to manage application states.
- How you can get values from a `Configuration` object,
- Creating a custom `Camera` controller task to follow a character
- How to create and use `MappedInputDevice`s
- How to create a generic game entity class that has discrete states defined by animations, physics bodies
- How to create a `BulletPhysicsWorld` and add `PhysicsBody` instances to it.
The official Echo project uses the NetBeans Integrated Development Environment (IDE). Please [[tools/netbeans/|download and install NetBeans]] before continuing.
Please [[projects/echo_3/building/|install and build the Echo engine]]. You can begin doing this while waiting for NetBeans to install.
Once you have installed Echo and NetBeans, you should also install the [[projects/echo_3/netbeans_modules/|Emblem NetBeans Modules]]. This will allow you to configure Tool chains automatically and also provide new project templates to get started faster.
=Your first project=
Now that you have everything installed, create a new project:
1. Open NetBeans and select {nav File > New Project}.
2. Select the {nav C/C++} category
3. You should see Echo project templates listed in the Projects list. Select {nav Echo Application}.
{F4375 size=full}
4. Choose a project name and project location, then click {nav Finish}.
5. Right-click the project in the project list and click {nav Build}. The project should build without errors.
6. Right-click the project in the project list and click {nav Run}.
The Echo Application template has a simple menu and main game state that you can switch between using the on screen buttons. The game state scene is made up of a spinning cube and some lights.
{F4377 size=full}
Congratulations, you have created your first Echo project!
=What next?=
Have a look at the project source code. The ProjectNameApplication.cpp file contains documentation about some Echo fundamentals and details the project Task structure. Game.cpp contains code to build the game scene, viewports and the in game menu.
Here are some suggestions for moving forward:
- Familiarise yourself with `Scene` objects:
-- Modify the scene.
-- Add another `SceneEntity` to the scene, give it a `Sphere` mesh (hint: the `Mesh` class contains some helper methods for generating certain meshes).
- Familiarise yourself with `Camera`s, `Renderer`s and `Viewport`s:
-- Modify the Game state to include a third `Viewport`.
- Familiarise yourself with GUI scripts:
-- In the resources folder you'll find a folder named Menu that contains various `.gui` files. These define GUI layouts of images, buttons, text etc. The element types correspond to Echo GUI classes. Play around with the menu elements.
-- Try creating a couple of new buttons to click on in the Game state to speed up or slow down the spinning cube. You will need to create a function to change the speed and set up a new binding to make it available for GUI buttons (see the application file on how to set up bindings, but set the bindings up in `Game.cpp` using the provided `FunctionBinder`).
- Familiarise yourself with `Task`s: Create a custom `Task` to periodically toggle the visibility of the sphere (or, if you didn't create one, the cube).
If you're happy with your progress so far, you can move onto a more advanced project by creating a third person game using the provided project template. The third person game template is a little more complicated that the simple application. It provides examples of:
- Using a `ContextSwitcher` to manage application states.
- How you can get values from a `Configuration` object,
- Creating a custom `Camera` controller task to follow a character
- How to create and use `MappedInputDevices``s
- How to create a generic game entity class that has discrete states defined by animations, physics bodies
- How to create a `BulletPhysicsWorld` and add `PhysicsBody` instances to it.