Freedom Engine - PreAlpha Release

A place to show off your latest screenshots and for people to comment on them. Only start a new thread here if you have some nice images to show off!
Post Reply
James Proctor
Orc
Posts: 406
Joined: Fri May 16, 2008 7:33 pm
x 5

Freedom Engine - PreAlpha Release

Post by James Proctor »

Well a PreAlpha Release of my latest Engine attempt is ready for testing. Not much to it yet other then Rendering but it includes all the basics for Rendering.

Download the Latest PreAlpha Version - http://www.riseofheroesmmo.com/FreedomEngine.rar

The Engine contains a much better structure then my previous attempts because I have been reading books and articles on Game Engine design. I started out making the Freedom Engine in pure DirectX but I just LOVE Ogre3D so much and love the fact that it's cross platform compatible so I decided to use Ogre for it instead.

I'm not going to go into to much details about my intended use for Freedom just yet. However the deeper I get into development the clearer my intentions will become to any one who ends up following it.

The Engine is a single dll that currently contains the OgreRenderer, State Manager and Exception handling.

The main Engine class (FreedomEngine) is 1 of 2 Singletons in the whole engine (Will remain that way through out development). The other Singleton currently is the State Manager though I may change that at a later time. All other Engine Systems (OgreRenderer, Physics, Audio, GUI, ect) will be obtained through the Main Engine class.

So to get the OgreRenderer you would use:
OgreRenderer* renderer = FreedomEngine::Singleton()->Renderer();

In order to start the Engine up you would use something like the following in your main entry method:

Code: Select all

int _tmain(int argc, _TCHAR* argv[])
{
	ofstream log;
	FreedomEngine* engine = FreedomEngine::Singleton();

	try
	{
		log.open("ExceptionLog.txt");
		engine->InitializeEngine("Freedom Engine: DemoApp 2012", 800, 600, false);
		StateManager::getSingleton().registerState<StateA>();
		OgreRenderer* renderer = FreedomEngine::Singleton()->Renderer();
		StateManager::getSingleton().advance<StateA>();

		while(engine->Running()){
			engine->Update();
		}
	}catch(EngineException* error)
	{
		time_t t = time(0);   // get time now
		struct tm * now = localtime( & t );

		log << now->tm_mon << "/" << now->tm_mday << "/" << now->tm_year + 1900 << " " << now->tm_hour << ":" << now->tm_min << ":" << now->tm_sec << " - " << error->what() << "\n";
	}

	engine->Shutdown();

	log.close();

	return 0;
}
You must make sure you add a State to the State Manager and Advance the state Manager to it's first state BEFORE update is called on the State Manager. Other wise an exception will be thrown and the Application will exit after writing the exception to the log.

Game States must inherit from State which is located in GameState.h. The State is created (Constructor is called) when you advance to the state so you could put all of your Scene data in your constructor. I created a method "CreateScene" where I place all my scene information and then the method gets called from the constructor.

Road Map - Planned Features:
OgreRenderer - More will be added but the basics are in place

Audio - 3D Positional Sound as well as 2d sound

Physics - PhysX Physics most likely

Special FX - Particles (Particle Universe for those with a license or Ogre Particles for those with out) plus audio together to create advanced Special Effects and Environmental Effects

Paging Terrain - Support for very large Open Worlds using Ogre3D's Paging Terrain

Realistic Environments - Day/Night cycles, Weather, Seasons, ect using SkyX and the Special FX System

Networking Framework - A Networking Framework using RakNet
-Object Replication using ReplicaManager 3
-Remote Procedure Calls
-VOIP
-Seamless Transitions achieved through Client Side Terrain Paging, and Replication of Player Characters to next server before a Seamless hand off of control over the object and switching of the client side connection to the next server.

Game Framework - A Game Framework for the specific type of Game the engine is being built for (More on this at a later time).
Follow me on Twitter - https://twitter.com/EmpireGames
Follow my Blog on Blogger - http://empiredevelopment.blogspot.com/
User avatar
cin
Kobold
Posts: 36
Joined: Thu Sep 25, 2008 10:34 am
Location: Russia. Nakhodka.
x 4
Contact:

Re: Freedom Engine - PreAlpha Release

Post by cin »

Screenshots or video needed (see rules), and some demos in archive.
User avatar
cybereality
Hobgoblin
Posts: 563
Joined: Wed Jul 12, 2006 5:40 pm
x 12

Re: Freedom Engine - PreAlpha Release

Post by cybereality »

Can you post which books/articles you read when making this engine? Also, what reasons did you drop DirectX for using OGRE (aside from cross-platform)?
User avatar
Miscreant
Greenskin
Posts: 126
Joined: Mon Jun 14, 2010 2:12 am
Location: Brisbane, Australia
x 3

Re: Freedom Engine - PreAlpha Release

Post by Miscreant »

Pics or it didn't happen ;)

In all seriousness though this does look pretty cool, I'm looking forward to seeing what game(s) this is being built for and will be used in. One question: are you planning on implementing any kind of scripting system like Lua or AngelScript? Most modern game engines tend to have support for some kind of scripts for gameplay and not having to recompile every time you want to change something regarding the gameplay can really speed up development.
James Proctor
Orc
Posts: 406
Joined: Fri May 16, 2008 7:33 pm
x 5

Re: Freedom Engine - PreAlpha Release

Post by James Proctor »

cin wrote:Screenshots or video needed (see rules), and some demos in archive.
Next version will include some demos.

And here is a quick Screenshot - The Demo Level is created using Ogitor and then loaded using a modified version of the Scene Loader that comes with Ogitor.

Nothing special just yet... Haven't even started playing with shaders yet.
Attachments
screen07192012_223208386.jpg
screen07192012_223208386.jpg (48.44 KiB) Viewed 9485 times
Follow me on Twitter - https://twitter.com/EmpireGames
Follow my Blog on Blogger - http://empiredevelopment.blogspot.com/
James Proctor
Orc
Posts: 406
Joined: Fri May 16, 2008 7:33 pm
x 5

Re: Freedom Engine - PreAlpha Release

Post by James Proctor »

Miscreant wrote:Pics or it didn't happen ;)

In all seriousness though this does look pretty cool, I'm looking forward to seeing what game(s) this is being built for and will be used in. One question: are you planning on implementing any kind of scripting system like Lua or AngelScript? Most modern game engines tend to have support for some kind of scripts for gameplay and not having to recompile every time you want to change something regarding the gameplay can really speed up development.
Yes there will be something for scripting. Kind of hoping for Python Scripting but I've never had any luck getting Python to play nicely with C++. Based on what types of Games Freedom is being built for though the scripting will be a little different from what your thinking of.
Follow me on Twitter - https://twitter.com/EmpireGames
Follow my Blog on Blogger - http://empiredevelopment.blogspot.com/
James Proctor
Orc
Posts: 406
Joined: Fri May 16, 2008 7:33 pm
x 5

Re: Freedom Engine - PreAlpha Release

Post by James Proctor »

Here are a couple of other Screenshots... Still need to figure out how to get shadows and Dynamic Lights to work with the Ogre Terrain.
Attachments
screen07202012_022217839.jpg
screen07202012_022217839.jpg (69.71 KiB) Viewed 9464 times
screen07202012_021516354.jpg
screen07202012_021516354.jpg (73.65 KiB) Viewed 9464 times
Follow me on Twitter - https://twitter.com/EmpireGames
Follow my Blog on Blogger - http://empiredevelopment.blogspot.com/
James Proctor
Orc
Posts: 406
Joined: Fri May 16, 2008 7:33 pm
x 5

Re: Freedom Engine - PreAlpha Release

Post by James Proctor »

Ok time to announce the next release which will be available with in the next couple weeks!

This release will come with:

FreedomScript - a Modified version of ChaiScript - http://www.chaiscript.com - designed for use with the MMO Server Foundation Framework and the MMO Client Foundation Framework.

MMO Server Framework
- A Single DLL containing the Framework to create World Servers, Area Servers, and Feature Server Nodes.

World Server: Controls game wide events, Weather and Seasonal Changes, Holidays, Load Balancing, ect.
Area Server: Individual Region Servers. Controls the Logic, Physics, ect of a Individual Region.
Feature Server: Servers that can host individual Features for a single region. These features are your CPU intensive features that are better served by having their own server. A Single Region can contain as many Feature Servers as needed.

MMO Client Foundation - All the framework code needed to create a MMO Client.

This version will also contain:

Ogitor Scene Project - I will be including the Ogitor Scene Project needed for the Demo World so the Demo World can be edited.

