UPBGE vs Armory3D FPS example

Hi

Can somebody tell me step by step how to make a FPS camera so I can walk around with arrow keys and look by using mouse?

Do you prefer Logic Bricks, Logic Nodes, Python Components, or Python as your choice of logic?

I’m a complete beginner and didn’t even make it to learn those things.
I’m not a developer, so definitely not Python (no code).
Can you show me the most easy way of the other 2?

Is it correct I can open any .blend file made using “normal” Blender inside UPBGE and apply the game logic on it and save it using UPBGE ?
Or do I need to design everything inside UPBGE (models, materials, …)?

And if this way above is possible: is it possible to go back to “normal” Blender again to edit the files (the models, materials, …) and save them again? Or do I have to stay inside UPBGE and can’t switch between Blender and UPBGE?

Please note I didn’t try anything yet in UPBGE, because I don’t know where to start.
Is there a tutorial for complete beginners? I’m sorry if I didn’t find it.

You could help me a lot with a file that has already FPS logic inside (using the easiest way, without Python code):

  • move around with arrow keys of keyboard
  • look around with mouse

That’s all I need to start with :slight_smile:

Thanks so much!

Basic FPS Setup - Logic Bricks

Basic FPS Setup - Logic Nodes

NOTE: Logic Nodes needs to be an assigned to at least one object in order for the node tree to run.

Anything you save in Blender you can import/use in UPBGE. However, UPBGE blends are not compatible with Blender per se. This is because UPBGE saves a lot of extra data specfic to UPBGE (for instance Logic Bricks, Logic Nodes, Python Components, UPBGE UI, etc.). Blender specific stuff in UPBGE can be transferable such as objects, meshes, lights, etc.

You’re going to have to make that decision, since you’re the one creating your game. :slightly_smiling_face:

It’s not advisable.

It’s recommended to always stay in UPBGE for UPBGE projects, even for Blender specific content. UPBGE is based on Blender, so it’s not like you’re missing any features. It might be more buggy then Blender though.

There is some begineer content at the UPBGE manual.

https://upbge.org/#/documentation/docs/latest/manual/manual/tutorials/index.html

1 Like

I have a very n00by question: where is the tab to make the nodes/bricks or where to enable this window first?
I just can’t find it :frowning:

Do you think it’s possible to make the Blender game engine available as an add-on for Blender, which you just can install into Blender?
That would be great since now the new features must be added all the time

You need to first enable their add-on if you haven’t already.

User Preferences - Add-ons

NOTE: You may need to enable the User Preferences option Auto Run Python Scripts in order for the add-on to function properly.

User Preferences - Save & Load

Logic Nodes (Editor)

Logic Bricks (Editor)

The Blender Foundation/developers officially removed the Blender Game Engine back in 2018. Unless some miracle happens, it will not be coming back, despite many longing for it to happen. See also, this recent poll: https://twitter.com/andrewpprice/status/1595175159572598784

If you’re interested in a game-engine in official Blender builds, you might be interested in Armory3D, which is a fully featured game-engine integrated in Blender via add-on.

Can you maybe give the same example in Armory3D without code?
Or do you need code there?

Is Armory3D also based on the blender game engine?

Well… I’d need to know what example you’d like in code first. If you’d like an overview, there’s this example: https://armory3d.org/features#scripting

Many, yes. If you’re interested in which programming languages are supported, view the list here (Logic Methods table category): https://rpaladin.github.io/armory3d-vs-upbge/

No it’s not. See here:

https://twitter.com/tonroosendaal/status/861995478694584320

If it was based on the Blender Game Engine source like UPBGE is, it would be forced to be licensed under Blender’s GPL license(s). https://armory3d.org/features#armory-statement

Fun fact, Armory3D was created in 2014 and UPBGE in 2015.

Thanks, now I understand better what the differences are.
I see Armory3D can also use Logic-Nodes. I’m more interested in Armory3D now because it’s an add-on and I can use latest Blender :slight_smile: However, only using no code. Is that possible with only Logic-Nodes?

So if you can show me the same FPS example (as you have given for UPBGE) but in Armory3D with Logic Nodes. That’s what I mean :slight_smile:
Are those logic nodes the same as UPBGE logic nodes?

Then finally, I wanted to know where it’s all saved.
For UBPGE I understand in the .blend file extra information is saved so you can’t go back to latest Blender again?
But where is it stored for Armory3D? Are my Blender files untouched (since it’s an add-on) or how does it work?

If I did my math right, Armory has over 400+ logic nodes. See here for a full list: https://github.com/armory3d/armory/wiki/reference

Sure… although, maybe create a different thread or rename this thread’s title? It’s not my wish to cross-post, regarding a thread’s original topic.

It’s a rumor that the UPBGE logic nodes creator directly copied the node source/ideas from Armory sources… without giving any credit. Because of this, we’re currently under going a potential legal matter with them actually, recently. We might actually sue them, or at least lodge an official legal complaint.

