Gamestudio Links
Zorro Links
Newest Posts
Help with plotting multiple ZigZag
by degenerate_762. 04/30/24 23:23
M1 Oversampling
by 11honza11. 04/30/24 08:16
Trading Journey
by howardR. 04/28/24 09:55
Zorro Trader GPT
by TipmyPip. 04/27/24 13:50
Data from CSV not parsed correctly
by jcl. 04/26/24 11:18
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
2 registered members (7th_zorro, howardR), 1,001 guests, and 2 spiders.
Key: Admin, Global Mod, Mod
Newest Members
firatv, wandaluciaia, Mega_Rod, EternallyCurious, howardR
19050 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Page 1 of 4 1 2 3 4
A wild engine appears! #436057
01/18/14 01:12
01/18/14 01:12
Joined: Nov 2007
Posts: 2,568
Germany, BW, Stuttgart
MasterQ32 Offline OP
Expert
MasterQ32  Offline OP
Expert

Joined: Nov 2007
Posts: 2,568
Germany, BW, Stuttgart
Hello fellow game engine trainer!

I have to announce a new open source game engine on the market.
OpenWorld.Engine

Oh man, another engine again? Yep and this time it's super effective!
I have done some research into game engines but i coulnd't find an engine that fits my needs.

But what about...
...Acknex? Way too limited to create something quickly and portable.
...Unity3D? Why do you even ask?
...JMonkey? Nope, it's Java.
...UDK? Can i has money?
...CryEngine3? Can i has even more money?
...Rayne? I'm sorry, but i wanted a managed environment with reflection.

Why should i look at it?
Okay, so you want to know what is so special about this engine?
This engine supports both high and low level coding. It features node based scene management, a GUI framework, custom post processing pipelines, physics, sound, an asset pipeline and other stuff you may want to use. But it also allows you to code your own rendering with OpenGL 3.3.
Every method is documented and the API has a clear design.

For a complete list of features, click here:
Features

Also, the engine is theoretically multi-platform but i haven't tested it yet.

What techniques are you using?
The engine is written in C# based on .NET 4.0. The renderer is based on OpenGL 3.3, the physics engine is Jitter (a full managed phyiscs engine), sound is provided by OpenAL.

Why have you done this?
My current game project is a game like GarrysMod. Fully scriptable, multiplayer and user created content. I was searching for an engine that could allow me to create those features easily. But Acknex was too limited in case of asset loading, in Unity3D you can't create a good only-source game, other engines are badly documented or are just outdated. So i've done this engine. The basic API is oriented on the XNA API design because my first version of the game was written with XNA and i kinda wrote the engine so the game compiles with little changes.

Why is there no binary download?
This engine is in an early stage. A lot of features are missing, others could be refactored and your code will be broken. So a compiled binary will be released as soon as we have some stable and tested release.

Can i participate?
Sure, just contact me via E-Mail (felix [at] masterq32.de) or via PN. You should have collected some experience with game programming and C#.

Any questions still open?
Just ask here in the thread!

Okay, i hope i haven't forgotten something.

Have fun destroying my dream of a success release of my engine.
Felix

Click to reveal.. (???)

Oh well, i forgot something: Screenshots!
Those screenshots are made with my game, not with the engine. But it is planned to port this rendering pipeline into the engine itself, so everyone of you will have some nice graphics.






Last edited by MasterQ32; 01/20/14 18:04. Reason: Added features

Visit my site: www.masterq32.de
Re: A wild engine appears! [Re: MasterQ32] #436123
01/20/14 13:56
01/20/14 13:56
Joined: Mar 2011
Posts: 3,150
Budapest
sivan Offline
Expert
sivan  Offline
Expert

Joined: Mar 2011
Posts: 3,150
Budapest
yeah, another crazy stuff. it is not totally clear what features are working currently, and what is the timeframe of deveopment. unfortunately I'm not familiar with C#...


Free world editor for 3D Gamestudio: MapBuilder Editor
Re: A wild engine appears! [Re: sivan] #436125
01/20/14 13:57
01/20/14 13:57
Joined: Nov 2007
Posts: 2,568
Germany, BW, Stuttgart
MasterQ32 Offline OP
Expert
MasterQ32  Offline OP
Expert

Joined: Nov 2007
Posts: 2,568
Germany, BW, Stuttgart
Okay, i'll do some feature list this evening (i don't know it either tongue )
The engine is in development since 30.12.2013 so not that old....


