Jump to content
  • Advertisement
kishy_Nivas

How good is Urho3D ?

This topic is 383 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I have installed Urho3D, worked out some examples from the source code sample ,it looks neat ,simple and good, so we are  planning to start developing games with Urho3D, but the problem is, the community looks small but active,  so my friends are hesitating to start , should we be concerned ?  .

  please don't suggest to go to Unity3D or Unreal, we are running on  low config systems , we are also planning to start with Unreal in future in our college labs . Urho3D is for creating hobby projects at home :) Thanks!

Edited by kishy_Nivas
space

Share this post


Link to post
Share on other sites
Advertisement
13 hours ago, JTippetts said:

I find Urho3D to be fantastic. I'm using it to make my game, a turn-based, hex-based RPG hack and slash:

screen_2017_6_18_12_37_37.thumb.png.4597455e0bafe654ec6220292c890ed3.png

 

It's a very solid engine, lots of support on various platforms and quite capable.

Cool, thanks for your answer,  do you have some small projects in Urho3D which you might have done while learning? if so,  do you mind sharing it ?

Edited by kishy_Nivas
missed a word !

Share this post


Link to post
Share on other sites

I'm on vacation in California right now so I don't have access to a lot of stuff, but I did find an old project on my wife's laptop that I uploaded on github. https://github.com/JTippetts/U3DIsometricTest

 

It's a small isometric demo that features a controllable character, a bunch of randomly-walking mobs, an isometric maze and click-to-move pathfinding.

 

screen_2017_7_3_9_15_6.thumb.png.382ab7268e837fb2549e3c743363c307.png

 

It's implemented purely in Lua, and can be run with the vanilla Urho3DPlayer.exe using either the run.bat batch file or the command Urho3DPlayer.exe Scripts/main.lua -borderless (use -w instead of -borderless to run windowed).

 

I tend to do things somewhat unconventionally. By default, Urho3D allows instancing objects from XML or JSON files. However, I like to instance from Lua tables instead, so I wrote a script file (objectinstancing) that can take a Lua table structured in a certain way and instance an object from it. This allows me to write object descriptions such as:

	player=
	{
		Scale={x=0.5,y=0.5,z=0.5},
		Components=
		{
			--{Type="CombatCameraController", Offset=1},
			--{Type="ScriptObject", Classname="IsometricCamera"},
			{Type="ScriptObject", Classname="CameraControl"},
			{Type="ScriptObject", Classname="PlayerController"},
			{Type="ScriptObject", Classname="RotationSmoothing"},
			{Type="AnimatedModel", Model="Models/gob.mdl", Material="Materials/gob.xml", CastShadows=true},
			{Type="AnimatedModel", Model="Models/CubeSword.mdl", Material="Materials/CubeSword.xml", CastShadows=true},
			{Type="AnimationController"},
			{Type="ScriptObject", Classname="AnimationMap",
				Parameters=
				{
					animations=
					{
						walk="Models/GC_Walk.ani",
						idle="Models/GC_Idle.ani",
						start="Models/GC_Idle.ani",
						attack="Models/GC_Melee.ani",
					}
				},
			},

		},
		
		Children=
		{
			{
				Position={x=0,y=1.5,z=0.5},
				Components=
				{
					{Type="Light", LightType=LIGHT_POINT, Color={r=0.85*2,g=0.45*2,b=0.25*2}, Range=5, CastShadows=true},
				},
			},
			
			{
				Position={x=0,y=1.5,z=-0.5},
				Components=
				{
					{Type="Light", LightType=LIGHT_POINT, Color={r=0.85*2,g=0.45*2,b=0.25*2}, Range=1, CastShadows=false},
				},
			},
		}
	}

 And the code will instance a player object based on that description. I do it this way because I do all of my game logic and control as Lua scripts, but serializing script objects and their parameters in Urho is weird. It wants to serialize script object members as an opaque stream of data rather than as named members.

 

When I get back home in a couple weeks, I could probably find some other small projects if you're still interested.

Share this post


Link to post
Share on other sites

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!