I see this logic brick is very useful. but a little problem if i have a lot of logic it makes long down sometimes i forget parts of a function in my logic. but it would be great if there was a logic group that explained one group of functions, this could be divided per function. this time the logic note helps too
1* you can split all the logics into many different objects . There’s no particular reason to make 1 single object carry all the logic bricks. Shift-select many objects and you will see all their bricks together → you can then link their bricks if necessary.
2* you can use many “States” and not only one , also you can run them all together like they are 1.
you need to gradually switch to python scripts - it’s easier to control the code than bundles of logical blocks. Blocks are well suited for 2d games or simple shooters, you can’t do something complicated on logical blocks anymore, since many functions are available only in code. I used to use only logical blocks before, but then when I began to teach python, I realized how much blocks are inferior to scripts, even switching states with blocks from an object does not give what scripts give
Bricks are officially faster (coz run in C++) . And if people end up with tons of bricks it’s because :
1 - they have no idea what they are doing (lol)
2 - they ignore they can use python to parameter the bricks and thus, re-use them
Also, using bricks can help the dev to maintain all along a project a consistent logic. My project runs with something like 30 bricks (sensors, controllers, actuators) and 5,6 python modules and everything runs fine.
This said i never tried to make a 100% python project.
yes you are right every post I read about upbge/Range/bge a lot of people are happy with logic bricks as a logic tool, they use python to make up for what I lack. ok thanks you guys
blocks work in the sequence in which they are added to the logic editor - and they will still be slower than the script because they are not compiled in C++ in advance as in an unreal engine - this is done already during the game (there is no button to compile blocks into C/ C++ code), much is not available in the logic of blocks - path search for real-time strategy, finite automata for intelligence units and much more. If you pause the project on blocks and then resume it, it will take you more time to remember how blocks work and what can and cannot be changed in them. You always read the script and see what it does in specific places (if the script is not commented out, this is already the problem of the programmer who decided to do so, but not the programming itself) and the problem is not in the python programming language itself, but in the fact that many do not use its capabilities completely or expect the same work from it as from C/C++. Logic blocks are a good thing to start or for people who have a hard time programming but they want to create their own game and show it to everyone, but they are no longer suitable for an average project, since they will not give even half of what the python script gives, otherwise all game engines would have been redone a long time ago to work with blueprints, logic blocks and all sorts of convenient things like connected logic windows
unless proven wrong, bricks are known for being C/C++ compiled code. A ray sensor brick will be faster than it’s equivalent in python. That good old @Monster had made tests and had stated that in term of speed : bricks > modules > scripts.
This said, I’m not saying that bricks > python at all. I use myself python modules for many things that bricks could never do.
I just recommend - well, because it works very well in my case - using bricks as being the Armature of your game logic architecture - then add python modules or Components for stuff that has to be computed and/or parameter the existing bricks.
Also, a well designed bricks setup (like blue prints in UE) force you to keep your game architecture in check since you are less eager to add another brick into the wall than writing just a few lines to ‘fix’ an issue.
and at the same time, the beam sensor in the logic block looks like a disabled person - since it will always throw a beam along one of the XYZ axes, you can force a python to fire a beam in any direction. I don’t want to reproach you - understand me correctly for me, clean blocks mean a simple game - for example, a platformer or a simple shooter in the likeness of Doom, one of my friends still does everything on blocks and comes out quite well, but the games are the same simple he 's getting
yes , it’s just an example. And if you want a beam that constantly detect something 3 meters in front of the player during whole game (to detect incoming collision for example) then that sensor is superior to a dedicated python script that is going to do the same but slower. But if i need a ray that tracks moving objects in certain circumstances, then yes, i will do it in python ofc.
It’s not because code looks more complex for random people that it makes the project smarter.
Now can we stop this conversation because it’s going nowhere