Visit my site: www.masterq32.de
Re: A wild engine appears! [Re: MasterQ32] #436137
01/20/14 15:56
01/20/14 15:56
Joined: Apr 2007
Posts: 3,751
Canada
WretchedSid Offline
Expert
WretchedSid  Offline
Expert

Joined: Apr 2007
Posts: 3,751
Canada
Originally Posted By: MasterQ32
...Rayne? I'm sorry, but i wanted a managed environment with reflection.


So, kind of like this? tongue
Code:
void Foobar()
{
	RN::MetaClass *meta = RN::Catalogue::GetSharedInstance()->GetClassWithName("RN::Entity");
	RN::Object *object = meta->Construct();

	if(object->IsKindOfClass(RN::Array::MetaClass()))
	{
		throw "If you run into this, hide in your basement and good luck survivng the apocalypse";
	}

	object->SetValueForKey(RN::Model::WithFile("myModel"), RNCSTR("model"));
}



I mean, it's an useless example that I just pulled out of my ass, but it's used for serialization/deserialization and runtime generics...
But I digress, just wanted to say that Rayne DOES have a runtime type introspection system.... No managed environment though, unless you drop to a scripting language that supports it.

Anyways, good luck with your engine! laugh


Shitlord by trade and passion. Graphics programmer at Laminar Research.
I write blog posts at feresignum.com
Re: A wild engine appears! [Re: WretchedSid] #436138
01/20/14 15:58
01/20/14 15:58
Joined: Nov 2007
Posts: 2,568
Germany, BW, Stuttgart
MasterQ32 Offline OP
Expert
MasterQ32  Offline OP
Expert

Joined: Nov 2007
Posts: 2,568
Germany, BW, Stuttgart
Damn! But the reflection is only for Rayne objects, right?
But cool to see that you have this!

And thanks, you too!


Visit my site: www.masterq32.de
Re: A wild engine appears! [Re: MasterQ32] #436146
01/20/14 18:04
01/20/14 18:04
Joined: Nov 2007
Posts: 2,568
Germany, BW, Stuttgart
MasterQ32 Offline OP
Expert
MasterQ32  Offline OP
Expert

Joined: Nov 2007
Posts: 2,568
Germany, BW, Stuttgart


Visit my site: www.masterq32.de
Re: A wild engine appears! [Re: MasterQ32] #436147
01/20/14 18:06
01/20/14 18:06
Joined: Apr 2007
Posts: 3,751
Canada
WretchedSid Offline
Expert
WretchedSid  Offline
Expert

Joined: Apr 2007
Posts: 3,751
Canada
Originally Posted By: MasterQ32
Damn! But the reflection is only for Rayne objects, right?

Yes, and only for subclasses of RN::Object. Which is the main class for everything high level, but for example RN::Matrix or RN::Vector2/3/4 and similar don't subclass from it to remain trivially copyable.

It tries to capture the best of both worlds, having handy high level objects, but not imposing the overhead for every object there is. And it allows us to not having to rely on any custom pre-processor.



Anyways, I looked into the Demo subfolder, and what I'm missing a bit is high level abstractions. For example in the asset demo, why do you have to rotate the object through its shader?! And why is setting up OpenGL state necessary, can't the renderer do that? Dunno, at least that's how it seems, I might be wrong since I really just took a short look.

On the plus side, the naming is consistent from what I can tell, and no bullshit abbreviations that no one gets and for which you have to consult the documentation every fricking time.


Shitlord by trade and passion. Graphics programmer at Laminar Research.
I write blog posts at feresignum.com
Re: A wild engine appears! [Re: WretchedSid] #436149
01/20/14 18:14
01/20/14 18:14
Joined: Nov 2007
Posts: 2,568
Germany, BW, Stuttgart
MasterQ32 Offline OP
Expert
MasterQ32  Offline OP
Expert

Joined: Nov 2007
Posts: 2,568
Germany, BW, Stuttgart
Originally Posted By: JustSid
Anyways, I looked into the Demo subfolder, and what I'm missing a bit is high level abstractions. For example in the asset demo, why do you have to rotate the object through its shader?! And why is setting up OpenGL state necessary, can't the renderer do that? Dunno, at least that's how it seems, I might be wrong since I really just took a short look.

