New Releases

A few days ago I uploaded the final build of my Atari 2600’s River Raid clone to CodePlex and because it’s based on Neat game engine, I updated the Neat project as well. You can read more about the River Raid X project in its own page, so I’ll just talk about the new features of Neat in this new release right now.

It has been a slow year and I didn’t have much time to work on games, so there aren’t that many new features in the new release of Neat Engine, however the code is much more polished and stable. Some of the new additions to Neat Engine are:

  • A simple 2D physics simulator that can be easily used in regular platformers and other simple 2D games. It uses Neat’s own polygon class and collision detection mechanism.
  • Sprite sheets support: Now you don’t have to create a new texture file for each of your sprites. Sprite sheets can increase your game’s performance significantly.
  • New geometry and math helper functions such as Line Segment/Line Segment intersection detection, Point on line detection, etc.
  • A more functional auto complete mechanism in the Console.
  • Draw functions for LineBrush class.
  • Windows and Containers in the GUI system, plus new events for controls such as Move, Resize, Focused, etc.
  • The ability to load regular image files directly via scripts without using the Content Manager.


I am working on adding Kinect support to Neat using the official Kinect SDK. If you are interested in playing with a Kinect-compatible Neat Engine, you can download the latest version of the source code from the Source Code page of the project on CodePlex.

Sectors World Designer

I’ve been working on a 2.5D game engine named Sectors for the last couple of months. The graphics are almost done and I’m coding the designer tool right now.

Creating the level designer tool is taking more time that I thought. But it is definitely worth it to put more effort in perfecting the designer.


The main part that creates and modifies sectors’ properties is functioning, and I’m going to work on the Walls. Right now a basic level can be created and previewed using this tool.

The weird characters inside the sectors in this picture are just parts of the font being used by the designer which is the last texture used in GraphicsDevice object. That’s right, I’m using XNA itself for the designer instead of using the slow and laggy GDI+.

Stay tuned for more!

Neat Update

Yesterday I published a new version of Neat game engine on it’s codeplex site. It has a bunch of cool new features including:

  • Improved auto-complete in the console
  • Loading scripts into memory
    Scripts can be loaded into memory using the load script as … command and can be treated as dynamic commands
  • Allowing different colors to be shown on the console
    Console output color can be changed by defining a special character as the color changer (Neat uses the @ character by default) and entering the specific color code after that. Custom colors can be defined in the run-time using c_setcolorcode command.

    Colorful Console!

  • Stretch support
    Games can be made quickly for specific resolutions and then be scaled or stretched into different output resolutions.


I also published a new sample game named “Cipher Puzzle” and a new tutorial on using Neat. Stay tuned for more tutorials, updates and news!

Download Neat now!

Stand Alone Neat Console

Today I made a few changes in Neat Console that allows it to be used outside a NeatGame class, as a stand alone component.

So, here’s how you can use Neat Console independently:

  1. Create a regular Windows Game project.


  2. Add a reference to Neat. (you can either do that by adding Neat project to your solution or just using the binary file. you don’t need to add any of Neat’s content files to your game.)



  3. Create a Neat.Components.Console object:
    Neat.Components.Console console = new Neat.Components.Console(this);
  4. Add the console object to your game’s components:
  5. Since you are not using Neat Engine, you have to manually assign a font to the console. You can also change console’s background texture the same way. write this in your LoadContent() method:
    f = Content.Load<SpriteFont>("spritefont1");
    console.StandAloneFont = f;
    console.StandAloneTexture = someTexture2DObject;
  6. Now all you have to do is telling the console to draw itself each frame. (You have to do this manually since Console isn’t a drawable component):

    console.Draw(spriteBatch, false);


Adding commands is like before, just create a function that returns void and accepts a IList<string> as parameter and hook it to the console by writing console.Add(commandName, function);

That’s all.

Download Neat Game Engine: