XNA Creators Club Online
Page 1 of 1 (3 items)
Sort Posts: Previous Next

New Open Source XNA Game Engine

Last post 04-12-2008 12:29 PM by mishalas. 2 replies.
  • 04-12-2008 12:52 AM

    New Open Source XNA Game Engine

    I am starting to build a new XNA Game Engine.  The concept is to create a free open source engine to take care of a lot of the low level mundane chores, and allow the game developer to focus more on the logic of the game.  If you would like to find out more, then check out http://www.logartsol.com/FLC

     

    Open Source XNA Game Engine
    http://www.logartsol.com/FLC
  • 04-12-2008 2:45 AM In reply to

    Re: New Open Source XNA Game Engine

    you be more specific about your engine. I couldn't find any information about it.

    cheers

  • 04-12-2008 12:29 PM In reply to

    Re: New Open Source XNA Game Engine

    I posted the following information on the site I linked to in the original post both in the blog and the forum, but I will post it here as well...

    I decided to start things off in the forums with a post about my concept behind the engine.  I have always enjoyed making games, and have been dabbling with it since about 1994.  I have used various languages, but mostly have focused on MS platforms (DOS and Windows). 

    Just recently, I found out that MS have released a game development platform to work with their Visual Studio line of products which would allow one to make games for both XBox360 and Windows.  Well, my interest in game programming was rekindled and I thought I could use it as an exercise to help teach my daughter some things about software design (whether she wanted to know or not).

    As I started looking at the XNA Engine, life intervened and I really didn't get very far.  Then I saw announcements about the 2.0 version of the engine, and decided to check it out and see if I could do something useful with it.  Kudos to MS for providing a very nice service layer for building games.  But as I started looking at how to write games with the XNA Framework, I noticed that a lot of the samples seemed to have similiar concepts repeated in them again and again.  I decided that if I was really going to build games, it would be better to use some kind of abstract "engine" layer on top of the framework, to reduce the amount of repetitive code I would need to write.

    So, the search was on for an engine that would help, would be free, and would be easy enough to learn.  On the XNA Creator's Club site there is a link to GarageGames TorqueX engine, so I decided to check it out.  Wow, a free engine! But, it wasn't really free after all.  The engine was free, but the editor tools to actually do useful things with it was too much for me.  After I looked deeper into their engine, I also decided that I did not quite agree with their philosophy of "strict association" rather than "inheritance".

    It is my belief that no one design paradigm is right for every situation, and it seemed to me that's what they were touting.  So, when I couldn't find an engine for free that I liked I decided to try and build one, and share some of my ideas for free (BSD style) with the community at large.

    I figured at the very least it might be an interesting exercise, and maybe even someone would want to pitch in and help.  That leads to where I am right now, which is a very ALPHA version of an engine, and a sample game that uses it, which I use for testing the engine.  Below I have added 2 lists -- one with the features as they currently exist (at the time I write this, its in heavy flux), and one with the features that I plan on adding next, in a sort of loose order.

    Current Features

    • Base Game Class to extend which is they gateway into the functionality of the engine.
    • Input handler which keeps a configurable number of state saves (default is 2) from the input devices, and provides convenience for detecting such things as was button A "Just Pressed".
    • Default built-in keyboard emulation of the controller buttons which can be disabled, and mappings can be modified.
    • State driven modes (only 1 active at a time) with capability to transition to other "modes".
    • ContentMap which contains the resources (textures, etc) required by components, auto loaded by the engine
    • Heirarchical (sp) structure of elements for components -- Module->Layer->Component
    • Simple Texture2D component (for sprites)
    • Modes have sets of "Transitions" which are modifiers for components, modules, sounds, etc
    • 2 Transitions -- ButtonStateTransition which has child transitions, and ModuleStateChange which modifies a modules "ShouldUpdate" and "ShouldDraw" flags.

    Planned Features

    • Sound integration 2D and 3D components, including transitions
    • [Concept] query structure for things such as collision detection, etc.
    • 3D Layer
    • More 2D and 3D components
    • [Hopefully] physics transitions
    • Anything else I might have forgotton, or not be aware of now.

    If you would like to check out the source -- its available from the links section or just go ----> here

    Open Source XNA Game Engine
    http://www.logartsol.com/FLC
Page 1 of 1 (3 items) Previous Next