Is coding required for Blender Game Engine?

Greetings.

I recently watched a tutorial on blender game engine basics this guy used “logic blocks.” I think.

Is it possible to make a character walk and move just doing this?

It is possible to make entire games with logic bricks only, however you usually don’t want to do this, why?

  1. Python is really easy to learn.
  2. Any large project, with logic bricks, creates a wire labyrinth, a spider web, a huge mess, and becomes unmaintainable.

So once you reach the phase where you want to make a big game (or rather, something more than basic) you will be better using Python only.

yes, it is totally possible to make many games with logic alone,

then you get into using logic + python together

then some people forget about the logic,

here is a file :smiley:

this animates a jump rise, fall, and landing, (using python) linked to a actuator (logic brick)

BTW meatlike substitute (kinda like meatboy) used only logic, intially and then I made a python based solution

Attachments

Jump_example.blend (632 KB)

This is the main reason in my opinion. It gets messy easily, I’m hoping they change the UI for them at some point because its far more complicated than it needs to be. Eventually you have some many logic bricks and no way to simplify them.

yes. this entire game is made with only logic bricks. with an exception of a mouselook script.

Logic bricks are programming

Logic bricks are visual programming, which is not the same as coding which is what the OP asked. Coding requires of code.

So typing code on a keyboard is coding
So is typing code using on onscreen keyboard and a touch-screen
If my keyboard has an ‘if’ key on it and an ‘else’ key on it, then it’s still coding
If I have a keyboard with every programming command on it, then it’s still coding
If I have a system of menu’s with every program on it and drag them rather than click them, then it’s still coding (scratch)
If I have a system of menus and implement logic with them, then it’s still coding.

Coding has nothing to do with the medium. As far as I am concerned, logic bricks are coding, and the skills you learn in organizing logic bricks translate to organizing code. Yes, one you drag and drop, the other your type, but it is still coding.

I’ve seen some people use empty objects to contain some of the logic bricks to make it more manageable, the they just link to the main object. There is someone on the forum busy creating a node based programming system, can’t remember who. Oh and mouselook can be done with logic bricks.

So typing words on a keyboard is writing.
So is typing words using on onscreen keyboard and a touch-screen
If my keyboard has an “I’m” key on it and an “You’re” key on it, then it’s still writing.
If I have a keyboard with every possible word on it, then it’s still writing.
If I have a system of menu’s with every word on it and drag them rather than click them, then it’s still writing.
If I have a system of menus and implement sentences with them, then it’s still writing.

That would mean that if I have a sensor/subject “I’m”, a controller/expression “a very cool”, and an actuator/object “person”, I’m still writing? Even if all I can do are combinations of the same phrases? With the same structure? No writer would ever accept that.

Do you realize how absurd this is? Coding implies the use of code as writing implies the use of words, it is by definition, not something you can prove with arguments. Visual programming is programming, but it’s not coding.

Even if we change the definition of “coding” to be the same as “programming”, logic bricks can’t implement “every possible command” on it. You’re limited. Even if we considered it “programming” it is very different to what people understands or tries to say when using the word.

Basically here the OP is asking something very simple, and you are just messing with words in order to defend logic bricks.

When your mother was learning you how to use spoon…its also programming.When you watch the news on your tv its also programming. Programming is very abstract word…
To code(as it is written in the title of this post) or use logic bricks is the right expression in this case.
However I think, sooner or later the OP will find him self using both as we all do. Probably he will start with logic bricks and at some point he will face a problem that is much more easy/fast to solve with Python and gradually he will start using more and more Python instead of logic bricks.

Was teaching me…
That is not programming, you may interpret it as so since it is a “very abstract word” but it’s not what it’s common usage implies. You would never say “Mom please program me to use a spoon”.

And don’t assume everyone uses logic bricks, I at least don’t. I make my games (any game) from the same template (which already has the necessary logic bricks on it) with only Python code.

Actually I was defending your point.

Visual programming is programming, but it’s not coding.

That is not programming, you may interpret it as so since it is a “very abstract word”

It is programming, no matter how you are used to define it.

nd don’t assume everyone uses logic bricks, I at least don’t. I make my games (any game) from the same template (which already has the necessary logic bricks on it) with only Python code.

That is not very effective at least.It depends what kind of game you are making and what problems you are facing in particular, but very often, using only logic bricks for a specific job is much more fast and easy instead of using Python.

Logic + python wins over just python or just logic any day.

logic is your C driven handle to events, with it you can avoid executing your python code every frame in most cases.

as far as I know you can’t even build callbacks for most events in python in the bge.

also, a actuator can be handy EVEN IF YOU NEVER ACTIVATE IT.

I can add a actuator and name it dirty trick,

cont.actuators[‘DirtyTrick’].owner = a handle to get at another object reference that is unique to the added group.

having more tools at your disposal can be good.

Lol, I think I forced this thread to go off-topic.

In common terms elmeunick9 is right. Coding is usually assossiated with writing source code. On the other hand it is often used as acronym for programming. I guess this is where I was distracted. I’m pretty sure we all agree that writing source code is not the only form of programming.

Regarding this thread, I’m sure MissP meant writing Python source code to achieve what is described in Post#1.

The answer is in post #2 (yes, it is possible).

That is not very effective at least.It depends what kind of game you are making and what problems you are facing in particular, but very often, using only logic bricks for a specific job is much more fast and easy instead of using Python.

It’s also much more messy. In the first place most things can’t even be done in logic bricks (playing video, selecting a random word from a list, writing a file, etc) but in most cases even the ones that can be done with logic bricks are usually easier to be done in Python, e.j;

obj.worldPosition.x += 10

That, is not in any way harder than using the movement actuator. For the sensors, since most aren’t implemented in the BGE API of course it’s harder, because you have to implement them yourself (mouse-over for example), however that’s why I’m using a template (BGECore Framework), because there they are already implemented in Python and therefore is as easy as logic bricks too.

def onMouseOver(self):

For non programmers logic bricks may seem easier (like any other form of visual programming) because they are more used to clicking buttons than writing code, but that is the only reason. Well and maybe because usually visual programming interfaces have a much more simpler and limited API.

PD: I agree with monster that we are going off topic here so I’ll stop now :wink: