New to engine and curious about capabilities

I’ve been messing around with the example projects and have made a few modifications that I would likely want to include eventually. The first one was a minimap so I was fortunate to have an example of how to add a secondary viewport, and it didn’t take very long to transform it into a topdown view from a rearcam.

But one thing striked me as odd, even just going through the examples and docs idly to get a feel for them left me still wondering how to sculpt it into a game. GUI’s are eluding me still, but I can deal with that for now.

I assume doors, menus, lifts, ladders, and all of that will become apparent to me the more I comb through examples and the docs.

But while I wait for that I just want to ask, what have you been able to create so far?

You don’t have to share code or anything, I’m just curious what people have been able to muster up since you’re probably learning from the same information

The best thing I’ve made up to date is a cube (similar to the shape from the dynamic geometry example) that is able have a different material on each side. It was easier than I thought it would be. :grin:

E.g. this

Currently, I’ve been working on tweaking terrain mostly. Also doing some foliage stuff along with using the ProcSky component

3 Likes

Everything here uses Urho3D:

If you’re looking for a simple example game check out NinjaSnowWar (AngelScript) or FlappyUrho (C++).

And welcome to the forums! :slight_smile:

3 Likes

It’s been about a month now since I’ve started my new game in Urho3D, the things that scared me the most were:

  • UI
  • Animations

Right now I have a scenario with rim shader (if anyone interested, let me know)

An animated character with smooth camera, controls and settings manager (XML settings), scene manager, localization and something else.

Aftermath, both UI and animations revealed easier and straightforward than I’ve initially thought.
I have tried lots of engines and Urho3D is actually the first one who lets me focus on the game instead of fixing the engine.

If you are used to C++, Urho3D is gold. The sources are well written, very easy to read and figure out.

2 Likes

Thanks for the replies guys, it’s interesting taking a dive into urho after skimming through those projects. I’ve been making some additions to the ninja snow war demo and that’s going decently. I wanted to add score multipliers, limited ammo, ‘snow storms’ that sweep into an area for you to replenish your snow, and a bunch of stuff like that to try and make it more playable. I have quite a few ideas for it, so it might actually be fun to play in not too long. But i’ll have to wait until i can figure out how to add half of them to see if they’re feasible.

But as a first project from scratch; i think I’m going to try and figure out how to make the framework of a game i have in mind. Trouble is that i’ve only been able to modify ninjasnowwar stuff, but fabricating my own is a bit daunting.

if I wanted to make a 3d game with a 3rd person camera and controls set on a hightmapped terrain, a gui overlay showing stats and a minimap (or i can do downfacing camera viewport, but i cant find how to make it low quality to save fps), and an interactable menu gui toggled on keypress. And the ability to set up a trigger zone around an object to trigger a dialog box, either on entry or on keypress while within. Those are the core things i would need, and i’m not even sure how i’d go about implementing half of them.

This morning I was trying to figure out which parts I can gut from the example scripts, but im not sure what the bare minimum i need is. If you guys have any thoughts or relevant wiki pages that might lend some insight, i’d appreciate it.

P.S. i hope doing things with the .as files isn’t going to be too limiting

1 Like

I think that one of the best things in Urho3D’s structure is that components can have their own logic, which gives extreme flexibility.

I’m making a first and third person openworld game, my approach is to create components which define the logic and initialization (see character example) and then I append them to my nodes.

Personally I’m using C++ to make the base classes while I use AngelScript to define the more specific objects and event handlers.
The examples contain pretty much every aspect you need to learn how Urho3D works.
It also helped me a lot to keep the Urho3D manual at hand (I’ve read it all before even starting).

The actual game base structure really depends on how you are used to work and your game.
To me having custom subsystems for managing scenes, settings and such worked great.

You might be interested in Rasterons work:

I think it would be really cool if you could build bunkers/walls to duck behind, with capsule-cap snapping snow bricks. :slight_smile:

The Potion (and with it the GameObject) in Ninja Snow War is an example of handling collision in AngleScript. Simply set the RigidBody to being a trigger if you don’t want any physics interaction to take place. Since collision shapes are linked to rigidbodies on the same node you need to create a child node with a rigidbody that is set to both being a trigger as well as kinematic if you’d like separate physical and trigger interactions.

As much as I feel like I should know what to do with that, I don’t think I do but thanks for the link![quote=“Modanung, post:9, topic:3261”]
I think it would be really cool if you could build bunkers/walls to duck behind, with capsule-cap snapping snow bricks. :slight_smile:
[/quote]

Yeah that would be cool. At the moment I’m working on adding ammo and snowstorm particle systems to replenish deposits of snow on the map. I think that’s a neat way of removing the spamming. But I could make the right mouse button use a huge chunk of your snow to build a wall.

But for some reason the ammo display keep bugging out. It displays the right amount before I shoot, but afterwards it goes down for a split second and then jumps back up to my max ammo. But if I continue shooting, I’ll run out and not be able to shoot anymore, so I know the number is actually going down. Quite confusing :confused:

A lot of how ninja snow war is structured feels really foreign to me so I can’t grasp some of the examples within it. And the other samples have some things still tucked away in the samples.as, so i don’t truly know what a skeleton-base game looks like. Don’t suppose there’s any empty husk examples?

Something like this?

That does look like what I’m asking about, thanks for the find! I’ve not messed with any QtCreator stuff before so I’ve just gotta figure out why it’s not able to find Urho3D/Urho3d.h when I try and make all.

Thanks for the help so far!

Yea, I too am glad I can still find my stuff. :stuck_out_tongue:
The wizard does have some “in-house” logic. You may want to fork and modify it. If you find something unusual or have an obvious improvement, a pull request would also be more than welcome.

I tend to create a symbolic link to the Urho3D folder within my project folders. Maybe it would be better to use environment variables. Copying the entire folder would also work.

What platform are you on?

I’m using linux mint at the moment, although I’m not too adept at the linux side of things.

e: I’ve got the “Urho3D” folder with all .h files and stuff sat directly next to generated stuff from that QtCreator wizard thing.

Do I need to declare/link the folder anywhere specific?

/home/runi/Boonscape/luckey.h:22: error: "Urho3D/Urho3D.h": No such file or directory

Same here. Xfce flavoured.

By default the following lines are added to the .pro file:

INCLUDEPATH += \
    ../ProjectName/Urho3D/include \
    ../ProjectName/Urho3D/include/Urho3D/ThirdParty \

With this setup, the build folder and the project folder need a shared parent folder. Simply ln -s to your Urho3D base folder from within the project folder, or - in your case - remove the /%{ProjectName} from file.pro.

Where is that then?

I’m fairly sure I’ve got stuff set up wrong from the get-go. I started messing about with this on windows and since moved across to linux so my environment/toolchain or whatever is probably janky.

But through the QtCreator wizard I can get a folder with a template program in. Next to the folder is a build folder. When I go into the build folder to ‘make’ it, it complains that it cant find <Urho3D/Urho3D.h> and others, i get the same complaint hitting that green play button in QtCreator.

Going into the folder with the template program, I wanted to put Urho3D-1.6-Linux-64bit-STATIC/usr/local/include* into the folder with the template program so that right next to luckey.h there is Urho3D/Urho3D.h.

But I can’t get that to work, so i figure that I might be a few miles off the mark lol

uh oh, i think i am miles off the mark then lol

Ah, you picked CMake for your build automation. I habitually always use QMake, which uses this .pro file instead of a CMakeLists.txt. The CMakeLists.txt that is created is not usable as is.
If you can make it work out-of-the-box with CMake by modifying the JS of the wizard, this would be much appreciated as a pull request. Another option would be switching to QMake.