OMNI Engine v1 Released (C# in T3D) - Think new Game Framework for C#'ers
- Posted: Oct 15, 2014 at 6:00AM
About a year and a half ago we highlighted Torque 3D, Torque once, twice, three... with the MIT Licensed Torque2D and Torque3D engines. Now they have released a new framework, one that will open up opportunities for many more developers. What if there was a great game framework where instead of having to learn C++, you could use C#? It was open source? and has a very friendly license model.
Let me introduce you to...
Check out the website at www.omniengine.net
Has it really been four years since I started down the path of building a C# interface for T3D? I do not think I can even recall how many different approaches I have taken over the years. Oh woe's is me, all those epic fails along the way. But, I have proved that if you stick with something that seems impossible, you will prevail.
Folks, I would like to present you with the new Omni Game Engine. Yes of course it is based off of T3D, build 3.5.1 to be exact. (Yes I plan to merge in 3.61 soon). I am sure you are wondering why I feel this is a major accomplishment, well let me explain.
The core of the Omni Game Engine is the Omni Framework. The Omni Framework is a C# model that simplifies game programming in T3D. There is no ugly p-Invoke syntaxs, convoluted work a-rounds, or half-baked solutions here. The Omni Framework is a complete end-to-end solution for programming in C# inside of T3D.
Included with the C# Omni Framework are also many improvements to the C++. We have been pouring over the many resources available on the GG site and cherry picked the most useful and used. We figured that if the first thing people do when they get T3D is implement these same resources, why not just put them into our head?
One other thing which is extremely important, our team has spent countless hours documenting the Omni Framework and how it works. The currently 125 page document covers everything from setting up your first project to how the internals of the Omni Framework works. I highly recommend that people read the manual before using the Omni Engine, since there are vital steps covered in the document.
The OMNI Programmers Manual can be found here.
I know, I know, what about licensing. Well in a nutshell,
For the Community License of OMNI,
- If you have a splash screen you must show the OMNI logo.
- You must notify us if you release a game. (This is so we can set up banners on the site and such.)
- If you have an about box, it must display the text "OMNI by Winterleaf Entertainment"
For the Omni Supporter License,
Well you do not have to do anything. All of the above restrictions are removed.
I still recommend you visit our site here to read the full licenses.
So, I know you are thinking how much does all of this cost, is it a bazillion dollars?
The Community License is free to everyone. You get full source code and all our tools for FREE. Yep you all heard it here, FREE.
If you want to help support the development of the OMNI engine, you can buy a Supporter license for 100 bucks which among other things will get you a discount in our store and consulting, besides removing the splash and stuff requirements.
All of the code is on GitHub
The OMNI C# Framework
The most important feature of the OMNI Framework is of course it is all written in C#. No longer are you forced to learn some other language to build a game. Along with bringing a very popular language into the game development arena, it also brings the all of the Microsoft .Net libraries along with it.
No longer do you need to struggle with C++ to do simple things like database interaction. Any third party SDK/API which provides a Microsoft .Net library can be included in your game/simulation.
The OMNI Framework also provides a feature rich and abstracted way to program game scripts in C#. We kept the Model/View/Controller (MVC) paradigm in mind when we built the OMNI Framework. Leveraging the MVC design principle allows the OMNI Framework to achieve things that just aren’t possible in TorqueScript.
These many concepts and features elevate the OMNI Engine to the likes of the Unity game engine. Best of all, the source code is open to the public and free to use for all your game development adventures.
LiveScripts!™ is a new part of the Omni Framework which allows editing C# files while the engine is running. It also allows the programmer to extend a base object just like writing a class extension in C#. No longer do you need to restart the engine every time you tweak a C# class or function due to an error or bad logic.
Improvements to the Rendering Pipeline ..
Network Culling ...
Win 32/64 Bit Implementation ...
Datablock Caching in dedicated mode ...
Advance UI Kit: includes pop-out options ...
Improved AI Path Finding ...
General Engine Improvements ...
Features inherited from T3D
What is the Omni T3D Engine?
The Omni T3D Engine is a derived engine based off of the MIT Open source T3D project from Garagegames.com.
Why should I use your engine instead of T3D?
This is true, you can download the T3D engine for free from Github and build your game. But there are many differences between Omni and stock T3D.
Implementation of common resource
Most importantly you get support from people who work with the engine daily and are constantly pushing the boundaries of the engine’s capabilities.
How different is Omni from T3D?
Omni is a branch version of T3D. Just like RedHat and Ubuntu are branches of Linux, Omni is a branch of T3D. Omni can run a TorqueScript game, and run it quite fine but of course it’s designed to run optimally in C#.
A knowledge of the MIT T3D project won’t hurt you when it comes to Omni. Mechanics are mechanics and for the most part they are the same. The biggest difference is in the syntax and object oriented design of the script code structure.
There are some differences in the way you do things between Omni and MIT T3D, some of the more noted ones include threading, file dialog boxes, and just in time script compilation. Another big difference between Omni and MIT T3D is in inheritance. MIT T3D’s scripting interface only allows a very limited form of inheritance of objects. Omni on the other hand allows programmers to inherit to any depth and create rich object oriented design using C# inheritance.
Can I build a MMO/MMOFPS/MMORTS/MMOOMG with OMNI?
Can you? Yes you can. One of the biggest problems with the MIT T3D code base is that simple things like database interaction has to be added to the engine per build. Want to add “Some Library for communication”, you need to find the C++ code base and shoehorn it into the T3D C++ engine.
With Omni, adding database support is as simple as including a reference to the C# project. If you can find a Microsoft.Net DLL to do what you want you can roll it into Omni with ease. You can extend Omni to do things that would just take months in MIT T3D.
Imagine building a simulator that shows the layout of your house, and if you click a door you want to unlock the door remotely. Doing this in MIT T3D would be painful at best, but with Omni, you just include the Microsoft.Net DLL and go on your merry way.
Omni enables the MIT T3D SDK to leverage Microsoft.Net to simplify programming and prototyping.
Doc's, open source, samples and more. Just need to add, well, you!
Speaking of doc's, here, if you're looking for a quick (well it is 125 pages, so quick'ish) look at getting started and what you can do, check out the doc's. My themselves, they will get you fired up and wanted to kick off your game dev...