Skip to content

Quick start guide

Roberto de Deus Barbosa Murta edited this page Nov 8, 2019 · 10 revisions

Start with Ethanon by making the "hello world" program of game development: that great Moving-spaceship demo.

How it works create entities, script them, and go!

Game development process with Ethanon Engine follows four basic steps:

  1. Create your game entities (such as spaceships, asteroids and characters)
  2. Place your entities into a game scene
  3. Define each entity's behavior with scripting code
  4. Run your game!

Here's a step-by-step beginners guide.

Installing Ethanon setup ethanon tools

Windows

Download the Windows SDK and install it. Make sure you're running as system administrator.

The install wizard copies Ethanon Editor, which is used to create and edit game entities, scenes and particle effects. It also comes with Ethanon Script Editor (SciTE), the free text editor used to write game scripts.

Mac OS X

Download the Mac OS X SDK and copy both Ethanon Editor.app and machine.app to your /Applications directory. You will need Sublime Text in order to run your game directly from the script editor (Sublime Text Plugin installation instructions inside the downloadable package).

In order to distribute your game for Mac OS X simply make a copy of machine.app and rename it as you wish, then move all your game content into the name-of-your-game.app/Contents/Resources/assets folder. You can also customize your app icon by changing the name-of-your-game.app/Contents/Resources/icon.icns file.

Sublime plug-in alternative (and better) code editor

In case you are not on Windows, or the current free Ethanon Script Editor (SciTE) is simply not good enough for you, you can always use the awesome Sublime Text for syntax highlighting and Build shortcuts. You can get the Ethanon plug-in for Sublime from our downloads section, instructions are included in the downloadable package.

After the plug-in is installed, in order to enable it for Building and Running Ethanon source files, open any *.angelscript file (like the main.angelscript) with Sublime Text, click Tools > Build System > Ethanon. As shown below:

The basics project and scene setup

Open the Ethanon Editor, click File and New project...

Create a new folder for our new project, give it a name and save the .ethproj file

Enter the Entity editor tab

Copy the spaceship.png file into the /ee-hello-world/entities/ directory.

Click Add resources and select Add entity bitmap

Choose your spaceship.png file

If everything went right, you will see the space ship sprite in the origin

Save the entity as spaceship.ent. Make sure you save it in the folder /ee-hello-world/entities/

  1. Now let's open the Scene editor tab

  2. Move the cursor to the bottom of the window and click the spaceship.ent thumbnail to select it

Add one spaceship to scene by clicking where you want to put it

Click File, choose Save and save our scene as scenes/first_scene.esc

The script control spaceship with arrow keys

It's code time! Open your /ee-hello-world/main.angelscript file with Ethanon Script Editor (SciTE), or Sublime Text, this is where all your scripts start.

The lines of code below will use entity callbacks to move our spaceship entity with keyboard's arrow keys.

void main()
{
	LoadScene("scenes/first_scene.esc");
}

// the function name must match the entity file name (spaceship.ent -> ETHCallback_spaceship)
void ETHCallback_spaceship(ETHEntity@ thisEntity)
{
	ETHInput@ input = GetInputHandle();

	if (input.KeyDown(K_RIGHT))
		thisEntity.AddToPositionXY(vector2(2.0f, 0.0f));

	if (input.KeyDown(K_LEFT))
		thisEntity.AddToPositionXY(vector2(-2.0f, 0.0f));

	if (input.KeyDown(K_UP))
		thisEntity.AddToPositionXY(vector2(0.0f,-2.0f));

	if (input.KeyDown(K_DOWN))
		thisEntity.AddToPositionXY(vector2(0.0f, 2.0f));
}

Learn more:

Try adding more entities, changing movement speed or anything your imagination comes up with!

Tutorials step-by-step guide

More examples in the ethanon-samples repository at GitHub:

Moving Spaceship:

Moving Spaceship

Shooting Spaceship:

Shooting Spaceship

FPS independent movement:

FPS independent movement

Audio Samples:

Audio Samples

Buttons ans scene change:

Buttons ans scene change

Clone this wiki locally