Armory saves project files locally, in the same folder (relative path). It primarily two folders, a /Bundled folder for external, but relative assets such as images, audio, fonts, etc. It also uses a /Source folder for Haxe and Logic Node sources. Here’s an example of a medium Armory project setup: https://github.com/armory3d/armory_templates/tree/master/first_person FYI, the /Assets folder setup isn’t recommended like it’s in the project I linked, but it’s does work. See here if you’re interested in more information about Bundled vs Assets folder: https://forums.armory3d.org/t/solved-understanding-khafile/5118/2

Correct. While Armory does embed data in blends on save, they’re fully compatible with official Blender builds, as Armory saves the data in a way that is compatible with Blender i.e. data-blocks for traits, node trees for logic nodes, etc. The reason UPBGE corrupts blends is because they use UI and data that are no longer found because of the removed game engine sources in official Blender sources.

Thread title is changed! So you can give the Armory3D example

OK. So If I open a blend file saved using Armory3D and open it again in Blender without Armory3D add-on enabled, save it again using Blender, is this extra data gone then in the blend file?

I tried to do the example for UPBGE logic nodes but it doesn’t work. I don’t know what i’m doing wrong.
Is it correct that after saving the file with the added logic nodes, you just press “P” in 3D Viewport and all keys/mouse should work?

The file is attached. Can you have a look at it?
The assign of the node tree to an object i’m not sure of. I just click the button “apply to selected”. The nodes are exactly the ones you showed me.

I used UPBGE 0.30 but after this try, I’m moving to Armory3D if you can show me the same example using logic nodes :slight_smile:

movement test.zip (1.5 MB)

Thanks

Hello. Sorry for the delay in replying. I’m a bit busy this week, so I haven’t had time to create an Armory3D demo or look at your UPBGE blend. It’ll still be a few days more until I can due to other responsibilities, sorry.

To be honest, I’m not sure. Feel free to try yourself. For example by creating a Logic Node Tree, then removing the add-on. Then going to a different blend and attempt to append the Logic Node Tree.

You need to apply the Logic Nodes to at least one scene object, as I shared/stated in my initial post. Perhaps you forget to do this step?

I clicked the button you showed me, but i’m not sure what to do more to apply the logic nodes to an object. Can you tell me step by step how this works by using my attached file?
I think this will be the problem in my file…

I made a tutorial on making a FPS game in Armory 3D. Using the clamp node to control/limit the camera rotation isn’t ideal however so I just used the gate node. https://youtu.be/w0vQTVyGCyM

2 Likes

Here you go:

A3D_FPS_Controller.blend (168.7 KB)

Shout out to @ momel for the logic nodes setup for the mouselook cap.

You need to select a person to apply the nodes logic to. If you applied the Logic Node Tree to your player already, you can simply select the self owner button. Else you can select a scene object of your choice from the dropdown object list, or also click the eye-dropper icon to select a scene object from the 3D Viewport editor.

If you choose to go the UPBGE route, I strongly recommend using the latest experimental UPBGE builds (based on experimental Blender builds) to get the latest features, as well as stability. UPBGE 0.3.0 is super buggy, and was released back in 2021. The current builds are based on Blender 3.5+.

Here’s a blend for both Logic Bricks & Logic Nodes, in UPBGE.

untitled.blend (110.1 KB)

NOTE: You may need to upgrade to the mentioned experimental builds for the Logic Nodes to work, as I saved them in UPBGE 0.3.5.

1 Like

Thanks a lot!!!
I’ll try both to see what’s the most understandable for me.

I have a first problem in UPBGE 0.3.5 which I did not have in 0.3.0

When I try to enable the logic nodes addon, I get this:

When I click the install button, nothing happens.
Can I ignore this or what I need to do? In 0.3.0 I never had this message.
Your file works however.

Fantastic!
Are you the developer of Armory3D maybe?
It would be great if such kind of videos are on the Armory3D website.

I have some general questions about UPBGE:

  • How to choose logic nodes or logic bricks being applied in UPBGE?
    In the example file both are made, but where to set which one is used?
    I think only 1 can be used at a time since they otherwise are conflicting with each other?

  • Is it correct you can apply any node also to the camera since this is also an object of the scene? You are doing this in mouse look
    Is it for the FPS example maybe best to use the camera as the object to which the node tree is applied to? Since you move the camera through the scene and this is exactly what FPS is doing? Or are there reasons to make a player object and not use the camera itself?

  • I can’t get the desired result by using the camera as the object which is moved but also not when using a player object. The player object itself moves and not the camera throught the scene (even if I use the camera object in EACH node), so I want the FPS look and feel like in games. This is not what you see in the 3D viewport. Is this maybe not possible in UPBGE? There is maybe something I don’t know yet…

  • The mouse look only works if you rotate the mouse to left/right but not up/down.
    Any idea why? I’m now on latest 0.3.5

  • Can you tell me what node(s) I need to make (for logic nodes) an object walk on a plane by using gravity? It should not go through the plane (so walk on it) and also bump into walls and all other objects in the scene (collisions). So basically how a FPS game works.

Please share any errors you have from the console.

He is not, but he’s a valuable Armory community member who has been making tutorials for the community for years.

They already are. Go to Armory Website - Learn - Tutorials.