On the plus side, the naming is consistent from what I can tell, and no bullshit abbreviations that no one gets and for which you have to consult the documentation every fricking time.


Oh thanks! I definitly need to rewrite the asset demo! If you take a look at SceneManagementDemo.cs you can see that you don't need to write a custom rendering like i did in the asset demo. But the thing with the render states is true, i should take some time to clear this into a better abstraction. Maybe i need to adjust my renderer so you can decide what things will be cleared before rendering...

And also thanks for the naming and stuff. I'm working after the microsoft coding guidelines and complete rulessets (those will be applied every two to four weeks) so the code stays clean, consistent and intuitive to read.


Visit my site: www.masterq32.de
Re: A wild engine appears! [Re: MasterQ32] #436790
02/02/14 13:43
02/02/14 13:43
Joined: Nov 2007
Posts: 2,568
Germany, BW, Stuttgart
MasterQ32 Offline OP
Expert
MasterQ32  Offline OP
Expert

Joined: Nov 2007
Posts: 2,568
Germany, BW, Stuttgart
Long time no update. I'm still working on the engine, but my free time reduced so progress is slower than before. I've reworked the rendering process to be more flexible, also i'm working on multithreading. Also i will add deferred asset loading so your game won't freeze on loading a 150 MB 3D model.
Next thing to come is transparency and an asset preprocessor with encryption and compression for your assets.

Have a nice day!
Felix


Visit my site: www.masterq32.de
Re: A wild engine appears! [Re: baoxiaotian] #437107
02/09/14 12:00
02/09/14 12:00
Joined: Nov 2007
Posts: 2,568
Germany, BW, Stuttgart
MasterQ32 Offline OP
Expert
MasterQ32  Offline OP
Expert

Joined: Nov 2007
Posts: 2,568
Germany, BW, Stuttgart
Damn spam bots...

Just some updates:
I'm having exams time right now so not that much time to work on the engine...
But here is a screenshot:



The screenshot features the deferred renderer, a character controller and physics. You can push the box around with the character and the red light is rotating around the char, so you can see different lighting effects.

Code for creating the walkable, physics player:
Code:
SceneNode player = new SceneNode();
player.Transform.LocalPosition = new Vector3(0, 3, 0);
player.Components.Add<CharacterController>();
player.Components.Add<Renderer>().Model = Game.Assets.Load<Model>("models/character");
player.Components.Add<PlayerInput>();
player.Parent = this.scene.Root;

SceneNode swirl = new SceneNode();
swirl.Transform.LocalPosition = new Vector3(2, 0, 0);
swirl.Components.Add<Scriptable>().Script =
    @"function update(self, time)
        self.Node.Transform:Rotate(0, 60 * time.DeltaTime, 5 * time.DeltaTime)
    end";
swirl.Parent = player;

SceneNode light = new SceneNode();
light.Components.Add<PointLight>().Color = Color.Red;
light.Parent = swirl;



For those who never worked outside Gametudio:
SceneNode is some kind of "ENTITY" that allows you to create objects in your scene. The nodes build up a scene hierarchy so every child object moves relative to its parent.

Also every SceneNode has an arbitrary number of components. A component defines a behaviour or information for the scene node like a Gamestudio "action".
The main difference is that an action is started and then runs until it dies. Components can be enabled or disabled, also expose variables you can change at runtime. So you start the light component and then you can just get the light from the SceneNode and modify its color.

There are some premade components already like RigidBody for physics and different shapes for their appearance. Unlike gamestudio you can define your physics shape pretty good and the shape is not depending on the model you use.

Next there is the Renderer component. It does what its name says: It renders something. Well, not exactly, but you can see the effects. The Renderer component adds a 3D model to the render list with the transformation (position, rotation) of the scene node. Then the SceneRenderer draws the whole scene.

This approach allows you to create a custom scene rendering without changing anything on the scene logic itself. So changing from a simple texture rendering without lighting to a complex tiled forward renderer is possible. You don't even have to change a line of code in your whole scene, you just need to switch the renderer.

Regards
Felix

PS.: The engine now uses a multithreaded approach. It renders now while updating the physics.

PPS.: Ask me questions!

Last edited by MasterQ32; 02/09/14 12:01. Reason: Code formatting.

Visit my site: www.masterq32.de
Page 1 of 4 1 2 3 4

Moderated by  aztec, Blink, HeelX 

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1