Demo Region Server - A Demo Region Server that can be used to test out the Engine. The Region Server will host the entire Demo World and will be suitable for up to 20+ players connected at once (No where near the requirement for a MMO but more then enough for needed testing right now).

Demo Client - Enough of a client to be able to Login, Chat, Move around, and PvP.

Foundational Code and example Systems - Enough example code and systems to allow for the most basic functionality.

The MMO Server Foundation and MMO Client Foundation will be completely opensource (With the purchase of a commercial License or with a Indie Free License (Free for up to $100K in revenue)). All pre-beta releases will be 100% free.


The Whole Engine is being Designed in such a way that FreedomEngine doesn't require the MMO Client Foundation Framework however the Client Framework requires FreedomEngine. FreedomEngine will be available for licensing at a reduced price and will also be eligible for the Free Indie licensing up to $100k in revenue.
Follow me on Twitter - https://twitter.com/EmpireGames
Follow my Blog on Blogger - http://empiredevelopment.blogspot.com/
James Proctor
Orc
Posts: 406
Joined: Fri May 16, 2008 7:33 pm
x 5

Re: Freedom Engine - PreAlpha Release

Post by James Proctor »

Work continues on Freedom Engine...

I am however putting the MMO stuff on hold until further notice. I would rather concentrate my efforts on the Engine side of things rather then the MMO networking stuff.

I am in the process of adding in Procedural Planets based on Roam where you can seamlessly travel from Space to Ground and back to space. Things are progressing some what slowly on it however since I am trying to learn shader programming for adding textures based on height of the terrain.

Here are some screenshots so far of a planet at ground level using just a single texture:
screen09092012_231621454.png
screen09092012_231621454.png (52.66 KiB) Viewed 8903 times
And then a screenshot of a Planet from the atmosphere:
Planet from higher up in the atmosphere
Planet from higher up in the atmosphere
screen09092012_211718972.png (201.51 KiB) Viewed 8903 times
Follow me on Twitter - https://twitter.com/EmpireGames
Follow my Blog on Blogger - http://empiredevelopment.blogspot.com/
James Proctor
Orc
Posts: 406
Joined: Fri May 16, 2008 7:33 pm
x 5

Re: Freedom Engine - PreAlpha Release

Post by James Proctor »

Here's a screenshot I though looked kind of funny! This is what I call an alien planet where it's inhabitants must LOVE Christmas! lol
screen09102012_163934033.png
screen09102012_163934033.png (31.18 KiB) Viewed 8874 times
Follow me on Twitter - https://twitter.com/EmpireGames
Follow my Blog on Blogger - http://empiredevelopment.blogspot.com/
James Proctor
Orc
Posts: 406
Joined: Fri May 16, 2008 7:33 pm
x 5

Re: Freedom Engine - PreAlpha Release

Post by James Proctor »

Ok I now have the terrain being colored based on height! Below is a screenshot showing a Planet from Space:
screen09102012_215331043.png
screen09102012_215331043.png (26.26 KiB) Viewed 8840 times
Right now I'm using the following Colors:

Blue is where Water will be
Green is where grass will be
The next color (Not really sure what color to call that! lol) is where Rock will be
Then White is where Snow will be.
screen09102012_215435062.png
screen09102012_215435062.png (58.21 KiB) Viewed 8840 times
Next steps will be to try and get textures displaying instead of the colors...
Follow me on Twitter - https://twitter.com/EmpireGames
Follow my Blog on Blogger - http://empiredevelopment.blogspot.com/
James Proctor
Orc
Posts: 406
Joined: Fri May 16, 2008 7:33 pm
x 5

Re: Freedom Engine - PreAlpha Release

Post by James Proctor »

I have now added the code for the Complex Terrain example for Libnoise. I am getting much better quality terrain now though it's hard to tell where it's not really properly textured yet...
screen09112012_021233860.png
screen09112012_021233860.png (80.14 KiB) Viewed 8822 times
Follow me on Twitter - https://twitter.com/EmpireGames
Follow my Blog on Blogger - http://empiredevelopment.blogspot.com/
James Proctor
Orc
Posts: 406
Joined: Fri May 16, 2008 7:33 pm
x 5

Re: Freedom Engine - PreAlpha Release

Post by James Proctor »

The Planet stuff is now on hold for the foreseeable future as well as I get the engine ready for my first game...

