NeoAxis Game Engine

While working with Ogre3D and reading the news on their page I found a project called NeoAxis. A game engine using Ogre for graphic rendering written in C#. The screenshots are promising and the feature list contains everything I need. Physics, graphics, input control and last but not least support for multiple platforms.

I have downloaded the NeoAxis SDK and started a bit to work with it. The demos in the SDK are great. All features are shown in one big game. In this game is a long corridor with many doors. You can walk thru in first person view  and enter door by door. Behind every door one feature is shown. The source code for the demos can be found in the SDK, too, to see how it works. For some genres there are finished templates available. For example first and third persons games. You only have to find the right demo and change the code for your needs. The wiki contains documentation of the basic structure of NeoAxis and refers to the right demo source code. The main development platform for NeoAxis is MS Visual Studio but there is an deployment tool which builds and prepares packages for different platforms.

After some programming with NeoAxis and a good impression I also found some problems which made this sdk not the first choose for me. Here are some of the reasons I stopped working with it. The deployment tool delivers windows and mac binaries. For Linux is the advised solution to take wine. Ok, that will work but is not really a good solution because the user has to do a lot of work to get the software running. Due to visual studio is the  development platform it was a bit unconvenient to reboot every time I would like to develop with NeoAxis. A virtual machine was not enough because of heavy use of shaders in the graphic engine. The result was 3fps instead of 250fps during the demos. The style the documentation is written make it hard to start. Everything is in the demo code and you search the parts you need. An answer how to develop and deploy more than one application with a single installation I have never found. Except to install the sdk multiple times…

NeoAxis  is worth a look for you if you search for a C# based game engine. The graphic is nice and there are already existing templates to modify. Perhaps I did not find the right documentation to get a good access to it. And last if  you develop on windows than many problems I have had you probably will not have.

Island view

While reviewing pictures from my last holiday I found some screenshots of my game project hobby. Unfortunately I am not good in designing with blender and thats the reason why the only model (which is not completely ugly) is a tree.

Island from sea with trees

First Ogre Picture

In my last post I wrote about my switch to Ogre3D and I did not post any picture. Shame on me. So far its not very exciting and you can only see a wireframe of a terrain and two trees.

Wireframe landscape with two trees in front

The trees are a fast hack in blender and converted by OgreXMLConvert to the .mesh format used by the the graphic engine.

Switched to Ogre3D

More about my never-ending-hobby-project. Last year in july I played around again with Ogre3D and now I finally switched my graphic development environment form Irrlicht to Ogre.

It was a hard decision between two good projects and there was also a big bunch of work connected to the change. But to learn something new is one of the major aims (beside having fun and creating a game). Now the first basic application is running, many pages of documentation have been read, and I have got some new skills in Blender.

The reason I took the workload on me to change the engine was to get a specialized  graphic engine with support for all mayor platforms (Mac, Linux, Windows). For getting a specialized graphic engine with many features, tools and a big community I “pay” the price to use third party tool kits for example input handling or window system.

If you are searching for a toolkit to visualize something in 3D, control the output via mouse or keyboard and navigate thru the virtual world without reading many sides of documentation and many writing many lines of code than the right choice is Irrlicht for you. Its easy to master the basics, clean API, runs on many platforms, compact all in one solution and has a very good render performance.

If you want a graphic engine which does perfect graphic rendering with high performance but nothing else than Orge3D is the right choice you.

Teasing the Ogre

Long time ago I have had a look at some 3D render engines and one of them was Orge3D.

Last time I tried Ogre3D it was only available as a beta version and after some tutorials and small test programs I have written I came to the conclusion it was not stable enough (but already very nice to handle). Because the Orge could not stand very stable on the ground I followed the Irrlicht.

Due to some links I came back to the Ogre website and was curious what has changed in the last years and tried to compile the source version. It works nearly perfect and the forum gave me the last hints. After 1 hour I have had a running version and could enjoy the demos.

Now lets play a bit around with it. Perhaps its a friendly Ogre….

Back to the roots

If you watch the following movie and….

screenshot of video

…you don’t know what you are watching. You are too old.

…you don’t understand why the resolution is too low. You are too young.

…you remember when you have played the game you are watching. You know how old I am 🙂

Once upon a time there were many different kind of games like in this short movie. All games run on a very limited hardware. In contrast to that hardware we have now unlimited ressources but only a few types of games. I hope the guys of the Games Convention know this too and bring back some more variety instead of the reincarnation of the last year games with better graphic effects…

Roadmap to game server

For this year I have planned to finish a runnable version of my long time ago planned little RPG game. So far it was a great experience in discover so many different technologies and test them and play around with them. 

Now, I have found everything (at least I believe) which can be put together to that what I want to achieve. In the first step I will implement the basic game server which handles a simple protocol to communicate with the clients and store the game data into a database. In the second there will come a graphical frontend which will be also the editor to setup the realms to play in.

For the server side I will implement everything in Java and use jdbc to connect to a mysql database. For the graphical use client the journey brought me to Irrlicht. A slim and fast 3D engine which is available for many plattforms with good support.

The story continous… Why I should start a simple hobby? It would not be funny for such a long time. 

Discovered Java for Irrlicht

This evening I have got some time to play a bit with the java binding to irrlicht called jirr. I like java and I like the results I have seen.

jirr

After the first experiences using jirr it is really worth to get a deeper impression of it. I am really sure I will write soon more about it.

For testing it by yourself have a look at the Jirr Project of Stefan Dingfelder at sourceforge. Also check the Forum of Irrlicht. There is a category for jirr, too.

Building Irrlicht on Kubuntu

For building the irrlicht engine on Kubuntu you need first download the source package from http://irrlicht.sourceforge.net/downloads.html and unpack it.

Enter the source/Irrlicht folder inside the new irrlicht folder and start compilation with make.

If you run into trouble with error messages it is because of missing dependencies. Install following packages from the kubuntu repository:

  • libgl1-mesa-dev
  • libglu1-mesa-dev
  • libXxf86vm-dev

and try again. Now everything should compile fine.

In the examples directory are some directories with examples and corresponding Makefiles. After executing make you will find the results in bin/Linux

If the Linker complains “cannot find -lXext” remove the -lXext in the Makefile from the compile command. Its not nessesary.