Starting with Jade

You have just discovered Jade, and you want to give it a try, but there are some things you´ll need to get first to be able to compile and use it. You´ll have to know also some things about Jade code and the way it organices resources. Let´s get started.

Things needed

First, you need Visual Studio 2005 to edit and compile the code (any version will do). There is a free version (VS Express) in the web of Microsoft, you can download it here:

Second, you´ll have to install a DirectX SDK (anyone from Feb 2006 or later will do). The latest at this time (Aug 2006) one can be found here:

You have now all the software needed, time to download Jade. You´ll have to go to Jade homepage ( and from there go to the Releases tab. Search for the latest release of Jade (actually Prod). You should download at least the Jad 1.0 Source from the Source Code category, the Jad 1.0 Tutorials from Examples and the Documentation from Documentation.
  • Jad 1.0 Source is the source code of the engine, browse it if you want to play with it or gain insight in how we did some things.
  • Jad 1.0 Tutorials are help projects that explain how to use Jade, from simple things to complex effects and scenes.
  • Documentation is the documentation of the engine.


If you want to create your own project, you should use the Empty Project in the tutorials download as the start point. This project has two files in it: JMain.cs and JEmpty.cs

JMain is just the entry point of the project, the only interesting thing is this line in the Main method:

// Create the application object
JEmpty main = new JEmpty();

This line starts your Jade application.

JEmpty is an empty class with just the barebones of what you´ll need. It inherits from JApplication (all your programs should inherit from this class) and overrides 3 methods.
  • InitGame is the method called when the program starts. This method should contain initialization, loading and so on.
  • Action is the method that handles the input. Key strokes, mouse movement and other input devices should be handled here.
  • Render is the method that paints in the screen. You will change usually very few things in this method (at least at the start).

Files and Folders

To be able to run your project you´ll need some extra files with resource that the engine uses. This folders are (you can get them from the tutorials): InHouse, Preshaders. If you want to use the screenshot feature of the engine you´ll need also a folder called Screenshots. You´ll need also a file called Configuration.xml.

And what happens if you want to add your own textures, models and so on? Then you´ll need another folder. You can call this folder as you want (in the tutorials it is called base). To tell the engine the name of this folder you use the BaseDirectory property in the JPath class. This folder must have the following folders inside:
  • cameras
  • effects
  • materials
  • models
  • particles
  • scenes
  • sounds
  • textures

This folders will hold the resources of your game. Inside of each folder you can organize things as you want, as the engine does recursive searchs to find the files. But, that means that you can´t have two resources of the same type with the same name! If you have two textures called enemy.tga even if they are in different subfolders inside the textures path, the engine won´t be able to differenciate them.

In the end, you should have something like this:
  • c:\yourpath\examplefolder\configuration.xml
  • c:\yourpath\examplefolder\InHouse
  • c:\yourpath\examplefolders\Preshaders
  • c:\yourpath\examplefolder\Screenshots
  • c:\yourpath\examplefolder\YourGameAssets

Your .exe and the associated .dll files can be in C:\yourpath\examplefolder or any other directory starting in that path. This is done to allow several projects share resources. For example, if you have two projects in the following paths:
  • c:\yourpath\examplefolders\bin\Debug
  • c:\yourpath\examplefolders\bin\Release (they sound familiar, don´t they? ;))

Both projects will be able to access the resource folders and files.

And that was all, I hope it made a little easier to take the first steps with Jade!

Last edited Aug 11, 2006 at 11:48 AM by Vicente, version 8


No comments yet.