New Features added:
- Havok Physics
- FMod audio system
- Particle Universe

About my Game:

Zombie Fortress is a mix of Minecraft and StarForge. It's set in a post-apocalyptic world in which Humans are no longer on the top of the food chain. You must try and survive... Forage and collect resources, Craft weapons, Research new technology and Build whatever your heart desires from a single floor cabin in the Jungle to a Full city with large automated Weapon towers standing guard... Just don't get lost in the jungle alone after dark!

Right now I am working on coding rather then graphics so the first few playable prototypes released may not have all the great of Graphics but they will be improved as work progresses!

For now this is a single player game with possible Multiplayer modes being added at a much later date...
Follow me on Twitter - https://twitter.com/EmpireGames
Follow my Blog on Blogger - http://empiredevelopment.blogspot.com/
James Proctor
Orc
Posts: 406
Joined: Fri May 16, 2008 7:33 pm
x 5

Re: Freedom Engine - PreAlpha Release

Post by James Proctor »

I have not forgotten about this engine! It's currently sitting on my old Desktop where I was working on it... I am currently the Lead Programmer for Electric Crow Games based in Ohio and will be starting work on Freedom Engine again when I have a chance to get it onto my new computer. For now though our Flagship title Greed Monger is taking all of my Programming Time. I wouldn't be surprised to see Freedom Engine being adopted as our Custom in house engine in the future after Greed Monger's Launch.
Follow me on Twitter - https://twitter.com/EmpireGames
Follow my Blog on Blogger - http://empiredevelopment.blogspot.com/
User avatar
holocronweaver
Google Summer of Code Student
Google Summer of Code Student
Posts: 273
Joined: Mon Oct 29, 2012 8:52 pm
Location: Princeton, NJ
x 47

Re: Freedom Engine - PreAlpha Release

Post by holocronweaver »

Hope you choose to explore the procedural planet idea again. I would be very interested to see what you come up with.
James Proctor
Orc
Posts: 406
Joined: Fri May 16, 2008 7:33 pm
x 5

Re: Freedom Engine - PreAlpha Release

Post by James Proctor »

holocronweaver wrote:Hope you choose to explore the procedural planet idea again. I would be very interested to see what you come up with.
I'm sure it will get added in at some point since I LOVE the idea of generating full planets that you can seamlessly travel to. I also have a few game ideas that could take advantage of that sort of technology.
Follow me on Twitter - https://twitter.com/EmpireGames
Follow my Blog on Blogger - http://empiredevelopment.blogspot.com/
James Proctor
Orc
Posts: 406
Joined: Fri May 16, 2008 7:33 pm
x 5

Re: Freedom Engine - PreAlpha Release

Post by James Proctor »

Ok I am starting work during the evenings on Freedom Engine again. The main Engine is still on my old computer however I'm currently starting to develop FreedomScript which will be it's own dll so it can be used else where as well.

I'm also planning on creating a wrapper for SilverLining and Trident for Sky Rendering and Ocean Rendering though SkyX and Hydrax will be free alternatives where SilverLining and Trident both cost money to license.
Follow me on Twitter - https://twitter.com/EmpireGames
Follow my Blog on Blogger - http://empiredevelopment.blogspot.com/
James Proctor
Orc
Posts: 406
Joined: Fri May 16, 2008 7:33 pm
x 5

Re: Freedom Engine - PreAlpha Release

Post by James Proctor »

I finally got around to getting Freedom Engine on to this new computer and started working on it in my free time again.

Below is the work I did today to integrate SkyX into the engine I still need to setup the lighting for the scene correctly and get shadows working better.
Attachments
FreedomEngine_SkyX_Integration.jpg
FreedomEngine_SkyX_Integration.jpg (139.34 KiB) Viewed 7425 times
Follow me on Twitter - https://twitter.com/EmpireGames
Follow my Blog on Blogger - http://empiredevelopment.blogspot.com/
James Proctor
Orc
Posts: 406
Joined: Fri May 16, 2008 7:33 pm
x 5

Re: Freedom Engine - PreAlpha Release

Post by James Proctor »

Here is the start of my first little mini game/prototype using FreedomEngine:

The Menu background is a image I just grabbed off of the net as a placeholder.
Zombie_Prototype_FreedomEngine.jpg
Zombie_Prototype_FreedomEngine.jpg (230.89 KiB) Viewed 7368 times
Follow me on Twitter - https://twitter.com/EmpireGames
Follow my Blog on Blogger - http://empiredevelopment.blogspot.com/
James Proctor
Orc
Posts: 406
Joined: Fri May 16, 2008 7:33 pm
x 5

Re: Freedom Engine - PreAlpha Release

Post by James Proctor »

Just a quick message to say I'm still working off and on on this engine... Here's a little Screenshot from today:
screen08132013_212628235.jpg
screen08132013_212628235.jpg (160.06 KiB) Viewed 6284 times
Follow me on Twitter - https://twitter.com/EmpireGames
Follow my Blog on Blogger - http://empiredevelopment.blogspot.com/
James Proctor
Orc
Posts: 406
Joined: Fri May 16, 2008 7:33 pm
x 5

Re: Freedom Engine - PreAlpha Release

Post by James Proctor »

I'm rewriting this engine in C# using MOgre and creating a Editor. Here are some screenshots from the editor:
Attachments
Editor_Properties.jpg
Editor_Properties.jpg (71.5 KiB) Viewed 5736 times
Editor_SceneView.jpg
Editor_SceneView.jpg (59.37 KiB) Viewed 5736 times
Editor_Assets.jpg
Editor_Assets.jpg (60.68 KiB) Viewed 5736 times
Follow me on Twitter - https://twitter.com/EmpireGames
Follow my Blog on Blogger - http://empiredevelopment.blogspot.com/
James Proctor
Orc
Posts: 406
Joined: Fri May 16, 2008 7:33 pm
x 5

Re: Freedom Engine - PreAlpha Release

Post by James Proctor »

I have now added a Python Script Editor to the Game Editor. The Engine uses a IronPython based Scripting Engine.
Attachments
Editor_PythonEditor.jpg
Editor_PythonEditor.jpg (135.52 KiB) Viewed 5700 times
Follow me on Twitter - https://twitter.com/EmpireGames
Follow my Blog on Blogger - http://empiredevelopment.blogspot.com/
James Proctor
Orc
Posts: 406
Joined: Fri May 16, 2008 7:33 pm
x 5

Re: Freedom Engine - PreAlpha Release

Post by James Proctor »

Here's a Voxel based engine I've been working on for this Engine:
Attachments
ZombiePrototype 2013-11-12 07-54-59-71_gif.gif
ZombiePrototype 2013-11-12 07-54-59-71_gif.gif (141.36 KiB) Viewed 5649 times
Follow me on Twitter - https://twitter.com/EmpireGames
Follow my Blog on Blogger - http://empiredevelopment.blogspot.com/
James Proctor
Orc
Posts: 406
Joined: Fri May 16, 2008 7:33 pm
x 5

Re: Freedom Engine - PreAlpha Release

Post by James Proctor »

Another Update on the Voxel Terrain Engine:
Attachments
ZombiePrototype 2013-11-13 04-02-49-06.jpg
ZombiePrototype 2013-11-13 04-02-49-06.jpg (112.39 KiB) Viewed 5584 times
Follow me on Twitter - https://twitter.com/EmpireGames
Follow my Blog on Blogger - http://empiredevelopment.blogspot.com/
James Proctor
Orc
Posts: 406
Joined: Fri May 16, 2008 7:33 pm
x 5

Re: Freedom Engine - PreAlpha Release

Post by James Proctor »

I've worked more on the C# MOgre version of my engine which is now being called ShadowSDK. Shadow Consists of a Game Engine framework, Editor Frame work, Client Prototype, Server Prototype, and a Prototype Game Editor. The Editor will be sending changes made directly to the Server so people in game and others working in the editor will see the changes being made in real time. For networking I am using a Custom version of the Lidgren C# Networking Library.

Here's a editor view of the Custom Voxel based Terrain Engine I currently have implemented:
ShadowSDK_MMOEditor.jpg
ShadowSDK_MMOEditor.jpg (255.35 KiB) Viewed 5024 times
Here's another Editor View showing the many MMO Specific menu options I have:
ShadowSDK_MMOEditor2.jpg
ShadowSDK_MMOEditor2.jpg (239.68 KiB) Viewed 5024 times
Follow me on Twitter - https://twitter.com/EmpireGames
Follow my Blog on Blogger - http://empiredevelopment.blogspot.com/
Post Reply